CSE207 – Assessment 1
Semester 1 – 2018/2019
Section 1 . Assessment Information
Assessment Number 1
Contribution to Overall Mark 10% of CSE207 grade
Submission Deadline: 23pm on Thursday, Oct.25 2018
Section 2. Objective
This assignment is mainly about “Requirements engineering” and will
consist of various stages to produce a requirements document for a given
problem based on a “Coot project:”. Detailed information about the
proposed system is described on page 3.
The objective is to assess the following three learning outcomes:
realize the problems in designing and building significant computer
systems;
understand the need to design systems that fully meet the
requirements of the intended users;
be able to apply these principles in practice.
Section 3. Problem Description
Below is the mission statement delivered by Nowhere Cars at the start of
the Coot project
(Note : for simplicity, only major scenarios are considered)
Within two years, using the full power of e-commerce, we aim to offer all
of our services via a Web browser, with delivery and pick-up at the
customer’s home, thus achieving our ultimate goal of the virtual rental
company, with minimal running costs relative to walk-in stores.
Working with the customer, this mission statement was expanded into the
following requirements.
Any Customer can look for CarModels in the catalog, by browsing
the CarModel index or by searching. In the latter case, the Customer
specifies the Categories, Makes and engine sizes that they’re interested in.
Either way, after each retrieval, the Customer is shown the results as a
collection of matching CarModels, along with basic information such as
CarModel name. The Customer can then choose to view extra
information about particular CarModel objects such as a description and
an advert.
A Customer who has become a Member can log on and gain access
to extra services. The extra services are: making a Reservation, canceling
a Reservation, checking membership details, viewing outstanding
Reservations, changing their log-on password, viewing their outstanding
Rentals and logging off.
Assistants are involved in the life cycle of Reservations, moving
Cars to and from the reserved area, for example.
Customers come in two varieties, Members and NonMembers.
Browsing the index and searching for CarModels are two different ways
of looking for CarModels. In order to view CarModel details, a Customer
must be viewing the results of looking for models (via the browsing or
searching route).
In order to reserve a CarModel, a Member must be viewing its
details (NonMembers can’t make reservations, even when they’re
viewing details).
In order to cancel a Reservation, a Member must be viewing their
outstanding Reservations.
Below is the detailed description for Make Reservation use case. Use
this as a reference when completing the question b.
Preconditions: Customer is a Member who has logged on.
- Member elects to reserve CarModel for the details on display.
- iCoot asks Member for confirmation, issuing a warning that failure to
collect a reserved CarModel will result in a fine.
- Member confirms Reservation.
- iCoot shows Member the Reservation number and indicates that
Assistant will be in touch when a Car is available.
- When an Assistant logs on to Coot, Assistant is given a list of
Reservations that require action.
- Assistant takes necessary action to progress Reservations (e.g.
promoting to Collectable if a Car is available and moving the Car to the
reserved area).
Postconditions: Any requested Reservations have been made.
Below is the detailed description for a “Reservation” status in system.
Use this as a reference when completing the question e.
When a Member reserves a CarModel over the Internet, the Reservation
is initially Waiting to be processed by an Assistant (this is so the
Customer can make a Reservation without the intervention of an
Assistant). The Reservation becomes Notifiable if, some time later, an
Assistant finds a suitable unreserved Car in the display area of the car
park, or if one is returned by a Customer. In this case, the Car is moved to
the reserved area.
If no Car becomes available for a particular Reservation within a week,
the Reservation becomes NeedingRenewal: the Member must be
contacted, by phone or in person, so that they can cancel the Reservation,
or ask for it to be renewed for another week. If the Member cancels or
can’t be contacted within five days, the Reservation is Concluded.
Once a Reservation is Notifiable, the Member must be notified by an
Assistant, in person or by phone, within three days; if the Customer can
be reached, the Reservation is Collectable otherwise it becomes
Displayable (a Car that was moved to the reserved area must be returned
to the display area).
Once a Reservation is Collectable, the Member must collect the Car
within three days: if they do collect, the Reservation is Concluded;
otherwise, the Reservation becomes Displayable.
Once a Displayable Reservation’s Car has been put back in the display
area, the Reservation is Concluded.
At any time, the Member may cancel the Reservation over the Internet,
by phone or in person.
The system will keep Assistants informed as to the state of current (not
yet concluded) reservations, so that they can take appropriate action.
Section 4. Task Description
The three tasks refer to the problem outlined on page 3 (you should
read the problem description first carefully). You may make some
reasonable assumptions about how the system should work (without
inventing new functionality). Also note that there is no “right answer” to
model a system. Different solutions can be equally good.
It may be helpful to refer to the course textbooks “Software Engineering”,
Addison-Wesley, by I. Sommerville and “Using UML”, Addison-Wesley,
by P. Stevens.
- a) Produce a UML use-case model for the Coot software (50%) (i.e., both
a use-case diagram and use-case descriptions) and identify at least two
actors in your model that are within the scope of the system. For the
use-case diagram part of the model, you shall use Visual Paradigm
software (available on the departmental computers or for free download
via the internet). The lab tutors will be able to help you with using this
program.
- b) Propose a main scenario (10%) and exceptional scenario (10%) for the
“Make Reservation” use case.
- c) Design two UML sequence diagrams to show major and exceptional
scenarios you proposed in Task b (30%) . You shall draw the diagram for
this task using Visual Paradigm.
Section 5. How the work should be submitted
Taks a-c (hard copy) along with a cover page (see the next section for
details) should be put into the Coursework Collection Box (labeled with
Kaiyu Wan) opposite to the office SD473 – Building 2. Taks a-c (soft
copy – all should be zipped into a single file) should be submitted to ICE.
Note that task a and c must be drawn with Visual Paradigm tool.
Section 6 . Cover page
A cover page should indicate all of the following information:
- The Assessment number.
- Your name (in English), student ID and University e-mail address.
- Your degree programme, e.g. ICS.
- The module title and code.
- Lecturer responsible.
- Submission deadline.