sys466: analysis and design using oo models
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 PresentationTRANSCRIPT
![Page 1: SYS466: Analysis and Design Using OO Models](https://reader035.vdocuments.mx/reader035/viewer/2022062408/56813c8a550346895da62ba3/html5/thumbnails/1.jpg)
SYS466: Analysis and Design Using OO Models
Lecture 1Lecture 1
![Page 2: SYS466: Analysis and Design Using OO Models](https://reader035.vdocuments.mx/reader035/viewer/2022062408/56813c8a550346895da62ba3/html5/thumbnails/2.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022062408/56813c8a550346895da62ba3/html5/thumbnails/3.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022062408/56813c8a550346895da62ba3/html5/thumbnails/4.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022062408/56813c8a550346895da62ba3/html5/thumbnails/5.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022062408/56813c8a550346895da62ba3/html5/thumbnails/6.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022062408/56813c8a550346895da62ba3/html5/thumbnails/7.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022062408/56813c8a550346895da62ba3/html5/thumbnails/8.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022062408/56813c8a550346895da62ba3/html5/thumbnails/9.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022062408/56813c8a550346895da62ba3/html5/thumbnails/10.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022062408/56813c8a550346895da62ba3/html5/thumbnails/11.jpg)
System Sequence Diagram
: Actor : System
eventMsg(dataValue1, dataValue2, ...)
dataValue3, dataValue4, ...
![Page 12: SYS466: Analysis and Design Using OO Models](https://reader035.vdocuments.mx/reader035/viewer/2022062408/56813c8a550346895da62ba3/html5/thumbnails/12.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022062408/56813c8a550346895da62ba3/html5/thumbnails/13.jpg)
Payment
amount
Sale
datetime
Pays-for
.
1 1
Domain Class Diagram
![Page 14: SYS466: Analysis and Design Using OO Models](https://reader035.vdocuments.mx/reader035/viewer/2022062408/56813c8a550346895da62ba3/html5/thumbnails/14.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022062408/56813c8a550346895da62ba3/html5/thumbnails/15.jpg)
: Register : Sale
makePayment()
: Paymentcreate()
makePayment()
Sequence Diagram
![Page 16: SYS466: Analysis and Design Using OO Models](https://reader035.vdocuments.mx/reader035/viewer/2022062408/56813c8a550346895da62ba3/html5/thumbnails/16.jpg)
Register
...
endSale()enterItem(...)makePayment(...)
Sale
timeisComplete : Boolean/total
makeLineItem(...)
1
currentSale
Design Class Diagram
![Page 17: SYS466: Analysis and Design Using OO Models](https://reader035.vdocuments.mx/reader035/viewer/2022062408/56813c8a550346895da62ba3/html5/thumbnails/17.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022062408/56813c8a550346895da62ba3/html5/thumbnails/18.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022062408/56813c8a550346895da62ba3/html5/thumbnails/19.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022062408/56813c8a550346895da62ba3/html5/thumbnails/20.jpg)
Use Case Diagram
Actor—external to system
Association Use Case—describes interactions with actor
ShopperBrowseCatalog
![Page 21: SYS466: Analysis and Design Using OO Models](https://reader035.vdocuments.mx/reader035/viewer/2022062408/56813c8a550346895da62ba3/html5/thumbnails/21.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022062408/56813c8a550346895da62ba3/html5/thumbnails/22.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022062408/56813c8a550346895da62ba3/html5/thumbnails/23.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022062408/56813c8a550346895da62ba3/html5/thumbnails/24.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022062408/56813c8a550346895da62ba3/html5/thumbnails/25.jpg)
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