SlideShare a Scribd company logo
1 of 19
Download to read offline
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

More Related Content

What's hot

Software Engineering - chp0- introduction
Software Engineering - chp0- introductionSoftware Engineering - chp0- introduction
Software Engineering - chp0- introductionLilia Sfaxi
 
Software testing and process
Software testing and processSoftware testing and process
Software testing and processgouravkalbalia
 
Introduction To Jira
Introduction To JiraIntroduction To Jira
Introduction To JiraHua Soon Sim
 
Software Engineering - chp8- deployment
Software Engineering - chp8- deploymentSoftware Engineering - chp8- deployment
Software Engineering - chp8- deploymentLilia Sfaxi
 
What is Test Plan? Edureka
What is Test Plan? EdurekaWhat is Test Plan? Edureka
What is Test Plan? EdurekaEdureka!
 
Requirements validation - requirements engineering
Requirements validation - requirements engineeringRequirements validation - requirements engineering
Requirements validation - requirements engineeringRa'Fat Al-Msie'deen
 
Lect-4: Software Development Life Cycle Model - SPM
Lect-4: Software Development Life Cycle Model - SPMLect-4: Software Development Life Cycle Model - SPM
Lect-4: Software Development Life Cycle Model - SPMMubashir Ali
 
Modelos de Procesos del Software
Modelos de Procesos del SoftwareModelos de Procesos del Software
Modelos de Procesos del SoftwareJaneth Jimenez
 
Software Engineering - chp1- software dev methodologies
Software Engineering - chp1- software dev methodologiesSoftware Engineering - chp1- software dev methodologies
Software Engineering - chp1- software dev methodologiesLilia Sfaxi
 
9 requirements engineering2
9 requirements engineering29 requirements engineering2
9 requirements engineering2Lilia Sfaxi
 
Software Engineering - Basics
Software Engineering - BasicsSoftware Engineering - Basics
Software Engineering - BasicsPurvik Rana
 
Requirement engineering evaluation
Requirement engineering evaluationRequirement engineering evaluation
Requirement engineering evaluationIshraq Al Fataftah
 
Software Project Management (lecture 3)
Software Project Management (lecture 3)Software Project Management (lecture 3)
Software Project Management (lecture 3)Syed Muhammad Hammad
 
Functional vs Non-functional Requirements - Which comes first?
Functional vs Non-functional Requirements - Which comes first?Functional vs Non-functional Requirements - Which comes first?
Functional vs Non-functional Requirements - Which comes first?Evgeniy Labunskiy
 
Software requirement and specification
Software requirement and specificationSoftware requirement and specification
Software requirement and specificationAman Adhikari
 

What's hot (20)

Software Engineering - chp0- introduction
Software Engineering - chp0- introductionSoftware Engineering - chp0- introduction
Software Engineering - chp0- introduction
 
Software testing and process
Software testing and processSoftware testing and process
Software testing and process
 
Software process
Software processSoftware process
Software process
 
Introduction To Jira
Introduction To JiraIntroduction To Jira
Introduction To Jira
 
Software Engineering - chp8- deployment
Software Engineering - chp8- deploymentSoftware Engineering - chp8- deployment
Software Engineering - chp8- deployment
 
Extreme Programming ppt
Extreme Programming pptExtreme Programming ppt
Extreme Programming ppt
 
What is Test Plan? Edureka
What is Test Plan? EdurekaWhat is Test Plan? Edureka
What is Test Plan? Edureka
 
The Waterfall Model
The Waterfall ModelThe Waterfall Model
The Waterfall Model
 
Requirements validation - requirements engineering
Requirements validation - requirements engineeringRequirements validation - requirements engineering
Requirements validation - requirements engineering
 
Lect-4: Software Development Life Cycle Model - SPM
Lect-4: Software Development Life Cycle Model - SPMLect-4: Software Development Life Cycle Model - SPM
Lect-4: Software Development Life Cycle Model - SPM
 
Modelos de Procesos del Software
Modelos de Procesos del SoftwareModelos de Procesos del Software
Modelos de Procesos del Software
 
Software Engineering - chp1- software dev methodologies
Software Engineering - chp1- software dev methodologiesSoftware Engineering - chp1- software dev methodologies
Software Engineering - chp1- software dev methodologies
 
Jira training
Jira trainingJira training
Jira training
 
9 requirements engineering2
9 requirements engineering29 requirements engineering2
9 requirements engineering2
 
