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

School of Information and Physical Sciences

INFO6030 Lab Class Activities- Week 9

Objectives:

.    Team update on project management processes

.    Team short questions

.    Sample Final Exam (written question section)

.     Definitions

.    Quiz 2:

o Wednesday 4-8pm

o Covers material 1-8

Activity 1: Team update on management process

.    What have you change since ass1?

.    What needs to be changed?

Activity 2: Short questions for you team

.    List five elements included in a sequence diagram.

.    What is the purpose of the use case controller?

.    What assumptions do developers usually make while doing the initial use case realization (further development of the domain diagrams)?

.    What is the “separation of responsibilities” principle?

Activity 3: Class Activity Short Scenario

Draw a UML sequence diagram that shows the following information.

Car insurance system

Based on the following scenario and Use Case description and Sequence diagram, produce a Design System Sequence diagram for Add a new vehicle to an existing policy.

The diagram will include all objects required to fulfill the Use Case.

Actor:

.    Clerk

Objects:

.    <<boundary>> ui:UserInterface

.    <<control>> :PolicyManager

.    <<entity>> :Policy

.    <<entity>> currentPolicy:Policy

A customer calls a clerk at the insurance company and gives his policy number.

The clerk enters this information, and the system displays the basic insurance policy. The clerk then checks the information to make sure the premiums are current and the policy is in force. The customer gives the make, model, year, and vehicle identification number (VIN) of the car to be added.

The  clerk  enters  this  information,  and  the  system  ensures  that  the  given  data  are valid.  Next,  the customerselects the types of coverage desired and the amount of each.

The clerk enters the information, and the system records it and validates the requested amount against the policy limits.

After all the coverages  have  been  entered, the system ensures the total coverage against all other ranges, including other cars on the policy. Finally, the customer must identify all the drivers and the percentage of time they drive the car. If a new driver is to be added, then another use case — Add new driver — is invoked.

At the end of the process, the system updates the policy, calculates a new premium amount, and prints the updated policy statement to be mailed to the policy owner.

The Use Case Description for the scenario:

Use Case Name:

Add a new vehicle to an existing policy

Scenario:

Telephone instance with customer and clerk

Triggering Event:

Customer buys a new vehicle.

Brief Description:

Customer provides car information, requests coverage with amounts, identifies drivers of the new car. System updates the policy.

Actors:

Customer service clerk

Stakeholders:

Customer

Customer service department

Preconditions:

Customer policy must exist and be up to date.

StandardVehicle control tables for this vehicle type and year must exist. StandardCoverage tables exist.

Postconditions:

New vehicle object created and connected to policy.

Also connected to StandardVehicle.

New coverage objects created and connected to vehicle.

Also connected to StandardCoverage.

New driver (InsuredPerson) (if necessary) created and added to policy. Existing drivers and percentages updated.

Policy updated with new premiums.

Flow of Activities:

Actor

System

1. Clerk enters customer information. 2. Clerk verifies policy is current.

3. Clerk enters car identification information.

4. Clerk enters each type of coverage customer requests, including

deductibles and coverage amount.

5. Clerk indicates all coverages have been entered.

6. Clerk invokes Add new person use case if necessary.

7. Clerk changes driver percentages on this car and other cars.

8. Clerk indicates everything is

complete.

1.1 System finds policy and displays details.

3.1 System validates that car has known standard.

4.1 System validates coverage requests.

 

5.1 System does combination validation on policy.

 

 

7.1 System updates driver information.

8.1 System updates policy,

calculates new premium, prints new statement.

Exception

Conditions:

2.1 If policy is not current, clerk requests payment or collects necessary information.

3.1 If car type is not in system, clerk refers customer to underwriting to handle this situation.

 

4.1 If coverage requests are out of range, clerk asks customer for changed amount.

5.1 If some combination is invalid, return to step 4.

The Sequence Diagram for the scenario:

 

Assignment 2:

.    Has your team looked at the checkout book viso file and the videos

i.   The Library MVC Approach video and Visio files have been added to the assessment resources in the module menu

.    Analytic report: Team name (donut menu) -> Manage Team -> Analytics (tab)

