25
SYS466: Analysis and Design Using OO Models Lecture 1 Lecture 1

SYS466: Analysis and Design Using OO Models

  • Upload
    gavan

  • View
    38

  • Download
    4

Embed Size (px)

DESCRIPTION

SYS466: Analysis and Design Using OO Models. Lecture 1. Agenda. Overview of SYS466 website Introduction to Analysis and Design of OO Models Review of Use Cases. Agenda. Overview of SYS466 website Introduction to Analysis and Design of OO Models Review of Use Cases. - PowerPoint PPT Presentation

Citation preview

Page 1: SYS466: Analysis and Design Using OO Models

SYS466: Analysis and Design Using OO Models

Lecture 1Lecture 1

Page 2: SYS466: Analysis and Design Using OO Models

Agenda

Overview of SYS466 websiteOverview of SYS466 website Introduction to Analysis and Design of OO Introduction to Analysis and Design of OO

ModelsModels Review of Use CasesReview of Use Cases

Page 3: SYS466: Analysis and Design Using OO Models

Agenda

Overview of SYS466 websiteOverview of SYS466 website Introduction to Analysis and Design of OO Introduction to Analysis and Design of OO

ModelsModels Review of Use CasesReview of Use Cases

Page 4: SYS466: Analysis and Design Using OO Models

Where have we come from?

SYS366 – Requirements Gathering using OO SYS366 – Requirements Gathering using OO ModelsModels Business ModelingBusiness Modeling User RequirementsUser Requirements Identify Actors/StakeholdersIdentify Actors/Stakeholders Identify Use CasesIdentify Use Cases

Use Case DiagramsUse Case DiagramsUse Case DescriptionsUse Case Descriptions

Page 5: SYS466: Analysis and Design Using OO Models

Where are we going?

Use Case Analysis:Use Case Analysis: Analyze Requirements for each use case in the Use Analyze Requirements for each use case in the Use

Case DiagramCase Diagram Produce:Produce:

ScenariosScenarios System Sequence DiagramsSystem Sequence Diagrams Domain Model (Conceptual Class Diagram)Domain Model (Conceptual Class Diagram) Interaction (Sequence) DiagramsInteraction (Sequence) Diagrams Design Class DiagramDesign Class Diagram

Page 6: SYS466: Analysis and Design Using OO Models

Requirements Gathering

(Specification)

Use Case Analysis

Interaction Modeling

Coding

1. Refine Use Case Description – Scenarios

2. Model system input and output events (Systems Sequence Diagram - SSD)

3. Noun filtering - Domain Class Diagram (conceptual classes)

- Identify attributes of conceptual classes- Identify relationships between conceptual classes (associations and composition)

1. Model object interaction & definition of operations using Sequence Diagrams

2. Design Class Diagram – show final relationships (associations, composition, inheritance)

Testing

SYS366SYS466

PRJ666

1. Business and System Use Case Diagrams

2. Business and System Use Case Descriptions

** PRJ566 – encompassesSYS366, SYS466, DBS201 and DBS301

Page 7: SYS466: Analysis and Design Using OO Models

In SYS466 we will first

Review requirements gathering by developing a Review requirements gathering by developing a use case model in Rational Roseuse case model in Rational Rose use case diagrams and scenariosuse case diagrams and scenarios

Page 8: SYS466: Analysis and Design Using OO Models

Browse Catalogue

Register as Shopper

Place Bid

Shopper

Logon

Register as Seller

Add Item

Seller

Close Bid

System Clock

Sample Use Case Diagram: Online Auction

Page 9: SYS466: Analysis and Design Using OO Models

In SYS466 we will first

Actor System

Select the Browse Catalog option Retrieves a list of category names and displays the category page (showing a drop down list of category names and an exit button.)

Select a category (photography) Retrieve items and display the item list page with a table of item names

Select an item and click the display button Retrieves item information and displays the item information page showing item name, picture and description

Click exit button Displays the online auction main page and the scenario ends

Preconditions: At the moment when the scenario begins, the system is displaying the Online Auction Main Page.

HD Browse Catalog

Sample Scenario:

Page 10: SYS466: Analysis and Design Using OO Models

In SYS466 we will then

Create a systems sequence diagram (SSD) Create a systems sequence diagram (SSD) Model the input and output events related to the system Model the input and output events related to the system

under discussionunder discussion An SSD for each scenarioAn SSD for each scenario

Page 11: SYS466: Analysis and Design Using OO Models

System Sequence Diagram

