SlideShare a Scribd company logo
Software Requirement
Specification
Template
A Software requirements specification ( S.R.S.)
is a document that is created when a detailed
description of all aspects of the software to be
built must be specified before the project is to
commence. It is important to note that a formal
S.R.S. is not always written . In fact, there are
many instances in which effort expended on an
S.R.S. might be better spent in other software
engineering activities.
However, when software is to be
developed by a third party, when a lack of
specification would create severe business
issues, or when a system is extremely
complex or business critical, an S.R.S. may
be justified.
KARL WIEGERS [ Wie03 ]
of Process Impact Inc. has developed a
worthwhile template that can serve as a
guideline for those who must create a
complete S.R.S. . A topic outline follows :-
Table of Contents
1) Introduction 2.6 User Documentation
1.1 Purpose 3) System Features
1.2 Document Conventions 4) External Interface
1.3 Intended Audience and Requirements
Reading Suggestions 5) Other Nonfunctional
1.4 Project Scope
Requirements
1.5 References 6) Other Requirements
2) Overall Description
2.1 Product Perspective Appendix A : Glossary
2.2 Product Features Appendix B : Analysis
2.3 User Classes Models
2.4 Operating Environment Appendix C : Issues List
2.5 Design and Implementation
Basic Information about Software
Requirements Specification ( A Contract
Document )
 Requirements document is a reference
document.
 SRS document is a contract between
the development team and the
customer.
 Once the SRS document is approved by
the customer, any subsequent
controversies are settled by referring the
SRS document.
 The SRS document is known as
black-box specification :
◦ the system is considered as a black
box when internal details are not
known.
◦ only its visible external (i.e.
input/output) behaviour is
documented.
Input
Data
Output
Data
Purpose of S.R.S.
 Proper ( systematic )
communication between the
Customer, Analyst, system
developers, maintainers etc.
 Contract between Purchaser and
Supplier firm is the foundation for
the design phase.
 Support system testing activities.
 Support project management.
 SRS document concentrates
on:
 what needs to be done
 and it carefully avoids the
solution (“how to do”) aspects.
The SRS document serves as
a contract
between development team and
the customer.
 Should be carefully written
Software Requirements
Specification (SRS)
 Defines the customer’s requirements in terms of
:
◦ Function
◦ Performance
◦ External interfaces
◦ Design constraints
 The SRS is the basis of contract between the
purchaser and supplier
What is not included in an SRS ?
 Project requirements
 cost, delivery schedules, staffing,
reporting, procedures
 Design solutions
 partitioning of S/W into modules,
choosing data structures
 Product assurance plans
 Quality Assurance procedures
 Configuration Management procedures
 Verification & Validation procedures
Benefits of S.R.S.
1) Forces the users to consider their specific
requirements carefully.
2) Enhances communication between the
Purchaser and System developers.
3) Provides a firm foundation for the system
design phase.
4) Enables planning of validation, verification,
and acceptance procedures.
5) Enables project planning e.g. estimates of
cost and time, resource scheduling.
6) Usable during maintenance phase
Types of Requirements
Functional requirements
Non functional
requirements
◦Performance requirements
◦Interface requirements
◦Design constraints
◦Other requirements
Functional Requirements
 Transformations (inputs, processing,
outputs)
 Requirements for sequencing
(dynamic requirements)
 Data
◦ Inputs and Outputs
◦ Stored data
 Exception handling
External Interface Requirements
 User interfaces
◦ e.g. if display terminal used, specify
required screen formats, menus, report
layouts, function keys
 Hardware interfaces
◦ characteristics of the interface between the
SW product and HW components of the
system
 Software interfaces
◦ specify the use of other SW products eg.
OS, DBMS, other SW packages
Other Requirements
 Security
 Safety
 Environmental
 Reusability
 Training
 ...
SRS Prototype Outline
[ IEEE SRS Standard ]
1. Introduction
1.1 Purpose
1.2 Scope
1.3 Definitions, Acronyms and Abbreviations
1.4 References
1.5 Overview
SRS - Introduction Section
 Purpose
