CSE403 TERM PROJECT Spring 1998

 

1. Purpose

One aim is to apply some of the techniques discussed in class to perform a software requirements analysis, specification, design, and partial implementation on a tractable application having many realistic features. The second educational objective is to gain experience in working as part of a team (3 students/team).

 

2. Required Reports and Due Dates

All reports are to be submitted as a team and will be assigned a team grade.

a. Requirements Document: Thursday, April 23, in quiz section.

b. Software Specifications. Thursday, May 14, in quiz section.

c. Final Report and Demonstration: Monday, June 8. The report is due in my office by 6 P.M. Demonstrations will be scheduled on or before June 8.

 

3. Overview: Air Traffic Control System (ATC) . See attached Project Description (A).

 

4. The Requirements Document

The document should be written in English, with accompanying figures and tables as necessary, and be no longer than 15 pages (12 point font) in total. Use the class handout ("Contents of a Requirements Document") as a guide. Note that some of the topics in the handout may not be relevant and, therefore, will not appear in your document. The report should be organized in sections, similar to the way that a textbook is divided into chapters and sections.

You are the software developer and we (Craig and I) are your clients. If you have questions, and you should have, then consult with us.

You have some flexibility in specifying the details of the environment and IO (radar, communications, operator, and display). For the software functions, consider each function or component or object as a "machine". These machines communicate or interact by sending and receiving messages or by requesting various services from each other. In general, the software components operate independently and in parallel with each other. Describe the required behavior of these objects and their message or procedural interfaces.

 

4. Software Specifications

Specify the behavior and design of the system, i.e., the software functions, more precisely using statecharts and data flow diagrams. Your design should have some reasonable structure and exhibit some concurrency. It is expected that the design will contain many figures. The relationship of the specifications to the software functions in your Requirements Document should be noted. State any changes in requirements that you have made as a result of the software specifications.

 

5. Implemented Modules

Using Java, implement and test at least two major components of the ATC as follows:

1. one or more modules that maintain the state of the airspace, i.e., that keep track of the position of all known and unknown aircraft in the space.

2. a module that receives and interprets operator commands.

The concurrency features of Java (threads, synchronized methods, . . . ) should be employed.

Not required are those parts that handle the radar and communications subsystems and that display output. However, in order to test your modules, it will be necessary to simulate some of their behaviors.

 

6. Final Report

The final report should contain:

a. your Requirements Document and Software Specifications as above, plus anychanges made since these reports were submitted.

b. a description of your implemented subsystem and of the tests that were made to debug it. Also include a copy of one trace of a simulation run.

c. a brief description ( no longer than one page) of how one might perform a complete software design and implementation from your specifications, assuming a single processor computer.

d. a brief evaluation (no longer than one page) of your project. This is important!

 

7. Demonstration

Your clients need to see and hear a demonstration of your implementation.