Department of Computer ScienceYou work for a small software house which specialises in producing PC-based business systems for small companies. Most of the developments use Delphi. Mindful of the bad reputation of much software, your management emphasise the importance of a 'quality-based' approach to development; they are very keen on documentation standards, systematic procedures, monitoring of progress, etc. They also pride themselves on using the latest technology where this is appropriate, being enthusiastic about (for example) object-oriented methods.
They have asked your team to consider the development of a reservation system for the Willowbank Sports Club. Your manager has already interviewed Mr and Mrs Seller, the Club's owners. Here are the notes from that interview:
Willowbank is a racket sports club which was purchased by Jenny and Dave Seller in 1992 when Dave was made redundant from a local organisation. They have both worked extremely hard to make the club a successful business. In consequence, it has become a very popular club in the area.
Having just become the recipients of an inheritance, they wish to use the money to buy extra land (which luckily is available adjoining the current premises) in order to expand the number of courts in the sports that they already offer (i.e: tennis, squash, and badminton), and perhaps to provide ground for some more unusual sports such as lacrosse. Looking forward to this future expansion, they realise that it will not be as easy to keep track of bookings, cancellations and so on. They realise that a computer system could possibly help them in this area, as well as in the financial area where they already have computerised support. This takes the form of an accounts package which runs under Microsoft Windows95 on a Pentium PC, and they would have to use the same machine for any expansion of computerised support. They wish to be seen as running an efficient and effective business and want a good information system which will help them in this.
They are very keen to be involved in identifying their requirements, and in helping to develop a system to meet their needs but feel that they need some expert help in this venture.
At present, the sports offered are tennis, squash and badminton. There are 2 indoor tennis courts and 3 outdoor tennis courts. There are 4 courts for badminton and 6 courts for squash. Well equipped changing rooms and showers are provided together with a pleasant refreshment area and bar (available at certain times) for after exercise relaxation.
Members pay a yearly subscription (currently £24) to join the club. This is due at the end of August. A pro-rata subscription is paid if a member joins after this month. At the time of the interview there are 250 members. Members may bring a guest to play on the courts twice before the guest is required to become a member. The guest is signed in by the member when they arrive to play.
Card files are used to keep permanent details of members.
The club is open every day with cleaning/maintenance taking place before 10 a.m. each day. Hence a team of helpers is required to perform this function as well as part time helpers to assist with the day to day running of the Club.
Each playing court at Willowbank is designed for a specific sport, and (hour long) playing sessions can be booked in advance by a member. Each session belongs to a specific price band (at the moment there are four of them A-D, see booking sheet), according to its time of day, but the hire charge is the same within a session for all courts.
Court bookings are recorded on a daily booking sheet, which is divided into one hour sessions (an example is attached). A booking can be made by telephone or in person. Payment is due before the session is played; a tick in the relevant box on the booking sheet indicates that the session has been paid for. When the players turn up for the session, the booking sheet entry is annotated (with a ëPí for ìplayedî) to indicate that the session was indeed used.
After a booking is made it may subsequently be cancelled, in which case it will become available for re-booking. If it has already been paid for, a refund is usually allowed provided there are reasonable prospects of rebooking the session.
If no players turn up for a booked session, no refund is allowed on hire charges, if already paid. If the session hadnít been paid for, no penalty is levied at the moment; information about persistent defaulters is hard to extract from the existing documents, and Jenny suspects that one or two members take advantage of this.
Every Friday Dave arranges the playing sessions for the week beginning in four weeks time by drawing up the daily court booking sheets. Out of date booking sheets are preserved to provide management with data.
A number of these have already been mentioned, but in addition:
The booking sheets are cumbersome, and up to 28 of these have to be kept at Reception at once (4 weeks x 7 days).
The existing system is error prone; usually one or two people at Reception have to handle bookings, payments and recording of played sessions.
It is a rather lengthy process reconciling the money actually taken against the money due from a particular dayís bookings, as payment for a given session could be made on the day or at any time up to four weeks in advance. Dave worries (probably unnecessarily, says Jenny!) about this lack of financial stringency.
Jenny said that she would like to be able to make enquiries of a new information system in order to provide her with useful management information, for example she would like to know for a particular playing court the percentage of sessions for which it was used.
Dave mentioned that some members have asked for regular block bookings. He feels that this cannot easily be accommodated at present but may be possible with an expansion of facilities and a computerised booking system.
Both were worried that members ëdropped outí of the Club without much being done to hang onto them.
Sample courts booking sheet (Entries are hand written on these).
Your management is particularly interested in this development because they think there is a market for this sort of reservation system. In particular, they have identified a couple of other local clubs (a martial arts club and a gym) that have broadly similar requirements. They want any development for Willowbank to be as reusable as possible. They point out that larger clubs may require a distributed system, with more than one machine used for bookings. They have requested that the Willowbank development should take this into account, despite the fact that the Sellers require a system which runs on a standalone PC. The Willowbank system, therefore, should be capable of being reimplemented as a client-server system with:
- the database and housekeeping functions on a server; there would only be one of these for a given system, and it would be a 'secure' machine.
- the interactive booking system on one or more client PCs, which would be in areas accessible to the public.
'Housekeeping functions' might be anything which doesn't involve contact with a club member or potential member.
Communication between client(s) and server would be implemented using standard Intranet hardware and Delphi components.
You are to have considerable freedom over the planning and management of this Project, subject to the milestones given below.
You are to produce the following by Thursday 10th December:
- A first version of your Project Plan for this development. You should base this on a Work Breakdown (see below). You will decide the format and presentation of this Plan. You will be expected to monitor your progress against this Plan, and modify it accordingly (one of the final deliverables will be a Plan showing your actual progress, and a Report explaining how you managed the Project). This plan should incorporate the following milestones:
Demonstration of a prototype verifying your Database design - on or before Thursday 11th February 1999
Demonstration of a prototype of the User Interface to the Sellers - on or before Thursday 11th March 1999
Demonstration of final system - on or before Thursday 22nd April 1999
- An initial high level model of the requirements based on the information given in this document (there will be an opportunity to interview the Sellers at a later date). All that is required at this stage is High Level Use Cases for the proposed system, plus a list of the questions to which you need answers.
You need to take into account the usual activities involved in development, the peculiarities of this particular project, and the background of your team (e.g. how much time do you need to spend learning Delphi). You will need to estimate times and dependencies for tasks such as requirements capture, modelling, overall system design (e.g. what goes on client, what on server), database design, user interface design (on both client and server), system integration, testing, etc, etc. Obviously your first attempt at this will be based on a fairly limited understanding of the problem, so don't worry too much if you cannot produce a lot of detail. As noted above, you will be expected to refine this Plan as the Project proceeds.
This Project contributes 50% of the total assessment of this course, broken down as follows:
| 1. | Project Planning and Management - based on initial and final versions of Project Plan, and Report on management. | 10% | |
| 2. | Database Design - demonstration of a prototype showing that your database can support the necessary queries. | 10% | by 11/2/99 |
| 3. | User Interface Design - demonstration of a prototype showing main screens and navigation between them for client. | 10% | by 11/3/99 |
| 4. | User Interface Design - demonstration of a prototype showing main screens and navigation between them for server. | 5% | by 11/3/99 |
| 5. | Demonstration of completed System | 15% | by 22/4/99 |
Whether the completed system will execute on a single machine or as a client-server system will depend on the availability of the appropriate version of Delphi; you should prepare for either eventuality.
Note that we will assess the Report on your project management using both the initial and final versions of the Plan, and our knowledge of how you organised yourselves.
There may be examination questions asking you to reflect on your experience; for example, what modelling techniques did you use? Which did you find useful, and when? How did you organise your team? What standards did you use?
Last Updated: 20/11/98 by M.Wood@herts.ac.uk
© University of Hertfordshire Higher Education Corporation (1998)