SlideShare a Scribd company logo
1 of 54
Download to read offline
MedTech
Chapter 8 – Requirements Engineering (2)
Requirements Elicitation, Validation, Management
Dr. Lilia SFAXI
www.liliasfaxi.wix.com/liliasfaxi
Slide 1
MedTech – Mediterranean Institute of Technology
CS321 -Software Engineering
MedTech
MedTech
Requirements Engineering Processes
• The processes used for RE vary widely depending on the application
domain, the people involved and the organisation developing the
requirements.
• However, there are a number of generic activities common to all
processes
• Requirements elicitation;
• Requirements analysis;
• Requirements validation;
• Requirements management.
• In practice, RE is an iterative activity in which these processes are
interleaved.
Dr. Lilia SFAXI
www.liliasfaxi.wix.com/liliasfaxi
Slide 2
Requirements Engineering
MedTech
Requirements Engineering Processes: Spiral
Dr. Lilia SFAXI
www.liliasfaxi.wix.com/liliasfaxi
Slide 3
Requirements Engineering
Requirements
specification
Requirements
validation
Requirements
elicitation
System requirements
specification and
modeling
System
req.
elicitation
User requirements
specification
User
requirements
elicitation
Business requirements
specification
Prototyping
Feasibility
study
Reviews
System requirements
document
Start
MedTech
Software Requirements Document
• The software requirements document (or Software Requirements
Specification SRS) is the official statement of what is required of the
system developers.
• Should include both a definition of user requirements and a
specification of the system requirements.
• It is NOT a design document. As far as possible, it should set of WHAT
the system should do rather than HOW it should do it.
Dr. Lilia SFAXI
www.liliasfaxi.wix.com/liliasfaxi
Slide 4
Requirements Engineering
MedTech
SRS and Agile Methods
• Many agile methods argue that producing a requirements document is
a waste of time as requirements change so quickly.
• The document is therefore always out of date.
• Methods such as XP use incremental requirements engineering and
express requirements as ‘user stories’
• This is practical for business systems but problematic for systems
that require a lot of pre-delivery analysis (e.g. critical systems) or
systems developed by several teams.
Dr. Lilia SFAXI
www.liliasfaxi.wix.com/liliasfaxi
Slide 5
Requirements Engineering
MedTech
Users of the SRS
Dr. Lilia SFAXI
www.liliasfaxi.wix.com/liliasfaxi
Slide 6
Requirements Engineering
Use the requirements to
develop validation tests for
the system.
Use the requirements
document to plan a bid for
the system and to plan the
system development process.
Use the requirements to
understand what system is
to be developed.
System test
engineers
Managers
System
engineers
Specify the requirements and
read them to check that they
meet their needs. Customers
specify changes to the
requirements.
System
customers
Use the requirements to
understand the system and
the relationships between its
parts.
System
maintenance
engineers
MedTech
SRS Variability
• Information in requirements document depends on type of system and
the approach to development used.
• SRS should be detailed for:
• Critical systems: safety and security should be analyzed in details
• Outsourced systems: a separate company is developing the system
• Systems developed in-house and incrementally will, typically, have
less details in the requirements document.
• Ambiguities can be resolved during development
• Requirements documents standards have been designed
• Ex: IEEE standard.
• Mostly applicable to the requirements for large systems engineering
projects.
Dr. Lilia SFAXI
www.liliasfaxi.wix.com/liliasfaxi
Slide 7
Requirements Engineering
MedTech
SRS Standard Example: IEEE 1998
Dr. Lilia SFAXI
www.liliasfaxi.wix.com/liliasfaxi
Slide 8
Requirements Engineering
Chapter Description
Preface This should define the expected readership of the document and describe its version
history, including a rationale for the creation of a new version and a summary of the
changes made in each version.
Introduction This should describe the need for the system. It should briefly describe the system’s
functions and explain how it will work with other systems. It should also describe how the
system fits into the overall business or strategic objectives of the organization
commissioning the software.
Glossary This should define the technical terms used in the document. You should not make
assumptions about the experience or expertise of the reader.
User requirements
definition
Here, you describe the services provided for the user. The nonfunctional system
requirements should also be described in this section. This description may use natural
language, diagrams, or other notations that are understandable to customers. Product and
process standards that must be followed should be specified.
System architecture This chapter should present a high-level overview of the anticipated system architecture,
showing the distribution of functions across system modules. Architectural components
that are reused should be highlighted.
MedTech
SRS Standard Example: IEEE 1998
Dr. Lilia SFAXI
www.liliasfaxi.wix.com/liliasfaxi
Slide 9
Requirements Engineering
Chapter Description
System requirements
specification
This should describe the functional and nonfunctional requirements in more detail. If
necessary, further detail may also be added to the nonfunctional requirements. Interfaces
to other systems may be defined.
System models This might include graphical system models showing the relationships between the system
components and the system and its environment. Examples of possible models are object
models, data-flow models, or semantic data models.
System evolution This should describe the fundamental assumptions on which the system is based, and any
anticipated changes due to hardware evolution, changing user needs, and so on. This
section is useful for system designers as it may help them avoid design decisions that
would constrain likely future changes to the system.
Appendices These should provide detailed, specific information that is related to the application being
developed; for example, hardware and database descriptions. Hardware requirements
define the minimal and optimal configurations for the system. Database requirements
define the logical organization of the data used by the system and the relationships
between data.
Index Several indexes to the document may be included. As well as a normal alphabetic index,
there may be an index of diagrams, an index of functions, and so on.
MedTech
REQUIREMENTS ELICITATION AND ANALYSIS
Requirements Engineering
Dr. Lilia SFAXI
www.liliasfaxi.wix.com/liliasfaxi
Slide 10
Requirements
specification
Requirements
validation
Requirements
elicitation
System requirements
specification and
modeling
System
req.
elicitation
User requirements
specification
User
requirements
elicitation
Business requirements
specification
Prototyping
Feasibility
study
Reviews
System requirements
document
Start
MedTech
Requirements Elicitation and Analysis
• Sometimes called requirements elicitation or requirements discovery.
• Involves technical staff working with customers to find out about the
application domain, the services that the system should provide and
the system’s operational constraints.
• May involve end-users, managers, engineers involved in maintenance,
domain experts, trade unions, etc. These are called stakeholders.
Dr. Lilia SFAXI
www.liliasfaxi.wix.com/liliasfaxi
Slide 11
Requirements Elicitation and Analysis
MedTech
Problems
• Stakeholders don’t know what they really want.
• Stakeholders express requirements in their own terms.
• Different stakeholders may have conflicting requirements.
• Organisational and political factors may influence the system
requirements.
• The requirements change during the analysis process. New
stakeholders may emerge and the business environment may change.
Dr. Lilia SFAXI
www.liliasfaxi.wix.com/liliasfaxi
Slide 12
Requirements Elicitation and Analysis
MedTech
Stages
• Software engineers work with a range of system stakeholders to find
out about the application domain, the services that the system should
provide, the required system performance, hardware constraints,
other systems, etc.
Dr. Lilia SFAXI
www.liliasfaxi.wix.com/liliasfaxi
Slide 13
Requirements Elicitation and Analysis
1. Requirements
discovery
2. Requirements
classification and
organization
3. Requirements
prioritization and
negotiation
4. Requirements
specification
• Stages include:
• Requirements discovery,
• Requirements classification
and organization,
• Requirements prioritization
and negotiation,
• Requirements specification.
MedTech
Stages
• Requirements discovery
• Interacting with stakeholders to discover their requirements. Domain
requirements are also discovered at this stage.
• Requirements classification and organisation
• Groups related requirements and organises them into coherent clusters.
• Prioritisation and negotiation
• Prioritising requirements and resolving requirements conflicts.
• Requirements specification
• Requirements are documented and input into the next round of the spiral.
Dr. Lilia SFAXI
www.liliasfaxi.wix.com/liliasfaxi
Slide 14
Requirements Elicitation and Analysis
MedTech
Stages
• Requirements discovery
• Interacting with stakeholders to discover their requirements. Domain
requirements are also discovered at this stage.
• Requirements classification and organisation
• Groups related requirements and organises them into coherent clusters.
• Prioritisation and negotiation
• Prioritising requirements and resolving requirements conflicts.
• Requirements specification
• Requirements are documented and input into the next round of the spiral.
Dr. Lilia SFAXI
www.liliasfaxi.wix.com/liliasfaxi
Slide 15
Requirements Elicitation and Analysis
MedTech
Requirements Discovery
• The process of gathering information about the required and existing systems and
distilling the user and system requirements from this information.
• Interaction is with system stakeholders from managers to external regulators.
• Systems normally have a range of stakeholders.
• Example of Stakeholders in the MHC-PMS System
• Patients whose information is recorded in the system.
• Doctors who are responsible for assessing and treating patients.
• Nurses who coordinate the consultations with doctors and administer some
treatments.
• Medical receptionists who manage patients’ appointments.
• IT staff who are responsible for installing and maintaining the system.
• A medical ethics manager who must ensure that the system meets current ethical
guidelines for patient care.
• …
Dr. Lilia SFAXI
www.liliasfaxi.wix.com/liliasfaxi
Slide 16
Requirements Elicitation and Analysis
MedTech
Requirements Discovery
• In addition to stakeholders, requirements may also come from
application domain and other systems interacting with the system
being specified
• Different requirements sources(stakeholders, domain, systems) can
be represented as viewpoints, each viewpoint showing a subset of the
requirements
• Viewpoint
• Way of collecting and organizing a set of requirements from a group of
stakeholders who have something in common
• Each viewpoint includes a set of system requirements
• Different viewpoints see the problem in different ways
• Several viewpoints usually overlap and have common requirements
Dr. Lilia SFAXI
www.liliasfaxi.wix.com/liliasfaxi
Slide 17
Requirements Elicitation and Analysis
MedTech
Discovery Techniques: Interviewing
• Formal or informal interviews with stakeholders
• Types of interview
• Closed interviews based on pre-determined list of questions
• Open interviews where various issues are explored with stakeholders.
• In practice, normally a mix of closed and open-ended interviewing.
• Effective interviewing
• Be open-minded, avoid pre-conceived ideas about the requirements and are
willing to listen to stakeholders.
• Prompt the interviewee to get discussions going using a springboard
question, a requirements proposal, or by working together on a prototype
system.
Dr. Lilia SFAXI
www.liliasfaxi.wix.com/liliasfaxi
Slide 18
Requirements Elicitation and Analysis
MedTech
Discovery Techniques: Interviewing
• Interviews are good for getting an overall understanding of
what stakeholders do and how they might interact with the
system.
• Interviews are not good for understanding domain
requirements
• Requirements engineers cannot understand specific domain
terminology;
• Some domain knowledge is so familiar that people find it hard to
articulate or think that it isn’t worth articulating.
• Should be used in conjunction with other requirements
elicitation techniques
Dr. Lilia SFAXI
www.liliasfaxi.wix.com/liliasfaxi
Slide 19
Requirements Elicitation and Analysis
MedTech
Discovery Techniques: Scenarios
• Scenarios are real-life examples of how a system can be
used.
• Each scenario usually convers one or a small number of
possible interactions
• They should include
• A description of the starting situation;
• A description of the normal flow of events;
• A description of what can go wrong;
• Information about other concurrent activities;
• A description of the state when the scenario finishes.
Dr. Lilia SFAXI
www.liliasfaxi.wix.com/liliasfaxi
Slide 20
Requirements Elicitation and Analysis
MedTech
Discovery Techniques: Example Scenario
Dr. Lilia SFAXI
www.liliasfaxi.wix.com/liliasfaxi
Slide 21
Requirements Elicitation and Analysis
MedTech
Discovery Techniques: Use Cases
• Use-cases are a scenario based technique in the UML
language which identify the actors in an interaction and
describe the interaction itself.
• A set of use cases should describe all possible interactions
with the system.
• High-level graphical model supplemented by more detailed
tabular description.
• Sequence diagrams may be used to add detail to use-cases
by showing the sequence of event processing in the system.
Dr. Lilia SFAXI
www.liliasfaxi.wix.com/liliasfaxi
Slide 22
Requirements Elicitation and Analysis
MedTech
Discovery Techniques: Example Use Case
Dr. Lilia SFAXI
www.liliasfaxi.wix.com/liliasfaxi
Slide 23
Requirements Elicitation and Analysis
Nurse
Medical receptionist
Manager
Register
patient
View
personal info.
View record
Generate
report
Export
statistics
Doctor
Edit record
Setup
consultation
MedTech
Discovery Techniques: Ethnography
• A social scientist spends a considerable time observing and
analysing how people actually work.
• People do not have to explain or articulate their work.
• Social and organisational factors of importance may be
observed.
• Ethnographic studies have shown that work is usually richer
and more complex than suggested by simple system models.
Dr. Lilia SFAXI
www.liliasfaxi.wix.com/liliasfaxi
Slide 24
Requirements Elicitation and Analysis
MedTech
Discovery Techniques: Scope of Ethnography
• Requirements that are derived from the way that people
actually work rather than the way I which process definitions
suggest that they ought to work.
• Requirements that are derived from cooperation and
awareness of other people’s activities.
• Awareness of what other people are doing leads to changes in
the ways in which we do things.
• Ethnography is effective for understanding existing
processes but cannot identify new features that should be
added to a system.
Dr. Lilia SFAXI
www.liliasfaxi.wix.com/liliasfaxi
Slide 25
Requirements Elicitation and Analysis
MedTech
Discovery Techniques: Focused Ethnography
• Developed in a project studying the air traffic control process
• Combines ethnography with prototyping
• Prototype development results in unanswered questions
which focus the ethnographic analysis.
• The problem with ethnography is that it studies existing
practices which may have some historical basis which is no
longer relevant.
Dr. Lilia SFAXI
www.liliasfaxi.wix.com/liliasfaxi
Slide 26
Requirements Elicitation and Analysis
Ethnographic
analysis
Debriefing
meetings
Focused
ethnography
Prototype
evaluation
Generic system
development
System
protoyping
MedTech
REQUIREMENTS SPECIFICATION
Requirements Engineering
Dr. Lilia SFAXI
www.liliasfaxi.wix.com/liliasfaxi
Slide 27
Requirements
specification
Requirements
validation
Requirements
elicitation
System requirements
specification and
modeling
System
req.
elicitation
User requirements
specification
User
requirements
elicitation
Business requirements
specification
Prototyping
Feasibility
study
Reviews
System requirements
document
Start
MedTech
Requirements Specification
• The process of writing down the user and system requirements in a
requirements document.
• User requirements have to be understandable by end-users and
customers who do not have a technical background.
• System requirements are more detailed requirements and may include
more technical information.
• The requirements may be part of a contract for the system
development
• It is therefore important that these are as complete as possible.
Dr. Lilia SFAXI
www.liliasfaxi.wix.com/liliasfaxi
Slide 28
Requirements Specification
MedTech
Writing Requirements Specification
Dr. Lilia SFAXI
www.liliasfaxi.wix.com/liliasfaxi
Slide 29
Requirements Specification
Notation Description
Natural language The requirements are written using numbered sentences in natural language. Each
sentence should express one requirement.
Structured natural
language
The requirements are written in natural language on a standard form or template. Each
field provides information about an aspect of the requirement.
Design description
languages
This approach uses a language like a programming language, but with more abstract
features to specify the requirements by defining an operational model of the system.
This approach is now rarely used although it can be useful for interface specifications.
Graphical notations Graphical models, supplemented by text annotations, are used to define the functional
requirements for the system; UML use case and sequence diagrams are commonly
used.
Mathematical
specifications
These notations are based on mathematical concepts such as finite-state machines or
sets. Although these unambiguous specifications can reduce the ambiguity in a
requirements document, most customers don’t understand a formal specification. They
cannot check that it represents what they want and are reluctant to accept it as a
system contract
MedTech
Requirements and Design
• In principle, requirements should state what the system should do
and the design should describe how it does this.
• In practice, requirements and design are inseparable
• A system architecture may be designed to structure the requirements;
• The system may inter-operate with other systems that generate design
requirements;
• The use of a specific architecture to satisfy non-functional requirements
may be a domain requirement.
Dr. Lilia SFAXI
www.liliasfaxi.wix.com/liliasfaxi
Slide 30
Requirements Specification
MedTech
Natural Language Specification
• Requirements are written as natural language sentences supplemented by
diagrams and tables.
• Used for writing requirements because it is expressive, intuitive and
universal. This means that the requirements can be understood by users
and customers.
• But, natural language can cause problems:
• Lack of clarity
• Precision is difficult without making the document difficult to read.
• Requirements confusion
• Functional and non-functional requirements tend to be mixed-up.
• Requirements amalgamation
• Several different requirements may be expressed together.
Dr. Lilia SFAXI
www.liliasfaxi.wix.com/liliasfaxi
Slide 31
Requirements Specification
MedTech
Natural Language Specification: Problem
• Let’s consider the following specification: Mary had a little lamb
• Dictionary definitions:
• had - Past of have
• have
• 1a: To hold in possession as property
• 4a: To acquire or get possession of: OBTAIN (best to be had)
• 4c: ACCEPT; to have in marriage
• 5a: To be marked or characterized by (have red hair)
• 10a: To hold in a position of disadvantage or certain defeat
• 10b: TRICK, FOOL (been had by a partner)
• 12: BEGET, BEAR (have a baby)
• 13: To partake of (have dinner)
• 14: BRIBE, SUBORN (can be had for a price)
• lamb
• 1a: A young sheep esp. less than one year old or without permanent teeth
• 1b: The young of various other animals (as smaller antelopes)
• 2a: A person as gentle or weak as a lamb
• 2b: DEAR, PET
• 2c: A person easily cheated or deceived especially in trading securities
• 3a: The flesh of lamb used as food
Dr. Lilia SFAXI
www.liliasfaxi.wix.com/liliasfaxi
Slide 32
Requirements Specification
MedTech
Natural Language Specification: Problem
Dr. Lilia SFAXI
www.liliasfaxi.wix.com/liliasfaxi
Slide 33
Requirements Specification
Have Lamb Interpretation
1a 1a Mary owned a little sheep under one year of age or without permanent teeth.
4 a 1a Mary acquired a little sheep under one year of age or without permanent teeth.
5 a 1a Mary is the person who owned a little sheep under one year of age or without
permanent teeth.
10 a 1a Mary held a little sheep under one year of age or without permanent teeth in a
position of disadvantage.
10 b 1a Mary tricked a little sheep under one year of age or without permanent teeth.
12 1b Mary gave birth to a young antelope.
12 2 a Mary is (or was) the mother of a particular small, gentle person.
13 3a Mary ate a little of the flesh of lamb.
14 2 c Mary bribed a small person trading in securities who was easily cheated.
MedTech
Structured Specification
• An approach to writing requirements where the freedom of the
requirements writer is limited and requirements are written in a
standard way.
• This works well for some types of requirements (ex: requirements for
embedded control system) but is sometimes too rigid for writing
business system requirements.
Dr. Lilia SFAXI
www.liliasfaxi.wix.com/liliasfaxi
Slide 34
Requirements Specification
MedTech
Structured Specification: Example
Dr. Lilia SFAXI
www.liliasfaxi.wix.com/liliasfaxi
Slide 35
Requirements Specification
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 36
Requirements Specification
Imperatives: words and phrases that command the presence of some feature, function or deliverable.
Listed below in decreasing order of strength.
Shall Used to dictate the provision of a functional capability.
Must or must not Most often used to establish performance requirement or constraints.
Is required to Used as an imperative in SRS statements when written in passive voice.
Are applicable Used to include, by reference, standards, or other documentation as an addition to the requirement being
specified.
Responsible for Used as an imperative in SRSs that are written for systems with pre-defined architectures.
Will Used to cite things that the operational or development environment is to provide to the capability being
specified. For example, The vehicle's exhaust system will power the ABC widget.
Should Not used often as an imperative in SRS statements; however, when used, the SRS statement always reads
weak. 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 continuances 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 37
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" in chapter 2)
Dr. Lilia SFAXI
www.liliasfaxi.wix.com/liliasfaxi
Slide 38
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 39
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 40
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 41
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 42
Requirements Specification
MedTech
REQUIREMENTS VALIDATION
Requirements Engineering
Dr. Lilia SFAXI
www.liliasfaxi.wix.com/liliasfaxi
Slide 43
Requirements
specification
Requirements
validation
Requirements
elicitation
System requirements
specification and
modeling
System
req.
elicitation
User requirements
specification
User
requirements
elicitation
Business requirements
specification
Prototyping
Feasibility
study
Reviews
System requirements
document
Start
MedTech
Requirements Validation
• Concerned with demonstrating that the requirements define the
system that the customer really wants.
• Requirements error costs are high so validation is very important
• Fixing a requirements error after delivery may cost up to 100 times the
cost of fixing an implementation error.
• Validation should cover:
• Validity. Does the system provide the functions which best support the
customer’s needs?
• Consistency. Are there any requirements conflicts?
• Completeness. Are all functions required by the customer included?
• Realism. Can the requirements be implemented given available budget and
technology
• Verifiability. Can the requirements be checked?
Dr. Lilia SFAXI
www.liliasfaxi.wix.com/liliasfaxi
Slide 44
Requirements Validation
MedTech
Requirements Validation Techniques
• Requirements reviews
• Systematic manual analysis of the requirements.
• Prototyping
• Using an executable model of the system to check requirements. Covered
in Chapter 2.
• Test-case generation
• Developing tests for requirements to check testability.
Dr. Lilia SFAXI
www.liliasfaxi.wix.com/liliasfaxi
Slide 45
Requirements Validation
MedTech
Validation Techniques : Reviews
• Process where a group of people from the system customer and
the system developer teams read the requirements document in
details and check for errors, anomalies and inconsistencies
• Regular reviews should be held while the requirements definition
is being formulated.
• Both client and contractor staff should be involved in reviews.
• Reviews may be formal (with completed documents) or informal.
• Good communications between developers, customers and users
can resolve problems at an early stage.
Dr. Lilia SFAXI
www.liliasfaxi.wix.com/liliasfaxi
Slide 46
Requirements Validation
MedTech
Validation Techniques : Reviews
• Reviews can check
• Verifiability
• Is the requirement realistically testable?
• Comprehensibility
• Is the requirement properly understood?
• Traceability
• Is the origin of the requirement clearly stated?
• Adaptability
• Can the requirement be changed without a large impact on other requirements?
Dr. Lilia SFAXI
www.liliasfaxi.wix.com/liliasfaxi
Slide 47
Requirements Validation
MedTech
REQUIREMENTS MANAGEMENT
Requirements Engineering
Dr. Lilia SFAXI
www.liliasfaxi.wix.com/liliasfaxi
Slide 48
MedTech
Requirements Management
• Requirements management is the process of managing
changing requirements during the requirements engineering
process and system development.
• New requirements emerge as a system is being developed
and after it has gone into use.
• You need to keep track of individual requirements and
maintain links between dependent requirements so that you
can assess the impact of requirements changes. You need to
establish a formal process for making change proposals and
linking these to system requirements.
Dr. Lilia SFAXI
www.liliasfaxi.wix.com/liliasfaxi
Slide 49
Requirements Management
MedTech
Changing Requirements
• The business and technical environment of the system always
changes after installation.
• New hardware may be introduced, it may be necessary to interface the
system with other systems, business priorities may change (with
consequent changes in the system support required), and new legislation
and regulations may be introduced that the system must necessarily abide
by.
• The people who pay for a system and the users of that system are
rarely the same people.
• System customers impose requirements because of organizational and
budgetary constraints. These may conflict with end-user requirements
and, after delivery, new features may have to be added for user support if
the system is to meet its goals.
Dr. Lilia SFAXI
www.liliasfaxi.wix.com/liliasfaxi
Slide 50
Requirements Management
MedTech
Changing Requirements
• Large systems usually have a diverse user community, with many
users having different requirements and priorities that may be
conflicting or contradictory.
• The final system requirements are inevitably a compromise between them
and, with experience, it is often discovered that the balance of support
given to different users has to be changed.
Dr. Lilia SFAXI
www.liliasfaxi.wix.com/liliasfaxi
Slide 51
Requirements Management
MedTech
Requirements Management Planning
• Establishes the required level of requirements management detail
• Requirements management decisions:
• Requirements identification Each requirement must be uniquely identified
so that it can be cross-referenced with other requirements.
• A change management process This is the set of activities that assess the
impact and cost of changes.
• Traceability policies These policies define the relationships between each
requirement and between the requirements and the system design that
should be recorded.
• Tool support Tools that may be used range from specialist requirements
management systems to spreadsheets and simple database systems.
Dr. Lilia SFAXI
www.liliasfaxi.wix.com/liliasfaxi
Slide 52
Requirements Management
Change
implementation
Change analysis
and costing
Problem analysis and
change specification
Identified
problem
Revised
requirements
MedTech
Change Management Process
• Deciding if a requirements change should be accepted
• Problem analysis and change specification
• During this stage, the problem or the change proposal is analyzed to check that
it is valid. This analysis is fed back to the change requestor who may respond
with a more specific requirements change proposal, or decide to withdraw the
request.
• Change analysis and costing
• The effect of the proposed change is assessed using traceability information
and general knowledge of the system requirements. Once this analysis is
completed, a decision is made whether or not to proceed with the requirements
change.
• Change implementation
• The requirements document and, where necessary, the system design and
implementation, are modified. Ideally, the document should be organized so that
changes can be easily implemented.
Dr. Lilia SFAXI
www.liliasfaxi.wix.com/liliasfaxi
Slide 53
Requirements Management
MedTech
References
Dr. Lilia SFAXI
www.liliasfaxi.wix.com/liliasfaxi
Slide 54
• Ian Sommerville, Software Engineering, 9 th Edition, Addison-Wesley 2009

