SlideShare a Scribd company logo
Chapter 8
Analysis Engineering
Software Engineering: A Practitioner’s Approach
by Roger S. Pressman
Analysis Model

Elements of the analysis model
Scenario-Based Modeling
•Writing Use-Cases
•Developing Use-Case Diagram
•Developing an Activity Diagram
•Developing Swim Lane Diagram
Use-case Diagram

Use-case diagram for surveillance function
Alternative Actions
 Can the actor take some other action at this
point?
 Is it possible that the actor will encounter
some error condition at this point?
 Is it possible that the actor will encounter
behavior invoked by some event outside the
actor’s control?
Activity diagram for
Access camera
surveillance—display
camera views function
Swimlane
diagram
Flow-Oriented Modeling
•Data flow oriented modeling is one of the most widely
used analysis notations today.
•DFD and other diagrams are not a formal part of
UML, but they can be used to complement UML
diagrams and provide additional insight into system
requirements and flow.
•DFD takes an input-process-output view of a system
that is, data objects flow into the software, are
transformed by processing elements, and resultant data
objects flow out of the software.
Guidelines
 Data objects are represented by labeled arrows and
transformations are represented by circles (also
called bubbles). Data stores are represented by
double lines or rectangle.
 DFD is represented in a hierarchical fashion, that is
first data flow model(level 0 DFD or Context diagram)
represents the system as a whole.
 Refine by isolating candidate processes and their
associated data objects and data stores.
 Carefully note primary input and output.
 Label all elements with meaningful names.
 Information flow continuity must be maintained from
level to level.
 One bubble at a time should be refined.
Data Flow Diagram

Context-level DFD for SafeHome security function
Grammatical Parse or Processing Narratives
 The SafeHome security function enables the homeowner to configure the
security system when it is installed, monitors all sensors connected to the
security system, and interacts with the homeowner through the Internet, a
PC, or a control panel.
 During installation, the SafeHome PC is used to program and configure the
system. Each sensor is assigned a number and type, a master password is
programmed for arming and disarming the system, and telephone number(s)
are input for dialing when a sensor event occurs.
 When a sensor event is recognized, the software invokes an audible alarm
attached to the system. After a delay time that is specified by the homeowner
during system configuration activities, the software dials a telephone number
of a monitoring service, provides information about the location, reporting
the nature of the event that has been detected. The telephone number will be
redialed every 20 seconds until a telephone connection is obtained.
 The homeowner receives security information via a control panel, the PC, or
a browser, collectively called an interface. The interface displays prompting
messages and system status information on the control panel, the PC, or the
browser window. Homeowner interaction takes the following form…
Grammatical parse
 Referring to the processing narratives
text, verbs are the processes, that is
they may be represented as bubbles in
a subsequent DFD.
Nouns are either external entities
(boxes), data or control objects
(arrows), or data stores (double lines)
Level 2 DFD that refines the monitor sensors process
Control Flow Model
 A large class of applications are driven by
events rather than data, produce control
information rather than reports or displays
and process information with heavy concern
for time and performance.
 Such applications require the use of control
flow modeling in addition to data flow
modeling.
 Even or control item is implemented as a
boolean value (true or false, on or off, 1 or 0)
or a discrete list of conditions (empty,
jammed, full)
Guidelines to create Control flow model
 List all sensors that are “read” by the s/w.
 List all interrupt conditions.
 List all “switches” that are actuated by an
operator.
 List all data conditions.
 Recalling the noun/verb parse that was
applied to the processing narrative, review all
“control items” as possible for control flow
inputs / outputs.
 Identify how each state is reached, and define
the transition between states.
 Focus on possible omissions.
Control Specification

 Control specification (CSPEC) represents the
behavior of the system (at the level from
which it has been referenced) in two different
ways.
 The CSPEC contains a state diagram and
can also contain a program activation table.
 Figure shows a state diagram for the level 1
