SlideShare a Scribd company logo
1 of 16
SE-381
Software Engineering
BEIT-V
Lecture no. 15
Requirements Engineering (1 of 3)
Recap
– Till now, we have covered, various models for
Software Development Process
– In home reading, Ch-02 of Pankaj Jalot; An Integrated
Approach to Software Engineering, 2005; the
remaining processes i.e.
• Project Management Process, Software Configuration
Process, Inspection Process and Process Management
Process
• ISO and CMM Processes for assuring quality and improving
the process of sw development or Process Management
Process
were to be read and covered by yourselves, but were
covered in class as well.
– Now we move on the different phases of Software
Development Process
Feasibility Study
Requirements Engineering or
Specification
Ref: Ch – 4 ‘ Requirements Engineering’ of [Bel05]
Ch – 3 ‘Software Requirements Analysis and Specifications’ [Jal05]
Ch – 10 ‘Requirements’ [Sch07] and Ch-7 ‘Requirements Phase’ [Sch96]
• 1st stage of Sw Development, it is to know ‘What’ does user
want
• User could be the client, sometimes very naïve and ignorant
but sometimes ‘too’ smart to believe computers could do
everything as in science fiction movies
• Requirements provided by the user are usually very vague,
ill-defined and ambiguous, and you are lucky, if otherwise
• One of the most important phases of the SD and consumes
about 33% of the SD effort
• Unless we can precisely define ‘What is needed’ we cannot
implement it
• After determining Requirements Specification, then it is used
through out that how well the system is implemented and
system is verified that it don’t contain errors - Verification
• Eradication of Requirement Specification errors cost 200-400
times more for their correction in implementation or later
stages, secondly, about 50% of errors are generated from
this phase
• Easy to write poor Requirement Specifications than to write
good precise specifications.
• Requirements Specifications cannot be written once and
frozen, instead these keep changing as the system is
developed and user requirements are clarified and refined.
• Engineers have been writing them for generations, For
example Requirement Specification for a Railway
Locomotive:
On a dry track, the locomotive must be able to start a
train of up to 1000 tonnes on an incline of up to 30% with
an acceleration of at least 30 km/h/h
• Requirements Engineering consists of Requirement
Elicitation, Requirements Analysis and Requirements
Specification; three parts, the Output is SRS Document
• SRS tells us, ‘What does the user want?’ in above case the
user is the Railway company
• Don’t discuss the ‘How’ part, i.e. how it is going to be
implemented, Eg in above case, no mention of fuel being
used by the locomotive, or wheel arrangement etc
• It provides measures for Testability of the product here load
carrying capacity, slope and acceleration
• At Requirement Specification stage, Whether the
implementation constraints should be considered? Or not!
– For – Not as the user is not knowledgeable and would
complicate the requirements
– Against – Yes, for legacy systems, most of the Requirement
Specs are coming from the implemented system’s design; For
some complicated systems, say, Response time of ½ second of
the system, required by the user may not be technically
possible on a low-end P-IV machine, so better not to commit.
Qualities of a Specification / SRS
• Specification should confine to ‘What’ part
• A good Specification should have following characteristics:
– Implementation free – What is needed, not How it is achieved
– Complete – there is nothing missing
– Consistent – no individual requirement contradicts any other
– Unambiguous – each requirement has single interpretation
– Concise – each requirement is stated once only, without
duplication
– Minimal – there are no unnecessary ingredients
– Understandable – by both the client and the developers
– Achievable – the requirement is technically feasible
– Modifiable – as writing SRS is an iterative process to
accommodate changes it should be easy to update or change
– Traceable – all requirements could be traced forward to Design
and Code (and so should have reference)
– Testable – it can be demonstrated that requirements can be
met
• The above could be used as a Checklist when Requirement
Specifications are drawn and to examine and improve them
• Apply the above checklist on
Write a JAVA program to provide a personal telephone
directory. It should implement functions to look up a
number and to enter a new telephone number. The
program should provide a friendly user interface.
and Compare it with the specification of locomotive i.e.
On a dry track, the locomotive must be able to start a train of up to
1000 tonnes on an incline of up to 30% with an acceleration of at
least 30 km/h/h
• In Natural language, vagueness and clarity (single
interpretation) are common problems, hence instead of
informal methods, some semi- formal and formal methods
are introduced, but these constrain the users
understandability of SRS document
• SDLs (Specification Description Languages) have been
devised and other graphical-cum-textual methods are used
• PSL/PSAs Problem Statement Languages and Problem
Statement Analyzers and RSL (Requirements Statement
Languages) REVS (Requirements Engineering Validation
Systems) have been introduced to help System Analysts but
these are very domain (and author) specific [Jlo98;pp53-55]
Requirements Engineering Phase
– Requirements Engineering Phase comprises of three
parts
• Requirements gathering or Elicitation
– Listening part – developer listens to and discusses with the
users/clients to get their requirements
• Requirements Analysis
– Thinking part – developers transform the users requirements
into a form that these can be delivered by the system
• Requirements Specification
– Writing part – developers write down the SRS document
• Output – is Software Requirements Specifications (SRS) a
formal document that can be used for Verification (during the
development process) and Validation (by the Client at the
end of development) of the produced product.
• SRS is a keynote deliverable and there are many approved
formats by different standardization authorities, like IEEE
1987 and 1994 standards.
• Requirements gathering and Analysis
– Different methods like interviews, surveys, discussions, meetings,
visits, questionnaires etc are used to elicit information from the
user and client
– Information is systematically recorded and using different methods
it is analyzed, modeled and confirmed from the user and
deficiencies, if any, are removed. Usual methods are
» Data Flow Diagrams – to demonstrate or model data flows in
the system
» Entity Relationship Diagrams – to identify main data
structures and sources in the system
» Structured Charts – to show different parts of the system
and their interfaces
» Data Dictionary – to correlate the definition and use of
different data elements by different components of the system
» Structured English – to write down the working of different
components of the system
– The top two are the methods for Requirements Analysis and
they form the basis for Architectural and Detailed Design
Stages as well.
– These all are related to the INTERNAL structure of the program,
helping to understand and model that HOW the required
functionality will be provided
– For EXTERNAL structure we use USE CASE Model to
identify what different users or stakeholders are
expecting from the system. This concentrates on What
part.
– Use Cases are the descriptions of various scenarios and
interactions which will benefit the Users of the system
• Requirements Specifications
– The findings of Requirements Elicitation and
Requirements Analysis stages are documented
– The essential components of the SRS Document are …
Components of an SRS Document
• The SRS Document must address the following basic issues.
And this can also work as checklist for the contents of SRS
document.
– The Functional Requirements
– The Data Requirements
– Performance Requirements
– Design Constraints imposed on an implementation
– External Interfaces
– Guidelines
• The Functional Requirements
– These are the real essence of SRS,
– They state what the system should do.
– Verbs characterize the functions to be performed
• The Data Requirements – should include
– Users’ data i.e. input/output of the system via any of the I/O
devices Keyboard, mouse, Screen etc
– Data that is stored within the system
– Information passed to or from another user or a computer system
• Performance Requirements – are the measures of
performance, sometimes needed to test the system
– Cost, Delivery date, Response time
– Data volumes – must store the data of 180M Pak Nationals
– Throughput or Loading levels – 1K transactions per min
– Reliability Requirements – MTBF (mean Time Between Failures)
be 6 months
– Security Requirements – unauthorized access to enter data
• Constraints – are influences on the implementation of the
system Eg The system must be written in JAVA; Application to find Qibla
and Prayer Timings for iPhone (eg Salat-o-Falah by Jin Technologies)
– These may be related to Hw, Memory Available, Programming
Language, Interoperability (can Salat-o-Falah be ported to
Andriod platform?)
• Guidelines – provide useful direction for the implementation in
situation where there may be more than one implementation
strategy
References for the lecture
[Bel05] Douglas Bell; Software Engineering for Students, 4th
Ed, Pearson Education, LPE, New Delhi, Ch-4
[Jal91,Jal97, Jal05] Pankaj Jalote; Integrated Approach to
Software Engineering; Revised and 2nd Editions, Narosa
Publishing House, New Delhi, Ch-2, 3rd Edition Ch-3
[Sch96] Stephen R Schach; Classical and OO Software
Engineering, 3rd Edition, McGraw Hill Inc. Ch-7
‘Requirements Phase’
[Sch07] Stephen Schach; Software Engineering, 7th Edition,
Tata McGraw Hill Publishing Co, New Delhi, Ch-10
‘Requirements’
[IEE87] IEEE, Software Engineering Standards, IEEE Press,
1987
[IEE94] IEEE, IEEE Software Engineering Standards
Collection, 1994 Edition, IEEE Press, 1994
Home Reading
– [Jal97] Ch-3 sections relating to Requirement
Analysis and SRS Document Formats
– [Bal05] Ch-4 ‘Requirements Engineering’ and
Ch-3 ‘Feasibility Study’

