Practical Software Engineering
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
can be seen by following this link.
- 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.
- 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.
- 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.
- 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
- 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.
- 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
- 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.
- 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
- 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.
- 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.
- 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.
- 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.
Practical Software Engineering, Department of Computer Science