control flow model for Safe home. It shows
how the system responds to events as it
traverses the four states defined at this level.
 CSPEC describes the behavior of the system,
but it gives us no information about the inner
working of the processes.
Control Flow Diagram

State diagram for SafeHome security function
Process Specification
 Process specification is used to describe all
flow model processes that appear at the final
level of refinement.
 Content of process specification can include
narrative text, a program design language
(PDL) description of the process algorithm,
mathematical equations, tables, diagrams, or
charts.
Process Specification (PSPEC eg)
 Process password (at control panel).
 Process password receives a four-digit password
from the interact with user function. The password is
first compared to the master password stored within
the system. If the master password matches, [valid id
message = true] is passed to the message and status
display function. If the password does not match the
four digits are compared to the table of secondary
passwords(may assigned to guests etc). If the
password matches an entry within the table, [valid id
message = true] is passed to the message and status
display function. If there is no match, [valid id
message = false] is passed to the message and
status display function.
Class-Based Modeling
Identifying Analysis Classes
 External entities that produce or consume
information
 Things that are part of the information domain
 Occurrences or events
 Roles played by people who interact with the
system
 Organizational units
 Places that establish context
 Structures that define a class of objects
Class Selection Criteria
1.
2.
3.
4.
5.
6.

Retained information
Needed services
Multiple attributes
Common attributes
Common operations
Essential requirements
Class Diagram

Class diagram for the system class
Class Diagram

Class diagram for FloorPlan
Class-Responsibility
Collaborator (CRC)
 CRC provides a simple means for identifying and
organizing the classes that are relevant to system or
product requirements.
 CRC model is collection of standard index cards that
represents classes. Cards are divided into 3 sections.
(i) top of card write the name of class
(ii) class responsibilities on the left
(iii) collaborators on the right
 Here responsibilities are the attributes and operations
that are relevant to the class.
 Collaborators are those classes that are required to
provide a class with the information needed to
complete a responsibility.
Class Responsibility
Collaborator(CRC) M
odeling

A CRC model index card for FloorPlan class
B
asic guidelines for identifying Classes
and Objects
 Classes can be extended by considering the following
categories:
(a) Entity classes: also called model or business
classes, are extracted directly from the statement of
the problem(eg sensor). These classes typically
represent things that are to be stored in a database.
(b) Boundary classes: are used to create the interface
that the user sees and interacts with the software.
(c) Controller classes: These classes manage (1) the
creation or update of entity objects (2) instantiation of
boundary objects (3) complex communication
between sets of objects and (4) validation of data
communicated between objects or between the user
and the application.
Guidelines for identifying Class
Responsibilities
 System intelligence should be distributed across
classes to best address the needs of the problem.
 Each responsibility should be stated as generally as
possible.
 Information and the behavior related to it should
reside within the same class.
 Information about one thing should be localized with
a single class, not distributed across multiple classes.
 Responsibilities should be shared among related
classes, when appropriate.
Class Collaborations
 Relationships between classes:
 is-part-of — used when classes are part of an
aggregate class.
 has-knowledge-of — used when one class must
acquire information from another class.
 depends-on — used in all other cases.
Class Diagrams

Top: Multiplicity
Bottom: Dependencies
Behavioral Modeling
Identifying Events
 A use-case is examined for points of information
exchange.
 The homeowner uses the keypad to key in a four-digit
password. The password is compared with the valid
password stored in the system. If the password in
incorrect, the control panel will beep once and reset itself
for additional input. If the password is correct, the control
panel awaits further action.
State Diagram

State diagram for the ControlPanel class
Sequence Diagram

Sequence diagram (partial) for the SafeHome security function

More Related Content

What's hot

Software testing ppt
Software testing pptSoftware testing ppt
Software testing ppt
Heritage Institute Of Tech,India
 
