SlideShare a Scribd company logo
What is Requirements modeling
Requirements modeling uses a combination of text and diagrammatic
forms to depict requirements in a way that is relatively easy to
understand
To validate software requirements, you need to examine them from
a number of different points of view. In this presentation we’ll consider
requirements modeling from three different perspectives: scenario-
based models, data(information) models, and class-based models.
Each represents requirements in a different “dimension,” thereby
increasing the probability that errors will be found, that inconsistency
will surface, and that omissions will be uncovered.
Why is it important?
Requirements analysis
The requirements modeling action results in one or more
of the following types of models:
•Scenario-based models of requirements from the point of view of various
system “actors”.
•Data models that depict the information domain for the problem.
•Class-oriented models that represent object-oriented classes (attributes
and operations) and the manner in which classes collaborate to achieve
system Requirements.
•Flow-oriented models that represent the functional elements of the
system and how they transform data as it moves through the system.
•Behavioral models that depict how the software behaves as a
consequence of external “events.
The requirements model as a bridge
between the system description and the
design model
Overall Objectives and Philosophy
requirements modeling, your primary focus is on what, not how.
What user interaction occurs in a particular circumstance, what objects
does the system manipulate, what functions must the system perform,
what behaviors does the system exhibit, what interfaces are defined,
and what constraints apply The requirements model must achieve
three primary objectives: (1) to describe what the customer requires,
(2) to establish a basis for the creation of a software design, and (3) to
define a set of requirements that can be validated once the software is
built.
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 down in details” that try to explain how the
system will work.
• Each element of the requirements model should add to an overall
understanding of software requirements and provide insight into the
information domain, function, and behavior of the system.
• Be certain that the requirements model provides value to all
stakeholders. Each constituency has its own use for the model.
• Keep the model as simple as it can be. Don't create additional diagrams
when they add no new information. Don’t use complex notational forms,
when a simple list will do.
Requirements Modeling Approaches
Elements of the analysis model
SCENARIO-BASEDMODELING
Although the success of a computer-based system or
product is measured in many ways, user satisfaction
resides at the top of the list. If you understand how end
users (and other actors) want to interact with a system,
your software team will be better able to properly
characterize requirements and build meaningful analysis
and design models. Hence, requirements modeling with
UML begins with the creation of scenarios in the form of
use cases, activity diagrams.
Creating a Preliminary Use Case
we need to know(1) what to write about, (2) how much to
write about it, (3) how detailed to make your description,
and (4) how to organize the description?
These are the questions that must be answered if use cases
are to provide value as a requirements modeling tool.
To begin developing a set of use cases, list the functions or
activities performed by a specific actor. You can obtain these
from a list of required system functions, through
conversations with stakeholders.
We will develop the use case in practice with an example.
Creating a Preliminary Use Case
CreatingaPreliminary
UseCase
Homeowner actor:
•Select camera to view.
•Request thumbnails from all cameras.
•Display camera views in a PC window.
•Control pan and zoom for a specific camera.
•Selectively record camera output.
•Replay camera output.
•Access camera surveillance via the Internet.
Creating a Preliminary Use Case
conversations with the stakeholder (who plays
the role of a homeowner)
Use case: Access camera surveillance via the Internet—display camera views (ACS-
DCV)
Actor: homeowner:
If I’m at a remote location, I can use any PC with appropriate browser software to
log on to the Safe Home Products website. I enter my user ID and two levels of
passwords and once I’m validated, I have access to all functionality for my installed
Safe Home system. To access a specific camera view, I select “surveillance” from the
major function buttons displayed. I then select “pick a camera” and the floor plan of
the house is displayed. I then select the camera that I’m interested in. Alternatively,
I can look at thumbnail snapshots from all cameras simultaneously by selecting “all
cameras” as my viewing choice. Once I choose a camera, I select “view” and a one-
frame-per-second view appears in a viewing window that is identified by the
camera ID. If I want to switch cameras, I select “pick a camera” and the original
viewing window disappears and the floor plan of the house is displayed again.
I then select the camera that I’m interested in. A new viewing window appears.
CreatingaPreliminaryUseCase
Use case: Access camera surveillance via the Internet—display camera
views (ACS-DCV)
Actor: homeowner
1. The homeowner logs onto the Safe Home Products website.
2. The homeowner enters his or her user ID.
3. The homeowner enters two passwords (each at least eight characters in
length).
4. The system displays all major function buttons.
5. The homeowner selects the “surveillance” from the major function
buttons.
6. The homeowner selects “pick a camera.”
7. The system displays the floor plan of the house.
8. The homeowner selects a camera icon from the floor plan.
9. The homeowner selects the “view” button.
10. The system displays a viewing window that is identified by the camera ID.
11. The system displays video output within the viewing window at one
frame per second.
CreatingaPreliminaryUseCase
Refining a Preliminary Use Case
A description of alternative interactions is essential for a complete understanding
of the function that is being described by a use case. Therefore, each step in the
primary scenario is evaluated by asking the following questions:
• Can the actor take some other action at this point?
• Is it possible that the actor will encounter some error condition at this
point? If so, what might it be?
For example, consider steps 6 and 7 in the primary scenario
presented earlier:
6. The homeowner selects “pick a camera.”
7. The system displays the floor plan of the house.
Can the actor take some other action at this point? The
answer is “yes.” Referring to the free-flowing narrative, the
actor may choose to view thumbnail snapshots of all
cameras simultaneously. Hence, one secondary scenario might
be “View thumbnail snapshots for all cameras.”
Refining a Preliminary Use Case
Writing a Formal Use Case
The informal use cases presented in the previous Section are
sometimes sufficient for requirements modeling. However,
when a use case involves a critical activity or describes a
complex set of steps with a significant number of exceptions, a
more formal approach may be desirable.
In many cases, there is no need to create a graphical
representation of a usage scenario.
However, diagrammatic representation can facilitate
understanding, particularly when the scenario is complex.
WritingaFormalUseCas
Like any other form of written description, a use case is only as
good as its author(s). If the description is unclear, the use case
can be misleading or ambiguous. A use case focuses on
functional and behavioral requirements.
However, scenario-based modeling is appropriate for a
significant majority of all situations that you will encounter as
a software engineer. If developed properly, the use case can
provide substantial benefit as a modeling tool.
Developin
g
an
Activity
Diagram
If software requirements include the need to create, extend, or
interface with a database or if complex data structures must be
constructed and manipulated, the software team may choose to create
a data model as part of overall requirements modeling.
Data Objects
A data object is a representation of composite information that must
be understood by software. By composite information, I mean
something that has a number of different properties or attributes. For
example dimensions(incorporating height, width, and depth) could be
defined as an object.
DATA MODELING CONCEPTS
Data Attributes
Data attributes define the properties of a data object and take on one
of three different characteristics. They can be used to (1) name an
instance of the data object, (2) describe the instance, or (3) make
reference to another instance in another table.
DATAMODELING
CONCEPTS
Relationships
Data objects are connected to one another in different ways. Consider
the two data objects, person and car.
•A person owns a car.
•A person is insured to drive a car.
DATAMODELING
CONCEPTS
Entity-Relationship Diagrams
The object-relationship pair is the cornerstone of the data
model. These pairs can be represented graphically using the entity-
relationship diagram (ERD).
A set of primary components is identified for the ERD: data
objects, attributes, relationships, and various type indicators. The
primary purpose of the ERD is to represent data objects and their
relationships.
DATAMODELING
CONCEPTS
CLASS-BASED MODELING
Class-based modeling represents the objects that the system will
manipulate, the operations (also called methods or services) that will
be applied to the objects to effect the manipulation, relationships.
Identifying Analysis Classes
If you look around a room, there is a set of physical objects that can be
easily identified, classified, and defined (in terms of attributes and
operations). But when you look around” the problem space of a
software application, the classes (and objects) may be more difficult to
comprehend.
Analysis classes manifest them selves in one of the following ways:
• External entities(e.g., other systems, devices, people) that produce or
consume information to be used by a computer-based system.
• Things(e.g., reports, displays, letters, signals) that are part of the information
domain for the problem.
• Occurrences or events(e.g., a property transfer or the completion of a series
of robot movements) that occur within the context of system operation.
• Roles(e.g., manager, engineer, salesperson) played by people who interact
with the system.
• Organizational units(e.g., division, group, team) that are relevant to an
application.
• Places(e.g., manufacturing floor or loading dock) that establish the context of
the problem and the overall function of the system.
• Structures(e.g., sensors, four-wheeled vehicles, or computers) that define a
class of objects or related classes of objects.
we can propose a number of potential
classes
Budd [Bud96] suggests a taxonomy of classes that includes producers
(sources) and consumers(sinks) of data, data managers, viewor observer
classes, and helper classes.
Another important categorization, defining entity, boundary, and
controller classes,
Coad and Yourdon [Coa91] suggest six
selection characteristics that should be used
as you consider each potential class for
inclusion in the analysis model:
• Retained information.
• Needed services.
• Multiple attributes.
• Common attributes.
• Common operations
• Essential requirements.
Specifying Attributes
• Attributes are the set of data objects that fully define
the class within the context of the problem
• Attributes describe a class that has been selected for
inclusion in the requirements model.
Defining Operations
• Operations define the behavior of an object. When you define
operations for an analysis class, focus on problem-oriented behavior
rather than behaviors required for implementation
Defining Operations
Class-Responsibility-Collaborator (CRC)
Modeling
Class-responsibility-collaborator (CRC) modeling provides a simple
means for identifying and organizing the classes that are relevant to
system or product requirements.
class
The taxonomy of class types Section can be extended by considering
the following categories:
•Entity classes, also called model or business classes, are extracted
directly from the statement of the problem.
•Boundary classes are used to create the interface.
Responsibilities.
Basic guidelines for identifying responsibilities (attributes and
operations) have been presented in Sections 6.5.2 and 6.5.3. Wirfs-
Brock and her colleagues [Wir90] suggest five guidelines for allocating
responsibilities to classes:
•System intelligence should be distributed across classes to best
address the needs of the problem.
•Each responsibility should be stated as generally as possible.
Collaborations
Classes fulfill their responsibilities in one of two ways:
(1) A class can use its own operations to manipulate its own attributes.
(2) a class can collaborate with other classes.
Associations and Dependencies
• An association defines a relationship between classes. Multiplicity
defines how many of one class are related to how many of another
class
• In many instances, two analysis classes are related to one another in
some fashion, much like two data objects may be related to one
another (Section 6.4.3). In UML these relationships are called
associations.
Analysis Packages
• A package is used to assemble a collection of related classes.
• An important part of analysis modeling is categorization. That is, various
elements of the analysis model (e.g., use cases, analysis classes) are categorized
in a manner that packages them as a grouping—called an analysis package—that
is given a representative name
Analysis
Packages
References
Software Engineering
A Practitioner’s Approach
Seventh Edition
Roger S. Pressman

