SlideShare a Scribd company logo
Introduction to Software Engineering 
Muhammad Nasir 
Understanding Requirements (3) 
m.nasir@iiu.edu.pk
Agenda 
 Requirement Elicitation 
 User Scenario 
 Specification Principles 
 Specification Representation 
 Specification Review
Eliciting Requirement 
Approach for eliciting requirement: 
 Collaborative Requirement Gathering 
 Quality Function Deployment 
 User Scenarios 
 Elicitation Work Products
User Scenario 
 It is difficult to move into more software 
engineering activities until software team 
understands how these functions and 
features will be used by different end-users. 
 Developers and users create a set of usage 
threads for the system to be constructed 
 “A use-case scenario is a story about how 
someone or something external to the 
software (known as an actor) interacts with 
the system”.
User Scenario 
 Describe how the system will be used 
 “Each scenario is described from the 
point-of-view of an “actor”—a person or 
device that interacts with the software in 
some way” 
 It is important to note that an actor and 
an end user are not necessarily the 
same thing.
SafeHome – Example
User Scenario 
 A typical user may play a number of 
different roles when using a system. 
 Whereas an actor represents a class 
of external entities (often, but not 
always, people) 
 that play just one role in the context of 
the use case.
User Scenario 
 After careful review of requirements, 
the software for a Automated Control 
System requires 
 Four different modes (roles) for 
interaction: programming mode, test 
mode, monitoring mode, and 
troubleshooting mode.
User Scenario 
 Therefore, four actors can be defined: 
programmer, tester, monitor, and 
troubleshooter. 
 In some cases, the machine operator 
can play all of these roles. 
 In others, different people may play 
the role of each actor.
SafeHome – Usage Scenarios 
 For the purposes of this example we 
consider only the homeowner actor. 
 Home Owner may interact with system in 
following way 
 Enters a password to allow all other interactions. 
 Inquires about the status of a security zone. 
 Inquires about the status of a sensor. 
 Presses the panic button in an emergency. 
 Activates/deactivates the security system.
SafeHome – Basic Use Cases 
1. The home-owner observes the SafeHome control 
panel to determine if the system is ready for input. 
 If the system is not ready, a not ready message is 
displayed on the LCD display, and the home-owner must 
physically close windows or doors 
 So that the not ready message disappears. 
 [A not ready message implies that a sensor is open; i.e., that a door 
or window is open.]
SafeHome – Basic Use Cases 
 2. The homeowner uses the keypad to 
input a four-digit password. 
 The password is compared with the valid 
password stored in the system. 
 If the password is incorrect, the control panel will 
beep once and reset itself for additional input. 
 If the password is correct, the control panel 
awaits further action.
SafeHome – Basic Use Cases 
 The homeowner selects and input stay 
or away to activate the system. 
 Stay activates only perimeter sensors 
(inside motion detecting sensors are 
deactivated). 
 Away activates all sensors
SafeHome – Basic Use Cases 
 When activation occurs, 
 A red alarm light can be observed by the 
homeowner.
SafeHome – Detail Use Case
SafeHome – Detail Use Case
SafeHome – Detail Use Case
Specification Principles 
If specification incomplete, inconsistent, or misleading 
specifications have experienced the frustration and 
confusion that invariably results. 
1. Separate functionality from implementation. 
2. Develop a model of the desired behavior of a 
system. 
3. Establish the context in which software operates 
by specifying the manner. 
4. Define the environment in which the system 
operates and indicate how.
Specification Principles (cont.) 
5. Create a cognitive model rather than a design or 
implementation model. 
6. The specifications must be tolerant of incompleteness and 
augmentable. 
7. Establish the content and structure of a specification in a 
way that will enable it to be amenable to change.
Specification Representation 
 Representation format and content should be relevant to 
the problem. 
 For example, a specification for a manufacturing automation system 
might use different diagrams and language than the specification for a 
programming language compiler. 
 Information contained within the specification should be 
nested (layered). 
 Paragraph and diagram numbering schemes should indicate the level of 
detail that is being presented. 
 It is sometimes worthwhile to present the same information at different 
levels of abstraction to aid in understanding.
Specification Representation 
 Diagrams and other notational forms should be restricted 
in number and consistent in use. 
 Confusing or inconsistent notation, whether graphical or symbolic, 
degrades understanding and fosters errors. 
 Representations should be revisable. 
 It contains a complete information description, a detailed functional 
description, a representation of system behavior, an indication of 
performance requirements and design constraints, appropriate 
validation criteria, and other information pertinent to requirements.
Software Requirements Specification 
Format of SRS: 
Introduction of the software requirements specification states the goals and 
objectives of the software, describing it in the context of the computer-based 
system. 
Information content, flow, and structure are documented. Hardware, software, 
and human interfaces are described for external system elements and internal 
software functions. 
Functional Description A processing narrative is provided for each function, 
design constraints are stated and justified & performance characteristics are 
stated 
Behavioral Description operation of the software as a consequence of 
external events and internally generated control characteristics.
Software Requirements Specification (Cont.) 
Validation Criteria is probably the most important and, ironically, the 
most often neglected section of the Software Requirements 
Specification (SRS). Testing or validating each user-scenario. 
Finally, the specification includes a Bibliography and Appendix. The 
bibliography contains references to all documents that relate to the 
software. The appendix contains information that supplements the 
specifications
Specification Review 
 A review of the SRS (and/or prototype) is conducted by both 