Address in the target code in Compiler Construction
Address in the target code in Compiler ConstructionAddress in the target code in Compiler Construction
Address in the target code in Compiler Construction
Muhammad Haroon
 
Domain class model
Domain class modelDomain class model
Domain class model
shekharsj
 
Requirement Analysis
Requirement AnalysisRequirement Analysis
Requirement Analysis
SADEED AMEEN
 
Behavioural modelling
Behavioural modellingBehavioural modelling
Behavioural modelling
Benazir Fathima
 
Mini Project PPT
Mini Project PPTMini Project PPT
Mini Project PPT
Faiz Ahmad Khan
 
Requirement specification (SRS)
Requirement specification (SRS)Requirement specification (SRS)
Requirement specification (SRS)
kunj desai
 
Adbms 16 object definition language
Adbms 16 object definition languageAdbms 16 object definition language
Adbms 16 object definition language
Vaibhav Khanna
 
software process improvement
software process improvementsoftware process improvement
software process improvement
Mohammad Xaviar
 
golden rules of user interface design
golden rules of user interface designgolden rules of user interface design
golden rules of user interface design
gadige harshini
 
Object Modeling Techniques
Object Modeling TechniquesObject Modeling Techniques
Object Modeling Techniques
Shilpa Wadhwani
 
anatomy of a jsp page & jsp syntax.pptx
anatomy of a jsp page & jsp syntax.pptxanatomy of a jsp page & jsp syntax.pptx
anatomy of a jsp page & jsp syntax.pptx
Sameenafathima4
 
Achieving quality contraints
Achieving quality contraintsAchieving quality contraints
Achieving quality contraints
K Senthil Kumar
 
Software engineering study materials
Software engineering study materialsSoftware engineering study materials
Software engineering study materials
smruti sarangi
 
Algorithmic Software Cost Modeling
Algorithmic Software Cost ModelingAlgorithmic Software Cost Modeling
Algorithmic Software Cost Modeling
Kasun Ranga Wijeweera
 
Minor Project Synopsis on Data Structure Visualizer
Minor Project Synopsis on Data Structure VisualizerMinor Project Synopsis on Data Structure Visualizer
Minor Project Synopsis on Data Structure Visualizer
RonitShrivastava057
 
Object oriented testing
Object oriented testingObject oriented testing
Object oriented testing
Haris Jamil
 
Developing a Map Reduce Application
Developing a Map Reduce ApplicationDeveloping a Map Reduce Application
Developing a Map Reduce Application
Dr. C.V. Suresh Babu
 
Object Modelling Technique " ooad "
Object Modelling Technique  " ooad "Object Modelling Technique  " ooad "
Object Modelling Technique " ooad "
AchrafJbr
 

What's hot (20)

Software testing ppt
Software testing pptSoftware testing ppt
Software testing ppt
 
Address in the target code in Compiler Construction
Address in the target code in Compiler ConstructionAddress in the target code in Compiler Construction
Address in the target code in Compiler Construction
 
Domain class model
Domain class modelDomain class model
Domain class model
 
Requirement Analysis
Requirement AnalysisRequirement Analysis
Requirement Analysis
 
Behavioural modelling
Behavioural modellingBehavioural modelling
Behavioural modelling
 
Mini Project PPT
Mini Project PPTMini Project PPT
Mini Project PPT
 
Requirement specification (SRS)
Requirement specification (SRS)Requirement specification (SRS)
Requirement specification (SRS)
 
Chapter 13
Chapter 13Chapter 13
Chapter 13
 
Adbms 16 object definition language
Adbms 16 object definition languageAdbms 16 object definition language
Adbms 16 object definition language
 
software process improvement
software process improvementsoftware process improvement
software process improvement
 
golden rules of user interface design
golden rules of user interface designgolden rules of user interface design
golden rules of user interface design
 
Object Modeling Techniques
Object Modeling TechniquesObject Modeling Techniques
Object Modeling Techniques
 