More Related Content

What's hot

2 software requirements-02
2 software requirements-022 software requirements-02
2 software requirements-02
Zaman Khan
 
Requirement change management
Requirement change managementRequirement change management
Requirement change management
Abdul Basit
 
Software Engineering - Ch6
Software Engineering - Ch6Software Engineering - Ch6
Software Engineering - Ch6
Siddharth Ayer
 

What's hot (20)

Requirement analysis and UML modelling in Software engineering
Requirement analysis and UML modelling in Software engineeringRequirement analysis and UML modelling in Software engineering
Requirement analysis and UML modelling in Software engineering
 
Software engineering
Software engineeringSoftware engineering
Software engineering
 
CS8494 SOFTWARE ENGINEERING Unit-2
CS8494 SOFTWARE ENGINEERING Unit-2CS8494 SOFTWARE ENGINEERING Unit-2
CS8494 SOFTWARE ENGINEERING Unit-2
 
Chapter 3 requirements
Chapter 3 requirementsChapter 3 requirements
Chapter 3 requirements
 
CS8494 SOFTWARE ENGINEERING Unit-4
CS8494 SOFTWARE ENGINEERING Unit-4CS8494 SOFTWARE ENGINEERING Unit-4
CS8494 SOFTWARE ENGINEERING Unit-4
 
