You are on page 1of 22

Robustness Analysis and the

MVC architecture
The Model-View-Controller (MVC)

The functions:
The brain and muscles
They receive requests,
use the data to perform
the functionality then
update the views

Basically the raw data: The representation forms:


a = 1, b = 5, c = 2 Bar chart, pie chart…even text
Robustness Analysis and MVC 2
The Model-View-Controller

• Pros:
§ Allows the data to change independently of its
representation and vice versa. Supports presentation
of the same data in different ways with changes made
in one representation shown in all of them.

Cons:
§ A lot of wasted computation if there are many
observers subscribed while only few are interested in
model changes.

Robustness Analysis and MVC 3


Robustness Analysis
l There is always a gap between the analysis
and the design phases (what vs. how).
l Purposes
l Uses elements from the domain model to make the
use case model more complete.
l Uses elements from the use case model to make
the domain model more complete.
l Robustness analysis helps bridge the gap between
the analysis and design phases.

Robustness Analysis and MVC 4


Robustness Analysis

l Robustness analysis takes place in the


middle ground between the analysis and
design.

Robustness Analysis and MVC 5


Robustness Analysis
l Can be performed by either analysts or designers.
l By analysts;
l To improve their use case models.
l To improve their domain models.
l By designers;
l To think about the technical architecture.
l To think about various design strategies.

Robustness Analysis and MVC 6


Robustness Diagram
l The product of robustness analysis is a robustness
diagram.
l Robustness diagrams is somewhat a hybrid between a
class diagram and an collaboration diagram.
l It provides a visual representation of the behavior
described by a use cases:
l Using classes from the domain model.
l Using new classes for the design.

Robustness Analysis and MVC 7


Robustness Diagrams
l Robustness diagrams intentionally avoid showing
details between classes to allow the modeler to focus
on the realizing the use case scenario rather than
worry about details.
l Three types of classes.
l Each class is represented by the graphical stereotype
icon.

Robustness Analysis and MVC 8


Robustness Diagram Symbols

Which follows the MVC ideology

Robustness Analysis and MVC 9


Robustness Diagram Symbols
l Boundary objects
l The “interface” between the system and the
outside world. Boundary objects are typically
screens or web pages (i.e., the presentation
layer that the actor interacts with).
l Entity objects:
l Classes from the domain model.

l Controllers:
l The “glue” between the boundary and entity
objects.

Robustness Analysis and MVC 10


Heuristics to add Objects
l Follow some heuristics to decide upon which classes
to use or create.
l Add a boundary object for each major interface
element. For example:
l Screen
l Scanner
l Printer
l Card Reader

Robustness Analysis and MVC 11


Heuristics to add Objects
l Add a controller object:
l to manage the overall process of the scenario
being modeled.
l e.g. Enroll in University control class.

l For each business rule.

l e.g. Check for Enough Cash in ATM Machine


control class.
l For activities that involve several other elements.

l Add an entity object:


l e.g. Student and Student Fee.

Robustness Analysis and MVC 12


Diagram Syntax Rules

l Boundary objects can talk to control objects.


l Control objects can talk to boundary objects.

Robustness Analysis and MVC 13


Diagram Syntax Rules
l Control objects can talk to entity objects.

l Control objects can talk to other control objects.

Robustness Analysis and MVC 14


Diagram Syntax Rules
l Boundary objects do not talk to entity objects.

l Boundary objects do not talk to other boundary


objects.

15

Robustness Analysis and MVC


Diagram Syntax Rules
l Entity objects do not talk to any objects.

Robustness Analysis and MVC 16


Creating Robustness Diagrams
l Robustness diagrams are created by following the
logic of a given use case.
l Each scenario in a use case represents a path
between the objects in the robustness diagram.

Robustness Analysis and MVC 17


Example

Robustness Analysis and MVC 18


Finger Follow Approach

Robustness Analysis and MVC 19


MVC!! MVC!! MVC!!

V C
C

MVC
M M

Robustness Analysis and MVC 20


MVC!! MVC!! MVC!!

MVC

C
M

Robustness Analysis and MVC 21


MVC!! MVC!! MVC!!

MVC

C
V
M
C

Robustness Analysis and MVC 22

You might also like