05 Negotiation, Specification, Validation, Management-16
05 Negotiation, Specification, Validation, Management-16
2
Negotiation Task
During negotiation, the software engineer reconciles the
conflicts between what the customer wants and what can be
achieved given limited business resources
Requirements are ranked (i.e., prioritized) by the
customers, users, and other stakeholders
Risks associated with each requirement are identified and
analyzed
Rough guesses of development effort are made and used to
assess the impact of each requirement on project cost and
delivery time
Using an iterative approach, requirements are eliminated,
combined and/or modified so that each party achieves some
measure of satisfaction
Inception
Elicitation
Elaboration
Negotiation
Specification
Validation
Requirements
Management
Specification Task
A specification is the final work product produced by the
requirements engineer
It is normally in the form of a software requirements
specification
It serves as the foundation for subsequent software
engineering activities
It describes the function and performance of a computer-
based system and the constraints that will govern its
development
It formalizes the informational, functional, and behavioral
requirements of the proposed software in both a graphical
and textual format
Typical Contents of a Software
Requirements Specification
Requirements
Required states and modes
Software requirements grouped by capabilities (i.e.,
functions, objects)
Software external interface requirements
Software internal interface requirements
Software internal data requirements
Other software requirements (safety, security, privacy,
environment, hardware, software, communications,
quality, personnel, training, logistics, etc.)
Design and implementation constraints
Typical Contents of a Software
Requirements Specification
Qualification provisions to ensure each requirement has
been met
Demonstration, test, analysis, inspection, etc.
Requirements traceability
Trace back to the system or subsystem where each
requirement applies
Inception
Elicitation
Elaboration
Negotiation
Specification
Validation
Requirements
Management
Validation Task
During validation, the work products produced as a result of
requirements engineering are assessed for quality
The specification is examined to ensure that
all software requirements have been stated unambiguously
inconsistencies, omissions, and errors have been detected
and corrected
the work products conform to the standards established for
the process, the project, and the product
The formal technical review serves as the primary
requirements validation mechanism
Members include software engineers, customers, users, and
other stakeholders
Questions to ask when Validating
Requirements
Is each requirement consistent with the overall objective for
the system/product?
Have all requirements been specified at the proper level of
abstraction? That is, do some requirements provide a level of
technical detail that is inappropriate at this stage?
Is the requirement really necessary or does it represent an
add-on feature that may not be essential to the objective of
the system?
Is each requirement bounded and unambiguous?
Does each requirement have attribution? That is, is a source
(generally, a specific individual) noted for each requirement?
Questions to ask when Validating Requirements
(continued)
Do any requirements conflict with other requirements?
Is each requirement achievable in the technical environment
that will house the system or product?
Is each requirement testable, once implemented?
Approaches: Demonstration, actual test, analysis, or
inspection
Does the requirements model properly reflect the
information, function, and behavior of the system to be
built?
Has the requirements model been “partitioned” in a way that
exposes progressively more detailed information about the
system?
Inception
Elicitation
Elaboration
Negotiation
Specification
Validation
Requirements
Management
Requirements Management Task
During requirements management, the project team performs
a set of activities to identify, control, and track requirements
and changes to the requirements at any time as the project
proceeds
Each requirement is assigned a unique identifier
The requirements are then placed into one or more
traceability tables
These tables may be stored in a database that relate features,
sources, dependencies, subsystems, and interfaces to the
requirements
A requirements traceability table is also placed at the end of
the software requirements specification
Requirement tractability matrix
14
Summary
Negotiation
Specification
Validation
Requirements management
15
Inception
Elicitation
Elaboration
Negotiation
Specification
Validation
Requirements
Management