University of Calgary
Rob Kremer
Projects

SENG 403: Software Development in Teams and Organizations
Winter 2012
Department of Computer Science
Computer
Science

The Projects--Original Informal Specs

  1. 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. 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. 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. A system to manage a hospital. 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. A system to manage a database for a private school.  It should track current and former student personal information, including financial information (i.e. tuition), marks, etc.  Also keep track of applicants.  Access to data should be restricted appropriately.
  6. 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.
  7. 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.
  8. A system 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.
  9. 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.
  10. 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.
  11. A system 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. A system 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.
  13. A system 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.
  14. A system to teach basic programming skills in elementary school. The system will control Roomba-like robots (called iRobot Create). This system will be an extension of the CASA agent-based infrastructure, which is written in Java and has a Lisp run-time interface. The robots and a simple simulator will be available for your use.
  15. A system like the one above, only targeted at high-school students.

UofC
SENG 403: Software Development in Teams and Organizations
Department of Computer Science

Last updated 2013-01-07 21:33
Rob Kremer