Requirements Management
Requirements ManagementRequirements Management
Requirements Management
 
Software Engineering - Basics
Software Engineering - BasicsSoftware Engineering - Basics
Software Engineering - Basics
 
Requirement engineering evaluation
Requirement engineering evaluationRequirement engineering evaluation
Requirement engineering evaluation
 
Software Project Management (lecture 3)
Software Project Management (lecture 3)Software Project Management (lecture 3)
Software Project Management (lecture 3)
 
Functional vs Non-functional Requirements - Which comes first?
Functional vs Non-functional Requirements - Which comes first?Functional vs Non-functional Requirements - Which comes first?
Functional vs Non-functional Requirements - Which comes first?
 
Software requirement and specification
Software requirement and specificationSoftware requirement and specification
Software requirement and specification
 

Similar to Software Engineering - chp2- requirements specification

8 requirements engineering1
8 requirements engineering18 requirements engineering1
8 requirements engineering1Lilia Sfaxi
 
Software Engineering - chp6- development phase
Software Engineering - chp6- development phaseSoftware Engineering - chp6- development phase
Software Engineering - chp6- development phaseLilia Sfaxi
 
Agile Development – Why requirements matter
Agile Development – Why requirements matterAgile Development – Why requirements matter
Agile Development – Why requirements matterAgile Austria Conference
 
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 RequirementsElizabeth Steiner
 
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 SaracevicAgile ME
 
Lecture 2 & 3.pptx
Lecture 2 & 3.pptxLecture 2 & 3.pptx
Lecture 2 & 3.pptxRaoShahid10
 
A Beard, An App, A Blender
A Beard, An App, A BlenderA Beard, An App, A Blender
A Beard, An App, A Blenderedm00se
 
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 062719BingWang77
 
Requirements Management Using Innoslate
Requirements Management Using InnoslateRequirements Management Using Innoslate
Requirements Management Using InnoslateElizabeth Steiner
 
Software Engineering Methodologies
Software Engineering MethodologiesSoftware Engineering Methodologies
Software Engineering MethodologiesNesrine Shokry
 
Unit2 Software engineering UPTU
Unit2 Software engineering UPTUUnit2 Software engineering UPTU
Unit2 Software engineering UPTUMohammad Faizan
 
software requirement specifcation.pptx
software requirement specifcation.pptxsoftware requirement specifcation.pptx
software requirement specifcation.pptxSACHINMAURYA57
 
Writing software requirement document
Writing software requirement documentWriting software requirement document
Writing software requirement documentSunita Sahu
 
Writing software requirement document
Writing software requirement documentWriting software requirement document
Writing software requirement documentSunita Sahu
 
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.pdfJayanthi Kannan MK
 
SE Unit 2(1).pptx
SE Unit 2(1).pptxSE Unit 2(1).pptx
SE Unit 2(1).pptxaryan631999
 
Software Requirements
Software RequirementsSoftware Requirements
Software RequirementsNethan Shaik
 

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

8 requirements engineering1
8 requirements engineering18 requirements engineering1
8 requirements engineering1
 
Software Engineering - chp6- development phase
Software Engineering - chp6- development phaseSoftware Engineering - chp6- development phase
Software Engineering - chp6- development phase
 
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
 
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
 
Dbms fast track 3/3
Dbms fast track 3/3Dbms fast track 3/3
Dbms fast track 3/3
 

More from Lilia Sfaxi

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.pdfLilia Sfaxi
 
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.pdfLilia Sfaxi
 
Lab1-DB-Cassandra
Lab1-DB-CassandraLab1-DB-Cassandra
Lab1-DB-CassandraLilia Sfaxi
 
TP2-UML-Correction
TP2-UML-CorrectionTP2-UML-Correction
TP2-UML-CorrectionLilia Sfaxi
 
TP1-UML-Correction
TP1-UML-CorrectionTP1-UML-Correction
TP1-UML-CorrectionLilia Sfaxi
 
TP0-UML-Correction
TP0-UML-CorrectionTP0-UML-Correction
TP0-UML-CorrectionLilia Sfaxi
 
TD4-UML-Correction
TD4-UML-CorrectionTD4-UML-Correction
TD4-UML-CorrectionLilia Sfaxi
 
TD3-UML-Séquences
TD3-UML-SéquencesTD3-UML-Séquences
TD3-UML-SéquencesLilia Sfaxi
 
