Академический Документы
Профессиональный Документы
Культура Документы
System requirements
A structured document setting out detailed descriptions of
the system services. Written as a contract between client
and contractor
Software specification
A detailed software description which can serve as a basis
for a design or implementation. Written for developers
Requirements engineering (RE) refers to the process of defining, documenting and
In requirements engineering, engineers look at a set of data pertaining to the goals and
objectives of the software: how it will work and what are the qualities of the properties it must
have to provide the results needed. Engineers then work forward from these data to look at specific
coding solutions that support these results. Elements of requirements engineering include:
Requirements solicitation, where a software company gets the requirements from a client
Requirements analysis
Requirements specification
Requirements verification, where engineers confirm that the requirements are accurate
Requirements management, which matches processes to their requirements
functional and non-functional
The software requirements are classified into functional requirements and non-
functional requirements.
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.
A software requirements specification (SRS) is a description of a software system
to be developed. ... The software requirements specification documentenlists
enough and necessary requirements that are required for the project development.
and changes can be made to the requirements at any time of the ongoing project.
These tasks start with the identification and assign a unique identifier to each of the
requirement.
The examples of traceability table are the features, sources, dependencies, subsystems and
Requirements analysis
Find out what system stakeholders require from the
system
Requirements definition
Define the requirements in a form understandable to
the customer
Requirements specification
Define the requirements in detail
A software requirements specification (SRS) is a description of a software
system to be developed. It lays out functional and non-functional requirements,
and may include a set of use cases that describe user interactions that the software
must provide.
Requirements set out what the system should do and define constraints on its
operation and implementation
Functional requirements set of services the system should provide
Non-functional requirements constrain the system being developed or the
development process
User requirements are high-level statements of what the system should do
User requirements should be written in natural language, tables and diagrams
System requirements are intended to communicate the functions that the system
should provide
Preface
Define the expected readers of the document, the version history with a rationale
for version changes and a summary of changes. Author list
Introduction
Describes the need for the system and the functions provided as well as how it
interacts with existing systems. Explain how the software fits into the business or
strategic objectives of the organisation.
Glossary
Define technical terms used in the document making no assumptions on the
technical expertise of the reader.
User requirements definition
Describe the services provided for the user and the non-functional requirements of the
system using natural language, diagrams understandable by customers. Define any product
and process standards.
System architecture
High-level overview of the system architecture showing the distribution of functions across
system modules.
System evolution
Describe anticipated changes to the system due to hardware evolution and changing user
requirements etc.
Appendices
Detailed specific information about the system being developed such as hardware and
database descriptions.
Index
Indices of the document including diagrams and functions.
A limited form of natural language may be used to express requirements
This removes some of the problems resulting from ambiguity and flexibility and
imposes a degree of uniformity on a specification
Over-flexibility
The same thing may be said in a number of
different ways in the specification which can
lead to confusion
Lack of modularisation
Natural language structures are inadequate to
structure system requirements
The processes used for RE vary widely depending on the application domain, the
people involved and the organization developing the domain, the people involved and
the organization developing the requirements.
Business Requirements – This comprises the business objectives, how they are currently
executed and what you want the system to accomplish in the future (creating the “As Is”
and “Future” states).
User Requirements – The functional and technical requirements that employees utilize
when using company systems to complete their job on a daily basis.
System Requirements – This represents the system integrations, inputs and outputs to
existing systems and what requirements are needed currently, in the future and
integrations between systems. Deeper investigation into this process reveals the
interoperability requirements for systems all system to communicate properly.
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 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.
Elicitation means to find the requirements from anybody.
The requirements are difficult because the following problems occur in elicitation.
Problem of scope: The customer give the unnecessary technical detail rather than clarity
of the overall system objective.
Problem of volatility: In this problem, the requirements change from time to time and it is
difficult while developing the project.
a. Requirements discovery
b. Interviewing
c. Scenarios
d. Use Cases
e. Ethnograpy
Requirements discovery
• Interacting with stakeholders to discover their requirements. Domain requirements are also
discovered at this stage.
Requirements classification and organization
• Groups related requirements and organizes them into coherent clusters.
Prioritization and negotiation
• Prioritizing requirements and resolving requirements conflicts.
Requirements documentation
• Requirements are documented and input into the next round of the spiral.
• The process of gathering information about the proposed and existing systems and
distilling the user and system requirements from this information.
• Sources of information include documentation, system stakeholder, system stakeholders
and the specifications of similar systems.
about the system that they use and the system to be developed.
Open interviews where there is no pre-defined agenda and a range of issues are
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 es which may have some
historical basis which is no longer relevant.
Concerned with demonstrating that the requirements define the system that the
customer really wants.
Requirements checking
Validity. Does the system provide the functions which best support the . Does the system
provide the functions which best support the customer 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 . Can the
requirements be implemented given available budget and technology
Verifiability. Can the requirements be checked?
Requirements reviews
Systematic manual analysis of the
requirements
Prototyping
Using an executable model of the system to
check requirements.
Test-case generation
Developing tests for requirements to check
testability.
Involve in two main topic:
a. Requirements management planning
b. Requirements change management