the software development team and the customer. 
 Conducted at a macroscopic level 
 Ensure that specification is complete 
 Consistent 
 Accurate (Information, functional and behavioral 
domain considered). 
 Review becomes more detailed while examining Information, 
functional and behavioral domain. 
 Examining not only broad descriptions but the way in which 
requirement worded. 
E.g. Terms like “Vague ” (some, sometimes, often, usually) should 
be flag by reviewer for further clarification.
Review (cont.) 
 Once review is complete – SRS “signed off” by both 
customer and vendor. ( “contract” for software 
development) 
 Requests for changes in requirements after the 
specification is finalized will not be eliminated. 
 Change is an extension of software scope and therefore 
can increase cost and/or delivery time of product. 
 During the review, changes to the specification may be 
recommended. 
 It can be extremely difficult to assess the global impact of a 
change; that is, how a change in one function affects 
requirements for other functions
The End 
 Thanks for listening 
 Questions would be appreciated.

More Related Content

What's hot

Slides chapter 10
Slides chapter 10Slides chapter 10
Slides chapter 10
Priyanka Shetty
 
Lecture 18 design concepts (3)
Lecture 18   design concepts (3)Lecture 18   design concepts (3)
Lecture 18 design concepts (3)
IIUI
 
User stories
User storiesUser stories
User stories
Md. Shafiuzzaman Hira
 
Quality attribute scenarios
Quality attribute scenariosQuality attribute scenarios
Quality attribute scenarios
ahsan riaz
 
Lecture 20 software testing (2)
Lecture 20   software testing (2)Lecture 20   software testing (2)
Lecture 20 software testing (2)
IIUI
 
Slides chapters 26-27
Slides chapters 26-27Slides chapters 26-27
Slides chapters 26-27
Priyanka Shetty
 
Software_Build__Release___UAT_Phases (1).PDF
Software_Build__Release___UAT_Phases (1).PDFSoftware_Build__Release___UAT_Phases (1).PDF
Software_Build__Release___UAT_Phases (1).PDF
Asish Mohanty M@Vodafone Group
 
Requirement Analysis - Software Enigneering
Requirement Analysis - Software EnigneeringRequirement Analysis - Software Enigneering
Requirement Analysis - Software Enigneering
university of education,Lahore
 
Analysis concepts and principles
Analysis concepts and principlesAnalysis concepts and principles
Analysis concepts and principles
saurabhshertukde
 
Quality attributes in software architecture
Quality attributes in software architectureQuality attributes in software architecture
Quality attributes in software architecture
Himanshu
 
Slides chapter 9
Slides chapter 9Slides chapter 9
Slides chapter 9
Priyanka Shetty
 
Quality Attributes In Software Architecture & Design Patterns
Quality Attributes In Software Architecture & Design PatternsQuality Attributes In Software Architecture & Design Patterns
Quality Attributes In Software Architecture & Design Patterns
Gatte Ravindranath
 
Use case Modeling
Use case ModelingUse case Modeling
Use case Modeling
Md. Shafiuzzaman Hira
 
Requirement analysis
Requirement analysisRequirement analysis
Requirement analysis
Bro Shola Ajayi
 
Lecture 14 requirements modeling - flow and behavior
Lecture 14   requirements modeling - flow and  behaviorLecture 14   requirements modeling - flow and  behavior
Lecture 14 requirements modeling - flow and behavior
IIUI
 
Slides chapter 17
Slides chapter 17Slides chapter 17
Slides chapter 17
Priyanka Shetty
 
Quality attributes in software architecture
Quality attributes in software architectureQuality attributes in software architecture
Quality attributes in software architecture
Gang Tao
 
Lecture 8 agile software development (3)
Lecture 8   agile software development (3)Lecture 8   agile software development (3)
Lecture 8 agile software development (3)
IIUI
 
Unit 2
Unit 2Unit 2
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
mohamed khalaf alla mohamedain
 

What's hot (20)

Slides chapter 10
Slides chapter 10Slides chapter 10
Slides chapter 10
 
Lecture 18 design concepts (3)
Lecture 18   design concepts (3)Lecture 18   design concepts (3)
Lecture 18 design concepts (3)
 
User stories
User storiesUser stories
User stories
 
Quality attribute scenarios
Quality attribute scenariosQuality attribute scenarios
Quality attribute scenarios
 
Lecture 20 software testing (2)
Lecture 20   software testing (2)Lecture 20   software testing (2)
Lecture 20 software testing (2)
 
Slides chapters 26-27
Slides chapters 26-27Slides chapters 26-27
Slides chapters 26-27
 
