Hello, dear friend, you can consult us at any time if you have any questions, add WeChat: daixieit

202109/CST307/A

Question 1 (20 marks)

You are working as a Software System Analyst at the software company Dolphin Technology, you are assigned to perform analysis and design for an Online Tailor Made Clothing System. The requirements for this system have been gathered and defined by the Project Manager based on discussion with the customer.

As a kick start for the project, you are required to illustrate in a Use Case Diagram the functional specifications of the Online Tailor Made Clothing System.

Requirements:

1.   The system should support three types of users: Guest, Member and Tailor .

2.   For Guest, the system shall provide the functionality: Browse Product.

3.   For Member, the system shall provide the functionalities: Browse Product, Place Order, Select Clothing, Edit Design, Edit Size, Select Delivery Address, and Make Payment.

4.   For Tailor, the system shall provide the functionality: View Order Details.

5.   The system will need to support payment using Wire Transfer or Credit Card, and using a third party Payment Gateway.

6.   When browsing the product, the user can choose whether to Browse by Catalogue or Promotion.

7.   When placing an order, the member need to select cloth, edit design, edit size and select delivery address, and make payment .

Question 2 (26 marks)

Illustrate the Place Order business process with an Activity Diagram for the Online Tailor Made Clothing System (stated in Question 1), based on the following Use Case Description:

Use Case Name: Place Order

Use Case Description: Complete a tailor made clothing ordering process.

Precondition: The member has registered and login to the system.

Post-condition: Complete the order.

Basic events:

1.   The member:

a.   Select Clothing.

b.   Edit Design.

c.   Edit Size.

d.   Select delivery address and make payment using wire transfer or credit card.

2.   After payment is completed, the system will save the order.

3.   The system will notify both the customer and tailor.

4.   The tailor:

a.   Check order notification.

b.   View order details.

c.   Update order status upon completing the order.

5.   The system will notify the customer of order completion. Extended Events:

A1. When edit design, the user can have the options to select colour, textile and cutting. The user can repeat the edit design until satisfy with the design.

A2. When select cutting, the user can choose regular fir or modern fit.

Question 3 (22 marks)

Based on the Online Tailor Made Clothing System stated in Question 1, illustrate in a Sequence Diagram  the  Use  Case  Realisation  of the  Place  Order”  use  case,  which  involves  the interaction between the following four classes:

1.   Member

2.   Order (the main controller)

3.   Payment

4.   Tailor

Requirements:

1.   The sequence diagram should start from select clothing and end after the system notifying the member upon the tailor completing the order .

2.   The  sequence  diagram  should  consistent  with  the  events  in  the  Activity Diagram  as described in Question 2.

3.   Use suitable combined fragments to model the logical control of the interaction between the classes.

4.   Assign parameters in the operations/methods.

Question 4 (12 marks)

The Order class in the Online Tailor Made Clothing System as stated in Question 3 has multiple states to indicate the different status of the order in the tailoring process. These states are used to assist the system to track the order upon receiving by the tailor until the completion of the clothing. The following are the states of the class Order in proper activation sequence:

1.   Order created

a.   internal activities : prompt payment

b.   event to change to next state: payment

c.   next state: state 2 (if payment confirmed); state 3 (if payment failed) .

2.   Order Paid

a.   condition to start the state: payment confirmed

b.   internal activities: save order

c.   next states: 4

3.   Order cancelled

a.   condition to start the state: payment failed

b.   internal activities: notify customer

c.   next state: end

4.   Tailor assigned

a.   event to start the state: assign tailor

b.   internal activities: tailoring

c.   next state: 5

5.   Order inspection

a.   condition to start the state: clothing completed

b.   internal activities: inspect clothing

c.   condition to change to next state: inspection completed

d.   next state: 6 (if passed inspection) ; state 4 (if failed inspection)

6.   Order completed

a.   condition to start the state: passed inspection

b.   internal activities: notify customer

c.   event to change to next state: assign dispatcher

d.   next state: 7

7.   Dispatcher assigned

a.   internal activities: notify customer, delivery

b.   condition to change to next state: customer receive order

c.   next state: 8

8.   Order delivered

a.   internal activities: notify tailor

b.   next state: end

Illustrate in a State Machine Diagram, the changes of states for the Order class as described above.

Question 5 (10 marks)

Illustrate  in  a  Deployment  Diagram  the  deployment  design  of the  Online  Tailor  Made Clothing System as stated in Question 1, with following requirements:

1.   A firewall to safeguard the connection from web users to the internal servers.

2.   A web server to process and relay input from user through web pages to the application

server.

3.   An application server to deploy the system, with following components:

a.   Clothing Module depending on services from Membership, Accounting and Audit modules.

b.   Membership Module

c.   Accounting Module

d.   Audit Module

4.   A database server to provide database access and storage for the system.

5.   An external payment  gateway with a Payment  module to provide the  services to the Clothing Module in the application server.

Question 6 (10 marks)

Produce the source code (choose Java or C++) based on the Class Diagram below (which is designed according to the Online Tailor Made Clothing System).

Produce the source code (choose Java or C++) based on the Class Diagram below.