讲解ICT205e、辅导Java编程、讲解Tutor-Marked、辅导Java设计
- 首页 >> Java编程Appendix 8
ICT205e
Systems Modelling in Object-Oriented
Design & Analysis
Tutor-Marked Assignment
July 2018 Semester Presentation
ICT205e Tutor-Marked Assignment
Singapore University of Social Sciences (SUSS) Tutor-Marked Assignment – Page 2 of 8
TUTOR-MARKED ASSIGNMENT
This tutor-marked assignment is worth 18% of the final mark for ICT205e Systems Modelling in ObjectOriented
Design and Analysis.
The cut-off date for this assignment is Wednesday, 24th October 2018, 2355hours.
Note to Students:
You are to include the following particulars in your submission: Course Code, Title of the
TMA, SUSS PI No., Your Name, and Submission Date.
Submit your solution document in the form of a single MS Word file on or before the cut-off date
shown above.
Important notes:
1. Please use the symbols, notations and naming conventions introduced in the course.
2. For questions in this TMA that require coding answers, marks are allocated for good programming
practice such as:
using indentation to reflect the structure of the code;
using parentheses, where appropriate, to make code more readable;
supplying appropriate method comments;
using appropriate programming constructs to produce a neat and efficient solution;
effective reuse of available methods.
_________________________________________________________________________________
Answer all questions. (Total 100 marks)
Question 1
You should be able to complete the question after studying Units 1 and 2 (on Structural
Analysis). The objectives of this question are to assess your abilities to:
participate in a group discussion forum;
develop an initial structural model from a set of requirements;
develop a structural model with the Unified Modelling Language;
identify the classes, their attributes and hierarchical relationships from a set of
requirements;
determine the associations among a set of classes as part of a structural processing;
diagram essential components of a system with a modelling language.
This question consists of TWO (2) sections:
Section 1: This is the group-work project where you are required to participate with
conference postings in designing an application based on the negotiated statement
of requirements given at the beginning of this question. You will work with your
tutorial group for this group-work project. Remember to submit a copy of two of
your INDIVIDUAL postings in your TMA answer document.
ICT205e Tutor-Marked Assignment
Singapore University of Social Sciences (SUSS) Tutor-Marked Assignment – Page 3 of 8
Section 2: This consists of additional questions that you should do ON YOUR OWN and
submit in your TMA answer document.
The Negotiated Statement of Requirements
The following are some background information and an extract from a negotiated statement
of requirements (NSR) for developing a software application to manage information for a
tour business.
Relax-Roam (RR) is a travel agency that sells travel packages to its customers. Among the
staff it employs, the majority are tour agents and tour leaders. To reflect their seniority, each
staff is given a staff grade.
There are basically two types of travel packages: one is package tour to designated
destinations, whilst the other is free-and-easy tour. A package tour has a fixed itinerary whilst
a free-and-easy one has no itinerary. For all travel packages, the standard services provided
by the agency include flight booking and hotel accommodation booking.
The travel packages are grouped into five regions; viz., Asia Pacific, Europe, North America,
South America and others. Each region is administered by a number of tour leaders. Each
tour leader has to be familiar with at least one region.
The following describes RR’s main operations, which are to be computerised first:
Booking of Tours
Typically, a booking is made for one travel package at a time. When a customer requests to
book a tour, a tour agent takes note of the type of travel package requested, itinerary (if
applicable), departure date and time, customer contact number and the number of persons
travelling on the tour. On receiving this information, the tour agent will then check whether
there are any vacancies. If the tour requested is not available (i.e., has insufficient vacancies),
the customer will be informed of alternative tours. If the tour requested is available, more
information on the number of people going on the tour is needed from the customer to
confirm the booking. The final cost of the tour is then computed. A deposit is collected at the
same time, with a receipt of the confirmed booking issued. The receipt number and date are
then recorded for that tour booking. A customer may choose to make full payment at the time
of booking, or he could pay the balance before the tour departure date. Obviously, a customer
can make any number of bookings, as long as the tours booked do not overlap in terms of
duration.
Collection of Balance Payment
Two weeks before the departure date, the tour agent will send reminders to the customers
whose balances are due. When the payment is received, a separate receipt is issued for the
payment received, and the information updated.
Allocation of Tour Guide
Only a package tour has a tour leader assigned to it. One week before the tour commences, a
tour leader will be allocated to lead package tour. This allocation is done based on the
availability of tour leaders. This availability status is updated, whenever a tour leader returns
with his tour party, or is assigned to a tour party.
ICT205e Tutor-Marked Assignment
Singapore University of Social Sciences (SUSS) Tutor-Marked Assignment – Page 4 of 8
Generation of Tour Leader Schedule
At least one week before a tour is due to depart, RR will generate a schedule of tours,
detailing the team leaders who are due to lead the tours, and the customers who have booked
the tours.
Maintaining information
The application is required to maintain information about the following:
the staff, including their names and unique staff numbers, and for the tour leaders, the
region(s) they is/are familiar with and their availability status;
the tours, including the tour code, tour region, tour description, tour duration, flight
number, and the tour capacities (indicating the maximum number of people that can go on
the tour), number of seats booked, and the cost per person;
the regions under which the tours are grouped, including their descriptions, and the tour
leaders who are familiar with the regions;
the bookings, including the booking date, the total cost, the tour and the number of
persons booked for the tour, and the tour agent who helps with the booking;
the customers, including the customer number, name, and contact number, and his
bookings;
the payments, including the receipt number and date, the amount paid and payment mode
(cash, cheque, cashless, credit card, etc.).
Section 1 of Question 1: Group-work Project
The group-work project start date is indicated on the cover of this TMA. If you do not see the
project conference in the Canvas portal by this date, please contact your tutor immediately.
You are asked to discuss with your fellow group members how to develop the structural
model for the system; i.e.:
the class description;
the class diagram; and
the invariant(s), if applicable.
You must not post a complete class diagram to your project discussion forum. The complete
class diagram should only be submitted to your tutor together with the entire TMA solutions.
You should limit your discussions to identifying the classes, their attributes, the associations
and relationships between the classes, and any invariants needed.
As part of your discussions, you are asked to submit at least two postings to the project
conference.
Examples of the types of postings that would gain you credit are:
initiating a new thread of discussion about some significant aspect of the system; e.g.,
figuring out a problem in the requirements, suggesting how a particular aspect of the
system might be modelled in terms of classes and associations or explaining why you
think an invariant is needed;
a response to a posting, where you attempt to resolve a problem that another group
member has identified;
ICT205e Tutor-Marked Assignment
Singapore University of Social Sciences (SUSS) Tutor-Marked Assignment – Page 5 of 8
a response to a posting, in which you state clearly and give evidence of why you agree or
disagree with another group member’s suggestions, expanding significantly on what has
been previously presented.
In all your postings, please maintain professional courtesy and avoid any comments that may
give rise to unpleasant exchanges in the discussions. Remember also that your comment may
be the correct one even if someone else says it is incorrect.
Further notes
Do not include attachments in your postings.
Justify each comment or suggestion you make. Simply saying “I agree. This is correct."
or "XYZ should be a class. What do you think?” is not enough. These are not meaningful
discussions and will not be considered as contributing to the discussion conference.
Make postings that should be between a third and half a page long.
Initiate a new thread of discussion in one of your postings.
Focus on one aspect of the system, rather than attempting to cover all aspects of the
system – e.g., an association, the attributes of a particular class, or an invariant.
Your posting should still leave scope for other members of your discussion forum to make
a significant contribution. Postings that do not leave enough scope for the other members
to contribute will be penalised.
Experience has shown that it is very difficult to obtain good marks for your postings if you
attempt to make all your postings in a very short space of time. Time for reflection and
measured judgement is an important part of this work.
(a) To complete this part of Question 1, you must submit to your tutor, as part of your
TMA answers, copies of TWO postings you have contributed to the discussion.
(8 marks)
Section 2 of Question 1: Individual work
Develop a structural model of the system as the remaining part of Question 1. (Reminder:
The structural model comprises the class description, the class diagram and any invariant
(if applicable) BEFORE any walkthrough has been done.)
(b) Identify the classes (which may be abstract or otherwise), their attributes and
hierarchical relationships that would be required for the application.
Submit the class description (this includes a brief comment for each attribute and
comments indicating any inheritance structure), as your TMA answer. (The class
description should be expressed in a style similar to the examples in Study Unit 1.)
(15 marks)
Important: The next paragraph explains what you must do about the project
discussion forum, for your TMA submission to your tutor.
ICT205e Tutor-Marked Assignment
Singapore University of Social Sciences (SUSS) Tutor-Marked Assignment – Page 6 of 8
(c) Determine the associations, and diagram an essential component of the system in the form of a
class association diagram for the requirements. It is not necessarily to include attributes. Do not
include any derived or redundant association in your diagram.
(15 marks)
(d) Develop an initial structural model from the set of requirements, by stating or explaining,
clearly and informally, one invariant that needs to accompany the class diagram.
(3 marks)
Question 2
This question is based on the study materials in Unit 4 (Dynamic Modelling –
Walkthroughs). This question assesses your ability to:
construct a dynamic model of a system by performing a walkthrough for a use case
show the implementation of a basic system by designing an association with appropriate
information;
(Note: What is written in this question may not be suitable as answers to Question 1!)
For its business to be reasonably profitable, RR sets a minimum number of people going on a
tour, before that tour could proceed. When the number is insufficient, its staff should suggest
alternatives to the people who had already signed up for that tour.
The following is part of a structural model used to develop this additional function for RR.
Figure Q2
Class: Region
Attributes:
name, the unique name of the region.
Class: Tour
Attributes:
tourCode, the unique code that identifies the tour.
tourSize, the number of people who had signed up for the tour.
Class: TourGuide
Attributes:
name, the name of the tour guide.
In this question, we have a “List Undersized Tours” use case which is specified as follows:
“For a given region, list the tours, together with the tour guides, where the number of people
who had signed up is less than a specified minimum number”.
(a) Introduce an orchestrating class, Control, to Figure Q2 to initiate the walkthrough
for the above requirement.
ICT205e Tutor-Marked Assignment
Singapore University of Social Sciences (SUSS) Tutor-Marked Assignment – Page 7 of 8
Construct a dynamic model of the system, by writing the complete walkthrough for the
requirement, using the following template:
Objective: To display, for a specified region, the tours and tour guides, for tours with
tour sizes less than a minimum number.
Given: aRegnName, the unique name of a tour region, and aMinNo, the
minimum number of tour members needed for a tour before it could
proceed.
1. Locate ...
2. Locate all ...
3. For each ...
3.1 Retrieve ...
3.2 If ...
3.2.1 Retrieve ...
3.2.2 Locate ...
3.2.3 Retrieve ...
(8 marks)
(b) Show the implementation of the basic system, to design the association has in Figure Q2,
based on the above walkthrough. Use the tabular format in Table Q2(b) below.
Class being modified
Association being implemented has
Direction of navigation
Multiplicity
Instance variable added
Value of instance variable
Justification
Table Q2(b)
(10 marks)
(c) Implement the above dynamic model in Java by writing the code for the association isLedBy,
as depicted in the walkthrough in Question 2 (a). Name the class the code should be written in.
(4 marks)
ICT205e Tutor-Marked Assignment
Singapore University of Social Sciences (SUSS) Tutor-Marked Assignment – Page 8 of 8
Question 3
This question is based on the study materials in Study Unit 5 (Dynamic Modelling –
Constructing Dynamic Models). This question assesses your ability to:
diagram essential components of a system with a modelling language;
construct a dynamic model for a system in the form of a sequence diagram for a
walkthrough;
implement a dynamic model in Java.
This question extends Question 2 further, and uses the same structural model in Question
2(a), and as modified in Question 2(b) and (c).
(a) Diagram an essential component of the system, by drawing a sequence diagram to
construct a dynamic model, based on the walkthrough in Question 2(a).
(15 marks)
(b) Consider the method for the request message sent by the orchestrating instance to the
Region instance, as depicted in the sequence diagram, for the walkthrough in
Question 2(a).
Implement the dynamic model in Java, by coding this method.
(7 marks)
Question 4
This question is based on Study Unit 3 (Dynamic Modelling – Changes of States). The
objectives of this question are to analyse a set of requirements and The objectives of this
question are to
construct a dynamic model for a system in the form of a statechart diagram;
diagram essential components of a system with a modelling language.
RR also has a customer care officer to handle complaints. Any complaint that a customer
may have could be sent by email to the agency. When a customer submits a complaint, it is
initially considered to be unresolved. The complaint becomes worked on as soon as the
customer care officer enters a related work record. The complaint can become resolved in
one of two ways. First, the customer care officer can manually resolve the complaint.
Second, 48 hours after the customer care officer has performed work on a complaint, he will
send an email to the customer asking for more information, and that the complaint will be
considered resolved unless the customer responds. If the customer responds, the complaint
again becomes unresolved. If the customer does not respond within another 24 hours, the
complaint is marked resolved, after informing the customer that the case is considered
closed. Resolved complaints are eventually filed away for future reference to help resolve
other complaints.
Construct a dynamic model in the form of a statechart diagram that represents the typical life
cycle of a complaint as described above. Diagram the essential components to comply with
UML notations and ICT205e naming conventions.
(15 marks)
----- END OF TMA -----