Software_Build__Release___UAT_Phases (1).PDF
Software_Build__Release___UAT_Phases (1).PDFSoftware_Build__Release___UAT_Phases (1).PDF
Software_Build__Release___UAT_Phases (1).PDF
 
Requirement Analysis - Software Enigneering
Requirement Analysis - Software EnigneeringRequirement Analysis - Software Enigneering
Requirement Analysis - Software Enigneering
 
Analysis concepts and principles
Analysis concepts and principlesAnalysis concepts and principles
Analysis concepts and principles
 
Quality attributes in software architecture
Quality attributes in software architectureQuality attributes in software architecture
Quality attributes in software architecture
 
Slides chapter 9
Slides chapter 9Slides chapter 9
Slides chapter 9
 
Quality Attributes In Software Architecture & Design Patterns
Quality Attributes In Software Architecture & Design PatternsQuality Attributes In Software Architecture & Design Patterns
Quality Attributes In Software Architecture & Design Patterns
 
Use case Modeling
Use case ModelingUse case Modeling
Use case Modeling
 
Requirement analysis
Requirement analysisRequirement analysis
Requirement analysis
 
Lecture 14 requirements modeling - flow and behavior
Lecture 14   requirements modeling - flow and  behaviorLecture 14   requirements modeling - flow and  behavior
Lecture 14 requirements modeling - flow and behavior
 
Slides chapter 17
Slides chapter 17Slides chapter 17
Slides chapter 17
 
Quality attributes in software architecture
Quality attributes in software architectureQuality attributes in software architecture
Quality attributes in software architecture
 
Lecture 8 agile software development (3)
Lecture 8   agile software development (3)Lecture 8   agile software development (3)
Lecture 8 agile software development (3)
 
Unit 2
Unit 2Unit 2
Unit 2
 
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
 

Similar to Lecture 11 understanding requirements (3)

Software Engineering Lab Manual
Software Engineering Lab ManualSoftware Engineering Lab Manual
Software Engineering Lab Manual
Neelamani Samal
 
cheatsheet.pdf
cheatsheet.pdfcheatsheet.pdf
cheatsheet.pdf
BdBangladesh
 
Requirements Engineering
Requirements EngineeringRequirements Engineering
Requirements Engineering
Ehsan Elahi
 
Software engineering practical
Software engineering practicalSoftware engineering practical
Software engineering practical
Nitesh Dubey
 
Writing srs
Writing srsWriting srs
Writing srs
Vishnu Vardhan
 
Sd Revision
Sd RevisionSd Revision
Sd Revision
mrsmackenzie
 
Software requirement specification
Software requirement specificationSoftware requirement specification
Software requirement specification
shiprashakya2
 
Software engineering introduction
Software engineering introductionSoftware engineering introduction
Software engineering introduction
Vishal Singh
 
Chapter 5 - Tools
Chapter 5 - ToolsChapter 5 - Tools
Chapter 5 - Tools
Neeraj Kumar Singh
 
Ch 2 types of reqirement
Ch 2  types of reqirementCh 2  types of reqirement
Ch 2 types of reqirement
Fish Abe
 
GSPM (General Software Process Model)
GSPM (General Software Process Model)GSPM (General Software Process Model)
GSPM (General Software Process Model)
muhammad naeem
 
Testing Presentation
Testing PresentationTesting Presentation
Testing Presentation
sureshpkumar
 
Requirement Engineering.pdf
Requirement Engineering.pdfRequirement Engineering.pdf
Requirement Engineering.pdf
Muhammad Imran
 
Intro softwareeng
Intro softwareengIntro softwareeng
Intro softwareeng
PINKU29
 
Software Requrement
Software RequrementSoftware Requrement
Software Requrement
Seif Shaame
 
Railway Reservation System - Software Engineering
Railway Reservation System - Software EngineeringRailway Reservation System - Software Engineering
Railway Reservation System - Software Engineering
Lalit Pal
 
Ss debuggers
Ss debuggersSs debuggers
Ss debuggers
sweety enit
 
software engineering
 software engineering software engineering
software engineering
Ahmed Elshahat Mohamed
 
Manual testing visonia
Manual testing   visoniaManual testing   visonia
Manual testing visonia
VisoniaTechlab
 
Sdlc
SdlcSdlc

Similar to Lecture 11 understanding requirements (3) (20)

Software Engineering Lab Manual
Software Engineering Lab ManualSoftware Engineering Lab Manual
Software Engineering Lab Manual
 
cheatsheet.pdf
cheatsheet.pdfcheatsheet.pdf
cheatsheet.pdf
 
Requirements Engineering
Requirements EngineeringRequirements Engineering
Requirements Engineering
 
Software engineering practical
Software engineering practicalSoftware engineering practical
Software engineering practical
 
Writing srs
Writing srsWriting srs
Writing srs
 
Sd Revision
Sd RevisionSd Revision
Sd Revision
 
Software requirement specification
Software requirement specificationSoftware requirement specification
Software requirement specification
 
Software engineering introduction
Software engineering introductionSoftware engineering introduction
Software engineering introduction
 
Chapter 5 - Tools
Chapter 5 - ToolsChapter 5 - Tools
Chapter 5 - Tools
 