Un it 2-se-mod-staff
Un it 2-se-mod-staffUn it 2-se-mod-staff
Un it 2-se-mod-staff
 
business requirements functional and non functional
business requirements functional and  non functionalbusiness requirements functional and  non functional
business requirements functional and non functional
 
Designing multimedia
Designing multimediaDesigning multimedia
Designing multimedia
 
Pega JDs
Pega JDsPega JDs
Pega JDs
 
Software Design - SDLC Model
Software Design - SDLC ModelSoftware Design - SDLC Model
Software Design - SDLC Model
 
software engineering
software engineeringsoftware engineering
software engineering
 
2 software requirements-02
2 software requirements-022 software requirements-02
2 software requirements-02
 
software Engineering process
software Engineering processsoftware Engineering process
software Engineering process
 
Requirement change management
Requirement change managementRequirement change management
Requirement change management
 
Software design methodologies
Software design methodologiesSoftware design methodologies
Software design methodologies
 
Software Engineering - Ch6
Software Engineering - Ch6Software Engineering - Ch6
Software Engineering - Ch6
 
Use case diagrams
Use case diagramsUse case diagrams
Use case diagrams
 
Ch6
Ch6Ch6
Ch6
 
Lecture 2 (Software Processes)
Lecture 2 (Software Processes)Lecture 2 (Software Processes)
Lecture 2 (Software Processes)
 
RamPravesh_Kumar
RamPravesh_KumarRamPravesh_Kumar
RamPravesh_Kumar
 

Viewers also liked

Object Oriented Programming Concepts
Object Oriented Programming ConceptsObject Oriented Programming Concepts
Object Oriented Programming Concepts
thinkphp
 
Analysis concepts and principles
Analysis concepts and principlesAnalysis concepts and principles
Analysis concepts and principles
saurabhshertukde
 
Ch9-Software Engineering 9
Ch9-Software Engineering 9Ch9-Software Engineering 9
Ch9-Software Engineering 9
Ian Sommerville
 
Ch7-Software Engineering 9
Ch7-Software Engineering 9Ch7-Software Engineering 9
Ch7-Software Engineering 9
Ian Sommerville
 
Ch8-Software Engineering 9
Ch8-Software Engineering 9Ch8-Software Engineering 9
Ch8-Software Engineering 9
Ian Sommerville
 
Object Oriented Design in Software Engineering SE12
Object Oriented Design in Software Engineering SE12Object Oriented Design in Software Engineering SE12
Object Oriented Design in Software Engineering SE12
koolkampus
 
Ch6-Software Engineering 9
Ch6-Software Engineering 9Ch6-Software Engineering 9
Ch6-Software Engineering 9
Ian Sommerville
 
Ch5- Software Engineering 9
Ch5- Software Engineering 9Ch5- Software Engineering 9
Ch5- Software Engineering 9
Ian Sommerville
 