More Related Content

What's hot

Introduction to graphQL
Introduction to graphQLIntroduction to graphQL
Introduction to graphQLMuhilvarnan V
 
Software Engineering - chp2- requirements specification
Software Engineering - chp2- requirements specificationSoftware Engineering - chp2- requirements specification
Software Engineering - chp2- requirements specificationLilia Sfaxi
 
Software Requirements and Specifications
Software Requirements and SpecificationsSoftware Requirements and Specifications
Software Requirements and Specificationsvustudent1
 
Unit2 Software engineering UPTU
Unit2 Software engineering UPTUUnit2 Software engineering UPTU
Unit2 Software engineering UPTUMohammad Faizan
 
Tutorial: Building a GraphQL API in PHP
Tutorial: Building a GraphQL API in PHPTutorial: Building a GraphQL API in PHP
Tutorial: Building a GraphQL API in PHPAndrew Rota
 
Software Engineering - chp7- tests
Software Engineering - chp7- testsSoftware Engineering - chp7- tests
Software Engineering - chp7- testsLilia Sfaxi
 
Software Engineering Overview
Software Engineering OverviewSoftware Engineering Overview
Software Engineering OverviewPrachi Sasankar
 
Week8 Topic1 Translate Business Needs Into Technical Requirements
Week8 Topic1 Translate Business Needs Into Technical RequirementsWeek8 Topic1 Translate Business Needs Into Technical Requirements
Week8 Topic1 Translate Business Needs Into Technical Requirementshapy
 
