Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Contents
What are requirements?
Types of requirements
Requirement Engineering: Introduction
What is requirement engineering?
Why Requirement Engineering?
Requirement requirements: How
Requirement requirements: When
Stakeholders in Requirement Engineering:
Who
Examples of Requirements
The system shall maintain records of all
Examples of Reqs.
The systems user interface shall be
Why Requirements.
The most common reasons for project failures are not technical and
Table 1.1 identifies the main reasons why projects fail. The data is
drawn from surveys conducted by the Standish Group in 1995 and
1996.
Incomplete requirements
13.1%
Lack of user involvement
12.4%
Lack of resources
10.6%
Unrealistic expectations
9.9%
Lack of executive support
9.3%
Changing requirements/specifications
8.7%
Lack of planning
8.1%
Didnt need it any longer
7.5%
Hence giving emphasis to requirements is crucial in any system devt.
9
Types of requirements
Functional requirements: capture the intended behavior of the
Functional Requirements
Statements describing what the system does
Functionality of the system.
Statements of services the system should provide
Reaction to particular inputs
Behavior in particular situations
Functional Requirement
Examples
The
system shall solve a quadratic equation using
the following formula
x = (-b+sqrt(b2 4*a*c))/2*a
The user shall be able to search either the entire
Comments on Examples
Notice the level of detail in different requirements
13
Types of requirements
Non-functional requirements (NR): define the overall
14
Types of requirements
NR place restrictions on the product being developed, the
15
Types of requirements
Functional Vs Non-Functional Requirements
There is no a clear distinction between functional and non-
functional requirements.
Whether or not a requirement is expressed as a functional or a
non-functional requirement may depend:
on the level of detail to be included in the requirements
document
the degree of trust which exists between a system
customer and a system developer.
16
Types of requirements
Example: The system shall ensure that data is protected from
unauthorised access.
Conventionally, this would be considered as a non-functional
requirement because it does not specify specific system
functionality which must be provided. However, it could have
been specified in slightly more detail as follows:
The system shall include a user authorisation procedure where
users must identify themselves using a login name and
password. Only users who are authorised in this way may
access the system data.
In this form, the requirement looks rather more like a functional
requirement as it specifies a function (user login) which must be
incorporated in the system.
17
Types of requirements
Domain Requirements
Requirements that come from the application domain of
Domain Requirements
Banking domain has its own specific constraints,
Example
for example, most banks do not allow over-draw
on most accounts, however, most banks allow
some accounts to be over-drawn
In a commission-based sales businesses, there
is no concept of negative commission.
However, if care is not taken novice developers
can be lured into developing systems, which
calculate negative commission.
For example, a train control system has to take into
User Requirements:
User requirements add further detail to the
business requirements.
They are called user requirements because
they are written from a users perspective
and the focus of user requirement describe
tasks the user must be able to accomplish
in order to fulfill the above stated business
requirements.
Eg. The system should be easy to use by
medical staff and should be organized in
such a way that user errors are minimized.
22
System Requirements:
are expanded versions of the user
requirements that are used by software
engineers as the starting point for the
system design.
They add detail and explain how the user
requirements should be provided by the
system
capture the vision of the customer,
enable defining the scope of the system,
and allow estimating the cost and
schedule required to build the system.
A
structured document setting out
23
detailed descriptions of the systems
Inverse Requirements
They explain what the system shall not do.
Examples
The system shall be developed using the
26
Sources of Requirement
Stakeholders
People affected in some way by
the system
Documents
Existing system
Domain/business area
27
28
30
Contd
Typically, the requestor understands the problem
Contd.
changes
approving or disapproving those changes, and
implementing the approved changes
ensuring that all work products and project plans
are kept consistent and tracking the status of the
requirements as one progresses through the
software development process.
The implemented software product is validated
against its requirements during the testing phases
of the life cycle to identify and correct defects and
to provide confidence that the product meets those
requirements.
System
Stakeholders
are
people
or
organizations who will be affected by the
system and who have direct or indirect
influence on the system requirements.
In order to develop a good requirement
document, it is imperative to involve all kinds of
user in the requirement engineering process.
You need to identify the stakeholders in a
system and discover their requirements.
If you dont do, you may find that they insist on
changes during the system development or
after it has been delivered for use.
.
37
Contd..
Stakeholders have a tendency to state
39
Example
For an automated railway signaling
Stakeholders
There are three main categories of stakeholders:
the acquirers of the software product
the suppliers of the software product and
other stakeholders.
The acquirer type stakeholders can be divided
42
Stakeholders: Example
Assume BDU has signed an agreement with a
software company called ABC for the automation of
the clinic system which encompasses subsystems
like clinical lab subsystem, patient admission
subsystem and the like.
Identify all stakeholders for the system mentioned.
BDU, BDU managers, Students, doctors and other health officials,
the company ABC, etc
If the University sells the system to other universities so as to get
reimbursed for what it has spent, who is the client, the customer and the
user?
Client: BDU
Customers: Other Universities
43 Users: Anyone using the system
ATM stakeholders
Bank customers
Representatives of other banks
Bank managers
Counter staff
Database administrators
Security managers
Marketing department
Hardware and software maintenance engineers
Banking regulators
44
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.
45
Contd
Health care managers who obtain