CS 501
Software Engineering
Spring 2000

Assignments

Assignment 1. Project feasibility study and plan (revised September 7)

Due: Wednesday, September 13, 5:00 p.m. 

Write a short report that describes the project that you have selected. The report should include a statement of the task to be undertaken, the client for whom the work will be done, a preliminary requirements analysis, suggested deliverables, and an outline plan. The exact form of the report is up to you, but it should be well written and suitable to present to an external client. The length is likely to be between five and ten pages.

Lecture 3 discussed what constitutes a feasibility study.  Lecture 4, on September 5, will be an introduction to project planning.

The Computer Science Department is providing a limited number of Dell laptop computers and wireless cards  to the CS 501 project teams.  Each project, as part of the Feasibility Study and Plan, must identify which students will take responsibility for the equipment.  Information about these computers and the associated experiments will be provided at the Recitation Session on Monday, September 11.

This is a group assignment. All members of the project team should share in the production of the report.  When you have completed your report, attach it to an email message and send it to the senior Teaching Assistant (hopkik@cs.cornell.edu).

Assignment 2. Requirements

Requirements Document
Due: Wednesday, October 4, 5:00 p.m. 

Requirements Presentation
Wednesday, October 4, and Thursday, October 5 

Carry out the requirements analysis, definition and specification for the project that you have selected and write a requirements document. The exact form of the document is up to you, but it should be well written and suitable to present to your client. 

You will make a 45 minute presentation of the requirements to the Instructor, the Teaching Assistant assigned to your project and, hopefully, the client.  Please contact Rosemary Adessa (rosemary@cs.cornell.edu) to schedule a time slot for your presentation.  It is your responsibility to ensure that the Teaching Assistant and the client are available at the time you schedule.

This is both an individual assignment and a group assignment.  Each member of your group should be responsible for some aspect of the requirements and the document should label clearly who did which parts.  (For example, some members of the group might write the document, while others prepare visual aids for the presentation.)  Separate grades will be given to the team as a whole and to the individuals for their contributions.

When you have completed your report, attach it to an email message and send it to the senior Teaching Assistant (hopkik@cs.cornell.edu).

Assignment 3. Design

Design Document
Due: Wednesday, November 8, 5:00 p.m. 

Requirements Presentation
Wednesday, November 8 to Friday, November 10 

Prepare a design document and presentation for your system.  The design must use the Unified Modeling Language (UML) with supporting specifications. In addition, it will need other sections to describe the systems architecture and other aspects that you consider necessary.

You will make a 45 minute presentation of the design to the Instructor, the Teaching Assistant assigned to your project and, hopefully, the client.  Please contact Rosemary Adessa (rosemary@cs.cornell.edu) to schedule a time slot for your presentation.  It is your responsibility to ensure that the Teaching Assistant and the client are available at the time you schedule.  This is the second of three presentations that you will make this semester.  By the end of the final presentation, all team members should have presented at a least one presentation.

This is both an individual assignment and a group assignment.  Each member of your group must have completed some part of the UML design, e.g., one or more UML diagrams with associated specification.  In addition, some members of the group might write the other parts of the document, while others prepare visual aids for the presentation.  The design document should label clearly who did which parts.  Separate grades will be given to the team as a whole and to the individuals for their contributions.

When you have completed your report, attach it to an email message and send it to the senior Teaching Assistant (hopkik@cs.cornell.edu).

Note:  After this assignment there are only three weeks until the final project is due, including the Thanksgiving break.  In order to finish on time, you will need to have begun work on your implementation before this assignment is due.

Assignment 4. Final Presentation

Final Documentation and Programs
Due: Friday, December 1, 5:00 p.m. 

Requirements Presentation
Wednesday, November 29 to Friday, December 1 

Final Documentation and Programs

Your should submit full documentation and computer programs.  The final documentation should consist of everything that the client needs to use and maintain the system, including User Documentation and System Documentation.  In addition, your code should be well documented internally.  The final submission package will consist of:

  1. Feasibility study (already submitted for Assignment 1)

  2. Requirements document (already submitted for Assignment 2)

  3. Design document (already submitted for Assignment 3)

  4. User documentation

  5. System documentation

  6. Computer programs

When you have completed your report, attach it to an email message and send it to the senior Teaching Assistant (hopkik@cs.cornell.edu).

Presentation

You will make a 45 minute final presentation to your client, the instructor and the teaching assistant assigned to your project.  Please contact Rosemary Adessa (rosemary@cs.cornell.edu) to schedule a time slot for your presentation.  It is your responsibility to ensure that the client and teaching assistant are available at the time you schedule.  This is the final presentation that you will make this semester.  By the end of the final presentation, all team members should have presented at a least one presentation.

The presentation should include a demonstration of your system, operating on real data.  You should also describe how you plan to transfer the work to the client.

This is a group assignment.  It will be evaluated on two criteria: (a) How well does your work satisfy the client's needs? (b) How easy will it be to maintain your work in the future? 

[CS 501 Home Page]

William Y. Arms
(wya@cs.cornell.edu)
Last changed: November 21, 2000