SlideShare a Scribd company logo
1 of 64
Chapter : Analysis Modeling
Requirements Analysis
 Requirements analysis
 Specifies software’s operational characteristics
 Indicates software's interface with other system elements
 Establishes constraints that software must meet
 Requirements analysis allows the software engineer (called an analyst
or modeler in this role) to:
 Elaborate on basic requirements established during earlier
requirement engineering tasks
 Build models that depict user scenarios, functional activities,
problem classes and their relationships, system and class
behavior, and the flow of data as it is transformed.
 Throughout analysis modeling, the SE’s primary focus is on what not
on how.
 Analysis model and the requirements specification provide the
developer and the customer with means to assess quality once
software is built.
Analysis Modeling Principles
 Analysis methods are related by a set of operational principles:
1. The information domain of a problem must be represented and
understood.
2. The functions that are software performs must be defined.
3. The behavior of the software must be represented.
4. The models that depict information, function and behavior
must be partitioned in a manner that uncovers detail in a
layered fashion.
5. The analysis task should move from essential information
toward implementation detail.
1. Information domain encompasses that the data flow into
the system, out of the system and data stored.
2. Functions provide direct benefit to end-users and also
provide internal support for those features that are user
visible.
3. Behavior driven by its interaction with the external
environment.
E.g. Input provided by end-users, control data provided
by an external system, or monitoring data.
Analysis Modeling Principles
4. Key strategy of analysis model, divide complex problem
into sub-problem until each sub-problem is relatively
easy to understood. This concept is called partitioning.
5. The “essence” of the problem is described without any
consideration of how a solution will be implemented.
E.g. Video game requires that player “instruct”
Implementation detail (design model) indicates how the
essence will be implemented
E.g. Keyboard command might be typed or a joystick
used.
Analysis Modeling Principles
Analysis Model Objectives
Three Primary Objectives:
 Describe what the customer requires.
 Establish a basis for the creation of a software design.
 Devise a set of requirements that can be validated once the software is built.
 Its bridges the gap between a system-level description that describes
overall system functionality and a software design.
Guidelines :
 Graphics should be used whenever possible.
 Differentiate between the logical (essential) and physical
(implementation) considerations.
 Develop a way to track and evaluate user interfaces.
Analysis Model - A Bridge
Analysis Rules of Thumb
 The model should focus on requirements that are visible within
the problem or business domain. The level of abstraction
should be relatively high. – Don’t get bogged into the details.
 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.
 Delay consideration of infrastructure and other non-functional
models until design.
 Minimize coupling throughout the system. - If level of
interconnectedness is high, efforts should be made to reduce
it.
 Assured that the analysis model provides value to all
stakeholders. – business stakeholder should validate
requirement, Designers should use the model as a basis for
design.
 Keep the model as simple as it can be. - No need to use
additional diagram and use notations.
Elements of Analysis model
 There are two approaches
1. Structured Analysis:-
 Data objects are modeled in a way that defines
their attributes and relationships.
 Processes that manipulate data objects in a
manner that shows how they transform data as
data objects flow through the systems.
2. Object Oriented Analysis :-
 Focuses on the definition of classes and the
manner in which they collaborate with one
another.
 UML is predominantly object oriented.
Elements of Analysis model
Scenario Based diagram
 Scenario-based elements
 Use-case—How external actors interact with the
system (use-case diagrams; detailed templates)
 Functional—How software functions are
processed in the system (flow charts; activity
diagrams)
 Activity – can be represented at many diff. level
of abstraction.
Class diagram for sensor
 Class-based elements
 The various system objects (obtained from
scenarios) including their attributes and
functions (class diagram)
Behavioral Element – State
Diagram
 Behavioral elements
 How the system behaves in response to
different events (state diagram)
Flow-oriented elements
 Flow-oriented elements
 How information is transformed as if flows
through the system (data flow diagram)
 System accepts input in a variety forms; applies
functions to transform it; and produces output in
variety forms.
Data modeling
 Analysis model often begin with data
modeling.
 Data model consists of three interrelated
pieces of information:
 The data object,
 The attributes that describe the data object,
and
 The relationships that connect data objects
to one another.
Data Object
 A data object is a representation of almost any
composite information that must be understood by
software.
 composite information - number of different properties
or attributes.
 A data object can be:-
 An external entity (e.g., anything that produces or
consumes information),
 A thing (e.g., a report or a display),
 An occurrence (e.g., a telephone call)
 Event (e.g., an alarm),
 A role (e.g., salesperson),
 An organizational unit (e.g., accounting department),
 A place (e.g., a warehouse),
 A structure (e.g., a file).
For Ex.- Set of attributes can be defined
for a person or a car (i.e. Data Object)
Data Attributes
 Define the properties of a data object.
 Attributes name a data object, describe
its characteristics, and in some cases,
make reference to another object.
 In addition, one or more of the
attributes must be defined as an
identifier( Key value or Unique value).
Ex. Data object Car has Id number as
identifier.
Relationships
 Data objects are connected to one another in different
ways.
 Consider two data objects
 Book
 Bookstore
 A connection is established between book and
bookstore because the two objects are related.
Relationship
 To determine relationship between them, must
understand the role of book and bookstore.
 Can define a set of object/relationship pairs that define
the relevant relationships.
For Example:
 A bookstore orders books.
 A bookstore displays books.
 A bookstore stocks books.
 A bookstore sells books.
 A bookstore returns books.
Cardinality and Modality
 Additional element of data modeling.
 Object X relates to object Y does not
provide enough information.
 How many occurrences of object X
are related to how many occurrences
of object Y called cardinality.
Cardinality
 Representing the number of occurrences objects in
a given relationship.
 Cardinality is the specification of the number of
occurrences of one [object] that can be related to
the number of occurrences of another.
 Cardinality is usually expressed as simply 'one' or
'many’.
 1:1 – One object can relate to only one other
object.
 1:M – one object can relate to many objects.
 M:N – Some no. of occurrences of an object can
relate to some other no. of occurrences of another
object.
Modality
 Cardinality does not provide an indication of whether or
not a particular data object must participate in the
relationship.
 Modality of a relationship is 0 if there is no explicit need
for the relationship to occur or the relationship is
optional.
 The modality is 1 if an occurrences of the relationship is
mandatory.
Function Modeling & Information
Flow
 Information is transformed as it flows through a
computer-based system. The system accepts input in a
variety of forms; applies hardware, software, and human
elements to transform it; and produces output in a
variety of forms
 Structured analysis began as an information flow
modeling technique.
 A rectangle is used to represent an external entity
(software, hardware, a person)
 A circle (sometimes called a bubble) represents a
process or transform that is applied to data (or control)
and changes it in some way.
 An arrow represents one or more data items
(data objects) and it should be labeled.
 The double line represents a data store—stored
information that is used by the software.
 First data flow model (sometimes called a level
0 DFD or context diagram) represents the
entire system.
 It provides incremental detail with each
subsequent level.
Function Modeling & Information
Flow
Information Flow model
Creating a Data Flow Model
 It enables software engineer to develop
models of the information domain and
functional domain at the same time.
 Data flow diagram may be used to
represent a system or software at any level
of abstraction
 As DFD is refined into greater levels of
detail, the analyst performs an implicit
functional decomposition of the system.
 As DFD refinement results in corresponding
refinement of data as it moves through the
processes that represent the application
DFD Guidelines
 Depict the system as single bubble in level 0.
 Primary input and output should be carefully
noted
 Refine by isolating candidate processes and
their associated, data objects and data stores
 All arrows and bubbles should be labeled with