Viewers also liked (20)

Object Oriented Software Engineering
Object Oriented Software EngineeringObject Oriented Software Engineering
Object Oriented Software Engineering
 
Object Oriented Programming Concepts
Object Oriented Programming ConceptsObject Oriented Programming Concepts
Object Oriented Programming Concepts
 
Characteristics of OOPS
Characteristics of OOPS Characteristics of OOPS
Characteristics of OOPS
 
Object relationship model of software engineering,a subtopic of object orient...
Object relationship model of software engineering,a subtopic of object orient...Object relationship model of software engineering,a subtopic of object orient...
Object relationship model of software engineering,a subtopic of object orient...
 
N-tier and oop - moving across technologies
N-tier and oop - moving across technologiesN-tier and oop - moving across technologies
N-tier and oop - moving across technologies
 
Object Oriented Software Engineering
Object Oriented Software EngineeringObject Oriented Software Engineering
Object Oriented Software Engineering
 
SRS(software requirement specification)
SRS(software requirement specification)SRS(software requirement specification)
SRS(software requirement specification)
 
Analysis concepts and principles
Analysis concepts and principlesAnalysis concepts and principles
Analysis concepts and principles
 
Ch9-Software Engineering 9
Ch9-Software Engineering 9Ch9-Software Engineering 9
Ch9-Software Engineering 9
 
Ch7-Software Engineering 9
Ch7-Software Engineering 9Ch7-Software Engineering 9
Ch7-Software Engineering 9
 
Uml
UmlUml
Uml
 
Ch8-Software Engineering 9
Ch8-Software Engineering 9Ch8-Software Engineering 9
Ch8-Software Engineering 9
 
Software Engineering unit 2
Software Engineering unit 2Software Engineering unit 2
Software Engineering unit 2
 
Object Oriented Design in Software Engineering SE12
Object Oriented Design in Software Engineering SE12Object Oriented Design in Software Engineering SE12
Object Oriented Design in Software Engineering SE12
 
Ch6-Software Engineering 9
Ch6-Software Engineering 9Ch6-Software Engineering 9
Ch6-Software Engineering 9
 
OOPS Characteristics
OOPS CharacteristicsOOPS Characteristics
OOPS Characteristics
 
electrical locomotive report for final students
electrical locomotive report for final studentselectrical locomotive report for final students
electrical locomotive report for final students
 
Requirement Management 1
Requirement Management 1Requirement Management 1
Requirement Management 1
 
Ch5- Software Engineering 9
Ch5- Software Engineering 9Ch5- Software Engineering 9
Ch5- Software Engineering 9
 
srs for railway reservation system
 srs for railway reservation system srs for railway reservation system
srs for railway reservation system
 

Similar to Beit 381 se lec 15 - 16 - 12 mar27 - req engg 1 of 3

1 Software Requirements Descriptions and specification.docx
1 Software Requirements Descriptions and specification.docx1 Software Requirements Descriptions and specification.docx
1 Software Requirements Descriptions and specification.docx
jeremylockett77
 
Se lect11 btech
Se lect11 btechSe lect11 btech
Se lect11 btech
IIITA
 
Software engineering lecture notes
Software engineering lecture notesSoftware engineering lecture notes
Software engineering lecture notes
Siva Ayyakutti
 

Similar to Beit 381 se lec 15 - 16 - 12 mar27 - req engg 1 of 3 (20)

sdlc.pptx
sdlc.pptxsdlc.pptx
sdlc.pptx
 
Software requirement and specification
Software requirement and specificationSoftware requirement and specification
Software requirement and specification
 
Software requirement and specification
Software requirement and specificationSoftware requirement and specification
Software requirement and specification
 
SE UNIT 2.pdf
SE UNIT 2.pdfSE UNIT 2.pdf
SE UNIT 2.pdf
 
1 Software Requirements Descriptions and specification.docx
1 Software Requirements Descriptions and specification.docx1 Software Requirements Descriptions and specification.docx
1 Software Requirements Descriptions and specification.docx
 
Software Engineering Lec 4-requirments
Software Engineering Lec 4-requirmentsSoftware Engineering Lec 4-requirments
Software Engineering Lec 4-requirments
 
Se lect11 btech
Se lect11 btechSe lect11 btech
Se lect11 btech
 