More Related Content

What's hot

REQUIREMENT ENGINEERING
REQUIREMENT ENGINEERINGREQUIREMENT ENGINEERING
REQUIREMENT ENGINEERING
Saqib Raza
 
1.1 The nature of software.ppt
1.1 The nature of software.ppt1.1 The nature of software.ppt
1.1 The nature of software.ppt
JAYAPRIYAR7
 
Software Process Improvement
Software Process ImprovementSoftware Process Improvement
Software Process Improvement
Bilal Shah
 
Formal Specification in Software Engineering SE9
Formal Specification in Software Engineering SE9Formal Specification in Software Engineering SE9
Formal Specification in Software Engineering SE9koolkampus
 
Dynamic and Static Modeling
Dynamic and Static ModelingDynamic and Static Modeling
Dynamic and Static ModelingSaurabh Kumar
 
SRS(software requirement specification)
SRS(software requirement specification)SRS(software requirement specification)
SRS(software requirement specification)
Akash Kumar Dhameja
 
Software engineering a practitioners approach 8th edition pressman solutions ...
Software engineering a practitioners approach 8th edition pressman solutions ...Software engineering a practitioners approach 8th edition pressman solutions ...
Software engineering a practitioners approach 8th edition pressman solutions ...
Drusilla918
 
Design Model & User Interface Design in Software Engineering
Design Model & User Interface Design in Software EngineeringDesign Model & User Interface Design in Software Engineering
Design Model & User Interface Design in Software Engineering
Meghaj Mallick
 
