Introduction

Your team should choose 1 of the 2 hypothetical large systems described below. You will do each part of the project as if it were a real project that is unconstrained by the time and personnel limits of MCS580. The teams will not actually implement the systems. Class meetings and email should be used wisely to coordinate work so that meetings outside of class are minimized.

The information in the system descriptions is not complete. Remember that the customer does not have a clear idea of what they want. It is fair to provide questions to the customer's representative (i.e. the instructor).

As in real projects, there will be many unknowns. In each deliverable, your team will be expected to make and record assumptions.

The preferred format for all project deliverables is HTML. Graphical diagrams can be created by tools like Powerpoint and handed in on paper or converted to GIF format and embedded in the HTML. Students not familiar with HTML may want to consult an on-line beginner's guide available on the WWW:

http://www.ncsa.uiuc.edu/General/Internet/WWW/HTMLPrimer.html .


Audio/Video On Demand System

A new Audio/Video On Demand (AVOD) System is being developed by the Philly Cable Company. The AVOD system allows the user to request any song, album(set of songs), TV show, or movie in the catalog. The requested entertainment product is then downloaded through the internet in a compressed form and played once through the user's TV or stereo. The user can pause but not restart. The user can schedule a series of entertainment products to be played at specified times or in sequence. The user can specify and change policies on blocking music and video from children based on ratings.

The user pays 10 cents for each song, 1 dollar for each album, 20 cents for each hour of TV program. Recently released movies cost 10 dollars and old movies cost 2 dollars. The user can look at his current bill at any time and pay for each request automatically with a credit card number stored at the server side or get a monthly bill. On the server side 50% of the payment is automatically credited to the content provider (record company or studio) and the other 50% is kept by Philly Cable.

The client side selection program is updated once a day to include newly released music, shows and movies. The client side program can also include advertisements for special sales on music/video listening/viewing.

The entire system will be written in Java and use CORBA middleware services and commercial data base management systems. The initial prototype system will serve 2000 homes. The system will eventually be scaled up to handle over 100,000 homes.


Highway Autonomous Vehicle System

A new Highway Autonomous Vehicle (HAV) System is being developed by the Cybaru Company. The HAV system allows the user to select the desired speed and exit number on any intertate highway in the U.S. from a menu. The car will then be driven autonomously until 100 yards from the selected exit. The HAV system will start notifying the driver to get ready to resume control 5 miles from the exit. The HAV will provide for manual overide and resume. The HAV system will automatically pass vehicles to maintain the desired speed.

The HAV system will maintain a database of all interstate highway exits numbers/names and their latitude/longitude. The HAV system will provide a map display to help the user select an appropriate exit. The HAV system will have a Global Positioning System receiver for locating the car's current position.

The HAV will use several types of sensors mounted on the car. There will be 2 cameras mounted on the front of the car and 2 cameras mounted on the back. There will be a laser range finder mounted on the front of the car and another mounted on the back. There will be a warning radar mounted on the driver and passenger sides of the car.

The entire system will be written in Java and use CORBA middleware services and commercial data base management systems.


Part 1: Software Project Management Plan (Due Jan. 27)

Your first task is to develop a project management plan like that described on pages 50 and 51 of the textbook. The deliverable for this part of the project will be an HTML file with roughly the following structure:

COCOMO information and tools are available at: http://sunset.usc.edu/COCOMOII/Cocomo.html


Part 2: Requirements Document (Due Feb. 24)

Your task is to document the requirements of the system. The requirements document is the official statement of what the the developer must build. As far as possible, it should focus on what the system should do rather than how it should do it. The requirements document should specify the main components and behavior of the computer system and its operating environment. It should also characterize its responses to unexpected events, and impose any constraints on the implementation. The document should be easy to change because it most likely will require modification in later phases such as software maintenance.

The deliverable for this part of the project will be an HTML file with roughly the following structure:

A requirements document typically contains structured text. It is highly recommended to take advantage of the HTML hyper-link capabilities in order to implement requirements traceability.


Part 3: Design Document (Due March 10)

Your third task is to document the design of the entire system. The design document is a proposal for a solution which satisfies the software requirements.

The deliverable for this part of the project will be an HTML file with roughly the following structure:

Hyper-links between the requirements and design HTML documents are recommended when cross-referencing between the documents occur.