SE Unit 2(1).pptx
SE Unit 2(1).pptxSE Unit 2(1).pptx
SE Unit 2(1).pptx
 
2nd MODULE Software Requirements _ SW ENGG 22CSE141.pdf
2nd MODULE  Software Requirements   _ SW ENGG  22CSE141.pdf2nd MODULE  Software Requirements   _ SW ENGG  22CSE141.pdf
2nd MODULE Software Requirements _ SW ENGG 22CSE141.pdf
 
Software Development Life Cycle (SDLC )
Software Development Life Cycle (SDLC )Software Development Life Cycle (SDLC )
Software Development Life Cycle (SDLC )
 
Software engineering lecture notes
Software engineering lecture notesSoftware engineering lecture notes
Software engineering lecture notes
 
Software requirements specifications documents pdf
Software requirements specifications documents pdfSoftware requirements specifications documents pdf
Software requirements specifications documents pdf
 
Performance Assurance for Packaged Applications
Performance Assurance for Packaged ApplicationsPerformance Assurance for Packaged Applications
Performance Assurance for Packaged Applications
 
Req specification
Req specificationReq specification
Req specification
 
software requirement specifcation.pptx
software requirement specifcation.pptxsoftware requirement specifcation.pptx
software requirement specifcation.pptx
 
Development Guideline
Development GuidelineDevelopment Guideline
Development Guideline
 
Software process Models
Software process ModelsSoftware process Models
Software process Models
 
Requirements engineering
Requirements engineeringRequirements engineering
Requirements engineering
 
Se week 4
Se week 4Se week 4
Se week 4
 
Se week 4
Se week 4Se week 4
Se week 4
 

More from babak danyal

Lecture1 Intro To Signa
Lecture1 Intro To SignaLecture1 Intro To Signa
Lecture1 Intro To Signa
babak danyal
 

More from babak danyal (20)

applist
applistapplist
applist
 
Easy Steps to implement UDP Server and Client Sockets
Easy Steps to implement UDP Server and Client SocketsEasy Steps to implement UDP Server and Client Sockets
Easy Steps to implement UDP Server and Client Sockets
 
Java IO Package and Streams
Java IO Package and StreamsJava IO Package and Streams
Java IO Package and Streams
 
Swing and Graphical User Interface in Java
Swing and Graphical User Interface in JavaSwing and Graphical User Interface in Java
Swing and Graphical User Interface in Java
 
Tcp sockets
Tcp socketsTcp sockets
Tcp sockets
 
block ciphers and the des
block ciphers and the desblock ciphers and the des
block ciphers and the des
 
key distribution in network security
key distribution in network securitykey distribution in network security
key distribution in network security
 
Lecture10 Signal and Systems
Lecture10 Signal and SystemsLecture10 Signal and Systems
Lecture10 Signal and Systems
 
Lecture8 Signal and Systems
Lecture8 Signal and SystemsLecture8 Signal and Systems
Lecture8 Signal and Systems
 
Lecture7 Signal and Systems
Lecture7 Signal and SystemsLecture7 Signal and Systems
Lecture7 Signal and Systems
 
Lecture6 Signal and Systems
Lecture6 Signal and SystemsLecture6 Signal and Systems
Lecture6 Signal and Systems
 
Lecture5 Signal and Systems
Lecture5 Signal and SystemsLecture5 Signal and Systems
Lecture5 Signal and Systems
 
Lecture4 Signal and Systems
Lecture4  Signal and SystemsLecture4  Signal and Systems
Lecture4 Signal and Systems
 
Lecture3 Signal and Systems
Lecture3 Signal and SystemsLecture3 Signal and Systems
Lecture3 Signal and Systems
 
Lecture2 Signal and Systems
Lecture2 Signal and SystemsLecture2 Signal and Systems
Lecture2 Signal and Systems
 
Lecture1 Intro To Signa
Lecture1 Intro To SignaLecture1 Intro To Signa
Lecture1 Intro To Signa
 
Lecture9 Signal and Systems
Lecture9 Signal and SystemsLecture9 Signal and Systems
Lecture9 Signal and Systems
 
Lecture9
Lecture9Lecture9
Lecture9
 
Cns 13f-lec03- Classical Encryption Techniques
Cns 13f-lec03- Classical Encryption TechniquesCns 13f-lec03- Classical Encryption Techniques
Cns 13f-lec03- Classical Encryption Techniques
 