anatomy of a jsp page & jsp syntax.pptx
anatomy of a jsp page & jsp syntax.pptxanatomy of a jsp page & jsp syntax.pptx
anatomy of a jsp page & jsp syntax.pptx
 
Achieving quality contraints
Achieving quality contraintsAchieving quality contraints
Achieving quality contraints
 
Software engineering study materials
Software engineering study materialsSoftware engineering study materials
Software engineering study materials
 
Algorithmic Software Cost Modeling
Algorithmic Software Cost ModelingAlgorithmic Software Cost Modeling
Algorithmic Software Cost Modeling
 
Minor Project Synopsis on Data Structure Visualizer
Minor Project Synopsis on Data Structure VisualizerMinor Project Synopsis on Data Structure Visualizer
Minor Project Synopsis on Data Structure Visualizer
 
Object oriented testing
Object oriented testingObject oriented testing
Object oriented testing
 
Developing a Map Reduce Application
Developing a Map Reduce ApplicationDeveloping a Map Reduce Application
Developing a Map Reduce Application
 
Object Modelling Technique " ooad "
Object Modelling Technique  " ooad "Object Modelling Technique  " ooad "
Object Modelling Technique " ooad "
 

Viewers also liked

Software engg. pressman_ch-12
Software engg. pressman_ch-12Software engg. pressman_ch-12
Software engg. pressman_ch-12Dhairya Joshi
 
Взлом вормикс через чарлез
Взлом вормикс через чарлезВзлом вормикс через чарлез
Взлом вормикс через чарлез
interdumpplur1977
 
Software engg. pressman_ch-21
Software engg. pressman_ch-21Software engg. pressman_ch-21
Software engg. pressman_ch-21Dhairya Joshi
 
Software engg. pressman_ch-7-complete
Software engg. pressman_ch-7-completeSoftware engg. pressman_ch-7-complete
Software engg. pressman_ch-7-completeDhairya Joshi
 
Software engg. pressman_ch-10
Software engg. pressman_ch-10Software engg. pressman_ch-10
Software engg. pressman_ch-10Dhairya Joshi
 
Software engg. pressman_ch-6 & 7
Software engg. pressman_ch-6 & 7Software engg. pressman_ch-6 & 7
Software engg. pressman_ch-6 & 7Dhairya Joshi
 
Alpha strauss - The FoodTech Community
Alpha strauss - The FoodTech CommunityAlpha strauss - The FoodTech Community
Alpha strauss - The FoodTech CommunityClutch animation house
 
Software engg. pressman_ch-9
Software engg. pressman_ch-9Software engg. pressman_ch-9
Software engg. pressman_ch-9Dhairya Joshi
 
Big Data analytics with Nginx, Logstash, Redis, Google Bigquery and Neo4j, ja...
Big Data analytics with Nginx, Logstash, Redis, Google Bigquery and Neo4j, ja...Big Data analytics with Nginx, Logstash, Redis, Google Bigquery and Neo4j, ja...
Big Data analytics with Nginx, Logstash, Redis, Google Bigquery and Neo4j, ja...
javier ramirez
 
Ethics of Sweatshops: Managing Global Labour Standards in the Sporting Goods ...
Ethics of Sweatshops: Managing Global Labour Standards in the Sporting Goods ...Ethics of Sweatshops: Managing Global Labour Standards in the Sporting Goods ...
Ethics of Sweatshops: Managing Global Labour Standards in the Sporting Goods ...
Jennifer Kesik
 

Viewers also liked (17)

Software engg. pressman_ch-12
Software engg. pressman_ch-12Software engg. pressman_ch-12
Software engg. pressman_ch-12
 
Взлом вормикс через чарлез
Взлом вормикс через чарлезВзлом вормикс через чарлез
Взлом вормикс через чарлез
 
Software engg. pressman_ch-21
Software engg. pressman_ch-21Software engg. pressman_ch-21
Software engg. pressman_ch-21
 