Ch 2 types of reqirement
Ch 2  types of reqirementCh 2  types of reqirement
Ch 2 types of reqirement
 
GSPM (General Software Process Model)
GSPM (General Software Process Model)GSPM (General Software Process Model)
GSPM (General Software Process Model)
 
Testing Presentation
Testing PresentationTesting Presentation
Testing Presentation
 
Requirement Engineering.pdf
Requirement Engineering.pdfRequirement Engineering.pdf
Requirement Engineering.pdf
 
Intro softwareeng
Intro softwareengIntro softwareeng
Intro softwareeng
 
Software Requrement
Software RequrementSoftware Requrement
Software Requrement
 
Railway Reservation System - Software Engineering
Railway Reservation System - Software EngineeringRailway Reservation System - Software Engineering
Railway Reservation System - Software Engineering
 
Ss debuggers
Ss debuggersSs debuggers
Ss debuggers
 
software engineering
 software engineering software engineering
software engineering
 
Manual testing visonia
Manual testing   visoniaManual testing   visonia
Manual testing visonia
 
Sdlc
SdlcSdlc
Sdlc
 

More from IIUI

Rank brain
Rank brainRank brain
Rank brain
IIUI
 
Chapter 10 cs 2o-p
Chapter 10 cs 2o-pChapter 10 cs 2o-p
Chapter 10 cs 2o-p
IIUI
 
Chapter 09 io devices 3o-p
Chapter 09 io devices 3o-pChapter 09 io devices 3o-p
Chapter 09 io devices 3o-p
IIUI
 
Chapter 09 io devices 2o-p
Chapter 09 io devices 2o-pChapter 09 io devices 2o-p
Chapter 09 io devices 2o-p
IIUI
 
Chapter 09 io devices
Chapter 09 io devicesChapter 09 io devices
Chapter 09 io devices
IIUI
 
Chapter 08 secondary storage 3o-p
Chapter 08 secondary storage 3o-pChapter 08 secondary storage 3o-p
Chapter 08 secondary storage 3o-p
IIUI
 
Chapter 08 secondary storage 2o-p
Chapter 08 secondary storage 2o-pChapter 08 secondary storage 2o-p
Chapter 08 secondary storage 2o-p
IIUI
 
Chapter 08 secondary storage
Chapter 08 secondary storageChapter 08 secondary storage
Chapter 08 secondary storage
IIUI
 
Chapter 07 pam 3o-p
Chapter 07 pam 3o-pChapter 07 pam 3o-p
Chapter 07 pam 3o-p
IIUI
 
Chapter 07 pam 2o-p
Chapter 07 pam 2o-pChapter 07 pam 2o-p
Chapter 07 pam 2o-p
IIUI
 
Chapter 07 pam
Chapter 07 pamChapter 07 pam
Chapter 07 pam
IIUI
 
Chapter 06 boolean algebra 3o-p
Chapter 06 boolean algebra 3o-pChapter 06 boolean algebra 3o-p
Chapter 06 boolean algebra 3o-p
IIUI
 
Chapter 06 boolean algebra 2o-p
Chapter 06 boolean algebra 2o-pChapter 06 boolean algebra 2o-p
Chapter 06 boolean algebra 2o-p
IIUI
 
Chapter 06 boolean algebra
Chapter 06 boolean algebraChapter 06 boolean algebra
Chapter 06 boolean algebra
IIUI
 
Chapter 05 computer arithmetic 2o-p
Chapter 05 computer arithmetic 2o-pChapter 05 computer arithmetic 2o-p
Chapter 05 computer arithmetic 2o-p
IIUI
 
Chapter 05 computer arithmetic
Chapter 05 computer arithmeticChapter 05 computer arithmetic
Chapter 05 computer arithmetic
IIUI
 
Chapter 04 computer codes 3o-p
Chapter 04 computer codes 3o-pChapter 04 computer codes 3o-p
Chapter 04 computer codes 3o-p
IIUI
 
Chapter 04 computer codes
Chapter 04 computer codesChapter 04 computer codes
Chapter 04 computer codes
IIUI
 
Chapter 03 number system 3o-p
Chapter 03 number system 3o-pChapter 03 number system 3o-p
Chapter 03 number system 3o-p
IIUI
 
Chapter 03 number system 2o-p
Chapter 03 number system 2o-pChapter 03 number system 2o-p
Chapter 03 number system 2o-p
IIUI
 

More from IIUI (20)

Rank brain
Rank brainRank brain
Rank brain
 
Chapter 10 cs 2o-p
Chapter 10 cs 2o-pChapter 10 cs 2o-p
Chapter 10 cs 2o-p
 
Chapter 09 io devices 3o-p
Chapter 09 io devices 3o-pChapter 09 io devices 3o-p
Chapter 09 io devices 3o-p
 
Chapter 09 io devices 2o-p
Chapter 09 io devices 2o-pChapter 09 io devices 2o-p
Chapter 09 io devices 2o-p
 
