Class Notes (1,000,000)
CA (610,000)
UTSG (50,000)
CSC (1,000)
Lecture 10

CSC302H1 Lecture 10: 2014.02.06


Department
Computer Science
Course Code
CSC302H1
Professor
Matt Medland
Lecture
10

This preview shows half of the first page. to view the full 2 pages of the document.
ROBUSTNESS ANALYSIS
Starting point
oDone: Use Cases, Domain Model, Goal Models
oChallenge: allocate responsibility for the use cases to
classes in the system
Purpose:
oBridges the gap btwn Requirements and Design
oSanity Check
Tests the language in the Use Case description
Nouns from the Use Case get mapped onto
objects
Verb from the Use Case get mapped onto actions
oCompleteness Check
Discover the objects you need to implement the use
cases
Identify alternative courses of action
oObject Identi*cation
Decide which methods belong to which objects
oLaw of Demeter – each unit should only have limited
knowledge about other units  only units closely related to
it
A method m of an object O can only call methods of:
1. O itself
2. m's parameters
3. Any object created by m
4. O's direct component objects
5. A global variable, accessible by O, in the scope
of m
In programming "use only one dot"
Robustness Diagrams
oObjects
Boundary Objects – used by
actors when communicating w/
system
Only these an initiate events
Ex. Usually UI elements
Entity Objects – usually objects from
domain model
Things we need to keep track of
Control Objects – glue btwn
boundary objects and entity objects
Capture business rules and
policies
oAllowed interactions
Actor  Boundary Objects
Boundary Objects  Control Objects
Control Objects  Control Objects
Control Objects  Entity Objects
oNot Allowed interactions
Actor  Control Objects or Entity Objects
Boundary Objects  Boundary Objects or Entity Objects
Entity Objects  Entity Objects
oConstructing a Robustness Diagram
Add a boundary element for each major UI element
Not at the level of individual widgets
Add controllers
One to manage each Use Case
One for each business rule
Another for each activity that involves
coordination of several other elements
Add an entity for each business concept
Most domain objects
oEx. shopping checkout
The system displays the Edit Shopping Cart page
The user clicks the Checkout button
The system retrieves the Delievery Addresses
already registered for this user
And then displays the Delivery Address page
The user selects the address to use from the Customer
Address List on the Delivery Address page and clicks
the Select button
The system sets the Delivery Address in the
Order
oEx. Login page
Robutness Analysis Bene*ts
o1. Forces a consistent style for use cases
o2. Forces correct "voice" for use cases
o3. Sanity and completeness check for use cases
o4. Syntax rules for use case description
o5. Quicker and easier to read than sequence diagrams
You're Reading a Preview

Unlock to view full version