Software engg. pressman_ch-7-complete
Software engg. pressman_ch-7-completeSoftware engg. pressman_ch-7-complete
Software engg. pressman_ch-7-complete
 
Software engg. pressman_ch-10
Software engg. pressman_ch-10Software engg. pressman_ch-10
Software engg. pressman_ch-10
 
Journey Certificate
Journey CertificateJourney Certificate
Journey Certificate
 
Sakinah.AlAhmed_Resume
Sakinah.AlAhmed_ResumeSakinah.AlAhmed_Resume
Sakinah.AlAhmed_Resume
 
1
11
1
 
2
22
2
 
Software engg. pressman_ch-6 & 7
Software engg. pressman_ch-6 & 7Software engg. pressman_ch-6 & 7
Software engg. pressman_ch-6 & 7
 
Alpha strauss - The FoodTech Community
Alpha strauss - The FoodTech CommunityAlpha strauss - The FoodTech Community
Alpha strauss - The FoodTech Community
 
Coursera fin4devmooc 2015 - Copy
Coursera fin4devmooc 2015 - CopyCoursera fin4devmooc 2015 - Copy
Coursera fin4devmooc 2015 - Copy
 
Software engg. pressman_ch-9
Software engg. pressman_ch-9Software engg. pressman_ch-9
Software engg. pressman_ch-9
 
2.GHLR.GuatemalaAssessment.SlideEdition1
2.GHLR.GuatemalaAssessment.SlideEdition12.GHLR.GuatemalaAssessment.SlideEdition1
2.GHLR.GuatemalaAssessment.SlideEdition1
 
Pengenalan huruf
Pengenalan hurufPengenalan huruf
Pengenalan huruf
 
Big Data analytics with Nginx, Logstash, Redis, Google Bigquery and Neo4j, ja...
Big Data analytics with Nginx, Logstash, Redis, Google Bigquery and Neo4j, ja...Big Data analytics with Nginx, Logstash, Redis, Google Bigquery and Neo4j, ja...
Big Data analytics with Nginx, Logstash, Redis, Google Bigquery and Neo4j, ja...
 
Ethics of Sweatshops: Managing Global Labour Standards in the Sporting Goods ...
Ethics of Sweatshops: Managing Global Labour Standards in the Sporting Goods ...Ethics of Sweatshops: Managing Global Labour Standards in the Sporting Goods ...
Ethics of Sweatshops: Managing Global Labour Standards in the Sporting Goods ...
 

Similar to Software engg. pressman_ch-8

System Modelling.ppt
System Modelling.pptSystem Modelling.ppt
System Modelling.ppt
AnishNarayan4
 
Online eaxmination
Online eaxminationOnline eaxmination
Online eaxmination
Aditi_17
 
Slides chapter 8
Slides chapter 8Slides chapter 8
Slides chapter 8
Priyanka Shetty
 
Software engineering rogers pressman chapter 7
Software engineering rogers pressman chapter 7Software engineering rogers pressman chapter 7
Software engineering rogers pressman chapter 7
mohammad hossein Jalili
 
Bridge
BridgeBridge
Analysis modeling in software engineering
Analysis modeling in software engineeringAnalysis modeling in software engineering
Analysis modeling in software engineering
MuhammadTalha436
 
Sdlc
SdlcSdlc
Sdlc
SdlcSdlc
Analysis modeling
Analysis modelingAnalysis modeling
Analysis modeling
Inocentshuja Ahmad
 
Requirements modeling
Requirements modelingRequirements modeling
Requirements modeling
AnanthiP8
 
uml.pptx
uml.pptxuml.pptx
uml.pptx
amanuel236786
 
Free ebooks download ! Edhole
Free ebooks download ! EdholeFree ebooks download ! Edhole
Free ebooks download ! Edhole
Edhole.com
 