◦ delineate the purpose of the particular SRS
◦ specify the intended audience for the SRS
 Scope
◦ identify the S/W products to be produced by name
◦ explain what the S/W product will do, and if
necessary, what it will not do
◦ describe the application of the S/W being
specified. i.e. benefits, objectives, goals as
precisely as possible
 Overview
◦ describe what the rest of the SRS contains
◦ how the SRS is organized
SRS Prototype Outline
[ IEEE SRS Standard ]
2. General description
2.1 Product perspective
2.2 Product function summary
2.3 User characteristics
2.4 General constraints
2.5 Assumptions and dependencies
Product Functions
 Provide a summary of functions the SW will
perform
 The functions should be organized in such a
way that they are understandable by the user
User Characteristics
 Describe the general characteristics of the
eventual users of the product. (such as
educational level, experience and technical
expertise )
SRS Prototype Outline
[ IEEE SRS Standard ]
3. Specific Requirements
- Functional requirements
- External interface requirements
- Performance requirements
- Design constraints
- Attributes e.g. security, availability,
maintainability, transferability/conversion
- Other requirements
Appendices
Index
Functional Requirements
 Introduction
o describe purpose of the function and the
approaches and techniques employed
 Inputs and Outputs
o sources of inputs and destination of
outputs
o quantities, units of measure, ranges of
valid inputs and outputs
o timing
Functional Requirements
 Processing
◦ validation of input data
◦ exact sequence of operations
◦ responses to abnormal situations
◦ any methods (eg. equations, algorithms)
to be used to transform inputs to outputs
External Interface Requirements
 User interfaces
 Hardware interfaces
 Software interfaces
 Communications interfaces
 Other requirements
◦ database: frequency of use, accessing
capabilities, static and dynamic organization,
retention requirements for data
◦ operations: periods of interactive and
unattended operations, backup, recovery
operations
Appendices
 Not always necessary
 It may include:
◦ sample I/O formats
◦ DFD, ERD documents
◦ results of user surveys, cost analysis
studies
◦ supporting documents to help readers of
SRS
Characteristics of a Good SRS
 Unambiguous
 Complete
 Verifiable
 Consistent
 Modifiable
 Traceable
 Usable during the Operation
and Maintenance phase
Modifiable
 Structure and style of SRS is such that
changes to requirements can be made
easily, completely and consistently.
◦ SRS organisation -- table of contents,
index, explicit cross-referencing
◦ no redundancy
Traceable
 An SRS is traceable if the origin of each
requirement is clear and it facilitates the
referencing of each requirement in
future.
 Backward traceability
◦ requirement explicitly referencing its source
in previous documents
 Foward traceability
◦ each requirement has a unique name or
reference number and it can be traced to
design documents, program
Examples of Bad SRS
Documents
Unstructured Specifications:
◦ Narrative essay --- one of the worst types of
specification document:
 Difficult to change,
 difficult to be precise,
 difficult to be unambiguous,
 scope for contradictions, etc.
 Presence of text containing information
irrelevant to the problem.
aspects important to proper solution of the
problem are omitted
 Contradictions :
◦Contradictions might arise
if the same thing described
at several places in different
ways
 Wishful Thinking :
◦Descriptions of aspects
for which realistic solutions
will be hard to find
SRS Review
 Formal Review done by Users,
Developers, Managers, Operations
personnel
 To verify that S.R.S. confirms to the
actual user requirements
 To detect defects early and correct
them.
Sofyware Engineering

More Related Content

What's hot

software requirement
software requirementsoftware requirement
software requirement
ahmed zewita
 
Software Requirement Specification
Software Requirement SpecificationSoftware Requirement Specification
Software Requirement Specification
Niraj Kumar
 
Requirement analysis and specification, software engineering
Requirement analysis and specification, software engineeringRequirement analysis and specification, software engineering
Requirement analysis and specification, software engineering
Rupesh Vaishnav
 
