Rob Kremer

UofC

Practical Software Engineering


The Projects

See the notes on Requirements Tracking through the Web. There is also some advice on projects from a previous year's group.

The progress of all the projects can be seen by following this link.

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.
  11. Write a specification to set up a gas station for fully automated operation. A driver inputs his or her credit card into the pump, the card is verified by communication with a credit company computer and a fuel limit established. The driver may then take the fuel required and, on completion of delivery (when the pump hose is returned to its holster), the driver's credit account is debited with the cost of the fuel taken. The credit card is returned after debiting. If the card is invalid, it is returned by the pump with no fuel dispensed.
  12. Write a specification for processing police handwritten documents. The documents have to be digitized and stored as a block - it should work out the size of block needed when the data is compressed and if it fits on the disk. Each block of text cannot be searched by context, but should be encoded with the date, type of crime, location etc.

UofC Practical Software Engineering, Department of Computer Science

Rob Kremer