SlideShare una empresa de Scribd logo
1 de 19
Descargar para leer sin conexión
MedTech
Chapter 2 – RequirementsSpecification
How to write a requirements specification
Dr. Lilia SFAXI
www.liliasfaxi.wix.com/liliasfaxi
Slide 1
MedTech – Mediterranean Institute of Technology
Software Engineering
MedTech
MedTech
Requirements Specification… Why?
2
If you don’t know where you’re
going, you will probably end
up somewhere else.
Laurence J. Peter
MedTech
SRS: Software Requirements Specification
• The organization’s understanding, in writing, of a customer or
potential client’s system requirements and dependencies at a
particular point in time, usually prior to any actual design or
development work.
• A two way insurance policy
• Insures that both the client and the organization understand the
other’s requirements from that perspective at a given time
• States:
• The functions and capabilities a software system must provide
• The required constraints by which the system must abide
• Called the “parent” document
3
Requirements Specification
MedTech
SRS: Major Goals
• Providing feedback to the customer
• SRS is the customer’s assurance that the dev. organization understands his
needs
• SRS should be written in a natural language, in an unambiguous manner
• May include charts, tables, data flow diagrams, decision tables,…
• Decomposing the problem into component parts
• The information is organized, borders are placed, ideas solidified
• Serving as an input to the design specification
• As a parent document, it comes prior to the design spec.
• Must then contain sufficient details about the functional system’s
requirements for the design solution to be devised
• Serving as a product validation check
• Is also the parent document for testing and validation strategies
• Is a basis for estimating costs and schedules
4
Requirements Specification
MedTech
SRS: Content (IEEE 830 standard)
• Functionality
• What is the software supposed to do?
• External Interfaces
• How does the software interact with people, the system’s hardware, other
hardware, and other software?
• Performance
• What is the speed, availability, response time, recovery time of various
software functions?
• Attributes
• What are the portability, correctness, maintainability, security, etc.
considerations?
• Design constraints imposed on an implementation
• Are there any required standards in effect, implementation language, policies
for database integrity, resource limits, operating environments, etc.?
Dr. Lilia SFAXI
www.liliasfaxi.wix.com/liliasfaxi
Slide 5
Requirements Specification
MedTech
SRS: What it contains, what it doesn’t
• SRS provides:
• Function requirements
• Non-functional requirements
• SRS doesn’t provide:
• Design suggestions
• Possible solutions to technology or business issues
6
Requirements Specification
MedTech
What makes an SRS a GREAT SRS?
• An SRS should be: (IEEE 830 standard)
• Correct, but also ever correcting
• It must be corrected whenever you find incorrect things along the dev or design
phases
• Unambiguous
• Every requirement stated therein has only one interpretation
• Fix ambiguities when found, instead of spending endless time trying to avoid
them
• Complete
• It should be all that is needed by the software designers to create the software
• Consistent
• Within itself and to its reference documents (no contradictions)
• Ranked for importance and/or stability
• Importance and stability (chances of change) for each requirement must be
specified
Dr. Lilia SFAXI
www.liliasfaxi.wix.com/liliasfaxi
Slide 7
Requirements Specification
MedTech
What makes an SRS a GREAT SRS?
• An SRS should be: (IEEE 830 standard)
• Verifiable
• “fast response” and “the system should never crash” are totally forbidden
statements!
• Provide quantitative requirements instead of just suppositions
• Modifiable
• Prefer a shared document to multiple copies
• Traceable
• You should document the life of a requirement and provide bi-directional
traceability between the associated requirements
• Helps find the origin of each requirement and track the changes that were made
Dr. Lilia SFAXI
www.liliasfaxi.wix.com/liliasfaxi
Slide 8
Requirements Specification
MedTech
Major Challenge: Requirements Gathering
Dr. Lilia SFAXI
www.liliasfaxi.wix.com/liliasfaxi
Slide 9
Requirements Specification
MedTech
Technical Writers..
• A technical writer is a professional writer who produces technical
documentation that helps people understand and use a product or
service
• Technical Writers should be involved with SRS
• And we mean.. to the whole specification writing phase!
• Benefits
• They can gather efficiently the information from the customer
• They can better assess and plan documentation projects and meet
customer document needs
• They know how to determine the questions that are of concern to the user
• If involved early and often in the gathering process, they can become an
information resource throughout the process, rather than an information
gatherer at its end
Dr. Lilia SFAXI
www.liliasfaxi.wix.com/liliasfaxi
Slide 10
Requirements Specification
MedTech
Working with Requirements.. A Lifecycle Activity!
Dr. Lilia SFAXI
www.liliasfaxi.wix.com/liliasfaxi
Slide 11
Requirements Specification
Requirements
Capture&
Definition
Analysis &
Design
Tools
Modeling
Tools
Simulation
Tools
Coding
Tools
Testing
Tools
RequirementsManagement & Traceability Tools
MedTech
Best Practices for Writing Better Requirements
1. Use the simplest words appropriate to state a complete requirement
2. Use requirement imperatives correctly
Dr. Lilia SFAXI
www.liliasfaxi.wix.com/liliasfaxi
Slide 12
Requirements Specification
Imperatives:words and phrases that command the presence of some feature, function
or deliverable. Listed below in decreasing order ofstrength.
Shall Used todictate theprovision of afunctional capability.
Must or must not Most often used to establish performancerequirementor constraints.
Is required to Used asan imperativein SRS statements when written in passivevoice.
Areapplicable Used toinclude, byreference, standards, or other documentation asan addition to the
requirementbeing specified.
Responsible for Used asan imperativein SRSs thatarewritten for systems with pre-defined architectures.
Will Used tocite thingsthattheoperational or development environmentis to providetothe
capability being specified. For example, Thevehicle'sexhaustsystem will power theABC widget.
Should Not used often as an imperative in SRS statements; however, when used, theSRSstatement
always readsweak. Avoid using Should in your SRSs.
MedTech
Best Practices for Writing Better Requirements
3. Do not use weak phrases and subjective words
• Avoid words like: adequate, appropriate, bad, better, but not limited to,
easy, minimize…
4. Use continuations carefully, they make traceability difficult
• Continuances: Phrases that follow an imperative and introduce the
specification of requirements at a lower level. There is a correlation with the
frequency of use of continuances and SRS organization and structure, up to
a point.
• Example: The system shall report software status to the host interface
under the following conditions:
• At system Initialization
• When the status of an external interface has changed
• When a report has been requested
Ø These are actually three requirements
Dr. Lilia SFAXI
www.liliasfaxi.wix.com/liliasfaxi
Slide 13
Requirements Specification
MedTech
Best Practices for Writing Better Requirements
5. Use examples, tables, figures etc. but make sure examples and notes
are clearly marked as such
6. Be consistent with names! Always call the same entity by the same
name
7. If you use a TBD (to be determined) or TBR (to be resolved), have a
plan. You must state who is responsible for the information, and
when will it be completed
8. Make sure your requirement contains all the qualities of a good
requirement (see "What makes an SRS a great SRS" above)
Dr. Lilia SFAXI
www.liliasfaxi.wix.com/liliasfaxi
Slide 14
Requirements Specification
MedTech
Best Practices for Writing Better Requirements
9. Make sure that if a requirement references another document, that it
does so correctly
• References must be listed in applicable document section and state what
part of references applies
• List all the versions of your document and the changes it applies compared
to the previous version
• Use a naming convention in order to apply a unique name to every
document you use, for example SRS-ProjID-Version-Date.docx
Dr. Lilia SFAXI
www.liliasfaxi.wix.com/liliasfaxi
Slide 15
Requirements Specification
MedTech
Best Practices for Writing Better Requirements
10. Make sure that acronyms are used correctly
• Place the acronym in the acronym list in the specification
• Spell out the complete phrase followed by the acronym in parenthesis the
first time it is used
• The next time, you can just use the acronym
11. Overspecification leads to unfunded requirements and can add
duplicate requirements
• Shorten the requirements as possible
Dr. Lilia SFAXI
www.liliasfaxi.wix.com/liliasfaxi
Slide 16
Requirements Specification
MedTech
Best Practices for Writing Better Requirements
12. Use the requirement template
• Define a template document for your requirements
• This is the structure of a basic requirement:
[Conditions] [Subject][Action][Object][Constraint]
• Entities: Subject of the requirements and Object of the action
• Actions: What the subject does, contains an imperative
• Conditions: What must be in place in order for the action to take place
• Constraints: Qualifies the action, performance
• Example:
• When signal x is received, the system shall set the signal x received bit within 2
seconds
13. Design for asset reuse
14. Finding the right combination of approaches for the development process
• X-driven development
Dr. Lilia SFAXI
www.liliasfaxi.wix.com/liliasfaxi
Slide 17
Requirements Specification
MedTech
But also…
1. Spend time specifying and documenting well software that you plan to keep.
2. Keep documentation to a minimum when the software will only be used for a
short time or has a limited number of users.
3. Have separate individuals write the specifications (not the individual who will
write the code).
4. The person to write the specification should have good communication skills.
5. Take your time with complicated requirements. Vagueness in those areas will
come back to bite you later.
6. Keep the SRS up to date as you make changes.
7. Approximately 20-25% of the project time should be allocated to requirements
definition.
8. Keep 5% of the project time for updating the requirements after the design has
begun.
9. Test the requirements document by using it as the basis for writing the test
plan.
Dr. Lilia SFAXI
www.liliasfaxi.wix.com/liliasfaxi
Slide 18
Requirements Specification
MedTech
References
Dr. Lilia SFAXI
www.liliasfaxi.wix.com/liliasfaxi
Slide 19
• Donn Le Vie, Jr, Writing Software Specifications
• Michelle Specht, Best Practices Writing Requirements for Requirements
Management, https://www.youtube.com/watch?v=vAEbMzNb_nM
• Robert Japenga, How to write a software requirements specification