Design notation
Design notationDesign notation
Design notation
ramya marichamy
 
Lecture 12 requirements modeling - (system analysis)
Lecture 12   requirements modeling - (system analysis)Lecture 12   requirements modeling - (system analysis)
Lecture 12 requirements modeling - (system analysis)
IIUI
 
Unit 2
Unit 2Unit 2
Risk management(software engineering)
Risk management(software engineering)Risk management(software engineering)
Risk management(software engineering)
Priya Tomar
 
Software Configuration Management (SCM)
Software Configuration Management (SCM)Software Configuration Management (SCM)
Software Configuration Management (SCM)
Er. Shiva K. Shrestha
 
Decomposition technique In Software Engineering
Decomposition technique In Software Engineering Decomposition technique In Software Engineering
Decomposition technique In Software Engineering
Bilal Hassan
 
Software Engineering Layered Technology Software Process Framework
Software Engineering  Layered Technology Software Process FrameworkSoftware Engineering  Layered Technology Software Process Framework
Software Engineering Layered Technology Software Process Framework
JAINAM KAPADIYA
 
Component based software engineering
Component based software engineeringComponent based software engineering
Component based software engineering
Charotar University Of Science And Technology,Gujrat
 
Analysis modeling
Analysis modelingAnalysis modeling
Analysis modeling
Inocentshuja Ahmad
 
