Robustness Analysis 2

20
Robustness Analysis By gaurav

Transcript of Robustness Analysis 2

Page 1: Robustness Analysis 2

Robustness Analysis

By gaurav

Page 2: Robustness Analysis 2

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

Page 3: Robustness Analysis 2

What Is Robustness Analysis?

Bridge between analysis and design, helps define objects

participating in use cases

Page 4: Robustness Analysis 2

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

Page 5: Robustness Analysis 2

Object Types Found in Discovery

External facingwindows, screens,dialogs, menus, in our example webpages.

Map to databasetables for persistent objects

Applicationlogic and processcontrol

Readerobject

Accessesdatabase

Tables (author)

Page 6: Robustness Analysis 2

Diagramming Rules

Page 7: Robustness Analysis 2

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

Page 8: Robustness Analysis 2

Per Use Case: Robustness Class Diagram Realize Dependency Object Sequence Diagram

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

Page 9: Robustness Analysis 2

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

Page 10: Robustness Analysis 2

Updates To The Static Domain Model

Page 11: Robustness Analysis 2

Completion Check List

Page 12: Robustness Analysis 2

Robustness Example

TheEyesHaveIt.com“Register a Seller”

Page 13: Robustness Analysis 2

Use Case Diagram

Register a sellerSeller

(f rom Actors)

Register

<<communicate>>

Register a Seller

Page 14: Robustness Analysis 2

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.

Page 15: Robustness Analysis 2

“Register a Seller” UI Prototype

Incomplete data or duplicate person

Page 16: Robustness Analysis 2

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

Page 17: Robustness Analysis 2

Example Robustness Analysis

Validation Controller

Registration Controller

process registration

Account(f rom Business Domain Model)

create

SellerEntity(f rom Business Domain Model)

1

1

1

1

create

Submit Button

registration info

Cancel Button

Registration Page

highlight bad entries

displaysdisplays

cancel

IN: new registration from authentication pageOUT: processed registration to authentication pageOUT: cancel to main menu

Seller

(f rom Actors)

Enter Info

submit

Cancel

Page 18: Robustness Analysis 2

Object Discovery

New objects discovered during robustness

analysis

Validation Controller

Registration Controller

process registration

Account(f rom Business Domain Model)

create

SellerEntity(f rom Business Domain Model)

1

1

1

1

create

Submit Button

registration info

Cancel Button

Registration Page

highlight bad entries

displaysdisplays

cancel

IN: new registration from authentication pageOUT: processed registration to authentication pageOUT: cancel to main menu

Seller

(f rom Actors)

Enter Info

submit

Cancel

Page 19: Robustness Analysis 2

DesignClasses

Page 20: Robustness Analysis 2

ObjectSequence