Professional Documents
Culture Documents
CSE1005 SOFTWARE T
DESIGN &
DEVELOPEMENT
UNIT – 3:
DR. M. MADIAJAGAN
ASSOCIATE PROFESSOR / SCOPE
VIT
1
VIT
Scenario-Based Modeling
VIT
engineer (called an analyst or modeler in this
Dr. M. Madiajagan
T
VIT
Rules VI
• The model should focus on requirements that are T
visible within the problem or business domain. The
level of abstraction should be relatively high.
• Each element of the analysis model should add to
an overall understanding of software requirements
and provide insight into the information domain,
function and behavior of the system.
VIT
• Delay consideration of infrastructure and other
VIT
within that application domain . . . [Object-oriented domain
and frameworks . . . 6
by Donald Firesmith
VI
Domain Analysis … T
VIT
Associate Professor, SCOPE,
• Analyze each application in the
Dr. M. Madiajagan
sample.
• Develop an analysis model for the
objects.
7
Elements of Requirements Analysis
Dr. M. Madiajagan
T
VIT
Scenario-Based Modeling VI
T
• “[Use-cases] are simply an aid to defining
what exists outside the system (actors) and
what should be performed by the system
(use-cases).” Ivar Jacobson
VIT
• (1) What should we write about?
VIT
• specify overall operational goals
VIT
In general, use cases are written first in
VIT
• Common mechanisms of UML
VIT
• Structural things define the static part of the model. They
13
VI
Interface − Interface defines a set of operations, which specify
T
the responsibility of a class.
VIT
Associate Professor, SCOPE,
Dr. M. Madiajagan
Component −Component describes the physical part of a
system.
VIT
object in its life cycle is important. It defines the sequence of states
Dr. M. Madiajagan
factors responsible for state change
15
• Grouping Things:- VI
• Grouping things can be defined as a mechanism to group T
elements of a UML model together. There is only one grouping
thing available −
• Package − Package is the only one grouping thing available for
gathering structural and behavioral things.
• Annotational Things:-
VIT
Associate Professor, SCOPE,
• Annotational things can be defined as a mechanism to capture
Dr. M. Madiajagan
remarks, descriptions, and comments of UML model
elements. Note - It is the only one Annotational thing
available. A note is used to render comments, constraints, etc.
of an UML element.
16
• Relationship:- VI
• Relationship is another most important building block of UML. It T
shows how the elements are associated with each other and this
association describes the functionality of an application.
• There are four kinds of relationships available.
• Dependency
• Dependency is a relationship between two things in which change in
one element also affects the other.
VIT
Associate Professor, SCOPE,
• Association is basically a set of links that connects the elements of a
Dr. M. Madiajagan
UML model. It also describes how many objects are taking part in that
relationship.
VIT
• All the elements, relationships are used to make a
• Object diagram
• Use case diagram
• Sequence diagram
• Collaboration diagram
VIT
• Activity diagram
19
UML - Modeling Types VI
There are three important types of UML modeling.:-
T
• Structural Modeling:- captures the static features of a system.
They consist of the following −
• Classes diagrams
• Objects diagrams
• Deployment diagrams
• Package diagrams
VIT
• Composite structure diagram
Dr. M. Madiajagan
Structural model represents the framework for the system and this
framework is the place where all other components exist.
Hence, the class diagram, component diagram and deployment
diagrams are part of structural modeling.
The structural model never describes the dynamic behavior of the
system. Class diagram is the most widely used structural diagram.
20
VI
• Behavioral Modeling T
• Behavioral model describes the interaction in the system. It
represents the interaction among the structural diagrams.
Behavioral modeling shows the dynamic nature of the system.
They consist of the following −
• Activity diagrams
• Interaction diagrams
• Use case diagrams
VIT
• All the above show the dynamic sequence of flow in a system.
Dr. M. Madiajagan
• Architectural model represents the overall framework of the
system. It contains both structural and behavioral elements of the
system. Architectural model can be defined as the blueprint of the
entire system. Package diagram comes under architectural
modeling.
21
Use-Cases VI
T
• a scenario that describes a “thread of
usage” for a system
• actors represent roles people or devices
play as the system functions
VIT
• users can play a number of different roles
22
VI
Developing a Use-Case T
VIT
Associate Professor, SCOPE,
changes in the external environment?
Dr. M. Madiajagan
• What information does the actor desire from the
system?
• Does the actor wish to be informed about
unexpected changes?
23
USE-CASE DIAGRAM VI
T
The notation for a use diagram is pretty
straightforward and doesn't involve as many
types of symbols as other UML diagrams
Use cases - Use cases are the horizontally
shaped ovals.
Actors - represented by stick figure people and
are the people actually employing the use cases
VIT
Associations - represented by a line between
Dr. M. Madiajagan
T
VIT
Dr. M. Madiajagan
T
VIT
Dr. M. Madiajagan
T
VIT
USE-CASE for CONFERENCE PROGRAM
CHAIR
Dr. M. Madiajagan
T
VIT
Activity Diagram VI
• Supplements the use case by providing a graphical T
representation of the flow of interaction within a specific
scenario
VIT
Associate Professor, SCOPE,
Dr. M. Madiajagan
29
Where to Use Activity Diagrams? VI
Activity diagram is suitable for modeling the activity T
flow of the system. An application can have multiple
systems.
Activity diagram also captures these systems and
describes the flow from one system to another.
This specific usage is not available in other diagrams.
VIT
These systems can be database, external queues, or any
Dr. M. Madiajagan
This diagram is used to model the activities which are
nothing but business requirements.
The diagram has more impact on business
understanding rather than on implementation details.
30
VI
•Activity diagram can be used for − T
VIT
Associate Professor, SCOPE,
•Investigating business requirements at a
Dr. M. Madiajagan
later stage.
31
Concurrent Flows in VI
Activity Diagram:- T
You can use the Fork Node and
the Join Node to describe two or
more threads of activities that can
execute at the same time. The effect
of the Fork Node (1) is to divide
the thread of control into two or
more threads. When the previous
action ends, all the actions on the
VIT
output side of the fork can start.
Dr. M. Madiajagan
threads together. The action after
the Join Node may not start until all
the actions leading to the Join
Node are complete.
32
Basic Activity Diagram Notations and Symbols VI
Initial State or Start Point T
Activity or Action State: An action state represents the non-
interruptible action of objects-
a rectangle with rounded corners
Action Flow :
VIT
Object Flow: refers to the creation and modification of objects
33
Decisions and Branching VI
When an activity requires a decision prior to moving on to the T
next activity, add a diamond between the two activities.
Synchronization
A fork node is used to split a single incoming flow into multiple
concurrent flows. A join node joins multiple concurrent flows
VIT
back into a single outgoing flow.A fork and join mode used
Dr. M. Madiajagan
34
• Time Event VI
This refers to an event that stops the flow for a time; an T
hourglass depicts it.
Merge Event
A merge event brings together multiple flows that are not
concurrent.
VIT
• Sent and Received Signals
Dr. M. Madiajagan
system. They usually appear in pairs of sent and received signals,
because the state can't change until a response is received, much
like synchronous messages in a sequence diagram.
35
Swimlanes: Swimlanes group related activities into one column. VI
T
VIT
Associate Professor, SCOPE,
Dr. M. Madiajagan
• Final State or End Point
36
An arrow pointing to a filled circle nested inside another circle
represents the final action state.
Data Modeling:- VI
T
examines data objects independently of processing
focuses attention on the data domain
creates a model at the customer’s level of abstraction
indicates how data objects relate to one another
What is a Data Object?
• a representation of almost any composite information that must be
understood by software.
VIT
• composite information—something that has a number of different
properties or attributes
Dr. M. Madiajagan
information), a thing (e.g., a report or a display), an occurrence
(e.g., a telephone call) or event (e.g., an alarm), a role (e.g.,
salesperson), an organizational unit (e.g., accounting department),
a place (e.g., a warehouse), or a structure (e.g., a file).
• The description of the data object incorporates the data object and
all of its attributes.
• A data object encapsulates data only—there is no reference within
a data object to operations that act on the data. 37
Data Objects and Attributes VI
T
A data object contains a set of attributes that
act as an aspect, quality, characteristic, or
descriptor of the object
object: automobile
attributes:
VIT
Associate Professor, SCOPE,
make
Dr. M. Madiajagan
model
body type
price
options code 38
What is a Relationship? VI
T
• Data objects are connected to one another in
different ways.
• A connection is established between
person and car because the two objects
are related.
• A person owns a car
VIT
• A person is insured to drive a car
VIT
Dr. M. Madiajagan
T
VIT
Dr. M. Madiajagan
T
VIT
Dr. M. Madiajagan
T
VIT
Dr. M. Madiajagan
T
VIT
Dr. M. Madiajagan
T
VIT
Dr. M. Madiajagan
T
VIT
Dr. M. Madiajagan
T
VIT
Dr. M. Madiajagan
T
VIT
Interaction View:
VI
Sequence Diagram and Collaboration Diagram T
VIT
Associate Professor, SCOPE,
Dr. M. Madiajagan
49
Dr. M. Madiajagan
T
VIT
Collaboration Diagram:-
Dr. M. Madiajagan
T
VIT
Kind of Classifier
Dr. M. Madiajagan
T
VIT
Kind of Relationship
Dr. M. Madiajagan
T
VIT
Dr. M. Madiajagan
T
VIT
VI
Generalization and inheritance permits different T
classifiers to share the attributes, operations and
relationship that they have in common, without
repetition.
VIT
Associate Professor, SCOPE,
Dr. M. Madiajagan
The dependency relationship relates classes whose
behaviour or implementation affects other classes. There are
several kinds of dependency in addition to realization,
including trace, refinement, usage, and binding. 55
VI
Associations: T
An Association describes discrete connections among objects or
other instances in a system. An Association relates an ordered list
(tuple) of two or more classifiers, with repetitions permitted. An
instance of an association is a link. Associations are the “glue”
that ties a system together.
VIT
Associate Professor, SCOPE,
Dr. M. Madiajagan
56
Dr. M. Madiajagan
T
VIT
Dr. M. Madiajagan
T
VIT
Dr. M. Madiajagan
T
VIT
Dr. M. Madiajagan
T
VIT
Dr. M. Madiajagan
T
VIT
Dr. M. Madiajagan
T
VIT
Dr. M. Madiajagan
T
VIT
Dr. M. Madiajagan
T
VIT
Dr. M. Madiajagan
T
VIT
Dr. M. Madiajagan
T
VIT
Dr. M. Madiajagan
T
VIT
Dr. M. Madiajagan
T
VIT
Dr. M. Madiajagan
T
VIT
Dr. M. Madiajagan
T
VIT
Dr. M. Madiajagan
T
VIT
Dr. M. Madiajagan
T
VIT
Dr. M. Madiajagan
T
VIT
Dr. M. Madiajagan
T
VIT
Dr. M. Madiajagan
T
VIT
Dr. M. Madiajagan
T
VIT
Dr. M. Madiajagan
T
VIT
Dr. M. Madiajagan
T
VIT
Dr. M. Madiajagan
T
VIT
Dr. M. Madiajagan
T
VIT
Dr. M. Madiajagan
T
VIT
Dr. M. Madiajagan
T
VIT
Dr. M. Madiajagan
T
VIT
Dr. M. Madiajagan
T
VIT
Dr. M. Madiajagan
T
VIT
Dr. M. Madiajagan
T
VIT
Dr. M. Madiajagan
T
VIT
Dr. M. Madiajagan
T
VIT
Dr. M. Madiajagan
T
VIT
Dr. M. Madiajagan
T
VIT
Dr. M. Madiajagan
T
VIT
Dr. M. Madiajagan
T
VIT
Dr. M. Madiajagan
T
VIT
Dr. M. Madiajagan
T
VIT
Dr. M. Madiajagan
T
VIT
Dr. M. Madiajagan
T
VIT
Dr. M. Madiajagan
T
VIT
Dr. M. Madiajagan
T
VIT
Dr. M. Madiajagan
T
VIT
Dr. M. Madiajagan
T
100
VIT
Dr. M. Madiajagan
T
101
VIT
Dr. M. Madiajagan
T
102
VIT
Dr. M. Madiajagan
T
103
VIT
VI
Further Queries!!! T
• Any Questions ? ? ?
• Otherwise - contact me in my chamber:
SJT-6thFloor – 613-K.
VIT
Associate Professor, SCOPE,
Dr. M. Madiajagan
104