Algorithmic Software Cost Modeling
Algorithmic Software Cost ModelingAlgorithmic Software Cost Modeling
Algorithmic Software Cost Modeling
Kasun Ranga Wijeweera
 

What's hot (20)

REQUIREMENT ENGINEERING
REQUIREMENT ENGINEERINGREQUIREMENT ENGINEERING
REQUIREMENT ENGINEERING
 
1.1 The nature of software.ppt
1.1 The nature of software.ppt1.1 The nature of software.ppt
1.1 The nature of software.ppt
 
Software Process Improvement
Software Process ImprovementSoftware Process Improvement
Software Process Improvement
 
Formal Specification in Software Engineering SE9
Formal Specification in Software Engineering SE9Formal Specification in Software Engineering SE9
Formal Specification in Software Engineering SE9
 
Dynamic and Static Modeling
Dynamic and Static ModelingDynamic and Static Modeling
Dynamic and Static Modeling
 
SRS(software requirement specification)
SRS(software requirement specification)SRS(software requirement specification)
SRS(software requirement specification)
 
Software engineering a practitioners approach 8th edition pressman solutions ...
Software engineering a practitioners approach 8th edition pressman solutions ...Software engineering a practitioners approach 8th edition pressman solutions ...
Software engineering a practitioners approach 8th edition pressman solutions ...
 
Design Model & User Interface Design in Software Engineering
Design Model & User Interface Design in Software EngineeringDesign Model & User Interface Design in Software Engineering
Design Model & User Interface Design in Software Engineering
 
Design notation
Design notationDesign notation
Design notation
 
Chapter 16
Chapter 16Chapter 16
Chapter 16
 
Lecture 12 requirements modeling - (system analysis)
Lecture 12   requirements modeling - (system analysis)Lecture 12   requirements modeling - (system analysis)
Lecture 12 requirements modeling - (system analysis)
 
Unit 2
Unit 2Unit 2
Unit 2
 
Risk management(software engineering)
Risk management(software engineering)Risk management(software engineering)
Risk management(software engineering)
 
Software Configuration Management (SCM)
Software Configuration Management (SCM)Software Configuration Management (SCM)
Software Configuration Management (SCM)
 
Decomposition technique In Software Engineering
Decomposition technique In Software Engineering Decomposition technique In Software Engineering
Decomposition technique In Software Engineering
 
Software Engineering Layered Technology Software Process Framework
Software Engineering  Layered Technology Software Process FrameworkSoftware Engineering  Layered Technology Software Process Framework
Software Engineering Layered Technology Software Process Framework
 
Component based software engineering
Component based software engineeringComponent based software engineering
Component based software engineering
 
Software Metrics
Software MetricsSoftware Metrics
Software Metrics
 
Analysis modeling
Analysis modelingAnalysis modeling
Analysis modeling
 
Algorithmic Software Cost Modeling
Algorithmic Software Cost ModelingAlgorithmic Software Cost Modeling
Algorithmic Software Cost Modeling
 

Similar to CHAPTER 6 REQUIREMENTS MODELING: SCENARIO based Model , Class based moddel

Scenario based methods
Scenario based methodsScenario based methods
Scenario based methods
JoshuaU1
 
OOAD U1.pptx
OOAD U1.pptxOOAD U1.pptx
OOAD U1.pptx
anguraju1
 
RTDesignWithUMLUseCase.ppt
RTDesignWithUMLUseCase.pptRTDesignWithUMLUseCase.ppt
RTDesignWithUMLUseCase.ppt
Shashikanth
 