Más contenido relacionado

La actualidad más candente

BDD in Action – principles, practices and real-world application
BDD in Action – principles, practices and real-world applicationBDD in Action – principles, practices and real-world application
BDD in Action – principles, practices and real-world application
John Ferguson Smart Limited
 

La actualidad más candente (20)

Software Requirement Specification
Software Requirement SpecificationSoftware Requirement Specification
Software Requirement Specification
 
REQUIREMENT ENGINEERING
REQUIREMENT ENGINEERINGREQUIREMENT ENGINEERING
REQUIREMENT ENGINEERING
 
SDLC
SDLCSDLC
SDLC
 
Overview of software reliability engineering
Overview of software reliability engineeringOverview of software reliability engineering
Overview of software reliability engineering
 
Software Verification & Validation
Software Verification & ValidationSoftware Verification & Validation
Software Verification & Validation
 
Microservices Architecture - Bangkok 2018
Microservices Architecture - Bangkok 2018Microservices Architecture - Bangkok 2018
Microservices Architecture - Bangkok 2018
 
The Architecture of an API Platform
The Architecture of an API PlatformThe Architecture of an API Platform
The Architecture of an API Platform
 
DevSecOps: Colocando segurança na esteira
DevSecOps: Colocando segurança na esteiraDevSecOps: Colocando segurança na esteira
DevSecOps: Colocando segurança na esteira
 
