Robustness Analysis

advertisement
Robustness Analysis
Dr. Neal CIS 480
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 check list
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
Reader
object
External facing
windows, screens,
dialogs, menus, in
our example web
pages.
Map to database
tables for
persistent objects
Application
logic and process
control
Accesses
database
Tables (author)
Diagramming Rules
Where are the diagram and objects
placed in the model
• Under the design model since we are
moving to design
• Each robustness class diagram and
discovered objects are placed in a folder
under a named use case, since these
objects are the elaboration (realization) of
the use case
Discovered classes:
<<boundary>> and <<control>>
types go here within their
respective layer, new <<entity>>
types need to be added to the
domain diagram in the Analysis
Model
Design Class Diagrams:
Exist by <<layer>> and overall
within the Solution Domain
Model
Per Use Case:
Robustness Class Diagram
Realize Dependency
Object Sequence Diagram
Updates To The Static Domain
Model
• If new entity objects are discovered then
the static domain model must be updated
• Any attributes that were discovered as a
part of the process must also be added to
the static domain classes
Updates To The Static Domain
Model
Completion Check List
Robustness Example
TheEyesHaveIt.com
“Register a Seller”
Use Case Diagram
Register a Seller
<<communicate>>
Register
Seller
(f rom Actors)
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
IN: new registration from
authentication page
OUT: processed registration to
authentication page
OUT: cancel to main menu
Cancel Button
Cancel
cancel
create
Enter Info
displays
Account
Seller
(f rom Actors)
(f rom Business Domain Model)
Registration Controller
1
Registration Page
submit
highlight bad entries
process registration
create
1
registration info
Submit Button
Validation Controller
SellerEntity
(f rom Business Domain Model)
Object
Discovery
New objects discovered
during robustness
analysis
IN: new registration from
authentication page
OUT: processed registration to
authentication page
OUT: cancel to main menu
Cancel Button
Cancel
cancel
create
Enter Info
displays
Account
Seller
(f rom Actors)
(f rom Business Domain Model)
Registration Controller
1
Registration Page
submit
highlight bad entries
process registration
create
1
registration info
Submit Button
Validation Controller
SellerEntity
(f rom Business Domain Model)
Design
Classes
Object
Sequence
What does the code look like?
• https://bdnet.bus.cba.nau.edu/gln/robustne
ss/App/Menu.aspx
Download