Software requirementspecification
Software requirementspecificationSoftware requirementspecification
Software requirementspecification
oshin-japanese
 
Requirement analysis with use case
Requirement analysis with use caseRequirement analysis with use case
Requirement analysis with use case
Rapeepan Thawornwanchai
 
2.software requirement specification
2.software requirement specification2.software requirement specification
2.software requirement specification
Deepak Sharma
 
7(srs template)
7(srs template)7(srs template)
7(srs template)
randhirlpu
 
System requirements specification (srs)
System requirements specification (srs)System requirements specification (srs)
System requirements specification (srs)
Savyasachi14
 
SRS(software requirement specification)
SRS(software requirement specification)SRS(software requirement specification)
SRS(software requirement specification)
Akash Kumar Dhameja
 
software engineering
software engineeringsoftware engineering
software engineering
Snow Queenzz
 
Software Requirements in Software Engineering SE5
Software Requirements in Software Engineering SE5Software Requirements in Software Engineering SE5
Software Requirements in Software Engineering SE5
koolkampus
 
software requirement
software requirement software requirement
software requirement
nimmik4u
 
Business requirement analysis session 5
Business requirement analysis   session 5Business requirement analysis   session 5
Business requirement analysis session 5
sampad_senapati
 
Software requirement specification
Software requirement specificationSoftware requirement specification
Software requirement specification
shiprashakya2
 
Software requirement and specification
Software requirement and specificationSoftware requirement and specification
Software requirement and specification
Aman Adhikari
 
Requirement analysis
Requirement analysisRequirement analysis
Requirement analysis
Bro Shola Ajayi
 
Software project management requirements analysis
Software project management requirements analysisSoftware project management requirements analysis
Software project management requirements analysis
Antony Alex
 
Requirement Engineering
Requirement EngineeringRequirement Engineering
Requirement Engineering
University of Haripur
 
Software Requirements
 Software Requirements Software Requirements
Software Requirements
Zaman Khan
 
Software Requirement Specification Master Template
Software Requirement Specification Master TemplateSoftware Requirement Specification Master Template
Software Requirement Specification Master Template
Wayne Chen
 

What's hot (20)

software requirement
software requirementsoftware requirement
software requirement
 
Software Requirement Specification
Software Requirement SpecificationSoftware Requirement Specification
Software Requirement Specification
 
Requirement analysis and specification, software engineering
Requirement analysis and specification, software engineeringRequirement analysis and specification, software engineering
Requirement analysis and specification, software engineering
 
Software requirementspecification
Software requirementspecificationSoftware requirementspecification
Software requirementspecification
 
Requirement analysis with use case
Requirement analysis with use caseRequirement analysis with use case
Requirement analysis with use case
 
2.software requirement specification
2.software requirement specification2.software requirement specification
2.software requirement specification
 
7(srs template)
7(srs template)7(srs template)
7(srs template)
 
System requirements specification (srs)
System requirements specification (srs)System requirements specification (srs)
System requirements specification (srs)
 
SRS(software requirement specification)
SRS(software requirement specification)SRS(software requirement specification)
SRS(software requirement specification)
 
software engineering
software engineeringsoftware engineering
software engineering
 
Software Requirements in Software Engineering SE5
Software Requirements in Software Engineering SE5Software Requirements in Software Engineering SE5
Software Requirements in Software Engineering SE5
 
software requirement
software requirement software requirement
software requirement
 
Business requirement analysis session 5
Business requirement analysis   session 5Business requirement analysis   session 5
Business requirement analysis session 5
 
Software requirement specification
Software requirement specificationSoftware requirement specification
Software requirement specification
 
Software requirement and specification
Software requirement and specificationSoftware requirement and specification
Software requirement and specification
 
Requirement analysis
Requirement analysisRequirement analysis
Requirement analysis
 
