ANALYSIS MODEL
Analysis Model
Actual system development start with this.
Aims to structure the system independently of the actual implementation environment.
Focus on the logical structure of the system.
Define the stable, robust and maintainable structure that is also extensible.
In the information space for this model, the aim is to capture information, behavior and
presentation
Analysis Model
Three types of objects are involved in Analysis Model:
Interface Objects
Entity Objects
Control Objects
Analysis Model
Entity object Interface object Control object
Analysis Model
Interface Objects
There are three strategies to identify interface objects:
[Link] are clearly identified from the system interface
descriptions accompanying the requirement model.
[Link] the actors.
[Link] reading use case descriptions and extracting the
functionality that is interface specific.
Analysis Model
Interface Objects
Consider the Recycling Case Study
Customer Panel
Operator Panel
Receipt Printer
Alarm Device
Acquaintance association is a static association between
instances and means that an instance knows of the
existence of other instance. Instance associations are
drawn with solid, directed lines.
Analysis Model
Actors:
Customer :
Customer panel manage the push buttons(start and receipt) and slots.
Operator:
Operator panel: to change information and to generate daily reports.
Alarm Device: control a signal device, reset button for device.
Receipt receiver: (Abstract)
Receipt printer: prints, cut off the paper, call alarm device when
paper roll is finished.
Analysis Model
Use case description:
Deposit item use case:
When the customer returns a deposit item, it is measured by the system. The
measurements are used to determine what kind of can, bottle or crate has been
deposited. If accepted, the customer total is incremented, as is the daily total for
that specific item type. If the item is not accepted, the light for ‘NOT VALID’ is
highlighted on the panel.
When the customer presses the receipt button, the printer prints the date. The
customer total is calculated and the following information printed on the receipt
for each item type.
Name, number returned, deposit value, total for this type
Finally the sum that the customer should receive is printed on the receipt
Analysis Model
Interface Objects of the Recycling Case Study
Customer Panel
Operator Panel
Receipt Printer
Alarm Device
Acquaintance association is a static association between
instances and means that an instance knows of the
existence of other instance. Instance associations are
drawn with solid, directed lines.
Analysis Model
Interface Objects
Cardinality: No. of instances that can be associated with the
association.
Example:
The receipt printer must know which alarm device to sound
when the paper roll is finished.
Analysis Model
Analysis Model
Consists-of Association
• Special type of
acquaintance
association
• It states that an object
is composed of other
objects.
• Example: The interface
object ‘customer panel’
is the central interface
object.
Analysis Model
Two types of interfaces:
• Interfaces to other systems: communication is described in
terms of communication protocols
• Interfaces to human user: usually done through Graphical
User Interfaces
How much information and behavior should be tied to an
interface ?
Any change to the functionality directly coupled to the
interface object should be local to the interface object.
Other changes should not effect the interface object.
Analysis Model
Which part of flow of use cases allocate to interface object?
Observe parts with following characteristics:
Present information to actor or request info. from him.
If actor’s behavior is changed the functionality is changed.
Flow is dependent on particular interface type.
Analysis Model
Different strategies for allocating the functionality
Computation dominant control or embedded control:
Place the controlling functionality inside the system, that is, in the control
objects and the entity objects.
Dialogue dominant control
Place the control functionality in the interface objects.
Mixed control
Places the control on both sides allowing invocation of dialogue from the
computational side (control and entity) and interface objects.
Balanced control
Separate the control from both the dialogue and the computation. Control
object governs sequencing among invocations of dialogue and
computational functions.
OOSE promotes alternative (4)
Analysis Model
Entity Objects
Model the information that the system will handle over a
longer period of time.
Allocate the behavior that naturally belongs to this
information to them.
Look at the information that must be kept for a longer time.
The entity objects can be identified from
Use cases.
Problem domain object model
Analysis Model
Return item Use case:
When the customer returns a deposit item, it is measured by the system.
The measurements are used to determine what kind of can, bottle or crate
has been deposited. If accepted, the customer total is incremented, as is
the daily total for that specific item type. If the item is not accepted, the
light for ‘NOT VALID’ is highlighted on the panel.
When the customer presses the receipt button, the printer prints the date.
The customer total is calculated and the following information printed on
the receipt for each item type:
Name, number returned, deposit value, total for this type
Finally the sum that the customer should receive is printed on the receipt.
Analysis Model
Entity objects identified for Recycling
Machine Case Study:
Can
Crate
Bottle
Attributes relating to
size and
no. of each item deposited for the
day.
Abstract entity object: Deposit item
with attributes deposit value, day
total.
Analysis Model
Attributes: are used by objects to store information.
Type-- primitive or composite data type.
Is an association with a name and cardinality indicating attribute
type.
Analysis Model
Analysis Model
Attributes: are used by objects to store information.
Type-- primitive or composite data type.
Is an association with a name and cardinality indicating attribute
type.
Analysis Model
RECEIPT BASIS
one instance of receipt basis for each
customer
keep track of all items a customer
deposit (how much of each type)
acquaintance association b/w Receipt
basis and Deposit item with cardinality
[0..n]
an attribute storing no. received for
each type
An instance of ‘receipt basis’ has
acquaintance association with the
instances of ‘deposit item’.
For each association – a no. is assigned
(an attribute of relation or new entity
object)
Analysis Model
Operations offered by an entity objects:
Storing and fetching information
Behavior that must be changed if the entity object is changed
Creating and removing the entity object
Communication Association
Operation on an entity object may mean that the entity object contacts
another entity object and asks for information about something
It models communication between two objects.
It starts from object that is to perform manipulation.
It is directed to object where manipulation is to take place.
Instance association—solid line