Practical Software Engineering

The Projects

Requirements Tracking through the Web

The progress of all the projects can be seen through their individuals webs starting at the Customer group document manager's top level page:

The Projects--Original Informal Specs

  1. Write a specification for a system to keep track of a business forms salesman. It must work out the routing (you may assume the route is linearly ordered). A list of which customers are likely to reorder must be produced, where they are located, what type of products they may want, and what reordering rates they have.
  2. Write a specification for a system linking supermarkets to a grocery supplier to process the ordering from one end and the invoicing from the other. Both sides should have strategies e.g. reorder when the stock drops to a certain level; do not invoice until the stock has been received. This requires the minimum data entry, but complete security.
  3. Write a specification for a hotel booking system which keeps track of current guests, available rooms, future bookings and payment of accounts. Include a part for room service orders which keeps track of the orders, bills them to the appropriate room, and will show the total sales for a given period.
  4. Write a specification to manage a hospital system. There will be a waiting list of patients needing different treatment e.g. surgical, medical. The bedstate should be determined and if beds are available, the next appropriate patients on the list notified. Nurses should be allocated to wards depending on ward sizes, what type of nursing is needed, operating schedules etc.
  5. Write a specification to organize the lending of library books. Only so many may be borrowed, and if a user has the maximum one must be returned before another is borrowed. Books are subject to recall. The librarian will have special borrowing priviledges. There may be several copies of a particular book on the shelf, or they may all be out on loan.
  6. Write a specification for an airplane reservation system for an airline. The airline allows a 15% flight overbooking, and passengers who cannot be accomodated are compensated, and rebooked on the next available flight. Also take into account flight cancellations, and rebook passengers on the next available flight.
  7. Write a specification to manage a newspaper delivery system. As well as recording which households take which newspapers and magazines, the system should also include billing and details of customer vacations when newspapers are not delivered. For each delivery person the system should print a daily list of what is to be delivered to which housholds. The system should also be able to produce summary information showing how many copies of each publication weresold each day of the week.
  8. Write a specification for a group diary and time management system to support the timetabling of meetings and appointments across a group of co-workers. When an appointment is to be made which involves a number of people, the system finds a common slot in each of their diaries and arranges the appointment for that time. If no common slots are available, it interacts with the user to rearrange their personal diary to make room for the appointment.
  9. Write a specification for a student timetabling system which allows students to select courses (with available spaces) they wish to take, and displays the resulting schedule. It should help students find alternative sections, labs etc in the event of a clash, and take into account prerequisites for courses. When completed, the system should allow the student to register for the selected courses, and maintain class lists that are updated as a student registers in or drops a course.
  10. Write a specification for a system to manage a real estate catalogue. It should keep track of properties with their amenities, selling price or rental etc, and be able to be queried by potential customers with different priorities. Take into account constraints on the property such as offers made, terms and conditions etc.

Practical Software Engineering, Department of Computer Science 17-Jan-96