meaningful names.
 Information flow continuity must be
maintained from level to level.
 One bubble at a time should be refined.
Data flow models
 A level 0 DFD, also called a fundamental system
model or a context model, represents the entire
software element as a single bubble with input and
output data indicated by incoming and outgoing
arrows.
 Level 0 DFD refinement into level 1 DFD with all
relevant processes to the system.
 Level 1 DFD each processes can be refined into
level 2 DFD.
 Refinement of DFD continues until each bubble
performs a simple function.
Control flow model
 Application which contains collection of
classes are dependent on event rather
than data, produce control information
rather than reports or displays.
 Such application require the use of
control flow modeling in addition to data
flow modeling.
Guideline for control flow
 List all processes that are performed by the software.
 List all the interrupt conditions.
 List all activities that are performed by operator or
actor.
 List all data conditions.
 Review all the “Control items” as possible for control
flow inputs / outputs.
 Describe the behavior of a system by identifying its
states; identify how each state is reached; define the
transitions between states.
 Focus on possible omission – a very common error in
specifying control
Control Specification (CSPEC)
 CSPEC represent the behavior of the system in two
different ways.
 It contains a state diagram – sequential specification
of behavior.
 It also contain program activation table –
combinatorial specification of behavior.
 By reviewing the state diagram, a software engineer
can determine the behavior of the system and can
discover whether there are “holes” in specified
behavior.
 CSPEC describe the behavior of the system, but it
gives us no information about the inner working of the
processes that activated result.
Process Specification (PSPEC)
 Used to describe all flow model processes
that appear at the final level of refinement.
 It include narrative text, a program design
language (PDL) description of the process
algorithm, mathematical equations, tables,
diagrams or charts.
 By providing a PSPEC to accompany each
bubble in the flow model, the software
engineer creates a “mini-spec” that can
serve as guide for design of the software
component that will implement the process.
Class based modeling
 Identifying Analysis Classes
 Specifying Attributes
 Defining operations
 CRC modeling
Identifying Analysis classes
 Identify classes by examining the problem
statement or by performing a “Grammatical
Parse” on the use-cases or processing
narratives developed for the system.
How do analysis classes manifest?
 External entities (other system, people, devices) that
produce or consume information
 Things (reports, display, signals) that are part of the
information domain for the problem.
 Occurrences or events – occur within the context of
system operations.
Analysis classes (cont.)
 Roles ( manager, engineer, salesperson) played by
people who interact with the system.
 Organizational units (Division, group, team) that are
relevant to an application,
 Places – establish the context of the problem and overall
function of the system.
 Structures (sensors, computers) that define a class of
objects or related classes of objects.
Selecting Criteria - Classes
 Retained Information – Potential class must be
remembered so that system can function.
 Needed Services – Must have set of identifiable
operations that can change the value of its
attributes.
 Multiple Attributes – A class with single
attribute may, in fact, be useful during design,
but probably better represented as an
attributes of another class.
 Common Attributes – These attributes apply to
all instances of the class
Specifying Attributes
 Attributes are the set of data
objects that fully define the class
within the context of the problem.
 To develop attributes for class, a
s/w can study use-case and select
those “things” that reasonably
“Belong” to the class.
Defining operations
 Operations define the behavior of an object.
 Four broad categories
1. Operations that manipulate data in some way.
2. Operations that perform a computation.
3. Operations that inquire about the state of an object
4. Operations that monitor an object for the occurrence
of the controlling event.
 To derive a set of operations, analyst study a
use-case( or narrative) and select those
operations that reasonably belongs.
Class-Responsibility-collaborator
(CRC) modeling
 A CRC model is a collection of standard
index cards that represent classes. Cards
are divided into three sections.
 Top of the cards write class name
 In the body, list the class responsibility on left.
 Collaborator on the right
 Simple means for identifying and organizing
the classes that are relevant to system or
product requirement.
 It make use of actual or virtual index cards.
CRC modeling
Class:
Description:
Responsibility: Collaborator:
Class:
Description:
Responsibility: Collaborator:
Class:
Description:
Responsibility: Collaborator:
Class:FloorPlan
Description:
Responsibility: Collaborator:
incorporates w alls, doors and w indow s
show s position of video cameras
defines floor plan name/type
manages floor plan positioning
scales floor plan for display
scales floor plan for display
Wall
Camera
CRC – Classes Instantiation
 Three types classes:
1. Entity Classes (model or business classes):-
Represent things that are to be stored in a database
and persist throughout the duration of the
application.
2. Boundary class:- used to create interface. It
designed with the responsibility of managing the way
entity objects are represented to users.
3. Controller Class:- manage a “unit of work” from
start to finish.
1. Creation or update of entity objects.
2. Representation of boundary objects as they obtain
information from entity objects.
3. Complex communication between sets of objects.
4. Validation of data.
Responsibility – CRC modeling
 Guideline for allocating responsibility to classes:
1. System intelligence should be distributed across
classes to best address the needs of the problem.
2. Each responsibility should be stated as generally
as possible.
3. Information and the behavior related to it should
reside within the same class.
4. Information about one thing should be localized
with single class, not distributed across multiple
classes.
5. Responsibility should be shared among related
classes, when appropriate.
Collaborations – CRC modeling
 Collaborations represent request from client to
server in fulfillment of a client responsibility.
Ex. One object collaborate with another object if it
needs to send some msg to other object.
 It identifying relationships between objects.
 Collaborations are identified by determining
whether a class can fulfill each responsibility itself.
If it cannot, then it needs to interact with another
class.
Reviewing CRC model
 All participants in the review (of the CRC model)
are given a subset of the CRC model index cards.
 Cards that collaborate should be separated (i.e.,
no reviewer should have two cards that
collaborate).
 All use-case scenarios (and corresponding use-case
diagrams) should be organized into categories.
 The review leader reads the use-case deliberately.
 As the review leader comes to a named object,
she passes a token to the person holding the
corresponding class index card.
Cont.
 When the token is passed, the holder of the class card is
asked to describe the responsibilities noted on the card.
 The group determines whether one (or more) of the
responsibilities satisfies the use-case requirement.
 If the responsibilities and collaborations noted on the index
cards cannot accommodate the use-case, modifications are
made to the cards.
 This may include the definition of new classes (and
corresponding CRC index cards) or the specification of
new or revised responsibilities or collaborations on
existing cards.
Behavioral Modeling
 Behavioral model indicates how software will
respond to external events.
 To create model –
 Evaluate all use cases to understand the sequence of
interaction within the system.
 Identify events
 Create sequence for each use-case
 Build a state diagram for the system.
 Review the behavioral model to verify accuracy or
consistency.
Identifying events with the use-cases
 Use-case represents a sequence of activities that
involves actors and the system.
 An event occurs whenever the system and an actor
exchange information.
 An event is not the information that has been
exchanged, but rather the fact that information has been
exchanged.
 An actor should be identified for each event.
 Information that is exchanged should be noted.
 Any conditions or constraints should be listed.
State Representation
 2 diff. characteristics should be considered.
 Passive State
 Active State
 Passive state is simply the current status of all of an
object’s attributes.
Ex. Player – class
current position and orientation – attributes.
 Active State is current state of the object as it
undergoes a continuing transformation or processing.
Ex. Player – class
active state – moving, injured, trapped, lost etc.
An event must occur to force an object to make a transition
from one active state to another.
State diagram for analysis classes
 UML state diagram that represents
active states for each class and
events that causes changes between
these active state.
 An action occurs concurrently with