Free ebooks download ! Edhole
Free ebooks download ! EdholeFree ebooks download ! Edhole
Free ebooks download ! Edhole
Edhole.com
 
CHAPTER FOUR buugii 2023.docx
CHAPTER FOUR buugii 2023.docxCHAPTER FOUR buugii 2023.docx
CHAPTER FOUR buugii 2023.docx
RUKIAHASSAN4
 
PHASE II.pptx
PHASE II.pptxPHASE II.pptx
PHASE II.pptx
MotiDiro1
 
Lecture 11 understanding requirements (3)
Lecture 11   understanding requirements (3)Lecture 11   understanding requirements (3)
Lecture 11 understanding requirements (3)
IIUI
 

Similar to Software engg. pressman_ch-8 (20)

System Modelling.ppt
System Modelling.pptSystem Modelling.ppt
System Modelling.ppt
 
Online eaxmination
Online eaxminationOnline eaxmination
Online eaxmination
 
Slides chapter 8
Slides chapter 8Slides chapter 8
Slides chapter 8
 
Software engineering rogers pressman chapter 7
Software engineering rogers pressman chapter 7Software engineering rogers pressman chapter 7
Software engineering rogers pressman chapter 7
 
Bridge
BridgeBridge
Bridge
 
Ch08
Ch08Ch08
Ch08
 
Ch08
Ch08Ch08
Ch08
 
Analysis modeling in software engineering
Analysis modeling in software engineeringAnalysis modeling in software engineering
Analysis modeling in software engineering
 
Sdlc
SdlcSdlc
Sdlc
 
Sdlc
SdlcSdlc
Sdlc
 
Analysis modeling
Analysis modelingAnalysis modeling
Analysis modeling
 
Requirements modeling
Requirements modelingRequirements modeling
Requirements modeling
 
uml.pptx
uml.pptxuml.pptx
uml.pptx
 
Final
FinalFinal
Final
 
Free ebooks download ! Edhole
Free ebooks download ! EdholeFree ebooks download ! Edhole
Free ebooks download ! Edhole
 
Free ebooks download ! Edhole
Free ebooks download ! EdholeFree ebooks download ! Edhole
Free ebooks download ! Edhole
 
CHAPTER FOUR buugii 2023.docx
CHAPTER FOUR buugii 2023.docxCHAPTER FOUR buugii 2023.docx
CHAPTER FOUR buugii 2023.docx
 
PHASE II.pptx
PHASE II.pptxPHASE II.pptx
PHASE II.pptx
 
Lecture 11 understanding requirements (3)
Lecture 11   understanding requirements (3)Lecture 11   understanding requirements (3)
Lecture 11 understanding requirements (3)
 
Ecbs2000
Ecbs2000Ecbs2000
Ecbs2000
 

Recently uploaded

Generative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to ProductionGenerative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to Production
Aggregage
 
GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
Guy Korland
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
Laura Byrne
 
Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?
Nexer Digital
 
When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...
Elena Simperl
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
ControlCase
 
Free Complete Python - A step towards Data Science
Free Complete Python - A step towards Data ScienceFree Complete Python - A step towards Data Science
Free Complete Python - A step towards Data Science
RinaMondal9
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
KatiaHIMEUR1
 
Accelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish CachingAccelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish Caching
Thijs Feryn
 
PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)
Ralf Eggert
 
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptx
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptxSecstrike : Reverse Engineering & Pwnable tools for CTF.pptx
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptx
nkrafacyberclub
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance
 
UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3
DianaGray10
 
By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024
Pierluigi Pugliese
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
Kari Kakkonen
 
Introduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - CybersecurityIntroduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - Cybersecurity
mikeeftimakis1
 
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdfFIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance
 
Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with Parameters
Safe Software
 
A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...
sonjaschweigert1
 
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance
 

Recently uploaded (20)

Generative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to ProductionGenerative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to Production
 
GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
 
Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?
 