requirement documentation
requirement documentation requirement documentation
requirement documentation
 
Client Server Architecture in Software engineering
Client Server Architecture in Software engineeringClient Server Architecture in Software engineering
Client Server Architecture in Software engineering
 
BDD in Action – principles, practices and real-world application
BDD in Action – principles, practices and real-world applicationBDD in Action – principles, practices and real-world application
BDD in Action – principles, practices and real-world application
 
Joint Application Development
Joint Application DevelopmentJoint Application Development
Joint Application Development
 
Requirements analysis and modeling
Requirements analysis and modelingRequirements analysis and modeling
Requirements analysis and modeling
 
Architecture: Microservices
Architecture: MicroservicesArchitecture: Microservices
Architecture: Microservices
 
Software Engineering - chp8- deployment
Software Engineering - chp8- deploymentSoftware Engineering - chp8- deployment
Software Engineering - chp8- deployment
 
Domain Driven Design (DDD)
Domain Driven Design (DDD)Domain Driven Design (DDD)
Domain Driven Design (DDD)
 
Software Engineering Process Models
Software Engineering Process Models Software Engineering Process Models
Software Engineering Process Models
 
SDLC MODELS PPT
SDLC MODELS PPTSDLC MODELS PPT
SDLC MODELS PPT
 
SE chapter 5
SE chapter 5SE chapter 5
SE chapter 5
 
