You are on page 1of 15

Analysis Phase

Different models of the System development


– The functional model, represented in UML with
use case diagrams, describes the functionality of
the system from the user’s point of view.
– The object model, represented in UML with class
diagrams, describes the structure of the system in
terms of objects, attributes, associations, and
operations.
– The dynamic model, represented in UML with
interaction diagrams, state machine diagrams, and
activity diagrams, describes the internal behavior
of the system.
• Analysis focuses on producing a model of the system, called the analysis model,
which is correct, complete, consistent, and verifiable.
The analysis model is composed of three individual models:
– the functional model, represented by use cases and scenarios,
– the analysis object model, represented by class and object diagram
– the dynamic model, represented by state machine and sequence diagrams

• Analysis Concepts
– Analysis Object Models and Dynamic Models
– Entity, Boundary, and Control Objects
– Generalization and Specialization
• The analysis object model is a part of the analysis model and focuses on the
individual concepts that are manipulated by the system, their properties and their
relationships.
• The analysis model represents the system under development from the user’s
point of view.
• The analysis object model, depicted with UML class diagrams, includes classes,
attributes, and operations.
• The analysis object model is a visual dictionary of the main concepts visible to the
user.
• Object Modelling
• Object modelling develops the static structure of the software system in
terms of objects.
• It identifies the objects, the classes into which the objects can be grouped
into
• and the relationships between the objects.
• It also identifies the main attributes and operations that characterize each
class.
• The process of object modelling can be visualized in the following steps −
• Identify objects and group into classes
• Identify the relationships among classes
• Create user object model diagram
• Define user object attributes
• Define the operations that should be performed on the classes
• Review glossary
Dynamic Model
• The dynamic model focuses on the behavior of the system.
• The dynamic model is depicted with sequence diagrams and with
state machines.
• Sequence diagrams represent the interactions among a set of
objects during a single use case.
• State machines represent the dynamic behavior of a single object
(or a group of very tightly coupled objects).
• The dynamic model serves to assign responsibilities to individual
classes and, in the process, to identify new classes, associations, and
attributes to be added to the analysis object model.
• When working with either the analysis object model or the dynamic
model, it is essential to remember that these models represent
user-level concepts, not actual software classes or components.
• Dynamic Modelling
• After the static behavior of the system is analyzed, its behavior with
respect to time and external changes needs to be examined. This is
the purpose of dynamic modelling.
• Dynamic Modelling can be defined as “a way of describing how an
individual object responds to events, either internal events triggered
by other objects, or external events triggered by the outside world”.
• The process of dynamic modelling can be visualized in the
following steps −
• Identify states of each object
• Identify events and analyze the applicability of actions
• Construct dynamic model diagram, comprising of state transition
diagrams
• Express each state in terms of object attributes
• Validate the state–transition diagrams drawn
Entity, Boundary, and Control Objects
• The analysis object model consists of entity, boundary, and control objects .
• Entity objects represent the persistent information tracked by the system.
• Objects representing system data, often from the domain model.
• Boundary objects represent the interactions between the actors and the
system.
• Objects that interface with system actors (e.g. a user or external service).
Windows, screens and menus are examples of boundaries that interface
with users.
• Control objects are in charge of realizing use cases.
• To distinguish between different types of objects, UML provides the
stereotype mechanism to enable the developer to attach such meta-
information to modeling elements.
• Objects that mediate between boundaries and entities. These serve as the
glue between boundary elements and entity elements, implementing the
logic required to manage the various elements and their interactions
Generalization and Specialization
• Inheritance enables us to organize concepts into hierarchies
•Generalization is the modeling activity that identifies abstract
concepts from lower-level ones.
•Specialization is the activity that identifies more specific concepts
from a high-level one.
Domain model
• The domain model is created during object-oriented analysis to
decompose the domain into concepts or objects in the real world.
• Domain model is a structured visual representation of interconnected
concepts or real-world objects that incorporates vocabulary, key
concepts, behavior, and relationships of all of its entities.
• A domain model is a visual representation of conceptual classes or real-
world objects in a domain of interest.
• A visual dictionary of abstractions.
• The model should identify the set of conceptual classes (The domain
model is iteratively completed.)
• It is the basis for the design of the software.
• The domain model is also called conceptual model, domain object
model or analysis object model.
• Conceptual classes are ideas, things or objects in the
domain.
• A conceptual class has a symbol representing the
class, an intension and an extension that defines the
set of examples to which the conceptual class applies.
• To visualize domain models the UML class diagram
notation is used.
• However, no operations are defined in domain models
• Only ...
– domain objects and conceptual classes
– associations between them
– attributes of conceptual classes
• A class describes a set of objects with the same
semantics, properties and behavior. When used for
domain modeling, it is a visualization of a real world
concept.
• Attributes are logical data values of an object. It is
useful to identify those attributes of conceptual
classes that are needed to satisfy the information
requirements of the current scenarios under
development.
• An association is a relationship between classes.
The ends of an association are called roles. Roles
optionally have a multiplicity, name and navigability.
• The multiplicity defines how many instances
of a class A can be associated with one
instance of a class B at any particular moment.
(e.g., * ≙ zero or more; 1..10 between 1 and
10; 1,2 one or two)
• Two classes can have multiple associations.
• How to create the domain model?
• 1. Find the conceptual classes
• Strategies:
– a. Reuse or modify an existing model
– b. Use a category list
– c. Identify noun phrases
• 2. Draw them as classes in a UML class
diagram
• 3.Add associations and attributes

You might also like