270 likes | 551 Views
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
E N D
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 Accesses database Tables (author) Application logic and process control
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
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
Object Discovery New objects discovered during robustness analysis
What does the code look like? • https://bdnet.bus.cba.nau.edu/gln/robustness/App/Menu.aspx