Classical Encryption Techniques in Network Security
Classical Encryption Techniques in Network SecurityClassical Encryption Techniques in Network Security
Classical Encryption Techniques in Network Security
 

Recently uploaded

Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
ZurliaSoop
 
Seal of Good Local Governance (SGLG) 2024Final.pptx
Seal of Good Local Governance (SGLG) 2024Final.pptxSeal of Good Local Governance (SGLG) 2024Final.pptx
Seal of Good Local Governance (SGLG) 2024Final.pptx
negromaestrong
 
Activity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdfActivity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdf
ciinovamais
 
1029-Danh muc Sach Giao Khoa khoi 6.pdf
1029-Danh muc Sach Giao Khoa khoi  6.pdf1029-Danh muc Sach Giao Khoa khoi  6.pdf
1029-Danh muc Sach Giao Khoa khoi 6.pdf
QucHHunhnh
 

Recently uploaded (20)

Introduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The BasicsIntroduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The Basics
 
How to Manage Global Discount in Odoo 17 POS
How to Manage Global Discount in Odoo 17 POSHow to Manage Global Discount in Odoo 17 POS
How to Manage Global Discount in Odoo 17 POS
 
Application orientated numerical on hev.ppt
Application orientated numerical on hev.pptApplication orientated numerical on hev.ppt
Application orientated numerical on hev.ppt
 
Unit-IV- Pharma. Marketing Channels.pptx
Unit-IV- Pharma. Marketing Channels.pptxUnit-IV- Pharma. Marketing Channels.pptx
Unit-IV- Pharma. Marketing Channels.pptx
 
Spatium Project Simulation student brief
Spatium Project Simulation student briefSpatium Project Simulation student brief
Spatium Project Simulation student brief
 
ICT role in 21st century education and it's challenges.
ICT role in 21st century education and it's challenges.ICT role in 21st century education and it's challenges.
ICT role in 21st century education and it's challenges.
 
Food safety_Challenges food safety laboratories_.pdf
Food safety_Challenges food safety laboratories_.pdfFood safety_Challenges food safety laboratories_.pdf
Food safety_Challenges food safety laboratories_.pdf
 
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
 
Understanding Accommodations and Modifications
Understanding  Accommodations and ModificationsUnderstanding  Accommodations and Modifications
Understanding Accommodations and Modifications
 
This PowerPoint helps students to consider the concept of infinity.
This PowerPoint helps students to consider the concept of infinity.This PowerPoint helps students to consider the concept of infinity.
This PowerPoint helps students to consider the concept of infinity.
 
General Principles of Intellectual Property: Concepts of Intellectual Proper...
General Principles of Intellectual Property: Concepts of Intellectual  Proper...General Principles of Intellectual Property: Concepts of Intellectual  Proper...
General Principles of Intellectual Property: Concepts of Intellectual Proper...
 
Seal of Good Local Governance (SGLG) 2024Final.pptx
Seal of Good Local Governance (SGLG) 2024Final.pptxSeal of Good Local Governance (SGLG) 2024Final.pptx
Seal of Good Local Governance (SGLG) 2024Final.pptx
 
On National Teacher Day, meet the 2024-25 Kenan Fellows
On National Teacher Day, meet the 2024-25 Kenan FellowsOn National Teacher Day, meet the 2024-25 Kenan Fellows
On National Teacher Day, meet the 2024-25 Kenan Fellows
 
ComPTIA Overview | Comptia Security+ Book SY0-701
ComPTIA Overview | Comptia Security+ Book SY0-701ComPTIA Overview | Comptia Security+ Book SY0-701
ComPTIA Overview | Comptia Security+ Book SY0-701
 
Kodo Millet PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...
Kodo Millet  PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...Kodo Millet  PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...
Kodo Millet PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...
 
Holdier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdfHoldier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdf
 
2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx
2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx
2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx
 
Activity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdfActivity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdf
 
1029-Danh muc Sach Giao Khoa khoi 6.pdf
1029-Danh muc Sach Giao Khoa khoi  6.pdf1029-Danh muc Sach Giao Khoa khoi  6.pdf
1029-Danh muc Sach Giao Khoa khoi 6.pdf
 
Accessible Digital Futures project (20/03/2024)
Accessible Digital Futures project (20/03/2024)Accessible Digital Futures project (20/03/2024)
Accessible Digital Futures project (20/03/2024)
 

