The following artifacts shall be delivered for each of the required functions (i.e., Deliverables, Tasks, Action Items and Issues). A recommended delivery schedule for each artifact is laid out below along with a description of what is required.
1. Story Boards/Requirements – 2nd week
Ensure that all requirements (Functional, Non-Functional, GUI, Reports, etc.) have been fully clarified for the major tasks identified above.
2. High-Level Design/Architecture: Recommended delivery – 3rd week.
Using Structured Design (SD), the Unified Modeling Language (UML), the Entity Relationship Diagram (ERD) or other graphical method, develop and document the High-Level Design/Architecture for this system. Ensure that all major functions are clearly represented in the design.
3. GUI Prototype: Recommended delivery – 4th week.
Transform the Story Boards into a high-fidelity GUI prototype. The prototype may be static or dynamic.
4. Detailed Design: Recommended delivery –5th week.
Transform the High-Level Design into a Detailed Design using SD, UML, ERDs or other graphical method to decompose the major functions. Pseudo-Code should be used to define all complex algorithms.
5. Test Cases: Recommended delivery – 6th week.
Develop a set of Test Cases that address all of the requirements identified in item 1.
6. Requirements Cross Reference Matrix – 7th week.
Develop a matrix that maps the requirements in #1 to the design elements created in #3 and #4 and to the Test Cases from #5.
7. Code – 9th week
Develop the classes, methods, tables, etc. necessary to implement the detailed design created in item 4. A working system is not required; however, the working elements will be given extra credit that can be applied to the short-comings of this project or of Projects 1 and 2.
This is a group exercise. The group should be comprised of 5 classmates. Please see me if you are not able to form a group of 5 classmates. Decide amongst yourselves how best to split up the deliverables of this project. You should follow the Agile approach. First, create the product backlog, then determine amongst the team, who will perform which tasks.