Software_Chapter1
Software_Chapter1
Software Engineering
Dr. Yahya Esmail Al-Ashmori
Ph.D. in Information Technology (IT)
Email: [email protected]
1
Requirements engineering
2
What is a requirement?
User requirements
▪ Statements in natural language plus diagrams of the
services the system provides and its operational
constraints. Written for customers.
System requirements
▪ A structured document setting out detailed descriptions of
the system’s functions, services and operational
constraints. Defines what should be implemented so may
be part of a contract between client and contractor.
User and system requirements
5
Readers of different types of requirements
specification
6
System stakeholders
Stakeholder types
▪ End users
▪ System managers
▪ System owners
▪ External stakeholders 7
Stakeholders in the Mentcare system
8
Stakeholders in the Mentcare system
9
Functional and non-functional requirements
10
Functional and non-functional requirements
Functional requirements
▪ Statements of services the system should provide, how
the system should react to particular inputs and how the
system should behave in particular situations.
▪ May state what the system should not do.
Non-functional requirements
▪ Constraints on the services or functions offered by the
system such as timing constraints, constraints on the
development process, standards, etc.
▪ Often apply to the system as a whole rather than
individual features or services.
Domain requirements
▪ Constraints on the system from the domain of operation
11
Functional requirements
12
Mentcare system: functional requirements
13
Requirements imprecision
14
Requirements completeness and
consistency
In principle, requirements should be both complete
and consistent.
Complete
▪ They should include descriptions of all facilities required.
Consistent
▪ There should be no conflicts or contradictions in the
descriptions of the system facilities.
In practice, because of system and environmental
complexity, it is impossible to produce a complete
and consistent requirements document.
15
Non-functional requirements
17
Non-functional requirements implementation
18
Non-functional classifications
Product requirements
▪ Requirements which specify that the delivered product
must behave in a particular way e.g. execution speed,
reliability, etc.
Organisational requirements
▪ Requirements which are a consequence of organisational
policies and procedures e.g. process standards used,
implementation requirements, etc.
External requirements
▪ Requirements which arise from factors which are external
to the system and its development process e.g.
interoperability requirements, legislative requirements, etc.
19
Examples of nonfunctional requirements in the
Mentcare system
Product requirement
The Mentcare system shall be available to all clinics during normal
working hours (Mon–Fri, 0830–17.30). Downtime within normal
working hours shall not exceed five seconds in any one day.
Organizational requirement
Users of the Mentcare system shall authenticate themselves using
their health authority identity card.
External requirement
The system shall implement patient privacy provisions as set out in
HStan-03-2006-priv.
20
Goals and requirements
Non-functional requirements may be very difficult to
state precisely and imprecise requirements may be
difficult to verify.
Goal
▪ A general intention of the user such as ease of use.
Verifiable non-functional requirement
▪ A statement using some measure that can be objectively
tested.
Goals are helpful to developers as they convey the
intentions of the system users.
21
Usability requirements
22
Metrics for specifying nonfunctional requirements
Property Measure
Speed Processed transactions/second
User/event response time
Screen refresh time
Size Mbytes
Number of ROM chips
Ease of use Training time
Number of help frames
Reliability Mean time to failure
Probability of unavailability
Rate of failure occurrence
Availability
Robustness Time to restart after failure
Percentage of events causing failure
Probability of data corruption on failure
Portability Percentage of target dependent statements
Number of target systems 23