[Java Exam system] project summary

Source: Internet
Author: User



The Itoo project consists of two directions: JAVA,. NET.

And the examination system is the Java direction, the business logic is the most complex one.

After being ' 100 days ' in the ' exam system ', I still hope to get a relatively perfect ending.


Project Development cycle:

11.10-01.27: Participate in the development of ITOO1.0 examination system

01.28-02.16: As the leader of ITOO2.0 examination system


First iteration

Mainly in: Demand determination, prototype design, physical design, mainly. The development of a project is only a crud involving a single table.

(i) Design of requirements and prototypes

Based on last year. NET's test system. This approach has advantages and disadvantages:

1, Lee

By running the system, intuitive understanding of the requirements of the test system, quick to get started

Through last year's product manager's vision of the exam system, based on the user experience, the Java version of the examination system provides constructive advice

2. Disadvantages
Be imprisoned by the existing design mentality. The developers of the past period are more certain of the existing requirements, prototype design awareness. The new developers are primarily aware of the requirements by clicking on existing projects, and are being hypnotized by developers in the past.

In the discussion phase as far as possible to the product manager in the perspective of the design, but by the developers of the past "can achieve?" How much data? Performance "of the obstruction.


(ii) Physical design

About the business logic of the entity is about 20, and a variety of types of processing, but it accounted for 70% of the proportion.

Therefore, the concept of "big type" and "question type" are introduced. The same kind of "type of question" is divided into the same entity structure. and the same entity structure of the type of the page presentation is the same.

Please participate in the "second iteration" of the design ideas of improvement.


Second iteration

Shuttle a ' test ' era, immediately facing is the next ' Sheng Test '.

(a) height, mentality, schools of contention

Everyone knows that the ' Test system ' is the most difficult! This difficulty is not based on the implementation of technology, but in the product manager of the examination system of all kinds of expectations, but also includes the face of how to make more difficult customers, product managers to an enemy hundred bloody scenes, brought behind the support. Because the fear of not reach the height of the product manager, and the hope of a deterrent to a responsibility! More is afraid of you disappointed!

Maybe it's because our short-sighted is not up to your height! Since the choice here, will be 100% believe!


Following a period, all the way, but also gradually to the development of this code farming model gradually produced weariness, or even conflict. Always want to stop, chase the progress, or learn the bottom of the design ideas, public module knowledge development. But I don't know, it is in this ' switching process of thinking ', which consumes most of the time and energy.


Most of the developers in phase II are from. NET exam poach, so the understanding of the business has a certain advantage. From a certain point of view, it also brings about another design concept. When the two design ideas appear in and out of the time, the emergence of ' contending ' scene is inevitable. It is this ' schools of contention ' scene, but also let the examination system to learn from each other, and the contention of the hundred benefit! So, thank you all the same.


(ii) Improvement of design ideas

Officially starts at 7:40 on February 07, 2015 and ends 10:00

This controversy, mainly from the concentration of two points: 1) examination configuration; 2) design of the question bank

1. Exam Configuration

Core: Exams------quiz papers/templates, bound all the way

Java's previous design idea: After the previous entity binds to an entity, it generates the self-increment ID of the third table, binds an entity after binding, and so on. See Figure 1

From a ' solid design ' perspective, there is a lack of flexibility. For example, if I now want to swap the binding order of ' candidates ' and ' papers ' [exams----------------------------------]

So, in order to increase the flexibility of ' solid design ', see Figure 2.

(Fig. 1)

(Fig. 2)

(ii) The design of the question bank

1, Java version of the examination has been the design ideas:

Therefore, the concept of "big type" and "question type" are introduced. The same kind of "type of question" is divided into the same entity structure. and the same entity structure of the type of the page presentation is the same.


Features: Through the ' big question class ' to manage the ' question type '

Lee: If the new "type" table structure already exists, the direct use of the existing logic code can be achieved, do not need to add or delete changes.

Cons: If the new "type" table structure does not exist, you will need to add new code to handle.


2,. NET version of the test system design ideas: All types of all the properties of the question, summarized into an entity.

features: Summarize all possible attributes in the question set into one entity

Lee: A new type of task can be generated dynamically by dragging and dropping the page control

Cons: database field design redundancy; if the field in ' New question question ' is outside the properties of this large entity, it also faces the problem of changing the code. This is more than just adding code, but it requires crud.


Span style= "font-family:fangsong_gb2312; Font-size:18px ">

In comparison, the two design ideas also reflect the lack of:

The Java edition needs to add code when it comes to adding new types of problems

. NET faces the same problem, it faces the severe test of changing the entity and changing the code.

How to make the dynamic addition of the new question-type [has been realized], the corresponding business logic and the display way [difficulty], has become a bottleneck in the examination without changing the original code.


finally came to the end of the article. I want to tell you: Thanks for the companion of the test system. Because the collision of thinking is far more beneficial than the closed doors. the end of the project function is important, but the ' team ' is more important! test System, you must be good.  

[Java Exam system] project summary

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.