Software requirement and specification
Software requirement and specificationSoftware requirement and specification
Software requirement and specificationAman Adhikari
 
Introduction to GraphQL
Introduction to GraphQLIntroduction to GraphQL
Introduction to GraphQLRodrigo Prates
 
Secure Software Development Life Cycle
Secure Software Development Life CycleSecure Software Development Life Cycle
Secure Software Development Life CycleMaurice Dawson
 
SOLID Design Principles for Test Automaion
SOLID Design Principles for Test AutomaionSOLID Design Principles for Test Automaion
SOLID Design Principles for Test AutomaionKnoldus Inc.
 
Koha Integration: LDAP
Koha Integration: LDAPKoha Integration: LDAP
Koha Integration: LDAPohiocore
 

What's hot (20)

Introduction to graphQL
Introduction to graphQLIntroduction to graphQL
Introduction to graphQL
 
Software Engineering - chp2- requirements specification
Software Engineering - chp2- requirements specificationSoftware Engineering - chp2- requirements specification
Software Engineering - chp2- requirements specification
 
Software Requirements and Specifications
Software Requirements and SpecificationsSoftware Requirements and Specifications
Software Requirements and Specifications
 
Unit2 Software engineering UPTU
Unit2 Software engineering UPTUUnit2 Software engineering UPTU
Unit2 Software engineering UPTU
 
