Subject: Software Engineering Assignment
Robustness Analysis
Outline
- What is robustness analysis?
- Key roles in robustness analysis
- Object types found in discovery
- Diagramming rules
- Where are the diagram and objects placed in the model
- Updates to the static model
- Robustness Analysis Steps
- Example robustness analysis
- Design following robustness
What Is Robustness Analysis?
Bridge between analysis and design, helps define objects participating in use cases
Key Roles in Robustness Analysis
- Robustness Analysis
- Class Discovery - fine missing classes like <<control>>, <<boundary>> and <<interface>> types
- Completeness Check – walk through use case scenarios and make sure all alternative paths are covered
- Sanity Check – does the use case specify behavior that is reasonable and able to be implemented
- Establishes Basis for Sequence Diagrams – quickly drawn and can identify issues prior to building sequence diagrams
Object Types Found in Discovery
External facing
windows, screens,
dialogs, menus, in
our example web
pages.
Map to database
tables for
persistent objects
Application
logic and process
control
Reader
object
Accesses
database
Tables (author)
Diagramming Rules
Updates To The Static Domain Model
Robustness analysis steps:
Decompose narrative use case flow into “steps”.
Use objects from the domain model and link them together to simulate these steps.
Add missing classes and associations in the domain model during step (2).
Use terms from the domain model to disambiguate the use case during step (2).
Complete other information in use case text that might be missing during step (2).
Alternative flows in use case descriptions may be highlighted or colored in the robustness diagram to distinct from the nominal flow.
Robustness Example
TheEyesHaveIt.com
“Register a Seller”
Use Case Diagram
Register a Seller
Use Case “Register a Seller”
- Preconditions
- SELLER must not exist in system
- Use Case Description
- Primary Flow:
- The SELLER is directed to a secure Web page.
- The SELLER must enter a user name, password, address, telephone, and e-mail address.
- All data is is validated when the SELLER submits request.
- The password should be entered twice to verify typing errors. the submit button.
- Alternate Flow:
- The SELLER can cancel the registration process and return to the main page.
- Alternate Flow:
- Data entered is not complete causing registration form to be redisplayed with errors highlighted.
- Alternate Flow:
- The SELLER has previously registered or a duplicate name exists causing the registration form to be redisplayed
- Postconditions
- An entry for SELLER information is created in the database.
- An new ACCOUNT is created for the SELLER.
“Register a Seller” UI Prototype
Incomplete data or duplicate person
Robustness Analysis New Objects
- Potential design objects include:
- Registration Page <<boundary>> web page for seller registration
- Registration Controller <<controller>> controller object for managing the registration process
- Submit Button <<boundary>> part of the registration web page
- Cancel Button <<boundary>> part of the registration web page
- Validation Controller <<controller>> controls the process of data validation
Example Robustness Analysis
Object Discovery
New objects discovered during robustness analysis
Design
Classes
Object
Sequence
Youtube Resource
- UML Tutorial 5.1 - Basics of UML Sequence Diagrams for Robustness Analysis in Eclipse with Papyrus
- https://www.youtube.com/watch?v=aKNh08Vq_78
Assignment – Requirements
for Use Cases
- Revise Use case:
- two-paragraph description (main flow and alternative flow)
- numbered list
- Create activity diagram for each use case based on:
- Main flow
- Domain model
- Screen mock-ups
- Robustness Analysis
- Robustness Diagram
Use case example
Robustness Analysis
Use case description with domain model
*
Robustness Diagram
Revised usecase description, revised domain model and robustness diagram
*
Quality Attributes of Robustness Diagrams
Use case description with domain model
*
Revised usecase description, revised domain model and robustness diagram
*
Register a seller
Seller
(from Actors)
Register
<<communicate>>
Validation Controller
Registration Controller
process registration
Account
(from Business Domain Model)
create
SellerEntity
(from Business Domain Model)
1
1
1
1
create
Submit Button
registration info
Cancel Button
Registration Page
highlight bad entries
displays
displays
cancel
IN: new registration from
authentication page
OUT: processed registration to
authentication page
OUT: cancel to main menu
Seller
(from Actors)
Enter Info
submit
Cancel