When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
 
Free Complete Python - A step towards Data Science
Free Complete Python - A step towards Data ScienceFree Complete Python - A step towards Data Science
Free Complete Python - A step towards Data Science
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
 
Accelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish CachingAccelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish Caching
 
PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)
 
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptx
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptxSecstrike : Reverse Engineering & Pwnable tools for CTF.pptx
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptx
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
 
UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3
 
By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
 
Introduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - CybersecurityIntroduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - Cybersecurity
 
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdfFIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
 
Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with Parameters
 
A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...
 
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
 

Software engg. pressman_ch-8

  • 1. Chapter 8 Analysis Engineering Software Engineering: A Practitioner’s Approach by Roger S. Pressman
  • 2. Analysis Model Elements of the analysis model
  • 3. Scenario-Based Modeling •Writing Use-Cases •Developing Use-Case Diagram •Developing an Activity Diagram •Developing Swim Lane Diagram
  • 4. Use-case Diagram Use-case diagram for surveillance function
  • 5. Alternative Actions  Can the actor take some other action at this point?  Is it possible that the actor will encounter some error condition at this point?  Is it possible that the actor will encounter behavior invoked by some event outside the actor’s control?
  • 6. Activity diagram for Access camera surveillance—display camera views function
  • 8. Flow-Oriented Modeling •Data flow oriented modeling is one of the most widely used analysis notations today. •DFD and other diagrams are not a formal part of UML, but they can be used to complement UML diagrams and provide additional insight into system requirements and flow. •DFD takes an input-process-output view of a system that is, data objects flow into the software, are transformed by processing elements, and resultant data objects flow out of the software.
  • 9. Guidelines  Data objects are represented by labeled arrows and transformations are represented by circles (also called bubbles). Data stores are represented by double lines or rectangle.  DFD is represented in a hierarchical fashion, that is first data flow model(level 0 DFD or Context diagram) represents the system as a whole.  Refine by isolating candidate processes and their associated data objects and data stores.  Carefully note primary input and output.  Label all elements with meaningful names.  Information flow continuity must be maintained from level to level.  One bubble at a time should be refined.
  • 10. Data Flow Diagram Context-level DFD for SafeHome security function
  • 11. Grammatical Parse or Processing Narratives  The SafeHome security function enables the homeowner to configure the security system when it is installed, monitors all sensors connected to the security system, and interacts with the homeowner through the Internet, a PC, or a control panel.  During installation, the SafeHome PC is used to program and configure the system. Each sensor is assigned a number and type, a master password is programmed for arming and disarming the system, and telephone number(s) are input for dialing when a sensor event occurs.  When a sensor event is recognized, the software invokes an audible alarm attached to the system. After a delay time that is specified by the homeowner during system configuration activities, the software dials a telephone number of a monitoring service, provides information about the location, reporting the nature of the event that has been detected. The telephone number will be redialed every 20 seconds until a telephone connection is obtained.  The homeowner receives security information via a control panel, the PC, or a browser, collectively called an interface. The interface displays prompting messages and system status information on the control panel, the PC, or the browser window. Homeowner interaction takes the following form…
  • 12.
  • 13. Grammatical parse  Referring to the processing narratives text, verbs are the processes, that is they may be represented as bubbles in a subsequent DFD. Nouns are either external entities (boxes), data or control objects (arrows), or data stores (double lines)
  • 14. Level 2 DFD that refines the monitor sensors process
  • 15. Control Flow Model  A large class of applications are driven by events rather than data, produce control information rather than reports or displays and process information with heavy concern for time and performance.  Such applications require the use of control flow modeling in addition to data flow modeling.  Even or control item is implemented as a boolean value (true or false, on or off, 1 or 0) or a discrete list of conditions (empty, jammed, full)
  • 16. Guidelines to create Control flow model  List all sensors that are “read” by the s/w.  List all interrupt conditions.  List all “switches” that are actuated by an operator.  List all data conditions.  Recalling the noun/verb parse that was applied to the processing narrative, review all “control items” as possible for control flow inputs / outputs.  Identify how each state is reached, and define the transition between states.  Focus on possible omissions.
  • 17. Control Specification  Control specification (CSPEC) represents the behavior of the system (at the level from which it has been referenced) in two different ways.  The CSPEC contains a state diagram and can also contain a program activation table.  Figure shows a state diagram for the level 1 control flow model for Safe home. It shows how the system responds to events as it traverses the four states defined at this level.  CSPEC describes the behavior of the system, but it gives us no information about the inner working of the processes.
  • 18. Control Flow Diagram State diagram for SafeHome security function
  • 19. Process Specification  Process specification is used to describe all flow model processes that appear at the final level of refinement.  Content of process specification can include narrative text, a program design language (PDL) description of the process algorithm, mathematical equations, tables, diagrams, or charts.
  • 20. Process Specification (PSPEC eg)  Process password (at control panel).  Process password receives a four-digit password from the interact with user function. The password is first compared to the master password stored within the system. If the master password matches, [valid id message = true] is passed to the message and status display function. If the password does not match the four digits are compared to the table of secondary passwords(may assigned to guests etc). If the password matches an entry within the table, [valid id message = true] is passed to the message and status display function. If there is no match, [valid id message = false] is passed to the message and status display function.
  • 22. Identifying Analysis Classes  External entities that produce or consume information  Things that are part of the information domain  Occurrences or events  Roles played by people who interact with the system  Organizational units  Places that establish context  Structures that define a class of objects
  • 23. Class Selection Criteria 1. 2. 3. 4. 5. 6. Retained information Needed services Multiple attributes Common attributes Common operations Essential requirements
  • 24. Class Diagram Class diagram for the system class
  • 26. Class-Responsibility Collaborator (CRC)  CRC provides a simple means for identifying and organizing the classes that are relevant to system or product requirements.  CRC model is collection of standard index cards that represents classes. Cards are divided into 3 sections. (i) top of card write the name of class (ii) class responsibilities on the left (iii) collaborators on the right  Here responsibilities are the attributes and operations that are relevant to the class.  Collaborators are those classes that are required to provide a class with the information needed to complete a responsibility.
  • 27. Class Responsibility Collaborator(CRC) M odeling A CRC model index card for FloorPlan class
  • 28. B asic guidelines for identifying Classes and Objects  Classes can be extended by considering the following categories: (a) Entity classes: also called model or business classes, are extracted directly from the statement of the problem(eg sensor). These classes typically represent things that are to be stored in a database. (b) Boundary classes: are used to create the interface that the user sees and interacts with the software. (c) Controller classes: These classes manage (1) the creation or update of entity objects (2) instantiation of boundary objects (3) complex communication between sets of objects and (4) validation of data communicated between objects or between the user and the application.
  • 29. Guidelines for identifying Class Responsibilities  System intelligence should be distributed across classes to best address the needs of the problem.  Each responsibility should be stated as generally as possible.  Information and the behavior related to it should reside within the same class.  Information about one thing should be localized with a single class, not distributed across multiple classes.  Responsibilities should be shared among related classes, when appropriate.
  • 30. Class Collaborations  Relationships between classes:  is-part-of — used when classes are part of an aggregate class.  has-knowledge-of — used when one class must acquire information from another class.  depends-on — used in all other cases.
  • 33. Identifying Events  A use-case is examined for points of information exchange.  The homeowner uses the keypad to key in a four-digit password. The password is compared with the valid password stored in the system. If the password in incorrect, the control panel will beep once and reset itself for additional input. If the password is correct, the control panel awaits further action.
  • 34. State Diagram State diagram for the ControlPanel class
  • 35. Sequence Diagram Sequence diagram (partial) for the SafeHome security function