Tutorial: Building a GraphQL API in PHP
Tutorial: Building a GraphQL API in PHPTutorial: Building a GraphQL API in PHP
Tutorial: Building a GraphQL API in PHP
 
Requirements Validation
Requirements ValidationRequirements Validation
Requirements Validation
 
Software Engineering - chp7- tests
Software Engineering - chp7- testsSoftware Engineering - chp7- tests
Software Engineering - chp7- tests
 
Software Engineering Overview
Software Engineering OverviewSoftware Engineering Overview
Software Engineering Overview
 
Week8 Topic1 Translate Business Needs Into Technical Requirements
Week8 Topic1 Translate Business Needs Into Technical RequirementsWeek8 Topic1 Translate Business Needs Into Technical Requirements
Week8 Topic1 Translate Business Needs Into Technical Requirements
 
Software requirement and specification
Software requirement and specificationSoftware requirement and specification
Software requirement and specification
 
Api security-testing
Api security-testingApi security-testing
Api security-testing
 
Uml diagrams
Uml diagramsUml diagrams
Uml diagrams
 
Introduction to GraphQL
Introduction to GraphQLIntroduction to GraphQL
Introduction to GraphQL
 
Secure Software Development Life Cycle
Secure Software Development Life CycleSecure Software Development Life Cycle
Secure Software Development Life Cycle
 