System Modelling.ppt
System Modelling.pptSystem Modelling.ppt
System Modelling.ppt
AnishNarayan4
 
Intro to UML - Use Case diagrams
Intro to UML - Use Case diagramsIntro to UML - Use Case diagrams
Intro to UML - Use Case diagramsjsm1979
 
05 fse requirementsengineering
05 fse requirementsengineering05 fse requirementsengineering
05 fse requirementsengineeringMohesh Chandran
 
IBM Cognos 10 Framework Manager Metadata Modeling: Tips and Tricks
IBM Cognos 10 Framework Manager Metadata Modeling: Tips and TricksIBM Cognos 10 Framework Manager Metadata Modeling: Tips and Tricks
IBM Cognos 10 Framework Manager Metadata Modeling: Tips and Tricks
Senturus
 
SE_RE-II-CH5 (3).pdf
SE_RE-II-CH5 (3).pdfSE_RE-II-CH5 (3).pdf
SE_RE-II-CH5 (3).pdf
AZKANAAZ1
 
ppt-20.06.24.pptx ghyyuuuygrfggtyghffhhhh
ppt-20.06.24.pptx ghyyuuuygrfggtyghffhhhhppt-20.06.24.pptx ghyyuuuygrfggtyghffhhhh
ppt-20.06.24.pptx ghyyuuuygrfggtyghffhhhh
shaikfahim2127
 
Onlineshoppingonline shopping
Onlineshoppingonline shoppingOnlineshoppingonline shopping
Onlineshoppingonline shopping
Hardik Padhy
 
Onlineshopping 121105040955-phpapp02
Onlineshopping 121105040955-phpapp02Onlineshopping 121105040955-phpapp02
Onlineshopping 121105040955-phpapp02
Shuchi Singla
 
MVC
MVCMVC
Sdlc
SdlcSdlc
Sdlc
SdlcSdlc
Software engg. pressman_ch-8
Software engg. pressman_ch-8Software engg. pressman_ch-8
Software engg. pressman_ch-8Dhairya Joshi
 
Ch7
Ch7Ch7
SELECT21.pptx
SELECT21.pptxSELECT21.pptx
SELECT21.pptx
devnasra1
 
Requirements modeling
Requirements modelingRequirements modeling
Requirements modeling
AnanthiP8
 
Case Module 6.docx
Case Module 6.docxCase Module 6.docx
Case Module 6.docx
bkbk37
 
Case Module 6.docx
Case Module 6.docxCase Module 6.docx
Case Module 6.docx
studywriters
 

Similar to CHAPTER 6 REQUIREMENTS MODELING: SCENARIO based Model , Class based moddel (20)

Scenario based methods
Scenario based methodsScenario based methods
Scenario based methods
 
OOAD U1.pptx
OOAD U1.pptxOOAD U1.pptx
OOAD U1.pptx
 
RTDesignWithUMLUseCase.ppt
RTDesignWithUMLUseCase.pptRTDesignWithUMLUseCase.ppt
RTDesignWithUMLUseCase.ppt
 
System Modelling.ppt
System Modelling.pptSystem Modelling.ppt
System Modelling.ppt
 
Intro to UML - Use Case diagrams
Intro to UML - Use Case diagramsIntro to UML - Use Case diagrams
Intro to UML - Use Case diagrams
 
05 fse requirementsengineering
05 fse requirementsengineering05 fse requirementsengineering
05 fse requirementsengineering
 
IBM Cognos 10 Framework Manager Metadata Modeling: Tips and Tricks
IBM Cognos 10 Framework Manager Metadata Modeling: Tips and TricksIBM Cognos 10 Framework Manager Metadata Modeling: Tips and Tricks
IBM Cognos 10 Framework Manager Metadata Modeling: Tips and Tricks
 
SE_RE-II-CH5 (3).pdf
SE_RE-II-CH5 (3).pdfSE_RE-II-CH5 (3).pdf
SE_RE-II-CH5 (3).pdf
 
ppt-20.06.24.pptx ghyyuuuygrfggtyghffhhhh
ppt-20.06.24.pptx ghyyuuuygrfggtyghffhhhhppt-20.06.24.pptx ghyyuuuygrfggtyghffhhhh
ppt-20.06.24.pptx ghyyuuuygrfggtyghffhhhh
 
Onlineshoppingonline shopping
Onlineshoppingonline shoppingOnlineshoppingonline shopping
Onlineshoppingonline shopping
 