Chapter 09 io devices
Chapter 09 io devicesChapter 09 io devices
Chapter 09 io devices
 
Chapter 08 secondary storage 3o-p
Chapter 08 secondary storage 3o-pChapter 08 secondary storage 3o-p
Chapter 08 secondary storage 3o-p
 
Chapter 08 secondary storage 2o-p
Chapter 08 secondary storage 2o-pChapter 08 secondary storage 2o-p
Chapter 08 secondary storage 2o-p
 
Chapter 08 secondary storage
Chapter 08 secondary storageChapter 08 secondary storage
Chapter 08 secondary storage
 
Chapter 07 pam 3o-p
Chapter 07 pam 3o-pChapter 07 pam 3o-p
Chapter 07 pam 3o-p
 
Chapter 07 pam 2o-p
Chapter 07 pam 2o-pChapter 07 pam 2o-p
Chapter 07 pam 2o-p
 
Chapter 07 pam
Chapter 07 pamChapter 07 pam
Chapter 07 pam
 
Chapter 06 boolean algebra 3o-p
Chapter 06 boolean algebra 3o-pChapter 06 boolean algebra 3o-p
Chapter 06 boolean algebra 3o-p
 
Chapter 06 boolean algebra 2o-p
Chapter 06 boolean algebra 2o-pChapter 06 boolean algebra 2o-p
Chapter 06 boolean algebra 2o-p
 
Chapter 06 boolean algebra
Chapter 06 boolean algebraChapter 06 boolean algebra
Chapter 06 boolean algebra
 
Chapter 05 computer arithmetic 2o-p
Chapter 05 computer arithmetic 2o-pChapter 05 computer arithmetic 2o-p
Chapter 05 computer arithmetic 2o-p
 
Chapter 05 computer arithmetic
Chapter 05 computer arithmeticChapter 05 computer arithmetic
Chapter 05 computer arithmetic
 
Chapter 04 computer codes 3o-p
Chapter 04 computer codes 3o-pChapter 04 computer codes 3o-p
Chapter 04 computer codes 3o-p
 
Chapter 04 computer codes
Chapter 04 computer codesChapter 04 computer codes
Chapter 04 computer codes
 
Chapter 03 number system 3o-p
Chapter 03 number system 3o-pChapter 03 number system 3o-p
Chapter 03 number system 3o-p
 
Chapter 03 number system 2o-p
Chapter 03 number system 2o-pChapter 03 number system 2o-p
Chapter 03 number system 2o-p
 

Recently uploaded

Top Benefits of Using Salesforce Healthcare CRM for Patient Management.pdf
Top Benefits of Using Salesforce Healthcare CRM for Patient Management.pdfTop Benefits of Using Salesforce Healthcare CRM for Patient Management.pdf
Top Benefits of Using Salesforce Healthcare CRM for Patient Management.pdf
VALiNTRY360
 
Unveiling the Advantages of Agile Software Development.pdf
Unveiling the Advantages of Agile Software Development.pdfUnveiling the Advantages of Agile Software Development.pdf
Unveiling the Advantages of Agile Software Development.pdf
brainerhub1
 
Everything You Need to Know About X-Sign: The eSign Functionality of XfilesPr...
Everything You Need to Know About X-Sign: The eSign Functionality of XfilesPr...Everything You Need to Know About X-Sign: The eSign Functionality of XfilesPr...
Everything You Need to Know About X-Sign: The eSign Functionality of XfilesPr...
XfilesPro
 
E-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian Companies
E-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian CompaniesE-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian Companies
E-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian Companies
Quickdice ERP
 
DECODING JAVA THREAD DUMPS: MASTER THE ART OF ANALYSIS
DECODING JAVA THREAD DUMPS: MASTER THE ART OF ANALYSISDECODING JAVA THREAD DUMPS: MASTER THE ART OF ANALYSIS
DECODING JAVA THREAD DUMPS: MASTER THE ART OF ANALYSIS
Tier1 app
 
The Rising Future of CPaaS in the Middle East 2024
The Rising Future of CPaaS in the Middle East 2024The Rising Future of CPaaS in the Middle East 2024
The Rising Future of CPaaS in the Middle East 2024
Yara Milbes
 
Safelyio Toolbox Talk Softwate & App (How To Digitize Safety Meetings)
Safelyio Toolbox Talk Softwate & App (How To Digitize Safety Meetings)Safelyio Toolbox Talk Softwate & App (How To Digitize Safety Meetings)
Safelyio Toolbox Talk Softwate & App (How To Digitize Safety Meetings)
safelyiotech
 
What’s New in Odoo 17 – A Complete Roadmap
What’s New in Odoo 17 – A Complete RoadmapWhat’s New in Odoo 17 – A Complete Roadmap
What’s New in Odoo 17 – A Complete Roadmap
Envertis Software Solutions
 
ACE - Team 24 Wrapup event at ahmedabad.
ACE - Team 24 Wrapup event at ahmedabad.ACE - Team 24 Wrapup event at ahmedabad.
ACE - Team 24 Wrapup event at ahmedabad.
Maitrey Patel
 
