Assignment 5 Description
DUE DATES: Listed Below The next step in the project design and development process is to establish prototyping and management plans. The prototyping plan outlines the milestones for the project by identifying three prototyping versions of your system. The management plan augments the prototyping plan with an emphasis on resource allocation, i.e., who will be responsible for which components of the system at which times.
Prototyping Plan - Due March 16, 2000
The milestones, in terms of prototype versions, for the remainder of the semester are as follows:
- April 6, 2000: First Prototype - partial functionality with respect to the GUI.
- April 20, 2000: Second Prototype with increased functionality with respect to the GUI and some "real" system functionality.
- May 4, 2000: Third Prototype is coupled with final presentation of the completed system.
Note also that typically in the Spring semester the School of Engineering holds a Visitation Day on a Saturday for those high school students that have been admitted for Fall. If this occurs, our class will have a demonstration of your projects and/or Netscape available in UTEB 351.
For the prototypes of April 6, April 20, and May 4, you must identify the major components of your system that are to be designed/implemented. These components can be listed as bullet items with short explanations. Clearly, later prototypes will include the functionality of earlier prototypes. Estimation is always a difficult task in any software project. When defining the functionality of each component you should avoid being overly optimistic by erring on the side of caution. Remember, its usually better to underestimate your capabilities and deliver either intended functionality earlier or more functionality on time.
To accompany each prototype, you must hand in a short overview document that addresses the following issues:
- Impressions of the JAVA language and its ease of use. Include both positive and negative impressions. (All prototypes)
- Evaluation of JAVA against software reuse and software evolution concepts. (2nd and 3rd prototypes)
- Critique of teamwork experiences - what has worked and what hasn't. (All prototypes) This is a team document. I expect to receive at most 2 pages of text to address these issues. Note that if new/emerging technologies other than Java have been utilized, this should also be reviewed.
Management Plan - Due March 16, 2000
At this point in your software production process, you are to assign final design and implementation responsibilities among the team members. For each component of the design (CRC cards, ER, DFDs, FSMs) you must establish a final design and implementation plan for each prototyping version. The purpose of this plan is to clearly identify the division of responsibility by outlining the components of the system each person is designing and implementing. In addition to identifying individual responsibilities, it is also necessary that you develop a preliminary integration plan to understand the transition between your three prototyping versions. In this case, you are performing a form of risk management by identifying potential problems before they occur. The two facets of the management plan are summarized as follows:
- Clearly identify each person's responsibilities in the implementation by indicating exactly which components of the system each person is implementing and the boundary (interfaces) between the components. Include an indication of the components that each member is implementing either as a primary or a backup software engineer.
- You must design a plan for integration of the individual components of the system. The integration plan must include concrete, ordered steps for the integration as you transition through all prototyping versions. You must identify any problems anticipated during the integration process and include a discussion of the potential problems.
This document does not have to be extensive, but should be comprehensive enough to identify the workload and responsibilities for all team members for the remainder of the semester.
Final Submission - Due May 4, 2000
The final step is to unify all of the work that you have done into comprehensive documentation. Note that this project includes BOTH a part that must be handed in by the team AND a part that must be handed in by each team member.
Team Submission As a team, you are to hand in the following:
- A general overview of what the project is and its goals. This is intended to give the general reader the background for your project and integrate all the pieces (different projects) into a consistent story.
- A summary of all major changes made since Project 3. These are essentially changes to your specification which have a direct impact on your browser functionality in the final prototype.
- A user's manual to guide the user through the use of your system.
Each student must answer the following questions in a self contained word-processed document, limited to 4 double-spaced pages:
- (1 page) What did you accomplish in this course this semester?
- (1 page) What have you learned through your accomplishments listed in response to the previous question?
- (2 pages) If you had to do the whole project again, what would you do different?