Software Engineering Case Studies
Software Engineering Case Studies
.1. Users must be able to browse for events by name or date or venue.
2. Searching for events by keywords should also be possible.
3. User will select ticket price from those offered and also specify the number of tickets
they require.
4. The system should display availability of the tickets within five seconds.
5. Users must be able to choose their seats and purchase tickets 24/7.
6. Only registered customers can buy tickets.
7. Daily reports of ticket sales must be generated. These must be retained for two
years.
8. All data is to be backed up nightly.
9. It should not be possible to double-book tickets (i.e. buy a ticket that has already
been sold).
10.Ad hoc reporting will be required, showing ticket sales over a week. It should be
possible to vary that time span and look at any duration up to six months.
“The system must be available 24/7. Anybody will be able to browse the catalogue but will need
to provide their membership details (user names and passwords) if they wish to download or
upload documents. User names will usually be email addresses and passwords will be eight
characters long. If the details do not match any existing members they will be given the
opportunity to register. Users should also be able to register even when they do not want to
download or upload. It should be possible for the admin team to cancel membership but
members should not be able to do this themselves. The interface must comply with Disability
Access legislation. A weekly report of all registered members must be produced.”
1
requirement in turn and identify any requirements that are not fully supported, explaining
the problem in each case.
1. Once animals are on the system any appointments they need can be booked.
2. The system must record the name and date of birth of the animal and the Vet that
they will be seeing.
3. Vets often write prescriptions and the system must record the drug and quantity as
well as the animal for which the drug is prescribed.
4. It should be possible to see which Vet wrote which prescription and when.
2
4. The system is to provide a “time spent” analysis (time to set up, time per step, rework time)
report of the work done by each craftsperson.
5. The managing director would like a data mining type function to drill down on
historic data and look at costs in total, or per product range, or per product type, or per
craftsperson, over a flexible period of time, or for an individual piece of work.
6. The sales manager has asked for secure remote access via VPN using a laptop to the historic
data on the system when working away from the office.
3
identifying requirements for the system but has quickly got out of his depth. He has decided to
limit the system initially to handling customer orders and invoices and has now hired you as a
Business Analyst to continue the work, known as the
First Step project. The new system will need to take customer orders and produce
invoices. It has occurred to Warren that it might drive up sales if customers could place
2. The system must record customer orders (not payments yet) up to about 50 per
3. Office staff can do 1. & 2. and so can customers themselves, via the website.
4. The system should generate (but not send) invoices automatically as orders are
received.
5. Office staff (only) must be able to revise the details of an order and a new invoice
8. The Production Manager would like to be able to view all customer orders so that
10.It all needs to interface with the payroll system (MD’s requirement)
4
Case Study 6:- Use Case Description
Rachel Scott has proved difficult to get hold of but she has sent you an email explaining how she
thinks customer orders should be captured on the new system.
Email received from Rachel Scott: Sorry I couldn’t make the meeting today but thanks for the
ToR you sent – it’s at least enabled me to put together the information below for you. Currently
customers ring us up with their order. First we look up the customer on our file cards. Obviously
we need this to be done by the IT system in future. And, of course, Warren wants customers to
be able to do all of this themselves in future so no more file cards! So, I guess, we’d better
identify customers by their reference number. We need to present the customer with a list of our
standard flavours (assuming they don’t want to order something unusual that we don’t keep in
stock) and let them choose what they want. Then they’ll need to select the size tubs they want
and the quantity, obviously. N.B. not all flavours come in every size tub. Once that’s all done
and as long as the items are actually in stock we’ll let the customer know how much we’re
charging them and get them to confirm their order. Finally they’ll select their delivery date. We
run vans in different directions each day so, depending on where the customer is, we can deliver
only on particular days of the week, if you see what I mean. Tuesdays are Norwich, Bury and
Felixstowe – that sort of thing. Any questions, let me know.
Rachel
we will look at a submission system that is to be used to manage submissions, that is, the
students’ papers for assignment tasks. The requirements for this system are as follows:
• Every course in the system has lecturers assigned to it. This is done by one of the course
administrators, who is also a lecturer. As part of a course, lecturers may create tasks and assess
papers submitted by students. Therefore, the lecturers award points and give feedback.
• The course administrator defines which lecturer assesses which papers. At the end of the
course, the course administrator also arranges for certificates to be issued. A student’s grade is
calculated based on the total number of points achieved for the submissions handed in.
• When a course is created, at least one administrator must be assigned to it. Further course
administrators can be assigned at a later point in time or assignments to courses can be deleted.
The administrator can also delete whole courses.
• Information about users and administrators is automatically transferred from another system.
Therefore, functions that allow the creation of user data are not necessary.
• All of the system functions can only be used by persons who are logged in.
The final example in this chapter is the modeling of the data structure Stack. Elements can be
placed on the stack using the push function and removed from the stack using the pop function.
The order in which elements are removed follows the LIFO principle (Last In, First Out), which
means that pop always delivers the element that was last placed on the stack with push and
removes it from the stack. Further functions that the class Stack should support are the
determination of the actual size of the stack, that is, the number of elements on the stack, and the
query about whether an element is on the stack at all.
Many important administrative activities of a university are processed by the student office. Students
can register for studies (matriculation), enroll, and withdraw from studies here. Matriculation involves
enrolling, that is, registering for studies.
• Students receive their certificates from the student office. The certificates are printed out by an
employee. Lecturers send grading information to the student office. The notification system then
informs the students automatically that a certificate has been issued.
6
• There is a differentiation between two types of employees in the student office: a) those that are
exclusively occupied with the administration of student data (service employee, or ServEmp), and b)
those that fulfill the remaining tasks (administration employee, or AdminEmp), whereas all employees
(ServEmp and AdminEmp) can issue information.
• Administration employees issue certificates when the students come to collect them. Administration
employees also create courses. When creating courses, they can reserve lecture halls.
A university consists of multiple faculties which are composed of university various institutes. Each
faculty and each institute has a name. An address is known for each institute.
• The total number of employees is known. Employees have a social security number, a name, and an e-
mail address. There is a distinction between research and administrative personnel.
• Research associates are assigned to at least one institute. The field of study of each research associate
is known. Furthermore, research associates can be involved in projects for a certain number of hours,
and the name, starting date, and end date of the projects are known. Some research associates teach
courses. They are called lecturers.
• Courses have a unique number (ID), a name, and a weekly dur7 | P a g e ation in hours