Software project management requirements analysis
Software project management requirements analysisSoftware project management requirements analysis
Software project management requirements analysis
 
Requirement Engineering
Requirement EngineeringRequirement Engineering
Requirement Engineering
 
Software Requirements
 Software Requirements Software Requirements
Software Requirements
 
Software Requirement Specification Master Template
Software Requirement Specification Master TemplateSoftware Requirement Specification Master Template
Software Requirement Specification Master Template
 

Similar to Sofyware Engineering

Lec srs
Lec srsLec srs
Lec srs
huzaifa tariq
 
INTRODUCTION to software engineering requirements specifications
INTRODUCTION to software engineering requirements specificationsINTRODUCTION to software engineering requirements specifications
INTRODUCTION to software engineering requirements specifications
kylan2
 
Abdulmoez fakhri .pptx
Abdulmoez fakhri .pptxAbdulmoez fakhri .pptx
Abdulmoez fakhri .pptx
waniselabbar1
 
Software requirements specifications documents pdf
Software requirements specifications documents pdfSoftware requirements specifications documents pdf
Software requirements specifications documents pdf
Nothing807440
 
SE Unit 2(1).pptx
SE Unit 2(1).pptxSE Unit 2(1).pptx
SE Unit 2(1).pptx
aryan631999
 
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
Jayanthi Kannan MK
 
Software Requirements
Software RequirementsSoftware Requirements
Software Requirements
Bala Ganesh
 
Software engeneering
Software engeneering Software engeneering
Software engeneering
Shah Ishtiyaq Mehfooze
 
Writing software requirement document
Writing software requirement documentWriting software requirement document
Writing software requirement document
Sunita Sahu
 
Writing software requirement document
Writing software requirement documentWriting software requirement document
Writing software requirement document
Sunita Sahu
 
Business Analyst Overview
Business Analyst OverviewBusiness Analyst Overview
Business Analyst Overview
Salil Vaidya
 
Software requirements specification_for_Projects
Software requirements specification_for_ProjectsSoftware requirements specification_for_Projects
Software requirements specification_for_Projects
nazzf
 
Requirements engineering
Requirements engineeringRequirements engineering
Requirements engineering
Syed Zaid Irshad
 
SE-Lecture=3.pptx
SE-Lecture=3.pptxSE-Lecture=3.pptx
SE-Lecture=3.pptx
vishal choudhary
 
Software Requirement Specification
Software Requirement SpecificationSoftware Requirement Specification
Software Requirement Specification
Kishan Kaushik
 
SRS- Software Requirement Management
SRS- Software Requirement ManagementSRS- Software Requirement Management
SRS- Software Requirement Management
MuhammadAhmad1135
 
Assessment RubricExemplary Accomplished Developing B.docx
Assessment RubricExemplary Accomplished Developing B.docxAssessment RubricExemplary Accomplished Developing B.docx
Assessment RubricExemplary Accomplished Developing B.docx
galerussel59292
 
Srs template ieee
Srs template ieeeSrs template ieee
Srs template ieee
शैली शर्मा
 
Software Requirements SpecificationforProjectVersion.docx
Software Requirements SpecificationforProjectVersion.docxSoftware Requirements SpecificationforProjectVersion.docx
Software Requirements SpecificationforProjectVersion.docx
rosemariebrayshaw
 
Software Requirement Specification
Software Requirement SpecificationSoftware Requirement Specification
Software Requirement Specification
Vishal Singh
 

Similar to Sofyware Engineering (20)

Lec srs
Lec srsLec srs
Lec srs
 
INTRODUCTION to software engineering requirements specifications
INTRODUCTION to software engineering requirements specificationsINTRODUCTION to software engineering requirements specifications
INTRODUCTION to software engineering requirements specifications
 
Abdulmoez fakhri .pptx
Abdulmoez fakhri .pptxAbdulmoez fakhri .pptx
Abdulmoez fakhri .pptx
 