Onlineshopping 121105040955-phpapp02
Onlineshopping 121105040955-phpapp02Onlineshopping 121105040955-phpapp02
Onlineshopping 121105040955-phpapp02
 
MVC
MVCMVC
MVC
 
Sdlc
SdlcSdlc
Sdlc
 
Sdlc
SdlcSdlc
Sdlc
 
Software engg. pressman_ch-8
Software engg. pressman_ch-8Software engg. pressman_ch-8
Software engg. pressman_ch-8
 
Ch7
Ch7Ch7
Ch7
 
SELECT21.pptx
SELECT21.pptxSELECT21.pptx
SELECT21.pptx
 
Requirements modeling
Requirements modelingRequirements modeling
Requirements modeling
 
Case Module 6.docx
Case Module 6.docxCase Module 6.docx
Case Module 6.docx
 
Case Module 6.docx
Case Module 6.docxCase Module 6.docx
Case Module 6.docx
 

Recently uploaded

GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
James Anderson
 
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
 
Connector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a buttonConnector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a button
DianaGray10
 
Leading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdfLeading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdf
OnBoard
 
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
 
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
Product School
 
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
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance
 
JMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and GrafanaJMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and Grafana
RTTS
 
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Jeffrey Haguewood
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
Alan Dix
 
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 previewState of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
Prayukth K V
 
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdfSmart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
91mobiles
 
Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*
Frank van Harmelen
 
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Product School
 
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
 
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
Sri Ambati
 
ODC, Data Fabric and Architecture User Group
ODC, Data Fabric and Architecture User GroupODC, Data Fabric and Architecture User Group
ODC, Data Fabric and Architecture User Group
CatarinaPereira64715
 
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Product School
 
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
 

Recently uploaded (20)

GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
 
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
 
Connector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a buttonConnector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a button
 
Leading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdfLeading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdf
 
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
 
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
 
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 Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
 
JMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and GrafanaJMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and Grafana
 
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
 
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 previewState of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
 
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdfSmart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
 
Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*
 
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...
 
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)
 
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
 
ODC, Data Fabric and Architecture User Group
ODC, Data Fabric and Architecture User GroupODC, Data Fabric and Architecture User Group
ODC, Data Fabric and Architecture User Group
 
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...
 
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
 