the state transition or as a sequence
of it and generally involves one or
more operations of the object.
Sequence diagram
 It indicates how events cause transitions from
object to object .
 Once event have identified by examining a use-
cases, the modeler creates a sequence diagram.
 It representation of how events cause flow from
one objects to another as function of time.
 Its shorthand version of use-case diagram that
represent key classes and the events that cause
behavior to flow from class to class.
 System objects and events will help in creation of
effective design.
Mechanics of Structured
Analysis
 It all about
 Entity relationship diagram (ERD)
 Data flow diagram (DFD)
 State transition diagram (STD)
ERD
 Creating ERD diagram:
 Customers are asked to list the “things” that the application or
business process addresses
 The analyst and customer defined connection exist between
data object and other objects (if any)
 Wherever a connection exists, the analyst and the customer
create one or more object/relationship pairs.
 For each object/relationship pair, cardinality and modality are
explored.
 Steps 2 through 4 are continued iteratively until all
object/relationships have been defined.
 The attributes of each entity are defined.
 An entity relationship diagram is formalized and reviewed.
 Steps 1 through 7 are repeated until data modeling is
complete.
Example
Safe-Home Security System:
 Step 1: Identified things
 homeowner
 control panel
 sensors
 security system
 monitoring service
 Step 2: one or more object/relationship pairs are identified for
each connection.
 Step 3: security system monitors sensor
 security system enables/disables sensor
 security system tests sensor
 security system programs sensor
 Step 4: Cardinality and modality
 The cardinality between security system and sensor is one to many.
 Modality of security system (mandatory) and sensor(mandatory)
 Step 5: repeat 2 to 4 for all objects.
 Step 6: Each object is studied to determine its attributes.
 For example: sensor -- sensor type, internal identification number, zone
location, and alarm level.
Data dictionary
 Data dictionary is an organized listing of all data elements
that are pertinent to the system, with precise, rigorous
definitions so that both user and system analyst will have a
common understanding of inputs, outputs, components of
stores and [even] intermediate calculations.
 Data dictionary is always implemented as part of a CASE
"structured analysis and design tool.“
 Most contain following information :
 Name —the primary name of the data or control item, the
data store or an external entity.
 Alias —other names used for the first entry.
 Where-used/how-used —a listing of the processes that use
