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:
- Introduction
- Project Organization
- Risk Analysis
- Hardware and Software Resources
- Work Breakdown (choose/justify a process model, identify tasks)
- Project Schedule (estimate size, effort, development time)
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:
- Introduction
- Requirements Specification (Detailed Functional Requirements)
- Non-functional Requirements
- System Evolution
- Glossary
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:
- Introduction
- Architectural Design
- Object-Oriented Design
- Glossary
Hyper-links between the requirements and design HTML documents are
recommended when cross-referencing between the documents occur.