: Actor : System

eventMsg(dataValue1, dataValue2, ...)

dataValue3, dataValue4, ...

Page 12: SYS466: Analysis and Design Using OO Models

In SYS466 we will then

Identify conceptual classes in the use case model Identify conceptual classes in the use case model and initial relationships between them and initial relationships between them Using Noun FiltersUsing Noun Filters

Create a Domain Class Diagram showing preliminary Create a Domain Class Diagram showing preliminary relationships - focuses on the persistent data required by relationships - focuses on the persistent data required by the system under developmentthe system under development

Page 13: SYS466: Analysis and Design Using OO Models

Payment

amount

Sale

datetime

Pays-for

.

1 1

Domain Class Diagram

Page 14: SYS466: Analysis and Design Using OO Models

In SYS466 we will then

Identify object interaction and class Identify object interaction and class responsibilities (for classes in domain layer)responsibilities (for classes in domain layer) Sequence diagramsSequence diagrams

Refine domain class diagram Refine domain class diagram create Design Class create Design Class DiagramDiagram

Page 15: SYS466: Analysis and Design Using OO Models

: Register : Sale

makePayment()

: Paymentcreate()

makePayment()

Sequence Diagram

Page 16: SYS466: Analysis and Design Using OO Models

Register

...

endSale()enterItem(...)makePayment(...)

Sale

timeisComplete : Boolean/total

makeLineItem(...)

1

currentSale

Design Class Diagram

Page 17: SYS466: Analysis and Design Using OO Models

Agenda

Overview of SYS466 websiteOverview of SYS466 website Introduction to Analysis and Design of OO Introduction to Analysis and Design of OO

ModelsModels Review of Use CasesReview of Use Cases

Page 18: SYS466: Analysis and Design Using OO Models

What is a Use Case?

Describes the chronologically continuous Describes the chronologically continuous interaction of one or more actors with a systeminteraction of one or more actors with a system

Reflects the goals of the actorsReflects the goals of the actors Choose a name that represents this goal – starting Choose a name that represents this goal – starting

with a verbwith a verb

Page 19: SYS466: Analysis and Design Using OO Models

Use Case Diagram

Visual representation of the dialog between the Visual representation of the dialog between the actor and the system – shows all use casesactor and the system – shows all use cases

Shows which actors are involved with which use Shows which actors are involved with which use casescases

Primary actors are on left, support actors are on Primary actors are on left, support actors are on rightright

Page 20: SYS466: Analysis and Design Using OO Models

Use Case Diagram

Actor—external to system

Association Use Case—describes interactions with actor

ShopperBrowseCatalog

Page 21: SYS466: Analysis and Design Using OO Models

What is a Stakeholder?

Anyone who is affected by the systemAnyone who is affected by the system They have a vested interest in the success of the They have a vested interest in the success of the

systemsystem They may or may not use the system directlyThey may or may not use the system directly Executive, Senior Management, Middle Executive, Senior Management, Middle

Management, Supervisory ManagementManagement, Supervisory Management Other DepartmentsOther Departments CustomersCustomers

Page 22: SYS466: Analysis and Design Using OO Models

What is an Actor?

Anything or anyone that Anything or anyone that interactsinteracts with the system with the system Another system (e.g. Accounting System, Bank Credit Another system (e.g. Accounting System, Bank Credit

Card system)Card system) Person (e.g. Customer)Person (e.g. Customer) Hardware (e.g. Scanner, Printer)Hardware (e.g. Scanner, Printer) Network (e.g. Intranet, Internet, Phone Network)Network (e.g. Intranet, Internet, Phone Network)

Page 23: SYS466: Analysis and Design Using OO Models

What is System Behavior?

Anything the system must do to achieve its Anything the system must do to achieve its purposepurpose

Happens only Happens only insideinside the automated system the automated system boundaryboundary

Does Does notnot include anything done by an actor include anything done by an actor (because an actor is outside of the system!)(because an actor is outside of the system!)

Page 24: SYS466: Analysis and Design Using OO Models

Example:Actors,Use Cases,System Behavior

Browse Catalogue

Register as Shopper

Place Bid

Shopper

Logon

Register as Seller

Add Item

Seller

Close Bid

System Clock

System Boundary

Page 25: SYS466: Analysis and Design Using OO Models

In Summary

In Use Case Modeling we need to:In Use Case Modeling we need to: Identify actorsIdentify actors Define system behaviorDefine system behavior Identify use casesIdentify use cases Document use casesDocument use cases