Beit 381 se lec 15 - 16 - 12 mar27 - req engg 1 of 3

  • 1. SE-381 Software Engineering BEIT-V Lecture no. 15 Requirements Engineering (1 of 3)
  • 2. Recap – Till now, we have covered, various models for Software Development Process – In home reading, Ch-02 of Pankaj Jalot; An Integrated Approach to Software Engineering, 2005; the remaining processes i.e. • Project Management Process, Software Configuration Process, Inspection Process and Process Management Process • ISO and CMM Processes for assuring quality and improving the process of sw development or Process Management Process were to be read and covered by yourselves, but were covered in class as well. – Now we move on the different phases of Software Development Process
  • 4. Requirements Engineering or Specification Ref: Ch – 4 ‘ Requirements Engineering’ of [Bel05] Ch – 3 ‘Software Requirements Analysis and Specifications’ [Jal05] Ch – 10 ‘Requirements’ [Sch07] and Ch-7 ‘Requirements Phase’ [Sch96] • 1st stage of Sw Development, it is to know ‘What’ does user want • User could be the client, sometimes very naïve and ignorant but sometimes ‘too’ smart to believe computers could do everything as in science fiction movies • Requirements provided by the user are usually very vague, ill-defined and ambiguous, and you are lucky, if otherwise • One of the most important phases of the SD and consumes about 33% of the SD effort • Unless we can precisely define ‘What is needed’ we cannot implement it • After determining Requirements Specification, then it is used through out that how well the system is implemented and system is verified that it don’t contain errors - Verification
  • 5. • Eradication of Requirement Specification errors cost 200-400 times more for their correction in implementation or later stages, secondly, about 50% of errors are generated from this phase • Easy to write poor Requirement Specifications than to write good precise specifications. • Requirements Specifications cannot be written once and frozen, instead these keep changing as the system is developed and user requirements are clarified and refined. • Engineers have been writing them for generations, For example Requirement Specification for a Railway Locomotive: On a dry track, the locomotive must be able to start a train of up to 1000 tonnes on an incline of up to 30% with an acceleration of at least 30 km/h/h • Requirements Engineering consists of Requirement Elicitation, Requirements Analysis and Requirements Specification; three parts, the Output is SRS Document
  • 6. • SRS tells us, ‘What does the user want?’ in above case the user is the Railway company • Don’t discuss the ‘How’ part, i.e. how it is going to be implemented, Eg in above case, no mention of fuel being used by the locomotive, or wheel arrangement etc • It provides measures for Testability of the product here load carrying capacity, slope and acceleration • At Requirement Specification stage, Whether the implementation constraints should be considered? Or not! – For – Not as the user is not knowledgeable and would complicate the requirements – Against – Yes, for legacy systems, most of the Requirement Specs are coming from the implemented system’s design; For some complicated systems, say, Response time of ½ second of the system, required by the user may not be technically possible on a low-end P-IV machine, so better not to commit.
  • 7. Qualities of a Specification / SRS • Specification should confine to ‘What’ part • A good Specification should have following characteristics: – Implementation free – What is needed, not How it is achieved – Complete – there is nothing missing – Consistent – no individual requirement contradicts any other – Unambiguous – each requirement has single interpretation – Concise – each requirement is stated once only, without duplication – Minimal – there are no unnecessary ingredients – Understandable – by both the client and the developers – Achievable – the requirement is technically feasible – Modifiable – as writing SRS is an iterative process to accommodate changes it should be easy to update or change – Traceable – all requirements could be traced forward to Design and Code (and so should have reference) – Testable – it can be demonstrated that requirements can be met • The above could be used as a Checklist when Requirement Specifications are drawn and to examine and improve them
  • 8. • Apply the above checklist on Write a JAVA program to provide a personal telephone directory. It should implement functions to look up a number and to enter a new telephone number. The program should provide a friendly user interface.
  • 9. and Compare it with the specification of locomotive i.e. On a dry track, the locomotive must be able to start a train of up to 1000 tonnes on an incline of up to 30% with an acceleration of at least 30 km/h/h • In Natural language, vagueness and clarity (single interpretation) are common problems, hence instead of informal methods, some semi- formal and formal methods are introduced, but these constrain the users understandability of SRS document • SDLs (Specification Description Languages) have been devised and other graphical-cum-textual methods are used • PSL/PSAs Problem Statement Languages and Problem Statement Analyzers and RSL (Requirements Statement Languages) REVS (Requirements Engineering Validation Systems) have been introduced to help System Analysts but these are very domain (and author) specific [Jlo98;pp53-55]
  • 10. Requirements Engineering Phase – Requirements Engineering Phase comprises of three parts • Requirements gathering or Elicitation – Listening part – developer listens to and discusses with the users/clients to get their requirements • Requirements Analysis – Thinking part – developers transform the users requirements into a form that these can be delivered by the system • Requirements Specification – Writing part – developers write down the SRS document • Output – is Software Requirements Specifications (SRS) a formal document that can be used for Verification (during the development process) and Validation (by the Client at the end of development) of the produced product. • SRS is a keynote deliverable and there are many approved formats by different standardization authorities, like IEEE 1987 and 1994 standards.
  • 11. • Requirements gathering and Analysis – Different methods like interviews, surveys, discussions, meetings, visits, questionnaires etc are used to elicit information from the user and client – Information is systematically recorded and using different methods it is analyzed, modeled and confirmed from the user and deficiencies, if any, are removed. Usual methods are » Data Flow Diagrams – to demonstrate or model data flows in the system » Entity Relationship Diagrams – to identify main data structures and sources in the system » Structured Charts – to show different parts of the system and their interfaces » Data Dictionary – to correlate the definition and use of different data elements by different components of the system » Structured English – to write down the working of different components of the system – The top two are the methods for Requirements Analysis and they form the basis for Architectural and Detailed Design Stages as well. – These all are related to the INTERNAL structure of the program, helping to understand and model that HOW the required functionality will be provided
  • 12. – For EXTERNAL structure we use USE CASE Model to identify what different users or stakeholders are expecting from the system. This concentrates on What part. – Use Cases are the descriptions of various scenarios and interactions which will benefit the Users of the system • Requirements Specifications – The findings of Requirements Elicitation and Requirements Analysis stages are documented – The essential components of the SRS Document are …
  • 13. Components of an SRS Document • The SRS Document must address the following basic issues. And this can also work as checklist for the contents of SRS document. – The Functional Requirements – The Data Requirements – Performance Requirements – Design Constraints imposed on an implementation – External Interfaces – Guidelines • The Functional Requirements – These are the real essence of SRS, – They state what the system should do. – Verbs characterize the functions to be performed
  • 14. • The Data Requirements – should include – Users’ data i.e. input/output of the system via any of the I/O devices Keyboard, mouse, Screen etc – Data that is stored within the system – Information passed to or from another user or a computer system • Performance Requirements – are the measures of performance, sometimes needed to test the system – Cost, Delivery date, Response time – Data volumes – must store the data of 180M Pak Nationals – Throughput or Loading levels – 1K transactions per min – Reliability Requirements – MTBF (mean Time Between Failures) be 6 months – Security Requirements – unauthorized access to enter data • Constraints – are influences on the implementation of the system Eg The system must be written in JAVA; Application to find Qibla and Prayer Timings for iPhone (eg Salat-o-Falah by Jin Technologies) – These may be related to Hw, Memory Available, Programming Language, Interoperability (can Salat-o-Falah be ported to Andriod platform?) • Guidelines – provide useful direction for the implementation in situation where there may be more than one implementation strategy
  • 15. References for the lecture [Bel05] Douglas Bell; Software Engineering for Students, 4th Ed, Pearson Education, LPE, New Delhi, Ch-4 [Jal91,Jal97, Jal05] Pankaj Jalote; Integrated Approach to Software Engineering; Revised and 2nd Editions, Narosa Publishing House, New Delhi, Ch-2, 3rd Edition Ch-3 [Sch96] Stephen R Schach; Classical and OO Software Engineering, 3rd Edition, McGraw Hill Inc. Ch-7 ‘Requirements Phase’ [Sch07] Stephen Schach; Software Engineering, 7th Edition, Tata McGraw Hill Publishing Co, New Delhi, Ch-10 ‘Requirements’ [IEE87] IEEE, Software Engineering Standards, IEEE Press, 1987 [IEE94] IEEE, IEEE Software Engineering Standards Collection, 1994 Edition, IEEE Press, 1994
  • 16. Home Reading – [Jal97] Ch-3 sections relating to Requirement Analysis and SRS Document Formats – [Bal05] Ch-4 ‘Requirements Engineering’ and Ch-3 ‘Feasibility Study’