Software requirements specifications documents pdf
Software requirements specifications documents pdfSoftware requirements specifications documents pdf
Software requirements specifications documents pdf
 
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 Requirements
Software RequirementsSoftware Requirements
Software Requirements
 
Software engeneering
Software engeneering Software engeneering
Software engeneering
 
Writing software requirement document
Writing software requirement documentWriting software requirement document
Writing software requirement document
 
Writing software requirement document
Writing software requirement documentWriting software requirement document
Writing software requirement document
 
Business Analyst Overview
Business Analyst OverviewBusiness Analyst Overview
Business Analyst Overview
 
Software requirements specification_for_Projects
Software requirements specification_for_ProjectsSoftware requirements specification_for_Projects
Software requirements specification_for_Projects
 
Requirements engineering
Requirements engineeringRequirements engineering
Requirements engineering
 
SE-Lecture=3.pptx
SE-Lecture=3.pptxSE-Lecture=3.pptx
SE-Lecture=3.pptx
 
Software Requirement Specification
Software Requirement SpecificationSoftware Requirement Specification
Software Requirement Specification
 
SRS- Software Requirement Management
SRS- Software Requirement ManagementSRS- Software Requirement Management
SRS- Software Requirement Management
 
Assessment RubricExemplary Accomplished Developing B.docx
Assessment RubricExemplary Accomplished Developing B.docxAssessment RubricExemplary Accomplished Developing B.docx
Assessment RubricExemplary Accomplished Developing B.docx
 
Srs template ieee
Srs template ieeeSrs template ieee
Srs template ieee
 
Software Requirements SpecificationforProjectVersion.docx
Software Requirements SpecificationforProjectVersion.docxSoftware Requirements SpecificationforProjectVersion.docx
Software Requirements SpecificationforProjectVersion.docx
 
Software Requirement Specification
Software Requirement SpecificationSoftware Requirement Specification
Software Requirement Specification
 

Recently uploaded

A Study of Variable-Role-based Feature Enrichment in Neural Models of Code
A Study of Variable-Role-based Feature Enrichment in Neural Models of CodeA Study of Variable-Role-based Feature Enrichment in Neural Models of Code
A Study of Variable-Role-based Feature Enrichment in Neural Models of Code
Aftab Hussain
 
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
 
Artificia Intellicence and XPath Extension Functions
Artificia Intellicence and XPath Extension FunctionsArtificia Intellicence and XPath Extension Functions
Artificia Intellicence and XPath Extension Functions
Octavian Nadolu
 
DDS-Security 1.2 - What's New? Stronger security for long-running systems
DDS-Security 1.2 - What's New? Stronger security for long-running systemsDDS-Security 1.2 - What's New? Stronger security for long-running systems
DDS-Security 1.2 - What's New? Stronger security for long-running systems
Gerardo Pardo-Castellote
 
What is Augmented Reality Image Tracking
What is Augmented Reality Image TrackingWhat is Augmented Reality Image Tracking
What is Augmented Reality Image Tracking
pavan998932
 
socradar-q1-2024-aviation-industry-report.pdf
socradar-q1-2024-aviation-industry-report.pdfsocradar-q1-2024-aviation-industry-report.pdf
socradar-q1-2024-aviation-industry-report.pdf
SOCRadar
 
APIs for Browser Automation (MoT Meetup 2024)
APIs for Browser Automation (MoT Meetup 2024)APIs for Browser Automation (MoT Meetup 2024)
APIs for Browser Automation (MoT Meetup 2024)
Boni García
 
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptx
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptxTop Features to Include in Your Winzo Clone App for Business Growth (4).pptx
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptx
rickgrimesss22
 
Neo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j - Product Vision and Knowledge Graphs - GraphSummit ParisNeo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j
 
原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样
原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样
原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样
mz5nrf0n
 
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Crescat
 
Mobile App Development Company In Noida | Drona Infotech
Mobile App Development Company In Noida | Drona InfotechMobile App Development Company In Noida | Drona Infotech
Mobile App Development Company In Noida | Drona Infotech
Drona Infotech
 
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOMLORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
lorraineandreiamcidl
 