Requirement Elicitation
Requirement ElicitationRequirement Elicitation
Requirement Elicitation
 

Destacado (6)

Software Engineering - chp6- development phase
Software Engineering - chp6- development phaseSoftware Engineering - chp6- development phase
Software Engineering - chp6- development phase
 
Software Engineering - chp4- design patterns
Software Engineering - chp4- design patternsSoftware Engineering - chp4- design patterns
Software Engineering - chp4- design patterns
 
Software Engineering - chp1- software dev methodologies
Software Engineering - chp1- software dev methodologiesSoftware Engineering - chp1- software dev methodologies
Software Engineering - chp1- software dev methodologies
 
Software Engineering - chp7- tests
Software Engineering - chp7- testsSoftware Engineering - chp7- tests
Software Engineering - chp7- tests
 
Software Engineering - chp0- introduction
Software Engineering - chp0- introductionSoftware Engineering - chp0- introduction
Software Engineering - chp0- introduction
 
Software Engineering - chp3- design
Software Engineering - chp3- designSoftware Engineering - chp3- design
Software Engineering - chp3- design
 

Similar a Software Engineering - chp2- requirements specification

Software Engineering Methodologies
Software Engineering MethodologiesSoftware Engineering Methodologies
Software Engineering Methodologies
Nesrine Shokry
 

Similar a Software Engineering - chp2- requirements specification (20)

9 requirements engineering2
9 requirements engineering29 requirements engineering2
9 requirements engineering2
 
Precise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive GoalPrecise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive Goal
 
Agile Development – Why requirements matter
Agile Development – Why requirements matterAgile Development – Why requirements matter
Agile Development – Why requirements matter
 
Improve Product Design with High Quality Requirements
Improve Product Design with High Quality RequirementsImprove Product Design with High Quality Requirements
Improve Product Design with High Quality Requirements
 
Agile Development – Why requirements matter by Fariz Saracevic
Agile Development – Why requirements matter by Fariz SaracevicAgile Development – Why requirements matter by Fariz Saracevic
Agile Development – Why requirements matter by Fariz Saracevic
 
Lecture 2 & 3.pptx
Lecture 2 & 3.pptxLecture 2 & 3.pptx
Lecture 2 & 3.pptx
 
A Beard, An App, A Blender
A Beard, An App, A BlenderA Beard, An App, A Blender
A Beard, An App, A Blender
 
Apex Enterprise Patterns Galore - Boston, MA dev group meeting 062719
Apex Enterprise Patterns Galore - Boston, MA dev group meeting 062719Apex Enterprise Patterns Galore - Boston, MA dev group meeting 062719
Apex Enterprise Patterns Galore - Boston, MA dev group meeting 062719
 
Requirements Management Using Innoslate
Requirements Management Using InnoslateRequirements Management Using Innoslate
Requirements Management Using Innoslate
 
Software Engineering Methodologies
Software Engineering MethodologiesSoftware Engineering Methodologies
Software Engineering Methodologies
 
Unit2 Software engineering UPTU
Unit2 Software engineering UPTUUnit2 Software engineering UPTU
Unit2 Software engineering UPTU
 
software requirement specifcation.pptx
software requirement specifcation.pptxsoftware requirement specifcation.pptx
software requirement specifcation.pptx
 
SE-Unit II.pdf
SE-Unit II.pdfSE-Unit II.pdf
SE-Unit II.pdf
 
Good PracticesFor RequirementEngineering.pptx
Good PracticesFor RequirementEngineering.pptxGood PracticesFor RequirementEngineering.pptx
Good PracticesFor RequirementEngineering.pptx
 
Software Requirements engineering
Software Requirements engineeringSoftware Requirements engineering
Software Requirements engineering
 
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
 
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
 
SE Unit 2(1).pptx
SE Unit 2(1).pptxSE Unit 2(1).pptx
SE Unit 2(1).pptx
 
Software Requirements
Software RequirementsSoftware Requirements
Software Requirements
 

Más de Lilia Sfaxi