TD3-UML-Correction
TD3-UML-CorrectionTD3-UML-Correction
TD3-UML-CorrectionLilia Sfaxi
 
TD2 - UML - Correction
TD2 - UML - CorrectionTD2 - UML - Correction
TD2 - UML - CorrectionLilia Sfaxi
 
TD1-UML-correction
TD1-UML-correctionTD1-UML-correction
TD1-UML-correctionLilia Sfaxi
 
Android - Tp1 - installation et démarrage
Android - Tp1 -   installation et démarrageAndroid - Tp1 -   installation et démarrage
Android - Tp1 - installation et démarrageLilia Sfaxi
 
Android - Tp2 - Elements graphiques
Android - Tp2 - Elements graphiques Android - Tp2 - Elements graphiques
Android - Tp2 - Elements graphiques Lilia Sfaxi
 
Android - Tp3 - intents
Android - Tp3 -  intentsAndroid - Tp3 -  intents
Android - Tp3 - intentsLilia Sfaxi
 
Android - TPBonus - web services
Android - TPBonus - web servicesAndroid - TPBonus - web services
Android - TPBonus - web servicesLilia Sfaxi
 
Android - Tp4 - graphiques avancés
Android - Tp4 - graphiques avancésAndroid - Tp4 - graphiques avancés
Android - Tp4 - graphiques avancésLilia Sfaxi
 

More from 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
 

Recently uploaded

The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Hiroshi SHIBATA
 
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotesMuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotesManik S Magar
 
Data governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationData governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationKnoldus Inc.
 
Glenn Lazarus- Why Your Observability Strategy Needs Security Observability
Glenn Lazarus- Why Your Observability Strategy Needs Security ObservabilityGlenn Lazarus- Why Your Observability Strategy Needs Security Observability
Glenn Lazarus- Why Your Observability Strategy Needs Security Observabilityitnewsafrica
 
Testing tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesTesting tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesKari Kakkonen
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxLoriGlavin3
 
Abdul Kader Baba- Managing Cybersecurity Risks and Compliance Requirements i...
Abdul Kader Baba- Managing Cybersecurity Risks  and Compliance Requirements i...Abdul Kader Baba- Managing Cybersecurity Risks  and Compliance Requirements i...
Abdul Kader Baba- Managing Cybersecurity Risks and Compliance Requirements i...itnewsafrica
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxLoriGlavin3
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
Scale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterScale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterMydbops
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxLoriGlavin3
 
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesHow to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesThousandEyes
 
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Alkin Tezuysal
 
QCon London: Mastering long-running processes in modern architectures
QCon London: Mastering long-running processes in modern architecturesQCon London: Mastering long-running processes in modern architectures
QCon London: Mastering long-running processes in modern architecturesBernd Ruecker
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
Potential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsPotential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsRavi Sanghani
 
Varsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
Varsha Sewlal- Cyber Attacks on Critical Critical InfrastructureVarsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
Varsha Sewlal- Cyber Attacks on Critical Critical Infrastructureitnewsafrica
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsNathaniel Shimoni
 

Recently uploaded (20)

The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024
 
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotesMuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
 
Data governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationData governance with Unity Catalog Presentation
Data governance with Unity Catalog Presentation
 
Glenn Lazarus- Why Your Observability Strategy Needs Security Observability
Glenn Lazarus- Why Your Observability Strategy Needs Security ObservabilityGlenn Lazarus- Why Your Observability Strategy Needs Security Observability
Glenn Lazarus- Why Your Observability Strategy Needs Security Observability
 
Testing tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesTesting tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examples
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
 
Abdul Kader Baba- Managing Cybersecurity Risks and Compliance Requirements i...
Abdul Kader Baba- Managing Cybersecurity Risks  and Compliance Requirements i...Abdul Kader Baba- Managing Cybersecurity Risks  and Compliance Requirements i...
Abdul Kader Baba- Managing Cybersecurity Risks and Compliance Requirements i...
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptx
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
Scale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterScale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL Router
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
 
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesHow to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
 
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
 
QCon London: Mastering long-running processes in modern architectures
QCon London: Mastering long-running processes in modern architecturesQCon London: Mastering long-running processes in modern architectures
QCon London: Mastering long-running processes in modern architectures
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
Potential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsPotential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and Insights
 
Varsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
Varsha Sewlal- Cyber Attacks on Critical Critical InfrastructureVarsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
Varsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directions
 

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