May Marketo Masterclass, London MUG May 22 2024.pdf
May Marketo Masterclass, London MUG May 22 2024.pdfMay Marketo Masterclass, London MUG May 22 2024.pdf
May Marketo Masterclass, London MUG May 22 2024.pdf
Adele Miller
 
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdf
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdfAutomated software refactoring with OpenRewrite and Generative AI.pptx.pdf
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdf
timtebeek1
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
Safe Software
 
Graspan: A Big Data System for Big Code Analysis
Graspan: A Big Data System for Big Code AnalysisGraspan: A Big Data System for Big Code Analysis
Graspan: A Big Data System for Big Code Analysis
Aftab Hussain
 
Vitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke Java Microservices Resume.pdfVitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke
 
Atelier - Innover avec l’IA Générative et les graphes de connaissances
Atelier - Innover avec l’IA Générative et les graphes de connaissancesAtelier - Innover avec l’IA Générative et les graphes de connaissances
Atelier - Innover avec l’IA Générative et les graphes de connaissances
Neo4j
 
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
 

Recently uploaded (20)

A Study of Variable-Role-based Feature Enrichment in Neural Models of Code
A Study of Variable-Role-based Feature Enrichment in Neural Models of CodeA Study of Variable-Role-based Feature Enrichment in Neural Models of Code
A Study of Variable-Role-based Feature Enrichment in Neural Models of Code
 
GreenCode-A-VSCode-Plugin--Dario-Jurisic
GreenCode-A-VSCode-Plugin--Dario-JurisicGreenCode-A-VSCode-Plugin--Dario-Jurisic
GreenCode-A-VSCode-Plugin--Dario-Jurisic
 
Artificia Intellicence and XPath Extension Functions
Artificia Intellicence and XPath Extension FunctionsArtificia Intellicence and XPath Extension Functions
Artificia Intellicence and XPath Extension Functions
 
DDS-Security 1.2 - What's New? Stronger security for long-running systems
DDS-Security 1.2 - What's New? Stronger security for long-running systemsDDS-Security 1.2 - What's New? Stronger security for long-running systems
DDS-Security 1.2 - What's New? Stronger security for long-running systems
 
What is Augmented Reality Image Tracking
What is Augmented Reality Image TrackingWhat is Augmented Reality Image Tracking
What is Augmented Reality Image Tracking
 
socradar-q1-2024-aviation-industry-report.pdf
socradar-q1-2024-aviation-industry-report.pdfsocradar-q1-2024-aviation-industry-report.pdf
socradar-q1-2024-aviation-industry-report.pdf
 
APIs for Browser Automation (MoT Meetup 2024)
APIs for Browser Automation (MoT Meetup 2024)APIs for Browser Automation (MoT Meetup 2024)
APIs for Browser Automation (MoT Meetup 2024)
 
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptx
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptxTop Features to Include in Your Winzo Clone App for Business Growth (4).pptx
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptx
 
Neo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j - Product Vision and Knowledge Graphs - GraphSummit ParisNeo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
 
原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样
原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样
原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样
 
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
 
Mobile App Development Company In Noida | Drona Infotech
Mobile App Development Company In Noida | Drona InfotechMobile App Development Company In Noida | Drona Infotech
Mobile App Development Company In Noida | Drona Infotech
 
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOMLORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
 
May Marketo Masterclass, London MUG May 22 2024.pdf
May Marketo Masterclass, London MUG May 22 2024.pdfMay Marketo Masterclass, London MUG May 22 2024.pdf
May Marketo Masterclass, London MUG May 22 2024.pdf
 
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdf
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdfAutomated software refactoring with OpenRewrite and Generative AI.pptx.pdf
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdf
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
 
Graspan: A Big Data System for Big Code Analysis
Graspan: A Big Data System for Big Code AnalysisGraspan: A Big Data System for Big Code Analysis
Graspan: A Big Data System for Big Code Analysis
 
Vitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke Java Microservices Resume.pdfVitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke Java Microservices Resume.pdf
 
Atelier - Innover avec l’IA Générative et les graphes de connaissances
Atelier - Innover avec l’IA Générative et les graphes de connaissancesAtelier - Innover avec l’IA Générative et les graphes de connaissances
Atelier - Innover avec l’IA Générative et les graphes de connaissances
 
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
 

Sofyware Engineering

  • 1.
  • 2.
  • 3. Software Requirement Specification Template A Software requirements specification ( S.R.S.) is a document that is created when a detailed description of all aspects of the software to be built must be specified before the project is to commence. It is important to note that a formal S.R.S. is not always written . In fact, there are many instances in which effort expended on an S.R.S. might be better spent in other software engineering activities.
  • 4. However, when software is to be developed by a third party, when a lack of specification would create severe business issues, or when a system is extremely complex or business critical, an S.R.S. may be justified. KARL WIEGERS [ Wie03 ] of Process Impact Inc. has developed a worthwhile template that can serve as a guideline for those who must create a complete S.R.S. . A topic outline follows :-
  • 5. Table of Contents 1) Introduction 2.6 User Documentation 1.1 Purpose 3) System Features 1.2 Document Conventions 4) External Interface 1.3 Intended Audience and Requirements Reading Suggestions 5) Other Nonfunctional 1.4 Project Scope Requirements 1.5 References 6) Other Requirements 2) Overall Description 2.1 Product Perspective Appendix A : Glossary 2.2 Product Features Appendix B : Analysis 2.3 User Classes Models 2.4 Operating Environment Appendix C : Issues List 2.5 Design and Implementation
  • 6. Basic Information about Software Requirements Specification ( A Contract Document )  Requirements document is a reference document.  SRS document is a contract between the development team and the customer.  Once the SRS document is approved by the customer, any subsequent controversies are settled by referring the SRS document.
  • 7.  The SRS document is known as black-box specification : ◦ the system is considered as a black box when internal details are not known. ◦ only its visible external (i.e. input/output) behaviour is documented. Input Data Output Data
  • 8. Purpose of S.R.S.  Proper ( systematic ) communication between the Customer, Analyst, system developers, maintainers etc.  Contract between Purchaser and Supplier firm is the foundation for the design phase.  Support system testing activities.  Support project management.
  • 9.  SRS document concentrates on:  what needs to be done  and it carefully avoids the solution (“how to do”) aspects. The SRS document serves as a contract between development team and the customer.  Should be carefully written
  • 10. Software Requirements Specification (SRS)  Defines the customer’s requirements in terms of : ◦ Function ◦ Performance ◦ External interfaces ◦ Design constraints  The SRS is the basis of contract between the purchaser and supplier
  • 11. What is not included in an SRS ?  Project requirements  cost, delivery schedules, staffing, reporting, procedures  Design solutions  partitioning of S/W into modules, choosing data structures  Product assurance plans  Quality Assurance procedures  Configuration Management procedures  Verification & Validation procedures
  • 12. Benefits of S.R.S. 1) Forces the users to consider their specific requirements carefully. 2) Enhances communication between the Purchaser and System developers. 3) Provides a firm foundation for the system design phase. 4) Enables planning of validation, verification, and acceptance procedures. 5) Enables project planning e.g. estimates of cost and time, resource scheduling. 6) Usable during maintenance phase
  • 13. Types of Requirements Functional requirements Non functional requirements ◦Performance requirements ◦Interface requirements ◦Design constraints ◦Other requirements
  • 14. Functional Requirements  Transformations (inputs, processing, outputs)  Requirements for sequencing (dynamic requirements)  Data ◦ Inputs and Outputs ◦ Stored data  Exception handling
  • 15. External Interface Requirements  User interfaces ◦ e.g. if display terminal used, specify required screen formats, menus, report layouts, function keys  Hardware interfaces ◦ characteristics of the interface between the SW product and HW components of the system  Software interfaces ◦ specify the use of other SW products eg. OS, DBMS, other SW packages
  • 16. Other Requirements  Security  Safety  Environmental  Reusability  Training  ...
  • 17. SRS Prototype Outline [ IEEE SRS Standard ] 1. Introduction 1.1 Purpose 1.2 Scope 1.3 Definitions, Acronyms and Abbreviations 1.4 References 1.5 Overview
  • 18. SRS - Introduction Section  Purpose ◦ delineate the purpose of the particular SRS ◦ specify the intended audience for the SRS  Scope ◦ identify the S/W products to be produced by name ◦ explain what the S/W product will do, and if necessary, what it will not do ◦ describe the application of the S/W being specified. i.e. benefits, objectives, goals as precisely as possible  Overview ◦ describe what the rest of the SRS contains ◦ how the SRS is organized
  • 19. SRS Prototype Outline [ IEEE SRS Standard ] 2. General description 2.1 Product perspective 2.2 Product function summary 2.3 User characteristics 2.4 General constraints 2.5 Assumptions and dependencies
  • 20. Product Functions  Provide a summary of functions the SW will perform  The functions should be organized in such a way that they are understandable by the user User Characteristics  Describe the general characteristics of the eventual users of the product. (such as educational level, experience and technical expertise )
  • 21. SRS Prototype Outline [ IEEE SRS Standard ] 3. Specific Requirements - Functional requirements - External interface requirements - Performance requirements - Design constraints - Attributes e.g. security, availability, maintainability, transferability/conversion - Other requirements Appendices Index
  • 22. Functional Requirements  Introduction o describe purpose of the function and the approaches and techniques employed  Inputs and Outputs o sources of inputs and destination of outputs o quantities, units of measure, ranges of valid inputs and outputs o timing
  • 23. Functional Requirements  Processing ◦ validation of input data ◦ exact sequence of operations ◦ responses to abnormal situations ◦ any methods (eg. equations, algorithms) to be used to transform inputs to outputs
  • 24. External Interface Requirements  User interfaces  Hardware interfaces  Software interfaces  Communications interfaces  Other requirements ◦ database: frequency of use, accessing capabilities, static and dynamic organization, retention requirements for data ◦ operations: periods of interactive and unattended operations, backup, recovery operations
  • 25. Appendices  Not always necessary  It may include: ◦ sample I/O formats ◦ DFD, ERD documents ◦ results of user surveys, cost analysis studies ◦ supporting documents to help readers of SRS
  • 26. Characteristics of a Good SRS  Unambiguous  Complete  Verifiable  Consistent  Modifiable  Traceable  Usable during the Operation and Maintenance phase
  • 27. Modifiable  Structure and style of SRS is such that changes to requirements can be made easily, completely and consistently. ◦ SRS organisation -- table of contents, index, explicit cross-referencing ◦ no redundancy
  • 28. Traceable  An SRS is traceable if the origin of each requirement is clear and it facilitates the referencing of each requirement in future.  Backward traceability ◦ requirement explicitly referencing its source in previous documents  Foward traceability ◦ each requirement has a unique name or reference number and it can be traced to design documents, program
  • 29. Examples of Bad SRS Documents Unstructured Specifications: ◦ Narrative essay --- one of the worst types of specification document:  Difficult to change,  difficult to be precise,  difficult to be unambiguous,  scope for contradictions, etc.  Presence of text containing information irrelevant to the problem. aspects important to proper solution of the problem are omitted
  • 30.  Contradictions : ◦Contradictions might arise if the same thing described at several places in different ways  Wishful Thinking : ◦Descriptions of aspects for which realistic solutions will be hard to find
  • 31. SRS Review  Formal Review done by Users, Developers, Managers, Operations personnel  To verify that S.R.S. confirms to the actual user requirements  To detect defects early and correct them.