讲解CSE207留学生、辅导java/C++、讲解systems、辅导CS/Python程序设计
- 首页 >> Java编程CSE207 - Assessment 2
Semester 1 – 2018/2019
Section 1. Assessment Information
Assessment Number 2
Contribution to Overall Mark 10%
Submission deadline at 6pm on Friday, Nov.30 2018
Section 2. Relevant Learning Outcomes for this Assessment
[L1] realize the problems in designing and building significant computer
systems;
[L2] understand the need to design systems that fully meet the
requirements of the intended users;
[L3] appreciate the need to ensure that the implementation of a design is
adequately tested to ensure that the completed system meets the
specifications;
[L4] be fully aware of the principles and practice of an object-oriented
approach to the design and development of software systems and their
components;
[L5] 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 . Assessment Task Description
Following your assessment 1, which is the requirement analysis for the
above problem, do the following:
d) Design a class diagram for the Coot software (45%)
e) Design a state machine to describe “Reservation” status in system.
(35%)
f) According the state machine you design for task b, design test cases to
cover all states and transition testing. (20%)
Section 5 . How the work should be submitted
Tasks d-f (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.
Tasks d-f (soft copy - all should be zipped into a single file) should be
submitted to ICE. Note that task d and e 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 program, e.g. ICS.
d. The module title and code.
e. Lecturer responsible.
f. Submission deadline.