Más de Lilia Sfaxi (20)

chp1-Intro à l'urbanisation des SI.pdf
chp1-Intro à l'urbanisation des SI.pdfchp1-Intro à l'urbanisation des SI.pdf
chp1-Intro à l'urbanisation des SI.pdf
 
Plan d'études_INSAT_2022_2023.pdf
Plan d'études_INSAT_2022_2023.pdfPlan d'études_INSAT_2022_2023.pdf
Plan d'études_INSAT_2022_2023.pdf
 
Lab3-DB_Neo4j
Lab3-DB_Neo4jLab3-DB_Neo4j
Lab3-DB_Neo4j
 
Lab2-DB-Mongodb
Lab2-DB-MongodbLab2-DB-Mongodb
Lab2-DB-Mongodb
 
Lab1-DB-Cassandra
Lab1-DB-CassandraLab1-DB-Cassandra
Lab1-DB-Cassandra
 
TP2-UML-Correction
TP2-UML-CorrectionTP2-UML-Correction
TP2-UML-Correction
 
TP1-UML-Correction
TP1-UML-CorrectionTP1-UML-Correction
TP1-UML-Correction
 
TP0-UML-Correction
TP0-UML-CorrectionTP0-UML-Correction
TP0-UML-Correction
 
TD4-UML
TD4-UMLTD4-UML
TD4-UML
 
TD4-UML-Correction
TD4-UML-CorrectionTD4-UML-Correction
TD4-UML-Correction
 
TD3-UML-Séquences
TD3-UML-SéquencesTD3-UML-Séquences
TD3-UML-Séquences
 
TD3-UML-Correction
TD3-UML-CorrectionTD3-UML-Correction
TD3-UML-Correction
 
TD2 - UML - Correction
TD2 - UML - CorrectionTD2 - UML - Correction
TD2 - UML - Correction
 
TD1 - UML - DCU
TD1 - UML - DCUTD1 - UML - DCU
TD1 - UML - DCU
 
TD1-UML-correction
TD1-UML-correctionTD1-UML-correction
TD1-UML-correction
 
Android - Tp1 - installation et démarrage
Android - Tp1 -   installation et démarrageAndroid - Tp1 -   installation et démarrage
Android - Tp1 - installation et démarrage
 
Android - Tp2 - Elements graphiques
Android - Tp2 - Elements graphiques Android - Tp2 - Elements graphiques
Android - Tp2 - Elements graphiques
 
Android - Tp3 - intents
Android - Tp3 -  intentsAndroid - Tp3 -  intents
Android - Tp3 - intents
 
Android - TPBonus - web services
Android - TPBonus - web servicesAndroid - TPBonus - web services
Android - TPBonus - web services
 
Android - Tp4 - graphiques avancés
Android - Tp4 - graphiques avancésAndroid - Tp4 - graphiques avancés
Android - Tp4 - graphiques avancés
 

Último

Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Joaquim Jorge
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 

Último (20)

Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation Strategies
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 