Develop a process model
Develop a process modelDevelop a process model
Develop a process model
 
Jira
JiraJira
Jira
 
Introduction to GraphQL
Introduction to GraphQLIntroduction to GraphQL
Introduction to GraphQL
 
SOLID Design Principles for Test Automaion
SOLID Design Principles for Test AutomaionSOLID Design Principles for Test Automaion
SOLID Design Principles for Test Automaion
 
Koha Integration: LDAP
Koha Integration: LDAPKoha Integration: LDAP
Koha Integration: LDAP
 
Rest API
Rest APIRest API
Rest API
 

Similar to 9 requirements engineering2

8 requirements engineering1
8 requirements engineering18 requirements engineering1
8 requirements engineering1Lilia Sfaxi
 
Requirements engineering
Requirements engineeringRequirements engineering
Requirements engineeringAyaz Ahmed
 
Requirements engineering
Requirements engineeringRequirements engineering
Requirements engineeringAyaz Shariff
 
SE Unit 2(1).pptx
SE Unit 2(1).pptxSE Unit 2(1).pptx
SE Unit 2(1).pptxaryan631999
 
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
 
INTRODUCTION to software engineering requirements specifications
INTRODUCTION to software engineering requirements specificationsINTRODUCTION to software engineering requirements specifications
INTRODUCTION to software engineering requirements specificationskylan2
 
Requirements Engineering
Requirements EngineeringRequirements Engineering
Requirements EngineeringHuda Alameen
 
Requirements engineering
Requirements engineeringRequirements engineering
Requirements engineeringSutha31
 
Ch5 software imprementation1.0
Ch5 software imprementation1.0Ch5 software imprementation1.0
Ch5 software imprementation1.0Kittitouch Suteeca
 
Un it 2-se-mod-staff
Un it 2-se-mod-staffUn it 2-se-mod-staff
Un it 2-se-mod-staffvijisvs2012
 
Software Engineering Important Short Question for Exams
Software Engineering Important Short Question for ExamsSoftware Engineering Important Short Question for Exams
Software Engineering Important Short Question for ExamsMuhammadTalha436
 
Ch 2-RE-process.pptx
Ch 2-RE-process.pptxCh 2-RE-process.pptx
Ch 2-RE-process.pptxbalewayalew
 
Requirements engineering
Requirements engineeringRequirements engineering
Requirements engineeringJennifer Polack
 
Requirement Analysis
Requirement AnalysisRequirement Analysis
Requirement Analysisgowasat
 

Similar to 9 requirements engineering2 (20)

8 requirements engineering1
8 requirements engineering18 requirements engineering1
8 requirements engineering1
 
Requirements engineering
Requirements engineeringRequirements engineering
Requirements engineering
 
Requirements engineering
Requirements engineeringRequirements engineering
Requirements engineering
 
SE-Unit II.pdf
SE-Unit II.pdfSE-Unit II.pdf
SE-Unit II.pdf
 
Software engg unit 2
Software engg unit 2 Software engg unit 2
Software engg unit 2
 
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
 
INTRODUCTION to software engineering requirements specifications
INTRODUCTION to software engineering requirements specificationsINTRODUCTION to software engineering requirements specifications
INTRODUCTION to software engineering requirements specifications
 
Se lec 4
Se lec 4Se lec 4
Se lec 4
 
Requirements Engineering
Requirements EngineeringRequirements Engineering
Requirements Engineering
 
Requirements engineering
Requirements engineeringRequirements engineering
Requirements engineering
 
Ch5 software imprementation1.0
Ch5 software imprementation1.0Ch5 software imprementation1.0
Ch5 software imprementation1.0
 
SE UNIT-2.pdf
SE UNIT-2.pdfSE UNIT-2.pdf
SE UNIT-2.pdf
 
Requirements Engineering
Requirements EngineeringRequirements Engineering
Requirements Engineering
 
Un it 2-se-mod-staff
Un it 2-se-mod-staffUn it 2-se-mod-staff
Un it 2-se-mod-staff
 
Software Engineering Important Short Question for Exams
Software Engineering Important Short Question for ExamsSoftware Engineering Important Short Question for Exams
Software Engineering Important Short Question for Exams
 
Ch 2-RE-process.pptx
Ch 2-RE-process.pptxCh 2-RE-process.pptx
Ch 2-RE-process.pptx
 
Requirements engineering
Requirements engineeringRequirements engineering
Requirements engineering
 
Requirement Analysis
Requirement AnalysisRequirement Analysis
Requirement Analysis
 
Requirements engineering
Requirements engineeringRequirements engineering
Requirements engineering
 

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

"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
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
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfRankYa
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DayH2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DaySri Ambati
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piececharlottematthew16
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 

Recently uploaded (20)

"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
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
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdf
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DayH2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piece
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 