CHAPTER 6 REQUIREMENTS MODELING: SCENARIO based Model , Class based moddel

  • 1.
  • 2. What is Requirements modeling Requirements modeling uses a combination of text and diagrammatic forms to depict requirements in a way that is relatively easy to understand To validate software requirements, you need to examine them from a number of different points of view. In this presentation we’ll consider requirements modeling from three different perspectives: scenario- based models, data(information) models, and class-based models. Each represents requirements in a different “dimension,” thereby increasing the probability that errors will be found, that inconsistency will surface, and that omissions will be uncovered. Why is it important?
  • 3. Requirements analysis The requirements modeling action results in one or more of the following types of models: •Scenario-based models of requirements from the point of view of various system “actors”. •Data models that depict the information domain for the problem. •Class-oriented models that represent object-oriented classes (attributes and operations) and the manner in which classes collaborate to achieve system Requirements. •Flow-oriented models that represent the functional elements of the system and how they transform data as it moves through the system. •Behavioral models that depict how the software behaves as a consequence of external “events.
  • 4. The requirements model as a bridge between the system description and the design model
  • 5. Overall Objectives and Philosophy requirements modeling, your primary focus is on what, not how. What user interaction occurs in a particular circumstance, what objects does the system manipulate, what functions must the system perform, what behaviors does the system exhibit, what interfaces are defined, and what constraints apply The requirements model must achieve three primary objectives: (1) to describe what the customer requires, (2) to establish a basis for the creation of a software design, and (3) to define a set of requirements that can be validated once the software is built.
  • 6. 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 down in details” that try to explain how the system will work. • Each element of the requirements model should add to an overall understanding of software requirements and provide insight into the information domain, function, and behavior of the system. • Be certain that the requirements model provides value to all stakeholders. Each constituency has its own use for the model. • Keep the model as simple as it can be. Don't create additional diagrams when they add no new information. Don’t use complex notational forms, when a simple list will do.
  • 8. SCENARIO-BASEDMODELING Although the success of a computer-based system or product is measured in many ways, user satisfaction resides at the top of the list. If you understand how end users (and other actors) want to interact with a system, your software team will be better able to properly characterize requirements and build meaningful analysis and design models. Hence, requirements modeling with UML begins with the creation of scenarios in the form of use cases, activity diagrams.
  • 9. Creating a Preliminary Use Case we need to know(1) what to write about, (2) how much to write about it, (3) how detailed to make your description, and (4) how to organize the description? These are the questions that must be answered if use cases are to provide value as a requirements modeling tool. To begin developing a set of use cases, list the functions or activities performed by a specific actor. You can obtain these from a list of required system functions, through conversations with stakeholders. We will develop the use case in practice with an example.
  • 12. Homeowner actor: •Select camera to view. •Request thumbnails from all cameras. •Display camera views in a PC window. •Control pan and zoom for a specific camera. •Selectively record camera output. •Replay camera output. •Access camera surveillance via the Internet. Creating a Preliminary Use Case
  • 13. conversations with the stakeholder (who plays the role of a homeowner) Use case: Access camera surveillance via the Internet—display camera views (ACS- DCV) Actor: homeowner: If I’m at a remote location, I can use any PC with appropriate browser software to log on to the Safe Home Products website. I enter my user ID and two levels of passwords and once I’m validated, I have access to all functionality for my installed Safe Home system. To access a specific camera view, I select “surveillance” from the major function buttons displayed. I then select “pick a camera” and the floor plan of the house is displayed. I then select the camera that I’m interested in. Alternatively, I can look at thumbnail snapshots from all cameras simultaneously by selecting “all cameras” as my viewing choice. Once I choose a camera, I select “view” and a one- frame-per-second view appears in a viewing window that is identified by the camera ID. If I want to switch cameras, I select “pick a camera” and the original viewing window disappears and the floor plan of the house is displayed again. I then select the camera that I’m interested in. A new viewing window appears. CreatingaPreliminaryUseCase
  • 14. Use case: Access camera surveillance via the Internet—display camera views (ACS-DCV) Actor: homeowner 1. The homeowner logs onto the Safe Home Products website. 2. The homeowner enters his or her user ID. 3. The homeowner enters two passwords (each at least eight characters in length). 4. The system displays all major function buttons. 5. The homeowner selects the “surveillance” from the major function buttons. 6. The homeowner selects “pick a camera.” 7. The system displays the floor plan of the house. 8. The homeowner selects a camera icon from the floor plan. 9. The homeowner selects the “view” button. 10. The system displays a viewing window that is identified by the camera ID. 11. The system displays video output within the viewing window at one frame per second. CreatingaPreliminaryUseCase
  • 15. Refining a Preliminary Use Case A description of alternative interactions is essential for a complete understanding of the function that is being described by a use case. Therefore, each step in the primary scenario is evaluated by asking the following questions: • Can the actor take some other action at this point? • Is it possible that the actor will encounter some error condition at this point? If so, what might it be?
  • 16. For example, consider steps 6 and 7 in the primary scenario presented earlier: 6. The homeowner selects “pick a camera.” 7. The system displays the floor plan of the house. Can the actor take some other action at this point? The answer is “yes.” Referring to the free-flowing narrative, the actor may choose to view thumbnail snapshots of all cameras simultaneously. Hence, one secondary scenario might be “View thumbnail snapshots for all cameras.” Refining a Preliminary Use Case
  • 17. Writing a Formal Use Case The informal use cases presented in the previous Section are sometimes sufficient for requirements modeling. However, when a use case involves a critical activity or describes a complex set of steps with a significant number of exceptions, a more formal approach may be desirable.
  • 18. In many cases, there is no need to create a graphical representation of a usage scenario. However, diagrammatic representation can facilitate understanding, particularly when the scenario is complex. WritingaFormalUseCas
  • 19. Like any other form of written description, a use case is only as good as its author(s). If the description is unclear, the use case can be misleading or ambiguous. A use case focuses on functional and behavioral requirements. However, scenario-based modeling is appropriate for a significant majority of all situations that you will encounter as a software engineer. If developed properly, the use case can provide substantial benefit as a modeling tool.
  • 21. If software requirements include the need to create, extend, or interface with a database or if complex data structures must be constructed and manipulated, the software team may choose to create a data model as part of overall requirements modeling. Data Objects A data object is a representation of composite information that must be understood by software. By composite information, I mean something that has a number of different properties or attributes. For example dimensions(incorporating height, width, and depth) could be defined as an object. DATA MODELING CONCEPTS
  • 22. Data Attributes Data attributes define the properties of a data object and take on one of three different characteristics. They can be used to (1) name an instance of the data object, (2) describe the instance, or (3) make reference to another instance in another table. DATAMODELING CONCEPTS
  • 23. Relationships Data objects are connected to one another in different ways. Consider the two data objects, person and car. •A person owns a car. •A person is insured to drive a car. DATAMODELING CONCEPTS
  • 24. Entity-Relationship Diagrams The object-relationship pair is the cornerstone of the data model. These pairs can be represented graphically using the entity- relationship diagram (ERD). A set of primary components is identified for the ERD: data objects, attributes, relationships, and various type indicators. The primary purpose of the ERD is to represent data objects and their relationships. DATAMODELING CONCEPTS
  • 25. CLASS-BASED MODELING Class-based modeling represents the objects that the system will manipulate, the operations (also called methods or services) that will be applied to the objects to effect the manipulation, relationships.
  • 26. Identifying Analysis Classes If you look around a room, there is a set of physical objects that can be easily identified, classified, and defined (in terms of attributes and operations). But when you look around” the problem space of a software application, the classes (and objects) may be more difficult to comprehend.
  • 27. Analysis classes manifest them selves in one of the following ways: • External entities(e.g., other systems, devices, people) that produce or consume information to be used by a computer-based system. • Things(e.g., reports, displays, letters, signals) that are part of the information domain for the problem. • Occurrences or events(e.g., a property transfer or the completion of a series of robot movements) that occur within the context of system operation. • Roles(e.g., manager, engineer, salesperson) played by people who interact with the system. • Organizational units(e.g., division, group, team) that are relevant to an application. • Places(e.g., manufacturing floor or loading dock) that establish the context of the problem and the overall function of the system. • Structures(e.g., sensors, four-wheeled vehicles, or computers) that define a class of objects or related classes of objects.
  • 28. we can propose a number of potential classes
  • 29. Budd [Bud96] suggests a taxonomy of classes that includes producers (sources) and consumers(sinks) of data, data managers, viewor observer classes, and helper classes. Another important categorization, defining entity, boundary, and controller classes,
  • 30. Coad and Yourdon [Coa91] suggest six selection characteristics that should be used as you consider each potential class for inclusion in the analysis model: • Retained information. • Needed services. • Multiple attributes. • Common attributes. • Common operations • Essential requirements.
  • 31. Specifying Attributes • Attributes are the set of data objects that fully define the class within the context of the problem • Attributes describe a class that has been selected for inclusion in the requirements model. Defining Operations • Operations define the behavior of an object. When you define operations for an analysis class, focus on problem-oriented behavior rather than behaviors required for implementation
  • 33. Class-Responsibility-Collaborator (CRC) Modeling Class-responsibility-collaborator (CRC) modeling provides a simple means for identifying and organizing the classes that are relevant to system or product requirements.
  • 34. class The taxonomy of class types Section can be extended by considering the following categories: •Entity classes, also called model or business classes, are extracted directly from the statement of the problem. •Boundary classes are used to create the interface.
  • 35.
  • 36. Responsibilities. Basic guidelines for identifying responsibilities (attributes and operations) have been presented in Sections 6.5.2 and 6.5.3. Wirfs- Brock and her colleagues [Wir90] suggest five guidelines for allocating responsibilities to classes: •System intelligence should be distributed across classes to best address the needs of the problem. •Each responsibility should be stated as generally as possible.
  • 37. Collaborations Classes fulfill their responsibilities in one of two ways: (1) A class can use its own operations to manipulate its own attributes. (2) a class can collaborate with other classes.
  • 38. Associations and Dependencies • An association defines a relationship between classes. Multiplicity defines how many of one class are related to how many of another class • In many instances, two analysis classes are related to one another in some fashion, much like two data objects may be related to one another (Section 6.4.3). In UML these relationships are called associations.
  • 39. Analysis Packages • A package is used to assemble a collection of related classes. • An important part of analysis modeling is categorization. That is, various elements of the analysis model (e.g., use cases, analysis classes) are categorized in a manner that packages them as a grouping—called an analysis package—that is given a representative name
  • 41. References Software Engineering A Practitioner’s Approach Seventh Edition Roger S. Pressman