Preparing Non - Technical Founders for Engaging a Tech Agency
Preparing Non - Technical Founders for Engaging  a  Tech AgencyPreparing Non - Technical Founders for Engaging  a  Tech Agency
Preparing Non - Technical Founders for Engaging a Tech Agency
ISH Technologies
 
14 th Edition of International conference on computer vision
14 th Edition of International conference on computer vision14 th Edition of International conference on computer vision
14 th Edition of International conference on computer vision
ShulagnaSarkar2
 
GreenCode-A-VSCode-Plugin--Dario-Jurisic
GreenCode-A-VSCode-Plugin--Dario-JurisicGreenCode-A-VSCode-Plugin--Dario-Jurisic
GreenCode-A-VSCode-Plugin--Dario-Jurisic
Green Software Development
 
Why Apache Kafka Clusters Are Like Galaxies (And Other Cosmic Kafka Quandarie...
Why Apache Kafka Clusters Are Like Galaxies (And Other Cosmic Kafka Quandarie...Why Apache Kafka Clusters Are Like Galaxies (And Other Cosmic Kafka Quandarie...
Why Apache Kafka Clusters Are Like Galaxies (And Other Cosmic Kafka Quandarie...
Paul Brebner
 
Enums On Steroids - let's look at sealed classes !
Enums On Steroids - let's look at sealed classes !Enums On Steroids - let's look at sealed classes !
Enums On Steroids - let's look at sealed classes !
Marcin Chrost
 
如何办理(hull学位证书)英国赫尔大学毕业证硕士文凭原版一模一样
如何办理(hull学位证书)英国赫尔大学毕业证硕士文凭原版一模一样如何办理(hull学位证书)英国赫尔大学毕业证硕士文凭原版一模一样
如何办理(hull学位证书)英国赫尔大学毕业证硕士文凭原版一模一样
gapen1
 
UI5con 2024 - Bring Your Own Design System
UI5con 2024 - Bring Your Own Design SystemUI5con 2024 - Bring Your Own Design System
UI5con 2024 - Bring Your Own Design System
Peter Muessig
 
Energy consumption of Database Management - Florina Jonuzi
Energy consumption of Database Management - Florina JonuziEnergy consumption of Database Management - Florina Jonuzi
Energy consumption of Database Management - Florina Jonuzi
Green Software Development
 
ALGIT - Assembly Line for Green IT - Numbers, Data, Facts
ALGIT - Assembly Line for Green IT - Numbers, Data, FactsALGIT - Assembly Line for Green IT - Numbers, Data, Facts
ALGIT - Assembly Line for Green IT - Numbers, Data, Facts
Green Software Development
 
Migration From CH 1.0 to CH 2.0 and Mule 4.6 & Java 17 Upgrade.pptx
Migration From CH 1.0 to CH 2.0 and  Mule 4.6 & Java 17 Upgrade.pptxMigration From CH 1.0 to CH 2.0 and  Mule 4.6 & Java 17 Upgrade.pptx
Migration From CH 1.0 to CH 2.0 and Mule 4.6 & Java 17 Upgrade.pptx
ervikas4
 
Unlock the Secrets to Effortless Video Creation with Invideo: Your Ultimate G...
Unlock the Secrets to Effortless Video Creation with Invideo: Your Ultimate G...Unlock the Secrets to Effortless Video Creation with Invideo: Your Ultimate G...
Unlock the Secrets to Effortless Video Creation with Invideo: Your Ultimate G...
The Third Creative Media
 

Recently uploaded (20)

Top Benefits of Using Salesforce Healthcare CRM for Patient Management.pdf
Top Benefits of Using Salesforce Healthcare CRM for Patient Management.pdfTop Benefits of Using Salesforce Healthcare CRM for Patient Management.pdf
Top Benefits of Using Salesforce Healthcare CRM for Patient Management.pdf
 
Unveiling the Advantages of Agile Software Development.pdf
Unveiling the Advantages of Agile Software Development.pdfUnveiling the Advantages of Agile Software Development.pdf
Unveiling the Advantages of Agile Software Development.pdf
 
Everything You Need to Know About X-Sign: The eSign Functionality of XfilesPr...
Everything You Need to Know About X-Sign: The eSign Functionality of XfilesPr...Everything You Need to Know About X-Sign: The eSign Functionality of XfilesPr...
Everything You Need to Know About X-Sign: The eSign Functionality of XfilesPr...
 
E-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian Companies
E-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian CompaniesE-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian Companies
E-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian Companies
 
DECODING JAVA THREAD DUMPS: MASTER THE ART OF ANALYSIS
DECODING JAVA THREAD DUMPS: MASTER THE ART OF ANALYSISDECODING JAVA THREAD DUMPS: MASTER THE ART OF ANALYSIS
DECODING JAVA THREAD DUMPS: MASTER THE ART OF ANALYSIS
 
The Rising Future of CPaaS in the Middle East 2024
The Rising Future of CPaaS in the Middle East 2024The Rising Future of CPaaS in the Middle East 2024
The Rising Future of CPaaS in the Middle East 2024
 
Safelyio Toolbox Talk Softwate & App (How To Digitize Safety Meetings)
Safelyio Toolbox Talk Softwate & App (How To Digitize Safety Meetings)Safelyio Toolbox Talk Softwate & App (How To Digitize Safety Meetings)
Safelyio Toolbox Talk Softwate & App (How To Digitize Safety Meetings)
 
What’s New in Odoo 17 – A Complete Roadmap
What’s New in Odoo 17 – A Complete RoadmapWhat’s New in Odoo 17 – A Complete Roadmap
What’s New in Odoo 17 – A Complete Roadmap
 
ACE - Team 24 Wrapup event at ahmedabad.
ACE - Team 24 Wrapup event at ahmedabad.ACE - Team 24 Wrapup event at ahmedabad.
ACE - Team 24 Wrapup event at ahmedabad.
 
Preparing Non - Technical Founders for Engaging a Tech Agency
Preparing Non - Technical Founders for Engaging  a  Tech AgencyPreparing Non - Technical Founders for Engaging  a  Tech Agency
Preparing Non - Technical Founders for Engaging a Tech Agency
 
14 th Edition of International conference on computer vision
14 th Edition of International conference on computer vision14 th Edition of International conference on computer vision
14 th Edition of International conference on computer vision
 
GreenCode-A-VSCode-Plugin--Dario-Jurisic
GreenCode-A-VSCode-Plugin--Dario-JurisicGreenCode-A-VSCode-Plugin--Dario-Jurisic
GreenCode-A-VSCode-Plugin--Dario-Jurisic
 
Why Apache Kafka Clusters Are Like Galaxies (And Other Cosmic Kafka Quandarie...
Why Apache Kafka Clusters Are Like Galaxies (And Other Cosmic Kafka Quandarie...Why Apache Kafka Clusters Are Like Galaxies (And Other Cosmic Kafka Quandarie...
Why Apache Kafka Clusters Are Like Galaxies (And Other Cosmic Kafka Quandarie...
 
Enums On Steroids - let's look at sealed classes !
Enums On Steroids - let's look at sealed classes !Enums On Steroids - let's look at sealed classes !
Enums On Steroids - let's look at sealed classes !
 
如何办理(hull学位证书)英国赫尔大学毕业证硕士文凭原版一模一样
如何办理(hull学位证书)英国赫尔大学毕业证硕士文凭原版一模一样如何办理(hull学位证书)英国赫尔大学毕业证硕士文凭原版一模一样
如何办理(hull学位证书)英国赫尔大学毕业证硕士文凭原版一模一样
 
UI5con 2024 - Bring Your Own Design System
UI5con 2024 - Bring Your Own Design SystemUI5con 2024 - Bring Your Own Design System
UI5con 2024 - Bring Your Own Design System
 
Energy consumption of Database Management - Florina Jonuzi
Energy consumption of Database Management - Florina JonuziEnergy consumption of Database Management - Florina Jonuzi
Energy consumption of Database Management - Florina Jonuzi
 
ALGIT - Assembly Line for Green IT - Numbers, Data, Facts
ALGIT - Assembly Line for Green IT - Numbers, Data, FactsALGIT - Assembly Line for Green IT - Numbers, Data, Facts
ALGIT - Assembly Line for Green IT - Numbers, Data, Facts
 
Migration From CH 1.0 to CH 2.0 and Mule 4.6 & Java 17 Upgrade.pptx
Migration From CH 1.0 to CH 2.0 and  Mule 4.6 & Java 17 Upgrade.pptxMigration From CH 1.0 to CH 2.0 and  Mule 4.6 & Java 17 Upgrade.pptx
Migration From CH 1.0 to CH 2.0 and Mule 4.6 & Java 17 Upgrade.pptx
 
Unlock the Secrets to Effortless Video Creation with Invideo: Your Ultimate G...
Unlock the Secrets to Effortless Video Creation with Invideo: Your Ultimate G...Unlock the Secrets to Effortless Video Creation with Invideo: Your Ultimate G...
Unlock the Secrets to Effortless Video Creation with Invideo: Your Ultimate G...
 

Lecture 11 understanding requirements (3)

  • 1. Introduction to Software Engineering Muhammad Nasir Understanding Requirements (3) m.nasir@iiu.edu.pk
  • 2. Agenda  Requirement Elicitation  User Scenario  Specification Principles  Specification Representation  Specification Review
  • 3. Eliciting Requirement Approach for eliciting requirement:  Collaborative Requirement Gathering  Quality Function Deployment  User Scenarios  Elicitation Work Products
  • 4. User Scenario  It is difficult to move into more software engineering activities until software team understands how these functions and features will be used by different end-users.  Developers and users create a set of usage threads for the system to be constructed  “A use-case scenario is a story about how someone or something external to the software (known as an actor) interacts with the system”.
  • 5. User Scenario  Describe how the system will be used  “Each scenario is described from the point-of-view of an “actor”—a person or device that interacts with the software in some way”  It is important to note that an actor and an end user are not necessarily the same thing.
  • 7. User Scenario  A typical user may play a number of different roles when using a system.  Whereas an actor represents a class of external entities (often, but not always, people)  that play just one role in the context of the use case.
  • 8. User Scenario  After careful review of requirements, the software for a Automated Control System requires  Four different modes (roles) for interaction: programming mode, test mode, monitoring mode, and troubleshooting mode.
  • 9. User Scenario  Therefore, four actors can be defined: programmer, tester, monitor, and troubleshooter.  In some cases, the machine operator can play all of these roles.  In others, different people may play the role of each actor.
  • 10. SafeHome – Usage Scenarios  For the purposes of this example we consider only the homeowner actor.  Home Owner may interact with system in following way  Enters a password to allow all other interactions.  Inquires about the status of a security zone.  Inquires about the status of a sensor.  Presses the panic button in an emergency.  Activates/deactivates the security system.
  • 11. SafeHome – Basic Use Cases 1. The home-owner observes the SafeHome control panel to determine if the system is ready for input.  If the system is not ready, a not ready message is displayed on the LCD display, and the home-owner must physically close windows or doors  So that the not ready message disappears.  [A not ready message implies that a sensor is open; i.e., that a door or window is open.]
  • 12. SafeHome – Basic Use Cases  2. The homeowner uses the keypad to input a four-digit password.  The password is compared with the valid password stored in the system.  If the password is incorrect, the control panel will beep once and reset itself for additional input.  If the password is correct, the control panel awaits further action.
  • 13. SafeHome – Basic Use Cases  The homeowner selects and input stay or away to activate the system.  Stay activates only perimeter sensors (inside motion detecting sensors are deactivated).  Away activates all sensors
  • 14. SafeHome – Basic Use Cases  When activation occurs,  A red alarm light can be observed by the homeowner.
  • 18. Specification Principles If specification incomplete, inconsistent, or misleading specifications have experienced the frustration and confusion that invariably results. 1. Separate functionality from implementation. 2. Develop a model of the desired behavior of a system. 3. Establish the context in which software operates by specifying the manner. 4. Define the environment in which the system operates and indicate how.
  • 19. Specification Principles (cont.) 5. Create a cognitive model rather than a design or implementation model. 6. The specifications must be tolerant of incompleteness and augmentable. 7. Establish the content and structure of a specification in a way that will enable it to be amenable to change.
  • 20. Specification Representation  Representation format and content should be relevant to the problem.  For example, a specification for a manufacturing automation system might use different diagrams and language than the specification for a programming language compiler.  Information contained within the specification should be nested (layered).  Paragraph and diagram numbering schemes should indicate the level of detail that is being presented.  It is sometimes worthwhile to present the same information at different levels of abstraction to aid in understanding.
  • 21. Specification Representation  Diagrams and other notational forms should be restricted in number and consistent in use.  Confusing or inconsistent notation, whether graphical or symbolic, degrades understanding and fosters errors.  Representations should be revisable.  It contains a complete information description, a detailed functional description, a representation of system behavior, an indication of performance requirements and design constraints, appropriate validation criteria, and other information pertinent to requirements.
  • 22. Software Requirements Specification Format of SRS: Introduction of the software requirements specification states the goals and objectives of the software, describing it in the context of the computer-based system. Information content, flow, and structure are documented. Hardware, software, and human interfaces are described for external system elements and internal software functions. Functional Description A processing narrative is provided for each function, design constraints are stated and justified & performance characteristics are stated Behavioral Description operation of the software as a consequence of external events and internally generated control characteristics.
  • 23. Software Requirements Specification (Cont.) Validation Criteria is probably the most important and, ironically, the most often neglected section of the Software Requirements Specification (SRS). Testing or validating each user-scenario. Finally, the specification includes a Bibliography and Appendix. The bibliography contains references to all documents that relate to the software. The appendix contains information that supplements the specifications
  • 24. Specification Review  A review of the SRS (and/or prototype) is conducted by both the software development team and the customer.  Conducted at a macroscopic level  Ensure that specification is complete  Consistent  Accurate (Information, functional and behavioral domain considered).  Review becomes more detailed while examining Information, functional and behavioral domain.  Examining not only broad descriptions but the way in which requirement worded. E.g. Terms like “Vague ” (some, sometimes, often, usually) should be flag by reviewer for further clarification.
  • 25. Review (cont.)  Once review is complete – SRS “signed off” by both customer and vendor. ( “contract” for software development)  Requests for changes in requirements after the specification is finalized will not be eliminated.  Change is an extension of software scope and therefore can increase cost and/or delivery time of product.  During the review, changes to the specification may be recommended.  It can be extremely difficult to assess the global impact of a change; that is, how a change in one function affects requirements for other functions
  • 26. The End  Thanks for listening  Questions would be appreciated.

Editor's Notes

  1. An Actor models a type of role played by an entity that interacts with the subject (e.g., by exchanging signals and data), but which is external to the subject
  2. Augment: To increase or make greater, as in value, beauty, or reputation Amenable : Responsive to advice, authority, or suggestion