Subject: Software Engineering Assignment

Shiva117
RobustnessAnalysis1.ppt

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