Restrictions on the design of a system or the process by which a

Download Report

Transcript Restrictions on the design of a system or the process by which a

Refining The System
Lecture 10
Refining the System

To refine the specification to a level of detail
suitable to drive the design, coding and
testing processes.

We have now arrived at the heart of the
requirements pyramid, the “specification
level”
Problem
Space
Problem
Problem-solving
techniques
Needs
Features
Requirements
Analysis and
Design
Solution Space
Understanding the needs
Understanding application domain
Understanding the solution
Implementation
Test
Software Requirements

We transit towards elaborating the system features in detail
sufficient to ensure that the design and coding activities
result in a system that fully conforms to the user needs.

Level of specificity depends upon
 The context of application
 Skill of development team

Defining system requirements from rigorous requirement
documents to databases and use case models and formal
methods

Locus of effort is on natural language document
Defining system requirements

We need to describe
 Inputs to system (content of input and also form, look, and
feel, protocol of input devices).
 Output from system( description of output devices such as
voice output, visual display that must be supported as well
as protocol and formats of the information generated by
the system).
 Functions of system (mapping of inputs and outputs and
their various combinations)
 Attributes of the system (such typical non behavioral
requirements e.g. reliability, maintainability, availability etc
that the developers must take into account)
 Attributes of environment(such additional non behavioral
requirements as the ability of the system to operate within
certain operating environment e.g. loads and operating
Relationship between
Requirements and features

Features:
 present in vision document
○ Abstract representation of desired or useful
behavior from users perspective

Requirement:
 present in software specification document
○ They are at such level of detail that we can
code from them
○ They are testable
○ A feature has many requirements which full
fills the feature.
Contd..

Exclude information from requirements
which is relevant to




Project information
Project plans
Budget
Tests (can give hint about the suitable test for
requirement)
 Design (should be put in design constraints)
○ E.g. the information will be provided in a histogram
report written in visual basic.
 If your only tool is hammer, all your problems will look
like a nail”
Contd..
We should differentiate between
 Requirements


Design Constraints

Design

Iterating requirements and design
 The requirements/design process is iterative;
requirements lead to the selection of certain design
options, which in turn may initiate new requirements.
Categorization of requirements

Software requirements
 Functional software requirements (is action
oriented, should not be too ambiguous or too
specific)
 Non functional software requirements (express
attributes of system or environment) pg 238-242

Design constraints
Design Constraint
Restrictions on the design of a system or
the process by which a system is
developed that do not affect the external
behavior of the system but that must be
fulfilled to meet technical, business and
contractual obligations.
Design Constraints

Design constraints usually include
 Operating environment
 Compatibility with existing systems
 Application standards
 Corporate best practices and standards
 Body of regulations and standards
Contd..
You should distinguish design
constraints from other requirements e.g.
write DC
 Include all DC in special section
 Identify source of each DC
 Document rationale for each DC

Parent Child Requirements
To increase specificity in a way that
reduces complexity and increases
comprehensibility
 Parent: the devise shall operate off
standard North American Power

 Child1: the device shall operate in voltage rage
of xxx-yyy AC
 Child2: the device shall require no more than
xxx AC amperes for correct operation


Do not add too many hierarchical levels
Identifying parent child requirements in
same way.
THE END
ANY QUESTIONS?
THANK YOU