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
SYS466: Analysis and Design Using OO Models
Lecture 1Lecture 1
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
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
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
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
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
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
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
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:
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
System Sequence Diagram
: Actor : System
eventMsg(dataValue1, dataValue2, ...)
dataValue3, dataValue4, ...
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
Payment
amount
Sale
datetime
Pays-for
.
1 1
Domain Class Diagram
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
: Register : Sale
makePayment()
: Paymentcreate()
makePayment()
Sequence Diagram
Register
...
endSale()enterItem(...)makePayment(...)
Sale
timeisComplete : Boolean/total
makeLineItem(...)
1
currentSale
Design Class Diagram
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
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
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
Use Case Diagram
Actor—external to system
Association Use Case—describes interactions with actor
ShopperBrowseCatalog
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
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)
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!)
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
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