Table of Contents
(For web page only)Tasks that need to be performed
Requirements analysis and definition
For user:
For system administrator:
System design
We will have an interface with an input/output textarea and about 16 buttons. They are: new, definition, Chinese definition, pronunciation, use in sentence, I know it, quit and save, new game, log out, look up online, search, remove word, next word, show removed words, data compress/decompress, and help. User is prompted to log on his portion of database, and then the user can either start the program or resume his learning. Upon a successful login the user should be presented with a front-page where he/she can start using the software. A default learning list will be loaded to the program if a new user has login. Otherwise, the program will load the specific learning list of the user. If the user want to start all over, he/she can click the 'New' button, the user's learning list will turn back to default. When the user thinks he/she already knows that word, he/she can remove it by pressing the 'I know it!' button. When user clicks the 'Next' button, the next word in the queue will show up and the pervious word will be saved for later revision. If the user wants to look up for a specific word in the database, he/she can use the internal search engine to search for that word from the database. If the user wants to quit using the program, he/she can click the 'Quit' button and his/her learning status will be saved.
Program design
It will be mainly divided into 3 parts: User, Administration, and Database.
Program implementation
It will be implemented using object oriented language Java.
Unit testing
Each parts and classes will be tested individually and there will have helping methods for testing purpose.
Integration testing
All classes will be combined and tested.
System testing
Overall testing with database.
System delivery
Demonstration with power point.
Relationship between tasks
Most of the tasks are not related to each other, and therefore can be developed in parallel. However, GUI design and part of data entry must be done first before others can start.
Roles of group members
Planning and managing: Sijia Chen, Chun Hoi Chiu
Understanding and specifying requirements: Everyone took part in this already
Design and refinement: Everyone besides Zhen Zhang
Coding and debugging: Everyone
Testing: Jin Zhi Chen, Sijia Chen, Yuen Wai Leung, Zhen Zhang
Writing documentation: Jin Zhi Chen, Sijia Chen, Pui Pui Ho
Maintenance and evalution: Chun Hoi Chiu
Schedule of all the tasks
There will be general meeting on every Monday for 1 and a half-hour.
September 16-29
In this phase, we will design the structure and functions of the program.
September 29-October 13
The administrator part of the program and the user part of the program will start concurrently. However, the administrator part of the program will finish early because it is used for data entry. User part of the program needs the data for testing.
October 13-20
Once the testing is done, we will start writing the documentation and user manual.
October 21-November 17
The rest of the functions will be implemented concurrently with the database. One team will work on the database and the other team will work on the rest of the program.
November 18-30
Final testing will make in Easter holiday and the week after that.
November 1-8
Word and Definition
For system administrator:
Bonus
We put more thought into all the functionalities of the program. However, we defined the minimal funcitonalities so that we can have a minimal program in the shortest possible time. In addition, we came up with a new functionality for the game. The GUI will have two tabs, one is for regular users, and the other for System administrator. The latter tab is there for the convenience of adding words or deleting words from the program. So the vocabulary list can be changed rather simply in the future.