the data or control item and how it is used (e.g., input to the
process, output from the process, as a store, as an external
entity.
Data dictionary
 Content description—a notation for
representing content.
 Supplementary information—other
information about data types, preset
values (if known), restrictions or
limitations, and so forth.
Data dictionary
 Once a data object or control item name and its aliases
are entered into the data dictionary, consistency in
naming can be enforced. That is, if an analysis team
member decides to name a newly derived data item xyz,
but xyz is already in the dictionary, the CASE tool
supporting the dictionary posts a warning to indicate
duplicate names.
 “Where-used/how-used” information is recorded
automatically from the flow models. When a dictionary
entry is created, the CASE tool scans DFDs and CFDs to
determine which processes use the data or control
information and how it is used.
Data dictionary
 For large projects, it is often quite difficult to
determine the impact of a change. Many a
software engineer has asked, "Where is this
data object used? What else will have to
change if we modify it? What will the overall
impact of the change be?" Because the data
dictionary can be treated as a database,
The notation used to develop a
content description is noted in
the following table:
Data dictionary example

More Related Content

What's hot

Classes and Objects
Classes and Objects  Classes and Objects
Classes and Objects yndaravind
 
Object oriented and function oriented design
Object oriented and function oriented designObject oriented and function oriented design
Object oriented and function oriented designNaveen Sagayaselvaraj
 
Pressman ch-11-component-level-design
Pressman ch-11-component-level-designPressman ch-11-component-level-design
Pressman ch-11-component-level-designOliver Cheng
 
SRS(software requirement specification)
SRS(software requirement specification)SRS(software requirement specification)
SRS(software requirement specification)Akash Kumar Dhameja
 
class and objects
class and objectsclass and objects
class and objectsPayel Guria
 
Flow oriented modeling
Flow oriented modelingFlow oriented modeling
Flow oriented modelingramyaaswin
 
Object Oriented Programming Lecture Notes
Object Oriented Programming Lecture NotesObject Oriented Programming Lecture Notes
Object Oriented Programming Lecture NotesFellowBuddy.com
 
Adbms 16 object definition language
Adbms 16 object definition languageAdbms 16 object definition language
Adbms 16 object definition languageVaibhav Khanna
 
object oriented methodologies
object oriented methodologiesobject oriented methodologies
object oriented methodologiesAmith Tiwari
 
Sequence diagram
Sequence diagramSequence diagram
Sequence diagramRahul Pola
 
Chapter 1 2 - some size factors
Chapter 1   2 - some size factorsChapter 1   2 - some size factors
Chapter 1 2 - some size factorsNancyBeaulah_R
 
5.state diagrams
5.state diagrams5.state diagrams
5.state diagramsAPU
 
Fundamentals of OOP (Object Oriented Programming)
Fundamentals of OOP (Object Oriented Programming)Fundamentals of OOP (Object Oriented Programming)
Fundamentals of OOP (Object Oriented Programming)MD Sulaiman
 
Design Concept software engineering
Design Concept software engineeringDesign Concept software engineering
Design Concept software engineeringDarshit Metaliya
 
compiler ppt on symbol table
 compiler ppt on symbol table compiler ppt on symbol table
compiler ppt on symbol tablenadarmispapaulraj
 
CHAPTER 6 REQUIREMENTS MODELING: SCENARIO based Model , Class based moddel
CHAPTER 6 REQUIREMENTS MODELING: SCENARIO based Model , Class based moddelCHAPTER 6 REQUIREMENTS MODELING: SCENARIO based Model , Class based moddel
CHAPTER 6 REQUIREMENTS MODELING: SCENARIO based Model , Class based moddelmohamed khalaf alla mohamedain
 
Software Engineering unit 3
Software Engineering unit 3Software Engineering unit 3
Software Engineering unit 3Abhimanyu Mishra
 

What's hot (20)

unit testing and debugging
unit testing and debuggingunit testing and debugging
unit testing and debugging
 
Classes and Objects
Classes and Objects  Classes and Objects
Classes and Objects
 
Object oriented and function oriented design
Object oriented and function oriented designObject oriented and function oriented design
Object oriented and function oriented design
 
Pressman ch-11-component-level-design
Pressman ch-11-component-level-designPressman ch-11-component-level-design
Pressman ch-11-component-level-design
 
Analysis modeling
Analysis modelingAnalysis modeling
Analysis modeling
 
SRS(software requirement specification)
SRS(software requirement specification)SRS(software requirement specification)
SRS(software requirement specification)
 
class and objects
class and objectsclass and objects
class and objects
 
Flow oriented modeling
Flow oriented modelingFlow oriented modeling
Flow oriented modeling
 
Object Oriented Programming Lecture Notes
Object Oriented Programming Lecture NotesObject Oriented Programming Lecture Notes
Object Oriented Programming Lecture Notes
 
Adbms 16 object definition language
Adbms 16 object definition languageAdbms 16 object definition language
Adbms 16 object definition language
 
object oriented methodologies
object oriented methodologiesobject oriented methodologies
object oriented methodologies
 
Sequence diagram
Sequence diagramSequence diagram
Sequence diagram
 
Chapter 1 2 - some size factors
Chapter 1   2 - some size factorsChapter 1   2 - some size factors
Chapter 1 2 - some size factors
 
5.state diagrams
5.state diagrams5.state diagrams
5.state diagrams
 
Fundamentals of OOP (Object Oriented Programming)
Fundamentals of OOP (Object Oriented Programming)Fundamentals of OOP (Object Oriented Programming)
Fundamentals of OOP (Object Oriented Programming)
 
Design Concept software engineering
Design Concept software engineeringDesign Concept software engineering
Design Concept software engineering
 
compiler ppt on symbol table
 compiler ppt on symbol table compiler ppt on symbol table
compiler ppt on symbol table
 
Computer Science-Data Structures :Abstract DataType (ADT)
Computer Science-Data Structures :Abstract DataType (ADT)Computer Science-Data Structures :Abstract DataType (ADT)
Computer Science-Data Structures :Abstract DataType (ADT)
 
CHAPTER 6 REQUIREMENTS MODELING: SCENARIO based Model , Class based moddel
CHAPTER 6 REQUIREMENTS MODELING: SCENARIO based Model , Class based moddelCHAPTER 6 REQUIREMENTS MODELING: SCENARIO based Model , Class based moddel
CHAPTER 6 REQUIREMENTS MODELING: SCENARIO based Model , Class based moddel
 
Software Engineering unit 3
Software Engineering unit 3Software Engineering unit 3
Software Engineering unit 3
 

Similar to Analysis modeling in software engineering

software_engg-chap-03.ppt
software_engg-chap-03.pptsoftware_engg-chap-03.ppt
software_engg-chap-03.ppt064ChetanWani
 
System Modelling.ppt
System Modelling.pptSystem Modelling.ppt
System Modelling.pptAnishNarayan4
 
OOAD unit1 introduction to object orientation
 OOAD unit1 introduction to object orientation OOAD unit1 introduction to object orientation
OOAD unit1 introduction to object orientationDr Chetan Shelke
 
Requirements modeling
Requirements modelingRequirements modeling
Requirements modelingAnanthiP8
 
6.SE_Requirements Modeling.ppt
6.SE_Requirements Modeling.ppt6.SE_Requirements Modeling.ppt
6.SE_Requirements Modeling.pptHaiderAli252366
 
Design concepts and principles
Design concepts and principlesDesign concepts and principles
Design concepts and principlessaurabhshertukde
 
FORMALIZATION & DATA ABSTRACTION DURING USE CASE MODELING IN OBJECT ORIENTED ...
FORMALIZATION & DATA ABSTRACTION DURING USE CASE MODELING IN OBJECT ORIENTED ...FORMALIZATION & DATA ABSTRACTION DURING USE CASE MODELING IN OBJECT ORIENTED ...
FORMALIZATION & DATA ABSTRACTION DURING USE CASE MODELING IN OBJECT ORIENTED ...cscpconf
 
Formalization & data abstraction during use case modeling in object oriented ...
Formalization & data abstraction during use case modeling in object oriented ...Formalization & data abstraction during use case modeling in object oriented ...
Formalization & data abstraction during use case modeling in object oriented ...csandit
 
Software engg. pressman_ch-8
Software engg. pressman_ch-8Software engg. pressman_ch-8
Software engg. pressman_ch-8Dhairya Joshi
 
1-SDLC - Development Models – Waterfall, Rapid Application Development, Agile...
1-SDLC - Development Models – Waterfall, Rapid Application Development, Agile...1-SDLC - Development Models – Waterfall, Rapid Application Development, Agile...
1-SDLC - Development Models – Waterfall, Rapid Application Development, Agile...JOHNLEAK1
 
System analysis and design
System analysis and designSystem analysis and design
System analysis and designRobinsonObura
 

Similar to Analysis modeling in software engineering (20)

software_engg-chap-03.ppt
software_engg-chap-03.pptsoftware_engg-chap-03.ppt
software_engg-chap-03.ppt
 
Ch08
Ch08Ch08
Ch08
 
Ch08
Ch08Ch08
Ch08
 
uml.pptx
uml.pptxuml.pptx
uml.pptx
 
Software engineering srs, dfd
Software engineering srs, dfdSoftware engineering srs, dfd
Software engineering srs, dfd
 
System Modelling.ppt
System Modelling.pptSystem Modelling.ppt
System Modelling.ppt
 
OOAD unit1 introduction to object orientation
 OOAD unit1 introduction to object orientation OOAD unit1 introduction to object orientation
OOAD unit1 introduction to object orientation
 
Requirements modeling
Requirements modelingRequirements modeling
Requirements modeling
 
6.SE_Requirements Modeling.ppt
6.SE_Requirements Modeling.ppt6.SE_Requirements Modeling.ppt
6.SE_Requirements Modeling.ppt
 
Design concepts and principles
Design concepts and principlesDesign concepts and principles
Design concepts and principles
 
Bridge
BridgeBridge
Bridge
 
FORMALIZATION & DATA ABSTRACTION DURING USE CASE MODELING IN OBJECT ORIENTED ...
FORMALIZATION & DATA ABSTRACTION DURING USE CASE MODELING IN OBJECT ORIENTED ...FORMALIZATION & DATA ABSTRACTION DURING USE CASE MODELING IN OBJECT ORIENTED ...
FORMALIZATION & DATA ABSTRACTION DURING USE CASE MODELING IN OBJECT ORIENTED ...
 
Formalization & data abstraction during use case modeling in object oriented ...
Formalization & data abstraction during use case modeling in object oriented ...Formalization & data abstraction during use case modeling in object oriented ...
Formalization & data abstraction during use case modeling in object oriented ...
 
Software engg. pressman_ch-8
Software engg. pressman_ch-8Software engg. pressman_ch-8
Software engg. pressman_ch-8
 
Sdlc
SdlcSdlc
Sdlc
 
Sdlc
SdlcSdlc
Sdlc
 
SE chapters 6-7
SE chapters 6-7SE chapters 6-7
SE chapters 6-7
 
Slides chapters 6-7
Slides chapters 6-7Slides chapters 6-7
Slides chapters 6-7
 
1-SDLC - Development Models – Waterfall, Rapid Application Development, Agile...
1-SDLC - Development Models – Waterfall, Rapid Application Development, Agile...1-SDLC - Development Models – Waterfall, Rapid Application Development, Agile...
1-SDLC - Development Models – Waterfall, Rapid Application Development, Agile...
 
System analysis and design
System analysis and designSystem analysis and design
System analysis and design
 

More from MuhammadTalha436

Software Process in software engineering
Software Process in software engineeringSoftware Process in software engineering
Software Process in software engineeringMuhammadTalha436
 
Software Process Model in software engineering
Software Process Model in software engineeringSoftware Process Model in software engineering
Software Process Model in software engineeringMuhammadTalha436
 
Software engineering interview questions
Software engineering interview questionsSoftware engineering interview questions
Software engineering interview questionsMuhammadTalha436
 
Software Engineering (Short & Long Questions)
Software Engineering (Short & Long Questions)Software Engineering (Short & Long Questions)
Software Engineering (Short & Long Questions)MuhammadTalha436
 
Prototype model (software engineering)
Prototype model (software engineering)  Prototype model (software engineering)
Prototype model (software engineering) MuhammadTalha436
 
Incremental model (software engineering)
Incremental model (software engineering)Incremental model (software engineering)
Incremental model (software engineering)MuhammadTalha436
 
V model (software engineering)
V model (software engineering)V model (software engineering)
V model (software engineering)MuhammadTalha436
 
Waterfall Model (Software Engineering)
Waterfall Model (Software Engineering)  Waterfall Model (Software Engineering)
Waterfall Model (Software Engineering) MuhammadTalha436
 
Software Quality Assurance in software engineering
Software Quality Assurance in software engineeringSoftware Quality Assurance in software engineering
Software Quality Assurance in software engineeringMuhammadTalha436
 
A Risk Analysis and Management in Software Engineering
A Risk Analysis and Management in Software Engineering A Risk Analysis and Management in Software Engineering
A Risk Analysis and Management in Software Engineering MuhammadTalha436
 
Testing strategies in Software Engineering
Testing strategies in Software EngineeringTesting strategies in Software Engineering
Testing strategies in Software EngineeringMuhammadTalha436
 
Project Management Complete Concept
Project Management Complete Concept Project Management Complete Concept
Project Management Complete Concept MuhammadTalha436
 
Introduction of Software Engineering
Introduction of Software EngineeringIntroduction of Software Engineering
Introduction of Software EngineeringMuhammadTalha436
 
Software Engineering Solved Past Paper 2020
Software Engineering Solved Past Paper 2020 Software Engineering Solved Past Paper 2020
Software Engineering Solved Past Paper 2020 MuhammadTalha436
 
Sofware Engineering Important Past Paper 2019
Sofware Engineering Important Past Paper 2019Sofware Engineering Important Past Paper 2019
Sofware Engineering Important Past Paper 2019MuhammadTalha436
 
Software Engineering Past Papers Notes
Software Engineering Past Papers Notes Software Engineering Past Papers Notes
Software Engineering Past Papers Notes MuhammadTalha436
 
Software Engineering Important Short Question for Exams
Software Engineering Important Short Question for ExamsSoftware Engineering Important Short Question for Exams
Software Engineering Important Short Question for ExamsMuhammadTalha436
 
Software Engineering Past Papers (Short Questions)
Software Engineering Past Papers (Short Questions)Software Engineering Past Papers (Short Questions)
Software Engineering Past Papers (Short Questions)MuhammadTalha436
 
Object Oriented Programming Short Notes for Preperation of Exams
Object Oriented Programming Short Notes for Preperation of ExamsObject Oriented Programming Short Notes for Preperation of Exams
Object Oriented Programming Short Notes for Preperation of ExamsMuhammadTalha436
 

More from MuhammadTalha436 (20)

Software Process in software engineering
Software Process in software engineeringSoftware Process in software engineering
Software Process in software engineering
 
Software Process Model in software engineering
Software Process Model in software engineeringSoftware Process Model in software engineering
Software Process Model in software engineering
 
Software engineering interview questions
Software engineering interview questionsSoftware engineering interview questions
Software engineering interview questions
 
Software Engineering (Short & Long Questions)
Software Engineering (Short & Long Questions)Software Engineering (Short & Long Questions)
Software Engineering (Short & Long Questions)
 
Prototype model (software engineering)
Prototype model (software engineering)  Prototype model (software engineering)
Prototype model (software engineering)
 
Incremental model (software engineering)
Incremental model (software engineering)Incremental model (software engineering)
Incremental model (software engineering)
 
V model (software engineering)
V model (software engineering)V model (software engineering)
V model (software engineering)
 
Waterfall Model (Software Engineering)
Waterfall Model (Software Engineering)  Waterfall Model (Software Engineering)
Waterfall Model (Software Engineering)
 
Requirements Engineering
Requirements EngineeringRequirements Engineering
Requirements Engineering
 
Software Quality Assurance in software engineering
Software Quality Assurance in software engineeringSoftware Quality Assurance in software engineering
Software Quality Assurance in software engineering
 
A Risk Analysis and Management in Software Engineering
A Risk Analysis and Management in Software Engineering A Risk Analysis and Management in Software Engineering
A Risk Analysis and Management in Software Engineering
 
Testing strategies in Software Engineering
Testing strategies in Software EngineeringTesting strategies in Software Engineering
Testing strategies in Software Engineering
 
Project Management Complete Concept
Project Management Complete Concept Project Management Complete Concept
Project Management Complete Concept
 
Introduction of Software Engineering
Introduction of Software EngineeringIntroduction of Software Engineering
Introduction of Software Engineering
 
Software Engineering Solved Past Paper 2020
Software Engineering Solved Past Paper 2020 Software Engineering Solved Past Paper 2020
Software Engineering Solved Past Paper 2020
 
Sofware Engineering Important Past Paper 2019
Sofware Engineering Important Past Paper 2019Sofware Engineering Important Past Paper 2019
Sofware Engineering Important Past Paper 2019
 
Software Engineering Past Papers Notes
Software Engineering Past Papers Notes Software Engineering Past Papers Notes
Software Engineering Past Papers Notes
 
Software Engineering Important Short Question for Exams
Software Engineering Important Short Question for ExamsSoftware Engineering Important Short Question for Exams
Software Engineering Important Short Question for Exams
 
Software Engineering Past Papers (Short Questions)
Software Engineering Past Papers (Short Questions)Software Engineering Past Papers (Short Questions)
Software Engineering Past Papers (Short Questions)
 
Object Oriented Programming Short Notes for Preperation of Exams
Object Oriented Programming Short Notes for Preperation of ExamsObject Oriented Programming Short Notes for Preperation of Exams
Object Oriented Programming Short Notes for Preperation of Exams
 

Recently uploaded

APM Welcome, APM North West Network Conference, Synergies Across Sectors
APM Welcome, APM North West Network Conference, Synergies Across SectorsAPM Welcome, APM North West Network Conference, Synergies Across Sectors
APM Welcome, APM North West Network Conference, Synergies Across SectorsAssociation for Project Management
 
mini mental status format.docx
mini    mental       status     format.docxmini    mental       status     format.docx
mini mental status format.docxPoojaSen20
 
Incoming and Outgoing Shipments in 1 STEP Using Odoo 17
Incoming and Outgoing Shipments in 1 STEP Using Odoo 17Incoming and Outgoing Shipments in 1 STEP Using Odoo 17
Incoming and Outgoing Shipments in 1 STEP Using Odoo 17Celine George
 
The basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptxThe basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptxheathfieldcps1
 
Q4-W6-Restating Informational Text Grade 3
Q4-W6-Restating Informational Text Grade 3Q4-W6-Restating Informational Text Grade 3
Q4-W6-Restating Informational Text Grade 3JemimahLaneBuaron
 
Alper Gobel In Media Res Media Component
Alper Gobel In Media Res Media ComponentAlper Gobel In Media Res Media Component
Alper Gobel In Media Res Media ComponentInMediaRes1
 
Mastering the Unannounced Regulatory Inspection
Mastering the Unannounced Regulatory InspectionMastering the Unannounced Regulatory Inspection
Mastering the Unannounced Regulatory InspectionSafetyChain Software
 
Call Girls in Dwarka Mor Delhi Contact Us 9654467111
Call Girls in Dwarka Mor Delhi Contact Us 9654467111Call Girls in Dwarka Mor Delhi Contact Us 9654467111
Call Girls in Dwarka Mor Delhi Contact Us 9654467111Sapana Sha
 
Grant Readiness 101 TechSoup and Remy Consulting
Grant Readiness 101 TechSoup and Remy ConsultingGrant Readiness 101 TechSoup and Remy Consulting
Grant Readiness 101 TechSoup and Remy ConsultingTechSoup
 
Crayon Activity Handout For the Crayon A
Crayon Activity Handout For the Crayon ACrayon Activity Handout For the Crayon A
Crayon Activity Handout For the Crayon AUnboundStockton
 
18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdf
18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdf18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdf
18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdfssuser54595a
 
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...EduSkills OECD
 
Accessible design: Minimum effort, maximum impact
Accessible design: Minimum effort, maximum impactAccessible design: Minimum effort, maximum impact
Accessible design: Minimum effort, maximum impactdawncurless
 
Software Engineering Methodologies (overview)
Software Engineering Methodologies (overview)Software Engineering Methodologies (overview)
Software Engineering Methodologies (overview)eniolaolutunde
 
Employee wellbeing at the workplace.pptx
Employee wellbeing at the workplace.pptxEmployee wellbeing at the workplace.pptx
Employee wellbeing at the workplace.pptxNirmalaLoungPoorunde1
 
Paris 2024 Olympic Geographies - an activity
Paris 2024 Olympic Geographies - an activityParis 2024 Olympic Geographies - an activity
Paris 2024 Olympic Geographies - an activityGeoBlogs
 
CARE OF CHILD IN INCUBATOR..........pptx
CARE OF CHILD IN INCUBATOR..........pptxCARE OF CHILD IN INCUBATOR..........pptx
CARE OF CHILD IN INCUBATOR..........pptxGaneshChakor2
 

Recently uploaded (20)

APM Welcome, APM North West Network Conference, Synergies Across Sectors
APM Welcome, APM North West Network Conference, Synergies Across SectorsAPM Welcome, APM North West Network Conference, Synergies Across Sectors
APM Welcome, APM North West Network Conference, Synergies Across Sectors
 
mini mental status format.docx
mini    mental       status     format.docxmini    mental       status     format.docx
mini mental status format.docx
 
Incoming and Outgoing Shipments in 1 STEP Using Odoo 17
Incoming and Outgoing Shipments in 1 STEP Using Odoo 17Incoming and Outgoing Shipments in 1 STEP Using Odoo 17
Incoming and Outgoing Shipments in 1 STEP Using Odoo 17
 
The basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptxThe basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptx
 
Q4-W6-Restating Informational Text Grade 3
Q4-W6-Restating Informational Text Grade 3Q4-W6-Restating Informational Text Grade 3
Q4-W6-Restating Informational Text Grade 3
 
Alper Gobel In Media Res Media Component
Alper Gobel In Media Res Media ComponentAlper Gobel In Media Res Media Component
Alper Gobel In Media Res Media Component
 
Mastering the Unannounced Regulatory Inspection
Mastering the Unannounced Regulatory InspectionMastering the Unannounced Regulatory Inspection
Mastering the Unannounced Regulatory Inspection
 
Call Girls in Dwarka Mor Delhi Contact Us 9654467111
Call Girls in Dwarka Mor Delhi Contact Us 9654467111Call Girls in Dwarka Mor Delhi Contact Us 9654467111
Call Girls in Dwarka Mor Delhi Contact Us 9654467111
 
Staff of Color (SOC) Retention Efforts DDSD
Staff of Color (SOC) Retention Efforts DDSDStaff of Color (SOC) Retention Efforts DDSD
Staff of Color (SOC) Retention Efforts DDSD
 
Código Creativo y Arte de Software | Unidad 1
Código Creativo y Arte de Software | Unidad 1Código Creativo y Arte de Software | Unidad 1
Código Creativo y Arte de Software | Unidad 1
 
Grant Readiness 101 TechSoup and Remy Consulting
Grant Readiness 101 TechSoup and Remy ConsultingGrant Readiness 101 TechSoup and Remy Consulting
Grant Readiness 101 TechSoup and Remy Consulting
 
TataKelola dan KamSiber Kecerdasan Buatan v022.pdf
TataKelola dan KamSiber Kecerdasan Buatan v022.pdfTataKelola dan KamSiber Kecerdasan Buatan v022.pdf
TataKelola dan KamSiber Kecerdasan Buatan v022.pdf
 
Crayon Activity Handout For the Crayon A
Crayon Activity Handout For the Crayon ACrayon Activity Handout For the Crayon A
Crayon Activity Handout For the Crayon A
 
18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdf
18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdf18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdf
18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdf
 
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
 
Accessible design: Minimum effort, maximum impact
Accessible design: Minimum effort, maximum impactAccessible design: Minimum effort, maximum impact
Accessible design: Minimum effort, maximum impact
 
Software Engineering Methodologies (overview)
Software Engineering Methodologies (overview)Software Engineering Methodologies (overview)
Software Engineering Methodologies (overview)
 
Employee wellbeing at the workplace.pptx
Employee wellbeing at the workplace.pptxEmployee wellbeing at the workplace.pptx
Employee wellbeing at the workplace.pptx
 
Paris 2024 Olympic Geographies - an activity
Paris 2024 Olympic Geographies - an activityParis 2024 Olympic Geographies - an activity
Paris 2024 Olympic Geographies - an activity
 
CARE OF CHILD IN INCUBATOR..........pptx
CARE OF CHILD IN INCUBATOR..........pptxCARE OF CHILD IN INCUBATOR..........pptx
CARE OF CHILD IN INCUBATOR..........pptx
 

Analysis modeling in software engineering

  • 2. Requirements Analysis  Requirements analysis  Specifies software’s operational characteristics  Indicates software's interface with other system elements  Establishes constraints that software must meet  Requirements analysis allows the software engineer (called an analyst or modeler in this role) to:  Elaborate on basic requirements established during earlier requirement engineering tasks  Build models that depict user scenarios, functional activities, problem classes and their relationships, system and class behavior, and the flow of data as it is transformed.  Throughout analysis modeling, the SE’s primary focus is on what not on how.  Analysis model and the requirements specification provide the developer and the customer with means to assess quality once software is built.
  • 3. Analysis Modeling Principles  Analysis methods are related by a set of operational principles: 1. The information domain of a problem must be represented and understood. 2. The functions that are software performs must be defined. 3. The behavior of the software must be represented. 4. The models that depict information, function and behavior must be partitioned in a manner that uncovers detail in a layered fashion. 5. The analysis task should move from essential information toward implementation detail.
  • 4. 1. Information domain encompasses that the data flow into the system, out of the system and data stored. 2. Functions provide direct benefit to end-users and also provide internal support for those features that are user visible. 3. Behavior driven by its interaction with the external environment. E.g. Input provided by end-users, control data provided by an external system, or monitoring data. Analysis Modeling Principles
  • 5. 4. Key strategy of analysis model, divide complex problem into sub-problem until each sub-problem is relatively easy to understood. This concept is called partitioning. 5. The “essence” of the problem is described without any consideration of how a solution will be implemented. E.g. Video game requires that player “instruct” Implementation detail (design model) indicates how the essence will be implemented E.g. Keyboard command might be typed or a joystick used. Analysis Modeling Principles
  • 6. Analysis Model Objectives Three Primary Objectives:  Describe what the customer requires.  Establish a basis for the creation of a software design.  Devise a set of requirements that can be validated once the software is built.  Its bridges the gap between a system-level description that describes overall system functionality and a software design. Guidelines :  Graphics should be used whenever possible.  Differentiate between the logical (essential) and physical (implementation) considerations.  Develop a way to track and evaluate user interfaces.
  • 7. Analysis Model - A Bridge
  • 8. Analysis Rules of Thumb  The model should focus on requirements that are visible within the problem or business domain. The level of abstraction should be relatively high. – Don’t get bogged into the details.  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.  Delay consideration of infrastructure and other non-functional models until design.  Minimize coupling throughout the system. - If level of interconnectedness is high, efforts should be made to reduce it.  Assured that the analysis model provides value to all stakeholders. – business stakeholder should validate requirement, Designers should use the model as a basis for design.  Keep the model as simple as it can be. - No need to use additional diagram and use notations.
  • 9. Elements of Analysis model  There are two approaches 1. Structured Analysis:-  Data objects are modeled in a way that defines their attributes and relationships.  Processes that manipulate data objects in a manner that shows how they transform data as data objects flow through the systems. 2. Object Oriented Analysis :-  Focuses on the definition of classes and the manner in which they collaborate with one another.  UML is predominantly object oriented.
  • 11. Scenario Based diagram  Scenario-based elements  Use-case—How external actors interact with the system (use-case diagrams; detailed templates)  Functional—How software functions are processed in the system (flow charts; activity diagrams)  Activity – can be represented at many diff. level of abstraction.
  • 12. Class diagram for sensor  Class-based elements  The various system objects (obtained from scenarios) including their attributes and functions (class diagram)
  • 13. Behavioral Element – State Diagram  Behavioral elements  How the system behaves in response to different events (state diagram)
  • 14. Flow-oriented elements  Flow-oriented elements  How information is transformed as if flows through the system (data flow diagram)  System accepts input in a variety forms; applies functions to transform it; and produces output in variety forms.
  • 15. Data modeling  Analysis model often begin with data modeling.  Data model consists of three interrelated pieces of information:  The data object,  The attributes that describe the data object, and  The relationships that connect data objects to one another.
  • 16. Data Object  A data object is a representation of almost any composite information that must be understood by software.  composite information - number of different properties or attributes.  A data object can be:-  An external entity (e.g., anything that produces or consumes information),  A thing (e.g., a report or a display),  An occurrence (e.g., a telephone call)  Event (e.g., an alarm),  A role (e.g., salesperson),  An organizational unit (e.g., accounting department),  A place (e.g., a warehouse),  A structure (e.g., a file).
  • 17. For Ex.- Set of attributes can be defined for a person or a car (i.e. Data Object)
  • 18. Data Attributes  Define the properties of a data object.  Attributes name a data object, describe its characteristics, and in some cases, make reference to another object.  In addition, one or more of the attributes must be defined as an identifier( Key value or Unique value). Ex. Data object Car has Id number as identifier.
  • 19. Relationships  Data objects are connected to one another in different ways.  Consider two data objects  Book  Bookstore  A connection is established between book and bookstore because the two objects are related.
  • 20. Relationship  To determine relationship between them, must understand the role of book and bookstore.  Can define a set of object/relationship pairs that define the relevant relationships. For Example:  A bookstore orders books.  A bookstore displays books.  A bookstore stocks books.  A bookstore sells books.  A bookstore returns books.
  • 21. Cardinality and Modality  Additional element of data modeling.  Object X relates to object Y does not provide enough information.  How many occurrences of object X are related to how many occurrences of object Y called cardinality.
  • 22. Cardinality  Representing the number of occurrences objects in a given relationship.  Cardinality is the specification of the number of occurrences of one [object] that can be related to the number of occurrences of another.  Cardinality is usually expressed as simply 'one' or 'many’.  1:1 – One object can relate to only one other object.  1:M – one object can relate to many objects.  M:N – Some no. of occurrences of an object can relate to some other no. of occurrences of another object.
  • 23. Modality  Cardinality does not provide an indication of whether or not a particular data object must participate in the relationship.  Modality of a relationship is 0 if there is no explicit need for the relationship to occur or the relationship is optional.  The modality is 1 if an occurrences of the relationship is mandatory.
  • 24. Function Modeling & Information Flow  Information is transformed as it flows through a computer-based system. The system accepts input in a variety of forms; applies hardware, software, and human elements to transform it; and produces output in a variety of forms  Structured analysis began as an information flow modeling technique.  A rectangle is used to represent an external entity (software, hardware, a person)  A circle (sometimes called a bubble) represents a process or transform that is applied to data (or control) and changes it in some way.
  • 25.  An arrow represents one or more data items (data objects) and it should be labeled.  The double line represents a data store—stored information that is used by the software.  First data flow model (sometimes called a level 0 DFD or context diagram) represents the entire system.  It provides incremental detail with each subsequent level. Function Modeling & Information Flow
  • 27. Creating a Data Flow Model  It enables software engineer to develop models of the information domain and functional domain at the same time.  Data flow diagram may be used to represent a system or software at any level of abstraction  As DFD is refined into greater levels of detail, the analyst performs an implicit functional decomposition of the system.  As DFD refinement results in corresponding refinement of data as it moves through the processes that represent the application
  • 28. DFD Guidelines  Depict the system as single bubble in level 0.  Primary input and output should be carefully noted  Refine by isolating candidate processes and their associated, data objects and data stores  All arrows and bubbles should be labeled with meaningful names.  Information flow continuity must be maintained from level to level.  One bubble at a time should be refined.
  • 29. Data flow models  A level 0 DFD, also called a fundamental system model or a context model, represents the entire software element as a single bubble with input and output data indicated by incoming and outgoing arrows.  Level 0 DFD refinement into level 1 DFD with all relevant processes to the system.  Level 1 DFD each processes can be refined into level 2 DFD.  Refinement of DFD continues until each bubble performs a simple function.
  • 30. Control flow model  Application which contains collection of classes are dependent on event rather than data, produce control information rather than reports or displays.  Such application require the use of control flow modeling in addition to data flow modeling.
  • 31. Guideline for control flow  List all processes that are performed by the software.  List all the interrupt conditions.  List all activities that are performed by operator or actor.  List all data conditions.  Review all the “Control items” as possible for control flow inputs / outputs.  Describe the behavior of a system by identifying its states; identify how each state is reached; define the transitions between states.  Focus on possible omission – a very common error in specifying control
  • 32. Control Specification (CSPEC)  CSPEC represent the behavior of the system in two different ways.  It contains a state diagram – sequential specification of behavior.  It also contain program activation table – combinatorial specification of behavior.  By reviewing the state diagram, a software engineer can determine the behavior of the system and can discover whether there are “holes” in specified behavior.  CSPEC describe the behavior of the system, but it gives us no information about the inner working of the processes that activated result.
  • 33.
  • 34. Process Specification (PSPEC)  Used to describe all flow model processes that appear at the final level of refinement.  It include narrative text, a program design language (PDL) description of the process algorithm, mathematical equations, tables, diagrams or charts.  By providing a PSPEC to accompany each bubble in the flow model, the software engineer creates a “mini-spec” that can serve as guide for design of the software component that will implement the process.
  • 35. Class based modeling  Identifying Analysis Classes  Specifying Attributes  Defining operations  CRC modeling
  • 36. Identifying Analysis classes  Identify classes by examining the problem statement or by performing a “Grammatical Parse” on the use-cases or processing narratives developed for the system. How do analysis classes manifest?  External entities (other system, people, devices) that produce or consume information  Things (reports, display, signals) that are part of the information domain for the problem.  Occurrences or events – occur within the context of system operations.
  • 37. Analysis classes (cont.)  Roles ( manager, engineer, salesperson) played by people who interact with the system.  Organizational units (Division, group, team) that are relevant to an application,  Places – establish the context of the problem and overall function of the system.  Structures (sensors, computers) that define a class of objects or related classes of objects.
  • 38. Selecting Criteria - Classes  Retained Information – Potential class must be remembered so that system can function.  Needed Services – Must have set of identifiable operations that can change the value of its attributes.  Multiple Attributes – A class with single attribute may, in fact, be useful during design, but probably better represented as an attributes of another class.  Common Attributes – These attributes apply to all instances of the class
  • 39. Specifying Attributes  Attributes are the set of data objects that fully define the class within the context of the problem.  To develop attributes for class, a s/w can study use-case and select those “things” that reasonably “Belong” to the class.
  • 40. Defining operations  Operations define the behavior of an object.  Four broad categories 1. Operations that manipulate data in some way. 2. Operations that perform a computation. 3. Operations that inquire about the state of an object 4. Operations that monitor an object for the occurrence of the controlling event.  To derive a set of operations, analyst study a use-case( or narrative) and select those operations that reasonably belongs.
  • 41. Class-Responsibility-collaborator (CRC) modeling  A CRC model is a collection of standard index cards that represent classes. Cards are divided into three sections.  Top of the cards write class name  In the body, list the class responsibility on left.  Collaborator on the right  Simple means for identifying and organizing the classes that are relevant to system or product requirement.  It make use of actual or virtual index cards.
  • 42. CRC modeling Class: Description: Responsibility: Collaborator: Class: Description: Responsibility: Collaborator: Class: Description: Responsibility: Collaborator: Class:FloorPlan Description: Responsibility: Collaborator: incorporates w alls, doors and w indow s show s position of video cameras defines floor plan name/type manages floor plan positioning scales floor plan for display scales floor plan for display Wall Camera
  • 43. CRC – Classes Instantiation  Three types classes: 1. Entity Classes (model or business classes):- Represent things that are to be stored in a database and persist throughout the duration of the application. 2. Boundary class:- used to create interface. It designed with the responsibility of managing the way entity objects are represented to users. 3. Controller Class:- manage a “unit of work” from start to finish. 1. Creation or update of entity objects. 2. Representation of boundary objects as they obtain information from entity objects. 3. Complex communication between sets of objects. 4. Validation of data.
  • 44. Responsibility – CRC modeling  Guideline for allocating responsibility to classes: 1. System intelligence should be distributed across classes to best address the needs of the problem. 2. Each responsibility should be stated as generally as possible. 3. Information and the behavior related to it should reside within the same class. 4. Information about one thing should be localized with single class, not distributed across multiple classes. 5. Responsibility should be shared among related classes, when appropriate.
  • 45. Collaborations – CRC modeling  Collaborations represent request from client to server in fulfillment of a client responsibility. Ex. One object collaborate with another object if it needs to send some msg to other object.  It identifying relationships between objects.  Collaborations are identified by determining whether a class can fulfill each responsibility itself. If it cannot, then it needs to interact with another class.
  • 46. Reviewing CRC model  All participants in the review (of the CRC model) are given a subset of the CRC model index cards.  Cards that collaborate should be separated (i.e., no reviewer should have two cards that collaborate).  All use-case scenarios (and corresponding use-case diagrams) should be organized into categories.  The review leader reads the use-case deliberately.  As the review leader comes to a named object, she passes a token to the person holding the corresponding class index card.
  • 47. Cont.  When the token is passed, the holder of the class card is asked to describe the responsibilities noted on the card.  The group determines whether one (or more) of the responsibilities satisfies the use-case requirement.  If the responsibilities and collaborations noted on the index cards cannot accommodate the use-case, modifications are made to the cards.  This may include the definition of new classes (and corresponding CRC index cards) or the specification of new or revised responsibilities or collaborations on existing cards.
  • 48. Behavioral Modeling  Behavioral model indicates how software will respond to external events.  To create model –  Evaluate all use cases to understand the sequence of interaction within the system.  Identify events  Create sequence for each use-case  Build a state diagram for the system.  Review the behavioral model to verify accuracy or consistency.
  • 49. Identifying events with the use-cases  Use-case represents a sequence of activities that involves actors and the system.  An event occurs whenever the system and an actor exchange information.  An event is not the information that has been exchanged, but rather the fact that information has been exchanged.  An actor should be identified for each event.  Information that is exchanged should be noted.  Any conditions or constraints should be listed.
  • 50. State Representation  2 diff. characteristics should be considered.  Passive State  Active State  Passive state is simply the current status of all of an object’s attributes. Ex. Player – class current position and orientation – attributes.  Active State is current state of the object as it undergoes a continuing transformation or processing. Ex. Player – class active state – moving, injured, trapped, lost etc. An event must occur to force an object to make a transition from one active state to another.
  • 51. State diagram for analysis classes  UML state diagram that represents active states for each class and events that causes changes between these active state.
  • 52.
  • 53.  An action occurs concurrently with the state transition or as a sequence of it and generally involves one or more operations of the object.
  • 54. Sequence diagram  It indicates how events cause transitions from object to object .  Once event have identified by examining a use- cases, the modeler creates a sequence diagram.  It representation of how events cause flow from one objects to another as function of time.  Its shorthand version of use-case diagram that represent key classes and the events that cause behavior to flow from class to class.  System objects and events will help in creation of effective design.
  • 55. Mechanics of Structured Analysis  It all about  Entity relationship diagram (ERD)  Data flow diagram (DFD)  State transition diagram (STD)
  • 56. ERD  Creating ERD diagram:  Customers are asked to list the “things” that the application or business process addresses  The analyst and customer defined connection exist between data object and other objects (if any)  Wherever a connection exists, the analyst and the customer create one or more object/relationship pairs.  For each object/relationship pair, cardinality and modality are explored.  Steps 2 through 4 are continued iteratively until all object/relationships have been defined.  The attributes of each entity are defined.  An entity relationship diagram is formalized and reviewed.  Steps 1 through 7 are repeated until data modeling is complete.
  • 58. Safe-Home Security System:  Step 1: Identified things  homeowner  control panel  sensors  security system  monitoring service  Step 2: one or more object/relationship pairs are identified for each connection.  Step 3: security system monitors sensor  security system enables/disables sensor  security system tests sensor  security system programs sensor  Step 4: Cardinality and modality  The cardinality between security system and sensor is one to many.  Modality of security system (mandatory) and sensor(mandatory)  Step 5: repeat 2 to 4 for all objects.  Step 6: Each object is studied to determine its attributes.  For example: sensor -- sensor type, internal identification number, zone location, and alarm level.
  • 59. Data dictionary  Data dictionary is an organized listing of all data elements that are pertinent to the system, with precise, rigorous definitions so that both user and system analyst will have a common understanding of inputs, outputs, components of stores and [even] intermediate calculations.  Data dictionary is always implemented as part of a CASE "structured analysis and design tool.“  Most contain following information :  Name —the primary name of the data or control item, the data store or an external entity.  Alias —other names used for the first entry.  Where-used/how-used —a listing of the processes that use the data or control item and how it is used (e.g., input to the process, output from the process, as a store, as an external entity.
  • 60. Data dictionary  Content description—a notation for representing content.  Supplementary information—other information about data types, preset values (if known), restrictions or limitations, and so forth.
  • 61. Data dictionary  Once a data object or control item name and its aliases are entered into the data dictionary, consistency in naming can be enforced. That is, if an analysis team member decides to name a newly derived data item xyz, but xyz is already in the dictionary, the CASE tool supporting the dictionary posts a warning to indicate duplicate names.  “Where-used/how-used” information is recorded automatically from the flow models. When a dictionary entry is created, the CASE tool scans DFDs and CFDs to determine which processes use the data or control information and how it is used.
  • 62. Data dictionary  For large projects, it is often quite difficult to determine the impact of a change. Many a software engineer has asked, "Where is this data object used? What else will have to change if we modify it? What will the overall impact of the change be?" Because the data dictionary can be treated as a database,
  • 63. The notation used to develop a content description is noted in the following table: