Assignment 2 Class and State Diagrams

Lisa ap
AnalysisSpecificationTemplate2018R44.docx

<Insert Your Name and Class>

IT Online Training (ITOT) Analysis Specification

<Notes: Often in system development we use templates to create different types of specifications. This is an abbreviated template that represents some of the analysis artifacts of a project. The items in <> with the word “Insert” or “Provide” are explanatory and should be removed from your document after you follow the directions. Other symbols <> require you to insert names.

This document is intended to provide a partial analysis specification for the project case study, IT Online Training. This document includes an introduction, use case diagrams, detailed use cases, activity diagrams, domain class diagrams, and domain state diagram. Parts of this specification will come from the IT Online Training Specification and from your assignments. This document integrates some of the analysis diagrams and project specification details to provide a single reference. Headings are used to provide easier navigation. To see the heading navigation, in Word click on the View tab and check the Navigation Pane box.

You will submit this document for each assignment with new sections completed and added to it. You can revise any previous sections as needed. Remember to insert you name and class information at the top of this document.>

1. Introduction

<Provide a brief introduction of the contents of this section using the IT Online Training Specification. >

1.1 Problem Description

<Insert your description of the problem to be automated.>

1.2 Sponsor Project Description

<Insert your description of the problem based on the IT Online Training Specification.>

1.3 Sponsor Requirements

<Insert all of the sponsor requirements of the application based on the IT Online Training Specification. You can just copy/paste to this section.>

2. System Use Case Diagram

<Provide a brief introduction to the contents of this whole section.>

2.1 System Use Case Diagram

<Insert your use case diagram here. Remember that use cases are named with a verb + object like “Create Customer”.>

2.2 Use Case Diagram Description

<Insert a description of the System Use Case Diagram.>

2.3 List of Actors and Definitions

<Insert your list of actors and definitions. Remember that actors are nouns or noun phrases and represent persons, devices, or other systems that are external to the system and will use the system. In the sentence below define your actors by replacing the "actorName" with the name of your actor and complete the sentence:

“An actorName is a …”.

Then add additional details as necessary. Use the following table format.>

Actor Name

Definition

Customer

A Customer is a person who purchases ITOT products.

2.4 List of Use Cases and Description

<Insert your list of use cases and description. Remember that use cases are named with a verb + object like “Create Student”. Create a table like the example below.>

Use Case Name

Description

Create Customer

This use case creates a new Customer including customer id, first and last name, address, phone numbers for work and cell phone.

3. Detailed Use Case and Activity Diagram

<Provide a brief introduction of the contents of this section.>

3.1. <Use Case Name> Use Case

<Add the name of the required use case replacing <Use Case Name> above with the actual name of your use case Manage Shopping Cart Use Case. For example it might read Manage Shopping Cart Use Case.>

3.1.1. <Use Case Name> Use Case Description/Scenario

<Add the name of your use case replacing <Use Case Name> above with the actual name of your use case, for example, Manage Shopping Cart Use Case Description/Scenario. In this section insert a description/scenario for this use case.>

3.1.2 <Use Case Name> Use Case Detailed Steps

<Complete the following detailed use case table>.

Use Case and History

Use Case ID:

Use Case Name: Manage Shopping Cart

Created By:

Date Created:

Last Updated By:

Date Last Updated:

Actors, Description, Preconditions, Postconditions

Actors:

Description:

Preconditions:

Postconditions:

Normal Path

User Action

System Action

1. This use case begins when….(you need to complete the sentence)

2.

Alternative Path

User Action

System Action

Use Case Related System Issues

Exceptions:

Includes:

Priority:

Frequency of Use:

Business Rules:

Special Requirements:

Assumptions:

Notes and Issues:

3.1.3 <Use Case Name> Form/Screen Mockup and Dialog

<Add the name of your use case replacing <Use Case Name> above with the actual name of your use case like Manage Shopping Cart so that it reads Manage Shopping Cart Form/Screen Mockup.

Provide a mockup (image) of whatever forms/screens that are used to illustrate the activities in your use case. Include a description of your forms/screens. These should support and illustrate your use case. For example for a Create Customer use case, a Create Customer screen with customer id, first and last name, address, phone numbers for work and cell phone boxes and a Submit Button would be an example of a form or web screen.

