讲解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 -----


站长地图