Documente Academic
Documente Profesional
Documente Cultură
Management
Dr.V.S.R.Krishnaiah
Outline
Dr.V.S.R.Krishnaiah
Dr.V.S.R.Krishnaiah
Software Requirements
Descriptions and specifications of what
a system must do and what a system
should be.
Dr.V.S.R.Krishnaiah
Requirements engineering:
The process of establishing the services the system
should provide and the constraints under which it
must operate is called requirements engineering.
This process is the set of activities that lead to the
production of the requirements definition and
requirements specification. Principal stages in this
process are:
Requirements Analysis
Requirements Definition
Requirements Specification
Dr.V.S.R.Krishnaiah
Requirements Analysis
This is the process of deriving the system
requirements through observation of
existing systems, discussions with potential
users and procurers, task analysis and so on.
This may involve the development of one or
more different system models. These help the
analyst understand the system to be specified.
System prototypes may also be developed to
help understand the requirements.
Dr.V.S.R.Krishnaiah
Requirements Definition
Requirements definition is the activity of
translating the information gathered during
the analysis activity into a document that
defines a set of requirements. These should
accurately reflect what the customer wants.
This document must be written so that it can
be understood by the end user and by the
system customer.
Dr.V.S.R.Krishnaiah
Requirements Specification
It should include all necessary information about what the
system must do and all constraints on its operation. A
detailed and precise description of the system requirements
is setout to act as a basis for a contract between client and
software developer. The creation of this document is usually
carried out in parallel with some high level design. The
design and requirements activities influence each other as
they develop. During the creation of this document, errors in
the requirements definition are inevitably discovered. It
must be modified to correct these problems.
The activities in the requirements process are not simply
carried out in sequence but
are iterated.
Dr.V.S.R.Krishnaiah
10
11
Incomplete requirements
Lack of user involvement
Unrealistic expectations
Lack of executive support
Changing requirements and specifications
Lack of planning
System no longer needed
12
13
Requirements Elicitation
Customers do not always undertand what
their needs and problems are
It is important to discuss the requirements
with everyone who has a stake in the system
Come up with agreement on what the
requirements are
If we can not agree on what the requirements are,
then the project is doomed to fail
15
Requirements Elicitation
Stakeholders
16
Requirements Elicitation
Using Viewpoints to Manage Inconsistency
Requirements Elicitation
Means of Eliciting Requirements
18
Requirements Elicitation
19
Types of Requirements
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 services. Written as a contract between client and
contractor
Software specifications
A detailed software description which can serve as a basis for a
design or implementation. Written for developers
Dr.V.S.R.Krishnaiah
20
Requirements definition
21
Requirements audience
User requirements
Client managers
System end-users
Client engineers
Contractor managers
System architects
System requirements
System end-users
Client engineers
System architects
Software developers
Software design
specification
22
Dr.V.S.R.Krishnaiah
23
Non-functional requirements
Domain requirements
24
Functional requirements
Functional requirements pertain to those
requirements that state the functionality
required in the software system that the
customer is looking for.
A functional requirement could be, for
instance, to have a transaction ability so that
the user can purchase certain goods from the
Web site using a credit card.
Dr.V.S.R.Krishnaiah
25
Functional requirements
Describe functionality or system services
Depend on the type of software, expected
users and the type of system where the
software is used
Functional user requirements may be high-level
statements of what the system should do but
functional system requirements should
describe the system services in detail
Dr.V.S.R.Krishnaiah
26
Dr.V.S.R.Krishnaiah
27
Requirements imprecision
Problems arise when requirements are not precisely
stated
Ambiguous requirements may be interpreted in
different ways by developers and users
Consider the term appropriate viewers
User intention - special purpose viewer for each different
document type
Developer interpretation - Provide a text viewer that shows
the contents of the document
Dr.V.S.R.Krishnaiah
28
Consistent
There should be no conflicts or contradictions in the
descriptions of the system facilities
Dr.V.S.R.Krishnaiah
29
Non-functional requirements
Define system properties and constraints e.g.
reliability, response time and storage requirements.
Constraints are I/O device capability, system
representations, etc.
Process requirements may also be specified mandating
a particular CASE system, programming language or
development method
Non-functional requirements may be more critical
than functional requirements. If these are not met, the
system is useless
Dr.V.S.R.Krishnaiah
30
Non-functional classifications
Product requirements
Requirements which specify that the delivered product
must behave in a particular way e.g. execution speed,
reliability, etc.
Organizational requirements
Requirements which are a consequence of organizational
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.
Dr.V.S.R.Krishnaiah
31
Product
requir ements
Ef ficiency
requir ements
Reliability
requir ements
Usability
requirements
Performance
requirements
Or ganizational
requir ements
Portability
requirements
Delivery
requirements
Interoperability
requirements
Implementation
requir ements
Space
requir ements
Dr.V.S.R.Krishnaiah
External
requirements
Ethical
requirements
Standards
requirements
Legislative
requirements
Privacy
requirements
Safety
requirements
32
Organisational requirement
The system development process and deliverable
documents shall conform to the process and deliverables
defined in XYZCo-SP-STAN-95
External requirement
The system shall not disclose any personal information
about customers apart from their name and reference
number to the operators of the system
Dr.V.S.R.Krishnaiah
33
Dr.V.S.R.Krishnaiah
34
Dr.V.S.R.Krishnaiah
35
36
37
38
39
40
2.
3.
4.
5.
6.
7.
41
Conclusion
During requirement development, a lot of quality
aspects need to be checked. The relationship between
requirements, dependency of requirements, hierarchy
of requirements, etc., need to be checked. Formatting
of requirements also need to be checked. Apart from
correctness, other aspects like maintainability,
testability, and reliability also need to be checked.
During requirement management, the most critical
aspect to be checked is to assess the impact of change
on the entire development cycle. At the same time, the
right version of the requirement also needs to be
checked to ensure that no processes downstream use
wrong version of the requirement specifications.
Dr.V.S.R.Krishnaiah
42
Dr.V.S.R.Krishnaiah
43
Dr.V.S.R.Krishnaiah
44
45
SRS
Section 6 of SRS describes exception handling,
including the actions to be taken and the messages
to be displayed in response to undesired situations
or events. A table of exception conditions and
exception responses should be prepared.
46
Dr.V.S.R.Krishnaiah
48
Dr.V.S.R.Krishnaiah
49
Dr.V.S.R.Krishnaiah
50
Dr.V.S.R.Krishnaiah
51
Thanks
Dr.V.S.R.Krishnaiah
52