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.
1. Member elects to reserve CarModel for the details on display.
2. iCoot asks Member for confirmation, issuing a warning that failure to collect a reserved CarModel will result in a fine.
3. Member confirms Reservation.
4. iCoot shows Member the Reservation number and indicates that Assistant will be in touch when a Car is available.
5. When an Assistant logs on to Coot, Assistant is given a list of Reservations that require action.
6. 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:
a. The Assessment number.
b. Your name (in English), student ID and University e-mail address.
c. Your degree programme, e.g. ICS. d. The module title and code.
e. Lecturer responsible.
f. Submission deadline.