Software Engineering - chp2- requirements specification

  • 1. MedTech Chapter 2 – RequirementsSpecification How to write a requirements specification Dr. Lilia SFAXI www.liliasfaxi.wix.com/liliasfaxi Slide 1 MedTech – Mediterranean Institute of Technology Software Engineering MedTech
  • 2. MedTech Requirements Specification… Why? 2 If you don’t know where you’re going, you will probably end up somewhere else. Laurence J. Peter
  • 3. MedTech SRS: Software Requirements Specification • The organization’s understanding, in writing, of a customer or potential client’s system requirements and dependencies at a particular point in time, usually prior to any actual design or development work. • A two way insurance policy • Insures that both the client and the organization understand the other’s requirements from that perspective at a given time • States: • The functions and capabilities a software system must provide • The required constraints by which the system must abide • Called the “parent” document 3 Requirements Specification
  • 4. MedTech SRS: Major Goals • Providing feedback to the customer • SRS is the customer’s assurance that the dev. organization understands his needs • SRS should be written in a natural language, in an unambiguous manner • May include charts, tables, data flow diagrams, decision tables,… • Decomposing the problem into component parts • The information is organized, borders are placed, ideas solidified • Serving as an input to the design specification • As a parent document, it comes prior to the design spec. • Must then contain sufficient details about the functional system’s requirements for the design solution to be devised • Serving as a product validation check • Is also the parent document for testing and validation strategies • Is a basis for estimating costs and schedules 4 Requirements Specification
  • 5. MedTech SRS: Content (IEEE 830 standard) • Functionality • What is the software supposed to do? • External Interfaces • How does the software interact with people, the system’s hardware, other hardware, and other software? • Performance • What is the speed, availability, response time, recovery time of various software functions? • Attributes • What are the portability, correctness, maintainability, security, etc. considerations? • Design constraints imposed on an implementation • Are there any required standards in effect, implementation language, policies for database integrity, resource limits, operating environments, etc.? Dr. Lilia SFAXI www.liliasfaxi.wix.com/liliasfaxi Slide 5 Requirements Specification
  • 6. MedTech SRS: What it contains, what it doesn’t • SRS provides: • Function requirements • Non-functional requirements • SRS doesn’t provide: • Design suggestions • Possible solutions to technology or business issues 6 Requirements Specification
  • 7. MedTech What makes an SRS a GREAT SRS? • An SRS should be: (IEEE 830 standard) • Correct, but also ever correcting • It must be corrected whenever you find incorrect things along the dev or design phases • Unambiguous • Every requirement stated therein has only one interpretation • Fix ambiguities when found, instead of spending endless time trying to avoid them • Complete • It should be all that is needed by the software designers to create the software • Consistent • Within itself and to its reference documents (no contradictions) • Ranked for importance and/or stability • Importance and stability (chances of change) for each requirement must be specified Dr. Lilia SFAXI www.liliasfaxi.wix.com/liliasfaxi Slide 7 Requirements Specification
  • 8. MedTech What makes an SRS a GREAT SRS? • An SRS should be: (IEEE 830 standard) • Verifiable • “fast response” and “the system should never crash” are totally forbidden statements! • Provide quantitative requirements instead of just suppositions • Modifiable • Prefer a shared document to multiple copies • Traceable • You should document the life of a requirement and provide bi-directional traceability between the associated requirements • Helps find the origin of each requirement and track the changes that were made Dr. Lilia SFAXI www.liliasfaxi.wix.com/liliasfaxi Slide 8 Requirements Specification
  • 9. MedTech Major Challenge: Requirements Gathering Dr. Lilia SFAXI www.liliasfaxi.wix.com/liliasfaxi Slide 9 Requirements Specification
  • 10. MedTech Technical Writers.. • A technical writer is a professional writer who produces technical documentation that helps people understand and use a product or service • Technical Writers should be involved with SRS • And we mean.. to the whole specification writing phase! • Benefits • They can gather efficiently the information from the customer • They can better assess and plan documentation projects and meet customer document needs • They know how to determine the questions that are of concern to the user • If involved early and often in the gathering process, they can become an information resource throughout the process, rather than an information gatherer at its end Dr. Lilia SFAXI www.liliasfaxi.wix.com/liliasfaxi Slide 10 Requirements Specification
  • 11. MedTech Working with Requirements.. A Lifecycle Activity! Dr. Lilia SFAXI www.liliasfaxi.wix.com/liliasfaxi Slide 11 Requirements Specification Requirements Capture& Definition Analysis & Design Tools Modeling Tools Simulation Tools Coding Tools Testing Tools RequirementsManagement & Traceability Tools
  • 12. MedTech Best Practices for Writing Better Requirements 1. Use the simplest words appropriate to state a complete requirement 2. Use requirement imperatives correctly Dr. Lilia SFAXI www.liliasfaxi.wix.com/liliasfaxi Slide 12 Requirements Specification Imperatives:words and phrases that command the presence of some feature, function or deliverable. Listed below in decreasing order ofstrength. Shall Used todictate theprovision of afunctional capability. Must or must not Most often used to establish performancerequirementor constraints. Is required to Used asan imperativein SRS statements when written in passivevoice. Areapplicable Used toinclude, byreference, standards, or other documentation asan addition to the requirementbeing specified. Responsible for Used asan imperativein SRSs thatarewritten for systems with pre-defined architectures. Will Used tocite thingsthattheoperational or development environmentis to providetothe capability being specified. For example, Thevehicle'sexhaustsystem will power theABC widget. Should Not used often as an imperative in SRS statements; however, when used, theSRSstatement always readsweak. Avoid using Should in your SRSs.
  • 13. MedTech Best Practices for Writing Better Requirements 3. Do not use weak phrases and subjective words • Avoid words like: adequate, appropriate, bad, better, but not limited to, easy, minimize… 4. Use continuations carefully, they make traceability difficult • Continuances: Phrases that follow an imperative and introduce the specification of requirements at a lower level. There is a correlation with the frequency of use of continuances and SRS organization and structure, up to a point. • Example: The system shall report software status to the host interface under the following conditions: • At system Initialization • When the status of an external interface has changed • When a report has been requested Ø These are actually three requirements Dr. Lilia SFAXI www.liliasfaxi.wix.com/liliasfaxi Slide 13 Requirements Specification
  • 14. MedTech Best Practices for Writing Better Requirements 5. Use examples, tables, figures etc. but make sure examples and notes are clearly marked as such 6. Be consistent with names! Always call the same entity by the same name 7. If you use a TBD (to be determined) or TBR (to be resolved), have a plan. You must state who is responsible for the information, and when will it be completed 8. Make sure your requirement contains all the qualities of a good requirement (see "What makes an SRS a great SRS" above) Dr. Lilia SFAXI www.liliasfaxi.wix.com/liliasfaxi Slide 14 Requirements Specification
  • 15. MedTech Best Practices for Writing Better Requirements 9. Make sure that if a requirement references another document, that it does so correctly • References must be listed in applicable document section and state what part of references applies • List all the versions of your document and the changes it applies compared to the previous version • Use a naming convention in order to apply a unique name to every document you use, for example SRS-ProjID-Version-Date.docx Dr. Lilia SFAXI www.liliasfaxi.wix.com/liliasfaxi Slide 15 Requirements Specification
  • 16. MedTech Best Practices for Writing Better Requirements 10. Make sure that acronyms are used correctly • Place the acronym in the acronym list in the specification • Spell out the complete phrase followed by the acronym in parenthesis the first time it is used • The next time, you can just use the acronym 11. Overspecification leads to unfunded requirements and can add duplicate requirements • Shorten the requirements as possible Dr. Lilia SFAXI www.liliasfaxi.wix.com/liliasfaxi Slide 16 Requirements Specification
  • 17. MedTech Best Practices for Writing Better Requirements 12. Use the requirement template • Define a template document for your requirements • This is the structure of a basic requirement: [Conditions] [Subject][Action][Object][Constraint] • Entities: Subject of the requirements and Object of the action • Actions: What the subject does, contains an imperative • Conditions: What must be in place in order for the action to take place • Constraints: Qualifies the action, performance • Example: • When signal x is received, the system shall set the signal x received bit within 2 seconds 13. Design for asset reuse 14. Finding the right combination of approaches for the development process • X-driven development Dr. Lilia SFAXI www.liliasfaxi.wix.com/liliasfaxi Slide 17 Requirements Specification
  • 18. MedTech But also… 1. Spend time specifying and documenting well software that you plan to keep. 2. Keep documentation to a minimum when the software will only be used for a short time or has a limited number of users. 3. Have separate individuals write the specifications (not the individual who will write the code). 4. The person to write the specification should have good communication skills. 5. Take your time with complicated requirements. Vagueness in those areas will come back to bite you later. 6. Keep the SRS up to date as you make changes. 7. Approximately 20-25% of the project time should be allocated to requirements definition. 8. Keep 5% of the project time for updating the requirements after the design has begun. 9. Test the requirements document by using it as the basis for writing the test plan. Dr. Lilia SFAXI www.liliasfaxi.wix.com/liliasfaxi Slide 18 Requirements Specification
  • 19. MedTech References Dr. Lilia SFAXI www.liliasfaxi.wix.com/liliasfaxi Slide 19 • Donn Le Vie, Jr, Writing Software Specifications • Michelle Specht, Best Practices Writing Requirements for Requirements Management, https://www.youtube.com/watch?v=vAEbMzNb_nM • Robert Japenga, How to write a software requirements specification