Include a discussion of the form including its content (data elements) and how they will be used. Identify the classes has these attributes. Include a dialog (step by step instructions on what happens when this form is used. While these forms/screens will be used in the application, they are also used as a storyboard to explain the user interface to the sponsors of the project. These can be used to create and verify the steps of your detailed use case. >

3.1.4 Activity Diagram Name for Use Case <Name> and Discussion

<Add the actual name of your use case replacing “<Name>” above with the actual name of your use case like Manage Shopping Cart. For example, Activity Diagram for Use Case Manage Shopping Cart. Insert the following:

1. An activity diagram for your use case

2. A discussion of the activity diagram.

Remember that the detailed use case steps should be reflected in your activity diagram.>

4. Domain Class Diagram

<Provide a brief introduction to the contents of this section.>

4.1 Domain Class Diagram(s)

< Insert your Domain Class Diagram here. Remember that classes are named with nouns or noun phrases. A domain class diagram includes classes with attributes and operations for each class and named relationships with multiplicity constraints. Associations need names. You do not need a name for generalization, aggregation, and composition relationships. You must have names for associations .

4.2 Class and Relationship Analysis

<Insert your completed Class and Relationship Analysis here.>

Class and Relationship Analysis

Class Name 1

Relationship with Multiplicity

Class Name 2

Instructor

An Instructor teaches zero or more (0..*) Course

Course is taught by  a single (1) Instructor

 

Course

Then on the class diagram association between Instructor and Course you can name the association "teaches" and add the multiplicity constraints (1) near Instructor and (0..1) near Course.

4.3 List of Classes with Definitions, Attributes, and Operations

<Insert an alphabetical list of classes with a brief definition of each class, attributes, operations, and requirement number from the   I T Online Training  Project Requirements  2018 document. Remember that class names are nouns or noun phrases. To define a class, complete the phrase “A className is a ...”. Additional information can then be added. Attributes are properties of a class like "customerID" and begin with a lowercase letter. Operations are actions that a class can perform and begin with a lower case letter followed by parentheses (). We can create a new instance of a class (Create), delete an instance of a class (remove), get ( read) values of the attribute, or set (change) values of the attribute. See the examples in the table below. The examples below include all of the getter/setter methods for the attributes. You do not need to include them in this assignment, but for Assignment 2 when you create your class diagram, you can use the features of our CASE to so that the getter/setter methods will automatically be added . For now you can use a high level modify() and read() to represent the getter/setter methods. Later In design these will be modified depending on the technology used. During analysis we want to be independent of technology as much as possible.>

Classes, Attributes, Operations, Requirement

Class

Name

Class Definition

Attributes

Operations

Requirement

Number

Customer

A Customer is a person or organization where an Account exists for the purpose of accessing ITOT products.

customerID: string

firstName: string

lastName: string

address: string

workPhone:string

cellPhone: string

createCustomer()

getCustomerID()

setCustomerID(customerID)

getFirstName()

setFirstName(firstName)

getAddress()

setAddress(address)

getWorkPhone()

setWorkPhone(workPhone)

getCellPhone()

setCellPhone(cellPhone)

removeCustomer(customerID)

REQF2.1

ScheduledCourse

A ScheduledCourse is a course offered by ITOT at a specific date and time.

courseNumber: string

title: string

description: string

type: string

duration: number

startDate: string

endDate: string

prerequisites: string

ceuCredits: number

fee: number

createScheduledCourse()

getCourseNumber()

setCourseNumber(courseNumber)

getTitle()

setTitle(title)

getDescription()

setDescription(description)

getType()

setType(type)

getDuration()

setDuration(duration)

getStartDate()

setStartDate(startDate)

getEndDate()

setEndDate(endDate)

getPrerequisites()

setPrerequisites(prrequisites)

getCeuCredits() setCeuCredits(ceuCredits)

getFee()

setFee(fee)

RemoveScheduledCourse(courseNumber)

REQF3.1

User

A User is a person who has credentials to access the ITOT system

username:string

password: string

login(username, password)

logout()

getUsername()

setUsername(username)

REQF9.1

4.3.1 List of Classes, Attributes, Operations, and Requirement Number Discussion

<Provide a discussion of your list of classes, attributes, operations, and requirements.>

4.4 Domain Class Diagram Discussion

<Provide a discussion of your Domain Class Diagram.>

5. Domain State Diagram

<Insert a description of the contents of this section . >

5.1 <Classname> State Diagram and Discussion

<Replace <Classname> above with the name of the required class ShoppingCart State Diagram so that it reads like ShoppingCart State Diagram and Discussion. See the examples of state diagrams in the assignment. Complete the following:

1. Insert a state diagram for the class from your class diagram as indicated in the assignment.

2. Provide a brief discussion of your State Diagram.>

6. Sequence Diagrams

<Insert a description of the contents of this section.>

6.1 System Sequence Diagram (SSD) for <Use Case Name> Use Case and Description

<Replace <Use Case Name> above with the name of your detailed Use Case like Manage Shopping Cart so that it reads like System Sequence Diagram (SSD) for Manage Shopping Cart Use Case.

1. Insert a description of your SSD.

2. Insert a UML System Sequence Diagram (SSD) for your use case from Section 3 above. An SSD shows the actor and the System and the messages (including message name and parameters) required to implement the detailed use case description from Section 3. The SSD shows the inputs and outputs to/from the system for the use case.>

6.2 Detailed Sequence Diagram for <Use Case Name> Use Case and Discussion

<Replace <Use Case Name> above with the name of your use case like Manage Shopping Cart so that it reads like Detailed Sequence Diagram for Manage Shopping Cart Use Case and Description .

1. Insert a UML Detailed Sequence Diagram for your use case. A Detailed Sequence diagram shows the actor and instead of the System like in the SSD, it will show all of the objects (instances of classes) that are required to implement the use case. Your Class Diagram will be helpful here. The net messages should be the same as in your SSD above but you will have more detailed messages including message name and parameters among the different objects that are actually required to implement the use case. So now you will add objects across the top of your diagram and omit System. Include a discussion of your Detailed Sequence Diagram.>

2. Insert a discussion of your Detailed Sequence Diagram.

Appendix.

<Insert other material you feed is relevant to the project.>

Analysis Specification 2018R2 Page 7