9 requirements engineering2

  • 1. MedTech Chapter 8 – Requirements Engineering (2) Requirements Elicitation, Validation, Management Dr. Lilia SFAXI www.liliasfaxi.wix.com/liliasfaxi Slide 1 MedTech – Mediterranean Institute of Technology CS321 -Software Engineering MedTech
  • 2. MedTech Requirements Engineering Processes • The processes used for RE vary widely depending on the application domain, the people involved and the organisation developing the requirements. • However, there are a number of generic activities common to all processes • Requirements elicitation; • Requirements analysis; • Requirements validation; • Requirements management. • In practice, RE is an iterative activity in which these processes are interleaved. Dr. Lilia SFAXI www.liliasfaxi.wix.com/liliasfaxi Slide 2 Requirements Engineering
  • 3. MedTech Requirements Engineering Processes: Spiral Dr. Lilia SFAXI www.liliasfaxi.wix.com/liliasfaxi Slide 3 Requirements Engineering Requirements specification Requirements validation Requirements elicitation System requirements specification and modeling System req. elicitation User requirements specification User requirements elicitation Business requirements specification Prototyping Feasibility study Reviews System requirements document Start
  • 4. MedTech Software Requirements Document • The software requirements document (or Software Requirements Specification SRS) is the official statement of what is required of the system developers. • Should include both a definition of user requirements and a specification of the system requirements. • It is NOT a design document. As far as possible, it should set of WHAT the system should do rather than HOW it should do it. Dr. Lilia SFAXI www.liliasfaxi.wix.com/liliasfaxi Slide 4 Requirements Engineering
  • 5. MedTech SRS and Agile Methods • Many agile methods argue that producing a requirements document is a waste of time as requirements change so quickly. • The document is therefore always out of date. • Methods such as XP use incremental requirements engineering and express requirements as ‘user stories’ • This is practical for business systems but problematic for systems that require a lot of pre-delivery analysis (e.g. critical systems) or systems developed by several teams. Dr. Lilia SFAXI www.liliasfaxi.wix.com/liliasfaxi Slide 5 Requirements Engineering
  • 6. MedTech Users of the SRS Dr. Lilia SFAXI www.liliasfaxi.wix.com/liliasfaxi Slide 6 Requirements Engineering Use the requirements to develop validation tests for the system. Use the requirements document to plan a bid for the system and to plan the system development process. Use the requirements to understand what system is to be developed. System test engineers Managers System engineers Specify the requirements and read them to check that they meet their needs. Customers specify changes to the requirements. System customers Use the requirements to understand the system and the relationships between its parts. System maintenance engineers
  • 7. MedTech SRS Variability • Information in requirements document depends on type of system and the approach to development used. • SRS should be detailed for: • Critical systems: safety and security should be analyzed in details • Outsourced systems: a separate company is developing the system • Systems developed in-house and incrementally will, typically, have less details in the requirements document. • Ambiguities can be resolved during development • Requirements documents standards have been designed • Ex: IEEE standard. • Mostly applicable to the requirements for large systems engineering projects. Dr. Lilia SFAXI www.liliasfaxi.wix.com/liliasfaxi Slide 7 Requirements Engineering
  • 8. MedTech SRS Standard Example: IEEE 1998 Dr. Lilia SFAXI www.liliasfaxi.wix.com/liliasfaxi Slide 8 Requirements Engineering Chapter Description Preface This should define the expected readership of the document and describe its version history, including a rationale for the creation of a new version and a summary of the changes made in each version. Introduction This should describe the need for the system. It should briefly describe the system’s functions and explain how it will work with other systems. It should also describe how the system fits into the overall business or strategic objectives of the organization commissioning the software. Glossary This should define the technical terms used in the document. You should not make assumptions about the experience or expertise of the reader. User requirements definition Here, you describe the services provided for the user. The nonfunctional system requirements should also be described in this section. This description may use natural language, diagrams, or other notations that are understandable to customers. Product and process standards that must be followed should be specified. System architecture This chapter should present a high-level overview of the anticipated system architecture, showing the distribution of functions across system modules. Architectural components that are reused should be highlighted.
  • 9. MedTech SRS Standard Example: IEEE 1998 Dr. Lilia SFAXI www.liliasfaxi.wix.com/liliasfaxi Slide 9 Requirements Engineering Chapter Description System requirements specification This should describe the functional and nonfunctional requirements in more detail. If necessary, further detail may also be added to the nonfunctional requirements. Interfaces to other systems may be defined. System models This might include graphical system models showing the relationships between the system components and the system and its environment. Examples of possible models are object models, data-flow models, or semantic data models. System evolution This should describe the fundamental assumptions on which the system is based, and any anticipated changes due to hardware evolution, changing user needs, and so on. This section is useful for system designers as it may help them avoid design decisions that would constrain likely future changes to the system. Appendices These should provide detailed, specific information that is related to the application being developed; for example, hardware and database descriptions. Hardware requirements define the minimal and optimal configurations for the system. Database requirements define the logical organization of the data used by the system and the relationships between data. Index Several indexes to the document may be included. As well as a normal alphabetic index, there may be an index of diagrams, an index of functions, and so on.
  • 10. MedTech REQUIREMENTS ELICITATION AND ANALYSIS Requirements Engineering Dr. Lilia SFAXI www.liliasfaxi.wix.com/liliasfaxi Slide 10 Requirements specification Requirements validation Requirements elicitation System requirements specification and modeling System req. elicitation User requirements specification User requirements elicitation Business requirements specification Prototyping Feasibility study Reviews System requirements document Start
  • 11. MedTech Requirements Elicitation and Analysis • Sometimes called requirements elicitation or requirements discovery. • Involves technical staff working with customers to find out about the application domain, the services that the system should provide and the system’s operational constraints. • May involve end-users, managers, engineers involved in maintenance, domain experts, trade unions, etc. These are called stakeholders. Dr. Lilia SFAXI www.liliasfaxi.wix.com/liliasfaxi Slide 11 Requirements Elicitation and Analysis
  • 12. MedTech Problems • Stakeholders don’t know what they really want. • Stakeholders express requirements in their own terms. • Different stakeholders may have conflicting requirements. • Organisational and political factors may influence the system requirements. • The requirements change during the analysis process. New stakeholders may emerge and the business environment may change. Dr. Lilia SFAXI www.liliasfaxi.wix.com/liliasfaxi Slide 12 Requirements Elicitation and Analysis
  • 13. MedTech Stages • Software engineers work with a range of system stakeholders to find out about the application domain, the services that the system should provide, the required system performance, hardware constraints, other systems, etc. Dr. Lilia SFAXI www.liliasfaxi.wix.com/liliasfaxi Slide 13 Requirements Elicitation and Analysis 1. Requirements discovery 2. Requirements classification and organization 3. Requirements prioritization and negotiation 4. Requirements specification • Stages include: • Requirements discovery, • Requirements classification and organization, • Requirements prioritization and negotiation, • Requirements specification.
  • 14. MedTech Stages • Requirements discovery • Interacting with stakeholders to discover their requirements. Domain requirements are also discovered at this stage. • Requirements classification and organisation • Groups related requirements and organises them into coherent clusters. • Prioritisation and negotiation • Prioritising requirements and resolving requirements conflicts. • Requirements specification • Requirements are documented and input into the next round of the spiral. Dr. Lilia SFAXI www.liliasfaxi.wix.com/liliasfaxi Slide 14 Requirements Elicitation and Analysis
  • 15. MedTech Stages • Requirements discovery • Interacting with stakeholders to discover their requirements. Domain requirements are also discovered at this stage. • Requirements classification and organisation • Groups related requirements and organises them into coherent clusters. • Prioritisation and negotiation • Prioritising requirements and resolving requirements conflicts. • Requirements specification • Requirements are documented and input into the next round of the spiral. Dr. Lilia SFAXI www.liliasfaxi.wix.com/liliasfaxi Slide 15 Requirements Elicitation and Analysis
  • 16. MedTech Requirements Discovery • The process of gathering information about the required and existing systems and distilling the user and system requirements from this information. • Interaction is with system stakeholders from managers to external regulators. • Systems normally have a range of stakeholders. • Example of Stakeholders in the MHC-PMS System • Patients whose information is recorded in the system. • Doctors who are responsible for assessing and treating patients. • Nurses who coordinate the consultations with doctors and administer some treatments. • Medical receptionists who manage patients’ appointments. • IT staff who are responsible for installing and maintaining the system. • A medical ethics manager who must ensure that the system meets current ethical guidelines for patient care. • … Dr. Lilia SFAXI www.liliasfaxi.wix.com/liliasfaxi Slide 16 Requirements Elicitation and Analysis
  • 17. MedTech Requirements Discovery • In addition to stakeholders, requirements may also come from application domain and other systems interacting with the system being specified • Different requirements sources(stakeholders, domain, systems) can be represented as viewpoints, each viewpoint showing a subset of the requirements • Viewpoint • Way of collecting and organizing a set of requirements from a group of stakeholders who have something in common • Each viewpoint includes a set of system requirements • Different viewpoints see the problem in different ways • Several viewpoints usually overlap and have common requirements Dr. Lilia SFAXI www.liliasfaxi.wix.com/liliasfaxi Slide 17 Requirements Elicitation and Analysis
  • 18. MedTech Discovery Techniques: Interviewing • Formal or informal interviews with stakeholders • Types of interview • Closed interviews based on pre-determined list of questions • Open interviews where various issues are explored with stakeholders. • In practice, normally a mix of closed and open-ended interviewing. • Effective interviewing • Be open-minded, avoid pre-conceived ideas about the requirements and are willing to listen to stakeholders. • Prompt the interviewee to get discussions going using a springboard question, a requirements proposal, or by working together on a prototype system. Dr. Lilia SFAXI www.liliasfaxi.wix.com/liliasfaxi Slide 18 Requirements Elicitation and Analysis
  • 19. MedTech Discovery Techniques: Interviewing • Interviews are good for getting an overall understanding of what stakeholders do and how they might interact with the system. • Interviews are not good for understanding domain requirements • Requirements engineers cannot understand specific domain terminology; • Some domain knowledge is so familiar that people find it hard to articulate or think that it isn’t worth articulating. • Should be used in conjunction with other requirements elicitation techniques Dr. Lilia SFAXI www.liliasfaxi.wix.com/liliasfaxi Slide 19 Requirements Elicitation and Analysis
  • 20. MedTech Discovery Techniques: Scenarios • Scenarios are real-life examples of how a system can be used. • Each scenario usually convers one or a small number of possible interactions • They should include • A description of the starting situation; • A description of the normal flow of events; • A description of what can go wrong; • Information about other concurrent activities; • A description of the state when the scenario finishes. Dr. Lilia SFAXI www.liliasfaxi.wix.com/liliasfaxi Slide 20 Requirements Elicitation and Analysis
  • 21. MedTech Discovery Techniques: Example Scenario Dr. Lilia SFAXI www.liliasfaxi.wix.com/liliasfaxi Slide 21 Requirements Elicitation and Analysis
  • 22. MedTech Discovery Techniques: Use Cases • Use-cases are a scenario based technique in the UML language which identify the actors in an interaction and describe the interaction itself. • A set of use cases should describe all possible interactions with the system. • High-level graphical model supplemented by more detailed tabular description. • Sequence diagrams may be used to add detail to use-cases by showing the sequence of event processing in the system. Dr. Lilia SFAXI www.liliasfaxi.wix.com/liliasfaxi Slide 22 Requirements Elicitation and Analysis
  • 23. MedTech Discovery Techniques: Example Use Case Dr. Lilia SFAXI www.liliasfaxi.wix.com/liliasfaxi Slide 23 Requirements Elicitation and Analysis Nurse Medical receptionist Manager Register patient View personal info. View record Generate report Export statistics Doctor Edit record Setup consultation
  • 24. MedTech Discovery Techniques: Ethnography • A social scientist spends a considerable time observing and analysing how people actually work. • People do not have to explain or articulate their work. • Social and organisational factors of importance may be observed. • Ethnographic studies have shown that work is usually richer and more complex than suggested by simple system models. Dr. Lilia SFAXI www.liliasfaxi.wix.com/liliasfaxi Slide 24 Requirements Elicitation and Analysis
  • 25. MedTech Discovery Techniques: Scope of Ethnography • Requirements that are derived from the way that people actually work rather than the way I which process definitions suggest that they ought to work. • Requirements that are derived from cooperation and awareness of other people’s activities. • Awareness of what other people are doing leads to changes in the ways in which we do things. • Ethnography is effective for understanding existing processes but cannot identify new features that should be added to a system. Dr. Lilia SFAXI www.liliasfaxi.wix.com/liliasfaxi Slide 25 Requirements Elicitation and Analysis
  • 26. MedTech Discovery Techniques: Focused Ethnography • Developed in a project studying the air traffic control process • Combines ethnography with prototyping • Prototype development results in unanswered questions which focus the ethnographic analysis. • The problem with ethnography is that it studies existing practices which may have some historical basis which is no longer relevant. Dr. Lilia SFAXI www.liliasfaxi.wix.com/liliasfaxi Slide 26 Requirements Elicitation and Analysis Ethnographic analysis Debriefing meetings Focused ethnography Prototype evaluation Generic system development System protoyping
  • 27. MedTech REQUIREMENTS SPECIFICATION Requirements Engineering Dr. Lilia SFAXI www.liliasfaxi.wix.com/liliasfaxi Slide 27 Requirements specification Requirements validation Requirements elicitation System requirements specification and modeling System req. elicitation User requirements specification User requirements elicitation Business requirements specification Prototyping Feasibility study Reviews System requirements document Start
  • 28. MedTech Requirements Specification • The process of writing down the user and system requirements in a requirements document. • User requirements have to be understandable by end-users and customers who do not have a technical background. • System requirements are more detailed requirements and may include more technical information. • The requirements may be part of a contract for the system development • It is therefore important that these are as complete as possible. Dr. Lilia SFAXI www.liliasfaxi.wix.com/liliasfaxi Slide 28 Requirements Specification
  • 29. MedTech Writing Requirements Specification Dr. Lilia SFAXI www.liliasfaxi.wix.com/liliasfaxi Slide 29 Requirements Specification Notation Description Natural language The requirements are written using numbered sentences in natural language. Each sentence should express one requirement. Structured natural language The requirements are written in natural language on a standard form or template. Each field provides information about an aspect of the requirement. Design description languages This approach uses a language like a programming language, but with more abstract features to specify the requirements by defining an operational model of the system. This approach is now rarely used although it can be useful for interface specifications. Graphical notations Graphical models, supplemented by text annotations, are used to define the functional requirements for the system; UML use case and sequence diagrams are commonly used. Mathematical specifications These notations are based on mathematical concepts such as finite-state machines or sets. Although these unambiguous specifications can reduce the ambiguity in a requirements document, most customers don’t understand a formal specification. They cannot check that it represents what they want and are reluctant to accept it as a system contract
  • 30. MedTech Requirements and Design • In principle, requirements should state what the system should do and the design should describe how it does this. • In practice, requirements and design are inseparable • A system architecture may be designed to structure the requirements; • The system may inter-operate with other systems that generate design requirements; • The use of a specific architecture to satisfy non-functional requirements may be a domain requirement. Dr. Lilia SFAXI www.liliasfaxi.wix.com/liliasfaxi Slide 30 Requirements Specification
  • 31. MedTech Natural Language Specification • Requirements are written as natural language sentences supplemented by diagrams and tables. • Used for writing requirements because it is expressive, intuitive and universal. This means that the requirements can be understood by users and customers. • But, natural language can cause problems: • Lack of clarity • Precision is difficult without making the document difficult to read. • Requirements confusion • Functional and non-functional requirements tend to be mixed-up. • Requirements amalgamation • Several different requirements may be expressed together. Dr. Lilia SFAXI www.liliasfaxi.wix.com/liliasfaxi Slide 31 Requirements Specification
  • 32. MedTech Natural Language Specification: Problem • Let’s consider the following specification: Mary had a little lamb • Dictionary definitions: • had - Past of have • have • 1a: To hold in possession as property • 4a: To acquire or get possession of: OBTAIN (best to be had) • 4c: ACCEPT; to have in marriage • 5a: To be marked or characterized by (have red hair) • 10a: To hold in a position of disadvantage or certain defeat • 10b: TRICK, FOOL (been had by a partner) • 12: BEGET, BEAR (have a baby) • 13: To partake of (have dinner) • 14: BRIBE, SUBORN (can be had for a price) • lamb • 1a: A young sheep esp. less than one year old or without permanent teeth • 1b: The young of various other animals (as smaller antelopes) • 2a: A person as gentle or weak as a lamb • 2b: DEAR, PET • 2c: A person easily cheated or deceived especially in trading securities • 3a: The flesh of lamb used as food Dr. Lilia SFAXI www.liliasfaxi.wix.com/liliasfaxi Slide 32 Requirements Specification
  • 33. MedTech Natural Language Specification: Problem Dr. Lilia SFAXI www.liliasfaxi.wix.com/liliasfaxi Slide 33 Requirements Specification Have Lamb Interpretation 1a 1a Mary owned a little sheep under one year of age or without permanent teeth. 4 a 1a Mary acquired a little sheep under one year of age or without permanent teeth. 5 a 1a Mary is the person who owned a little sheep under one year of age or without permanent teeth. 10 a 1a Mary held a little sheep under one year of age or without permanent teeth in a position of disadvantage. 10 b 1a Mary tricked a little sheep under one year of age or without permanent teeth. 12 1b Mary gave birth to a young antelope. 12 2 a Mary is (or was) the mother of a particular small, gentle person. 13 3a Mary ate a little of the flesh of lamb. 14 2 c Mary bribed a small person trading in securities who was easily cheated.
  • 34. MedTech Structured Specification • An approach to writing requirements where the freedom of the requirements writer is limited and requirements are written in a standard way. • This works well for some types of requirements (ex: requirements for embedded control system) but is sometimes too rigid for writing business system requirements. Dr. Lilia SFAXI www.liliasfaxi.wix.com/liliasfaxi Slide 34 Requirements Specification
  • 35. MedTech Structured Specification: Example Dr. Lilia SFAXI www.liliasfaxi.wix.com/liliasfaxi Slide 35 Requirements Specification
  • 36. 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 36 Requirements Specification Imperatives: words and phrases that command the presence of some feature, function or deliverable. Listed below in decreasing order of strength. Shall Used to dictate the provision of a functional capability. Must or must not Most often used to establish performance requirement or constraints. Is required to Used as an imperative in SRS statements when written in passive voice. Are applicable Used to include, by reference, standards, or other documentation as an addition to the requirement being specified. Responsible for Used as an imperative in SRSs that are written for systems with pre-defined architectures. Will Used to cite things that the operational or development environment is to provide to the capability being specified. For example, The vehicle's exhaust system will power the ABC widget. Should Not used often as an imperative in SRS statements; however, when used, the SRS statement always reads weak. Avoid using Should in your SRSs.
  • 37. 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 continuances 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 37 Requirements Specification
  • 38. 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" in chapter 2) Dr. Lilia SFAXI www.liliasfaxi.wix.com/liliasfaxi Slide 38 Requirements Specification
  • 39. 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 39 Requirements Specification
  • 40. 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 40 Requirements Specification
  • 41. 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 41 Requirements Specification
  • 42. 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 42 Requirements Specification
  • 43. MedTech REQUIREMENTS VALIDATION Requirements Engineering Dr. Lilia SFAXI www.liliasfaxi.wix.com/liliasfaxi Slide 43 Requirements specification Requirements validation Requirements elicitation System requirements specification and modeling System req. elicitation User requirements specification User requirements elicitation Business requirements specification Prototyping Feasibility study Reviews System requirements document Start
  • 44. MedTech Requirements Validation • Concerned with demonstrating that the requirements define the system that the customer really wants. • Requirements error costs are high so validation is very important • Fixing a requirements error after delivery may cost up to 100 times the cost of fixing an implementation error. • Validation should cover: • Validity. Does the system provide the functions which best support the customer’s needs? • Consistency. Are there any requirements conflicts? • Completeness. Are all functions required by the customer included? • Realism. Can the requirements be implemented given available budget and technology • Verifiability. Can the requirements be checked? Dr. Lilia SFAXI www.liliasfaxi.wix.com/liliasfaxi Slide 44 Requirements Validation
  • 45. MedTech Requirements Validation Techniques • Requirements reviews • Systematic manual analysis of the requirements. • Prototyping • Using an executable model of the system to check requirements. Covered in Chapter 2. • Test-case generation • Developing tests for requirements to check testability. Dr. Lilia SFAXI www.liliasfaxi.wix.com/liliasfaxi Slide 45 Requirements Validation
  • 46. MedTech Validation Techniques : Reviews • Process where a group of people from the system customer and the system developer teams read the requirements document in details and check for errors, anomalies and inconsistencies • Regular reviews should be held while the requirements definition is being formulated. • Both client and contractor staff should be involved in reviews. • Reviews may be formal (with completed documents) or informal. • Good communications between developers, customers and users can resolve problems at an early stage. Dr. Lilia SFAXI www.liliasfaxi.wix.com/liliasfaxi Slide 46 Requirements Validation
  • 47. MedTech Validation Techniques : Reviews • Reviews can check • Verifiability • Is the requirement realistically testable? • Comprehensibility • Is the requirement properly understood? • Traceability • Is the origin of the requirement clearly stated? • Adaptability • Can the requirement be changed without a large impact on other requirements? Dr. Lilia SFAXI www.liliasfaxi.wix.com/liliasfaxi Slide 47 Requirements Validation
  • 48. MedTech REQUIREMENTS MANAGEMENT Requirements Engineering Dr. Lilia SFAXI www.liliasfaxi.wix.com/liliasfaxi Slide 48
  • 49. MedTech Requirements Management • Requirements management is the process of managing changing requirements during the requirements engineering process and system development. • New requirements emerge as a system is being developed and after it has gone into use. • You need to keep track of individual requirements and maintain links between dependent requirements so that you can assess the impact of requirements changes. You need to establish a formal process for making change proposals and linking these to system requirements. Dr. Lilia SFAXI www.liliasfaxi.wix.com/liliasfaxi Slide 49 Requirements Management
  • 50. MedTech Changing Requirements • The business and technical environment of the system always changes after installation. • New hardware may be introduced, it may be necessary to interface the system with other systems, business priorities may change (with consequent changes in the system support required), and new legislation and regulations may be introduced that the system must necessarily abide by. • The people who pay for a system and the users of that system are rarely the same people. • System customers impose requirements because of organizational and budgetary constraints. These may conflict with end-user requirements and, after delivery, new features may have to be added for user support if the system is to meet its goals. Dr. Lilia SFAXI www.liliasfaxi.wix.com/liliasfaxi Slide 50 Requirements Management
  • 51. MedTech Changing Requirements • Large systems usually have a diverse user community, with many users having different requirements and priorities that may be conflicting or contradictory. • The final system requirements are inevitably a compromise between them and, with experience, it is often discovered that the balance of support given to different users has to be changed. Dr. Lilia SFAXI www.liliasfaxi.wix.com/liliasfaxi Slide 51 Requirements Management
  • 52. MedTech Requirements Management Planning • Establishes the required level of requirements management detail • Requirements management decisions: • Requirements identification Each requirement must be uniquely identified so that it can be cross-referenced with other requirements. • A change management process This is the set of activities that assess the impact and cost of changes. • Traceability policies These policies define the relationships between each requirement and between the requirements and the system design that should be recorded. • Tool support Tools that may be used range from specialist requirements management systems to spreadsheets and simple database systems. Dr. Lilia SFAXI www.liliasfaxi.wix.com/liliasfaxi Slide 52 Requirements Management Change implementation Change analysis and costing Problem analysis and change specification Identified problem Revised requirements
  • 53. MedTech Change Management Process • Deciding if a requirements change should be accepted • Problem analysis and change specification • During this stage, the problem or the change proposal is analyzed to check that it is valid. This analysis is fed back to the change requestor who may respond with a more specific requirements change proposal, or decide to withdraw the request. • Change analysis and costing • The effect of the proposed change is assessed using traceability information and general knowledge of the system requirements. Once this analysis is completed, a decision is made whether or not to proceed with the requirements change. • Change implementation • The requirements document and, where necessary, the system design and implementation, are modified. Ideally, the document should be organized so that changes can be easily implemented. Dr. Lilia SFAXI www.liliasfaxi.wix.com/liliasfaxi Slide 53 Requirements Management
  • 54. MedTech References Dr. Lilia SFAXI www.liliasfaxi.wix.com/liliasfaxi Slide 54 • Ian Sommerville, Software Engineering, 9 th Edition, Addison-Wesley 2009