.    MS Project Gantt chart up to date? This is crucial.

i.   Your team is still using the existing file for ass2.

.    Make sure all working documents are saved to your MS Teams team account

.    File Names:

i.   sequence_create_sensor_jack_20230630  (for example)

ii.   gantt_chart_teamName_20230615

.    All communications are via MS Teams for auditing purposes

.    All email to me only via your student account and i.   Only use the existing team email chain

Sample Formal Exam Scenario

University Library System: A sample Formal Exam Question (team exercise)

a.   Using the following scenario create a Use Case Diagram

b.   For the use case “Check Out” book develop the following items: i.   Develop a use case description (fill out table on p5)

ii.   Develop a activity diagram

iii.   Utilise Figure 1 on the following page to assist in your use case description (especially the system flow) and activity diagram.

This case is a simplified version of a new system for the University Library. Of course, the

library system must keep track of books. Information is maintained both about book titles and the

individual book copies. Book titles maintain information about title, author, publisher, and catalog

number. Individual copies maintain copy number, edition, publication year, ISBN, book status (whether it is on the shelf or loaned out), and date due back in.

The library also keeps track of its patrons. Because it is a university library, there are several

types of patrons, each with different privileges. There are faculty patrons, graduate student patrons,

and undergraduate student patrons. Basic information about all patrons is name, address, and

telephone number. For faculty patrons, additional information is office address and telephone number. For graduate students, information such as graduate program and advisor information is maintained.

For undergraduate students, program and total credit hours are maintained.

The library also keeps information about library loans. A library loan is a somewhat abstract

object. A loan occurs when a patron approaches the circulation desk with a stack of books to checkout. Overtime a patron can have many loans. A loan can have many physical books associated with it. (And   a physical book can be on many loans over a period of time. Information about past loans is kept in the  database.) So, in this case, an association class should probably be created for loaned books.

If a patron wants a book that is already checked out, the patron can put that title on reserve. This is another class that does not represent a concrete object. Each reservation is for only one title   and one patron. Information such as date reserved, priority, and date fulfilled is maintained. When a  book is fulfilled,the system associates it with the loan on which it was checked out.

Patrons have access to the library information to search for book titles and to see whether a

book is available. A patron can also reserve a title if all copies are checked out. When patrons bring

books to the circulation desk,a clerk checks out the books on a loan. Clerks also check books in. When  books are dropped in the returnslot, clerks check in the books. Stocking clerks keep track of the arrival of new books.

The managers in the library have their own activities. They will print reports of book titles by category. They also like to see (online) all overdue books. When books get damaged or destroyed,

managers delete information about book copies. Managers also like to see what books are on reserve.

 

Figure 1: Sequence Diagram

Table 1: Use Case Description

Use Case Name:

Check Out Book

Scenario:

Clerk checks out book at checkout counter for customer

Triggering Event:

Clerk creates new loan

Brief Description:

 

Actors:

clerk

Stakeholders:

Admin and patron

Related Use Case

Scan Patron Card

Preconditions:

Patron exists after scanning patron card details obtained

Post conditions:

Loan completed

Patron current loans updated

Flow of Activities:

Actor

System

1

 

2.

 

3.

 

4.

1.1

 

2.1

 

3.1

 

4.1

Alternative Flow

#.#?

Exception

Conditions:

#.# ?Bar code not read returned error, system returns to waiting for new

book to be added

#.# ?

Definitions:

.    use case realization - the process of elaborating the detailed design with interaction diagrams for a particular use case

.    sequence diagram - type of interaction diagram that emphasizes the sequence of messages sent between objects for a specific use case

.    activation lifeline - a representation of the period during which a method of an object is alive and executing

.    dependency relationship - a relationship between packages, classes, or use cases in which a change in the independent item requires a change in the dependent item

.    separation of responsibilities - a design principle that recommends segregating

classes into separate packages or groupings based on a primary focus of processing responsibility

.    design patterns - standard design techniques and templates that are widely recognized as good practice

Reference:

Satzinger, Jackson and Burd. (2016) Systems Analysis and Design in a Changing World, Cengage Learning.