Вы находитесь на странице: 1из 72

REQUIREMENTS

ENGINEERING
Marvin
Marvin V.
V. Lee, (MCSE,
(MCSE, MCSD,
MCSD, MCSA,
MCSA, MS,
MS, MCPS)
MCPS)
B.S.
B.S. CoE
CoE

TOPICS

Requirements Processing
Requirements Elicitation and Gathering
Requirements Analysis
Requirements Specification and Agreement
User Interface Guidelines
Naming Conventions

REQUIREMENTS
PROCESSING

Requirements Processing
Requirements Elicitation and Gathering
Requirements Analysis
Requirements Specification and Agreement
User Interface Guidelines
Naming Conventions

REQUIREMENTS PROCESSING
What are Requirements?
It is a systems and software engineering process
which covers all of the activities involved in
discovering, documenting and maintaining a set of
requirements for a computer-based system.
*
*
*

REQUIREMENTS PROCESSING
What Activities should
Software Project? *

be

Elicitation
Documentation and definition
Specification
Prototyping
Analysis
Review and validation
Agreement and acceptance

Involved

in

REQUIREMENTS PROCESSING
Requirements Processing Preparation *

REQUIREMENTS PROCESSING

Requirement
s
Engineering
Process

What
are
Requirements
Engineering
Process?
These are the processed used for
requirements engineering that vary widely
depending on the application domain, the
people involved and the organization
developing the requirements.

REQUIREMENTS PROCESSING

Requirement
s
Engineering
Process

Requirements
Representation
Feas ibility
s tudy

Engineering

Require ments
elicitation and
analys is

Process

Requirements
s pecification
Require ments
validation

Feas ibility
report
Sys tem
models
Us er and s ys tem
requirements

Require ments
document

REQUIREMENTS
ELICITATION AND
GATHERING

Requirements Processing
Requirements Elicitation and Gathering
Requirements Analysis
Requirements Specification and Agreement
User Interface Guidelines
Naming Conventions

REQUIREMENTS ELICITATION AND


GATHERING
What is Requirements Elicitation?
Involves technical staff working with customers to find
out about the application domain, the services that the
system should provide and the systems operational
constraints.
May involve end-users, managers, engineers involved
in maintenance, domain experts, trade unions, etc.
Modes Conducted in Actual Elicitation
Verbal.
Written (preformatted form).
Online form.

REQUIREMENTS PROCESSING
Two Levels of Requirements Elicitation *
Eliciting High-Level Reqirements
Eliciting Detailed Requirements

REQUIREMENTS ELICITATION AND


GATHERING

Eliciting
High-Level
Requirement
s

Eliciting High-Level Requirements


*
*
*
*
*

REQUIREMENTS ELICITATION AND


GATHERING

Eliciting
High-Level
Requirement
s

Category of Information Contribution to


High-Level Business Profile *

Opportunity/needs
Justification
Scope
Major Constraint
Major Functionality
Success Factor
User Characteristics

REQUIREMENTS ELICITATION AND


GATHERING

Eliciting
Detailed
Requirement
s

Eliciting Detailed Requirements


*
*
*

REQUIREMENTS ELICITATION AND


GATHERING

Eliciting
Detailed
Requirement
s

Six Main Categories of Information that


Must be Addressed at Detailed Level *

Individual Functionality
Business Flow
Data, Formats, and information needs
Systems with other interfaces
User Interfaces
Other Constraints such as performance,
reliability and security

REQUIREMENTS ELICITATION AND


GATHERING

Data
Gathering

What is Data Gathering?


Used to discover business information
details to define the information structure.
Helps to establish the priorities of the
information needs.
Leads to opportunities to highlight key
issues
which
may
cross
functional
boundaries or may touch on policies or the
organization itself.
Identifies the information sources including
the manner of obtaining the information.

REQUIREMENTS ELICITATION AND


GATHERING

Data
Gathering

What or Who are the Sources of


Information
System Users
Usually the first information source
investigated by analysts.
Forms and Documents
Useful sources of information for data flows
and transactions.
Computer Programs
Used to determine the details of data
structures or processes.

REQUIREMENTS ELICITATION AND


GATHERING

Data
Gathering

What or Who are the Sources of


Information
Procedure Manuals
Specify
what
people
do
in
an
organization, used to determine user
activities.
Reports
Indicate the kinds of outputs needed by the
users.

REQUIREMENTS ELICITATION AND


GATHERING

Data
Gathering
Tools

What are Data Gathering Tools?


First step towards the solution of problem.
Identification
and
documentation
of
requirements for future systems.
Its important to collect data using a variety
of different methods in order to get the best
understanding of your users and their
needs.

REQUIREMENTS ELICITATION AND


GATHERING

Data
Gathering
Tools

Data Gathering Tools Categories


One-on-One Interviews
Most common technique for gathering
requirements.
Sit down with clients and asking
questions.
Discussion should be planned out ahead
of time.

REQUIREMENTS ELICITATION AND


GATHERING

Data
Gathering
Tools

Data Gathering Tools Categories


Group Interviews
Similar to one-on-one interviews except more
than one person is being interviewed.
Usually consists of two to four persons.
Works well when everyone is at the same
level or has the same role.
Requires more preparation and more formality
to get information from participants.
Facilitated Sessions
Consists of five or more people.
Gather a set of common requirements
from the group in a faster manner.

REQUIREMENTS ELICITATION AND


GATHERING

Data
Gathering
Tools

Data Gathering Tools Categories


Joint Application Development
Similar to general facilitated sessions except
that the group stays in the session until the
session objectives are completed.
Participants stay in session until a complete
set of requirements is documented and
agreed to.
Prototyping
Modern
technique
for
gathering
requirements.
Gather preliminary requirements to
build initial version of the solution
(prototype).
Prototype shows to client to give
additional requirements.

REQUIREMENTS ELICITATION AND


GATHERING

Data
Gathering
Tools

Data Gathering Tools Categories


Use Cases
Stories that describe how discrete processes
work.
Included actors and describe how the solution
works from a user perspective.
Following People Around
Helpful when gathering information on
current processes.
Need to watch people perform their job
to understand.
Requires participation in the actual work
process.

REQUIREMENTS ELICITATION AND


GATHERING

Data
Gathering
Tools

Data Gathering Tools Categories


Requests for Proposals
List of requirements are given for
comparison against capabilities.
Determine how close to clients needs.
Brainstorming
Created brand new set of ideas that people
can agree.
Participants prioritize best idea for solution.
Best ideas is used for the initial requirement

REQUIREMENTS ELICITATION AND


GATHERING

Data
Gathering
Procedure

What is a Data Gathering Procedure?


Defines a set of guidelines for collecting
information.
Describes where the data comes and how it
was obtained.
Used to discover business information
details to define the information structure.

REQUIREMENTS ELICITATION AND


GATHERING
Data Gathering Procedure Example
Data
Gathering
Procedure

REQUIREMENTS ELICITATION AND


GATHERING

Data
Gathering
Procedure

Data
Gathering
Procedure
Example
Definitions
1) Perform research about software problems
in library.
2) Create questionnaires on possible ways to
resolve problems in software.
3) Ask people to answer questionnaires for
data collection.
4) If data collected is not enough?
5) Conduct a one-on-one or group interview
to a developers for more possible solutions.
6) Add suggested solutions to the generated
questionnaires.
7) Perform brainstorming to pick the top 3
best solutions to the problems.

REQUIREMENTS
ANALYSIS

Requirements Processing
Requirements Elicitation and Gathering
Requirements Analysis
Requirements Specification and Agreement
User Interface Guidelines
Naming Conventions

REQUIREMENTS ANALYSIS
What is Requirements Analysis?
It is the first stage in the systems engineering
process and software development process.
Encompasses tasks that go into determining
the needs or conditions to meet for a new or
altered product, taking account of the possibly
conflicting
requirements
of
the
various
stakeholders, such as beneficiaries or users.
It is critical to the success of a development
project.
Main Tasks of Requirement Analysis *

REQUIREMENTS ANALYSIS

Requirement
s Analysis
and
Prioritization

Requirements Analysis and Prioritization


*
*
What is a Requirements Priority List?
*
*

REQUIREMENTS ANALYSIS

Requirement
s Analysis
and
Prioritization

Requirements Analysis Constraints


Limited Resources.
Limited Time.
Limited Technical Capabilities.
Criteria for Establishing Priority of the
Requirements.
Current Customer Demands.
Competition and Current Market Condition.
Future Customer Needs..
Immediate Sales Advantage.
Critical Problems in the Existing Product.

REQUIREMENTS ANALYSIS

Requirement
s Traceability

What are Requirements Traceability?


*
*

REQUIREMENTS ANALYSIS

Requirement
s Traceability

Four Types of Traceability


Backward from Traceability
Links the requirement to the document
source or the person who created it.
Forward from Traceability
Links the requirement
implementation.

to

design

and

Backward to Traceability
Links design and implementation back to the
requirements.
Forward to Traceability
Links documents preceding requirements to
the requirements.

REQUIREMENTS
SPECIFICATION AND
AGREEMENT

Requirements Processing
Requirements Elicitation and Gathering
Requirements Analysis
Requirements Specification and Agreement
User Interface Guidelines
Naming Conventions

REQUIREMENTS SPECIFICATION
AND AGREEMENT
What is a Requirement Analysis?
It is the first stage in the systems engineering
process and software development process.
Encompasses tasks that go into determining
the needs or conditions to meet for a new or
altered product, taking account of the possibly
conflicting
requirements
of
the
various
stakeholders, such as beneficiaries or users.
It is critical to the success of a development
project.

REQUIREMENTS SPECIFICATION
AND AGREEMENT
Some Parameters that must be Included in
Requirements Specification *
Size and complexity of the project
Subsequent multiple follow-on releases that
have been planned
Estimated and expected number of customer
support activities
Knowledge and experience of the developers
in subject area

REQUIREMENTS SPECIFICATION
AND AGREEMENT
IEEE Std 8301998

What is IEEE Std 830-1998?


Describe the content and qualities of good
software requirements specification (SRS)
and presented several SRS outlines.
Recommends
approaches
for
the
specification of software requirements.

REQUIREMENTS SPECIFICATION
AND AGREEMENT
IEEE Std 8301998

Contents of a Software
Specification Outline
Introduction.
Overall Description.
Specific Requirements.
Supporting Information

Requirements

REQUIREMENTS SPECIFICATION
AND AGREEMENT
IEEE Std 8301998

Introduction of the SRS


Provides an overview of the entire SRS.
Subsections of SRS Introduction
Purpose
Delineate (describe) the purpose of the
SRS.
Specify the intended audience for the
SRS.

REQUIREMENTS SPECIFICATION
AND AGREEMENT
IEEE Std 8301998

Subsections of SRS Introduction


Scope
Identify the software product/s to be produced
by name.
Explain what the software product/s will, and,
if necessary will not do.
Describe the application of the software being
specified,
including
relevant
benefits,
objectives, and goals.

REQUIREMENTS SPECIFICATION
AND AGREEMENT
IEEE Std 8301998

Subsections of SRS Introduction


Definitions, acronyms, and abbreviations
Provide definitions of all terms, acronyms, and
abbreviations required to properly interpret the
SRS.
May provide by reference to one or more
appendixes in the SRS or by reference to
other documents.

REQUIREMENTS SPECIFICATION
AND AGREEMENT
IEEE Std 8301998

Subsections of SRS Introduction


References
Provide a complete list of all documents
referenced elsewhere in the SRS.
Identify each document by title, report number
(if
applicable),
date,
and
publishing
organization.
Specify the sources from which the references
can be obtained.

REQUIREMENTS SPECIFICATION
AND AGREEMENT
IEEE Std 8301998

Subsections of SRS Introduction


Overview
Describe what the rest of the SRS contains.
Explain how the SRS is organized.

REQUIREMENTS SPECIFICATION
AND AGREEMENT
IEEE Std 8301998

Overall Description of the SRS


Describe the general factors that affect the
product and its requirements.
Does not state specific requirements.
Provides a background for requirements and
makes them easier to understand.

REQUIREMENTS SPECIFICATION
AND AGREEMENT
IEEE Std 8301998

Subsections of Overall Description


Product Perspective
Make the product into perspective with
other related products.
If the product is independent and totally
self-contained, it should be so stated
here.
Relates the requirements of large
system to functionality of the software.
Identify interfaces between the large
system and the software.

REQUIREMENTS SPECIFICATION
AND AGREEMENT
IEEE Std 8301998

Subsections of Overall Description


Product Perspective
Describes how the software operates in
various constraints

System Interfaces.
User Interfaces.
Hardware Interfaces.
Software Interfaces.
Communications Interfaces.
Memory.
Operations.
Site Adaptation Requirements.

REQUIREMENTS SPECIFICATION
AND AGREEMENT
IEEE Std 8301998

Subsections of Overall Description


Product Functions
Provide summary of the major functions
that the software will perform.
Should be organized in a way that
makes
the
list
of
functions
understandable to the customer or to
anyone else reading the document for
the first time.
Textual or graphical methods can be
used to show the different functions and
their relationships.

REQUIREMENTS SPECIFICATION
AND AGREEMENT
IEEE Std 8301998

Subsections of Overall Description


User Characteristics
Describe those general characteristics
of the intended users of the product
including educational level, experience,
and technical expertise.
Should not be used to state specific
requirements, but rather should provide
the reasons why certain specific
requirements are later specified of the
SRS.

REQUIREMENTS SPECIFICATION
AND AGREEMENT
IEEE Std 8301998

Subsections of Overall Description


Constraints
Provide general description of any other
items that will limit the developers
options.

REQUIREMENTS SPECIFICATION
AND AGREEMENT
IEEE Std 8301998

Subsections of Overall Description


Constraints
Examples of Constraints
Regulatory policies.
Hardware limitations.
Interfaces to other applications.
Parallel operation.
Audit functions.
Control functions.
Higher-order
language
requirements.
Signal handshake protocols.
Reliability requirements.
Criticality of the application.
Safety and security considerations.

REQUIREMENTS SPECIFICATION
AND AGREEMENT
IEEE Std 8301998

Subsections of Overall Description


Assumptions and Dependencies
List of each of the factors that affect the
requirements stated in the SRS.
These factors are not design constraints
on the software but are, rather, any
changes to them that can affect the
requirements in the SRS.
Apportioning of Requirements
Identify the requirements that may be delayed
until future versions of the system.

REQUIREMENTS SPECIFICATION
AND AGREEMENT
IEEE Std 8301998

Specific Requirements of the SRS


Contain all of the software requirements to
a level of detail sufficient to enable
designers to design a system to satisfy
those requirements.
Largest and most important part of the SRS.
Principles Behind Specific Requirements
Specific requirements should be stated in
conformance with all the characteristics.
Specific requirements should be crossreferenced to earlier documents that
related.
All requirements should be uniquely
identifiable.
Careful attention should be given to
organizing the requirements to maximize

REQUIREMENTS SPECIFICATION
AND AGREEMENT
IEEE Std 8301998

Subsection of Specific Requirements


External Interfaces
Detailed description of all inputs into
and outputs from the software system.
Should
complement
the
interface
descriptions in Overall Description of the
SRS.

REQUIREMENTS SPECIFICATION
AND AGREEMENT
IEEE Std 8301998

Subsection of Specific Requirements


External Interfaces
Content
and
Format
of
External
Interfaces
Name of item.
Description of purpose.
Source of input or destination of
output.
Valid
range,
accuracy,
and/or
tolerance.
Units of measure.
Timing.
Relationships
to
other
inputs/outputs.
Screen formats/organization.
Window formats/organization.

REQUIREMENTS SPECIFICATION
AND AGREEMENT
IEEE Std 8301998

Subsection of Specific Requirements


Functions
Define the fundamental actions that
must take place in the software in
accepting and processing the inputs and
in processing and generating the
outputs.
Generally listed as shall statements
starting with The system shall.

REQUIREMENTS SPECIFICATION
AND AGREEMENT
IEEE Std 8301998

Subsection of Specific Requirements


Functions
What should be included in Functional
Requirements?
Validity checks on the inputs.
Exact sequence of operations.
Responses to abnormal situations,
including overflow, communication
facilities, and error handling and
recovery.
Effect of parameters.
Relationship of outputs to inputs,
including input/output sequences,
and formulas for input to output
conversion.

REQUIREMENTS SPECIFICATION
AND AGREEMENT
IEEE Std 8301998

Subsection of Specific Requirements


Performance Requirements
Specify both the static and the dynamic
numerical requirements placed on the
software or on human interaction with
the software as a whole.
Items Included in static numerical
requirements
The number of terminals to be
supported.
The number of simultaneous users
to be supported.
Amount and type of information to
be handled.

REQUIREMENTS SPECIFICATION
AND AGREEMENT
IEEE Std 8301998

Subsection of Specific Requirements


Logical Database Requirements
Specify the logical requirements for any
information that is to be placed into a
database.
What should be Included in a Logical
Requirements?
Types of information used by various
functions.
Frequency of use.
Accessing capabilities.
Data entities and their relationships.
Integrity constraints.

REQUIREMENTS SPECIFICATION
AND AGREEMENT
IEEE Std 8301998

Subsection of Specific Requirements


Design Constraints
Specify design constraints that can be
imposed by other standards, hardware
limitations, etc.
Standards Compliance
Specify the requirements derived from existing
standards or regulations.
What can be Included in a Standards
Compliance?
Report Format.
Data Naming.
Accounting Procedures.
Audit Tracing.

REQUIREMENTS SPECIFICATION
AND AGREEMENT
IEEE Std 8301998

Subsection of Specific Requirements


Software System Attributes
Required attributes must be specified so
that
their
achievement
can
be
objectively verified.
Software system attributes specify as
subclauses of this section
Reliability
Availability
Security
Maintainability
Portability

REQUIREMENTS SPECIFICATION
AND AGREEMENT
IEEE Std 8301998

Subsection of Specific Requirements


Organizing the Specific Requirements
Recommended careful consideration be
given
to
organizing
specific
requirements for understanding.
Considerations
of
Organizing
the
Specific Requirements
System Mode.
User Class.
Objects.
Feature.
Stimulus.
Response.
Functional Hierarchy
Additional Comments

REQUIREMENTS SPECIFICATION
AND AGREEMENT
IEEE Std 8301998

Supporting Information of the SRS


Makes the SRS easier to use.
Subsections of Supporting Information
Table of Contents
Important and should follow general
compositional practices.
Index
Important and should
compositional practices.

follow

general

REQUIREMENTS SPECIFICATION
AND AGREEMENT
IEEE Std 8301998

Subsections of Supporting Information


Appendixes
Not always considered part of the actual
SRS and are not always necessary.
What should be Included in Appendixes?
Sample
input/output
formats,
descriptions of cost analysis studies,
or results of user surveys.
Supporting
or
background
information that can help the
readers of the SRS.
A description of the problems to be
solved by the software.
Special packaging instructions for
the code and the media to meet
security, export, initial loading, or
other requirements.

USER INTERFACE
GUIDELINES

Requirements Processing
Requirements Elicitation and Gathering
Requirements Analysis
Requirements Specification and Agreement
User Interface Guidelines
Naming Conventions

USER INTERFACE GUIDELINES


What is an User Interface Guideline?
Set of standards used when creating an user
interface or UI.
Examples of an User Interface Guidelines?
Font Family: Tahoma.
Font Size: 12pt.
Font Weight: Bold.
Width: 800px.
Height: 100%.

NAMING
CONVENTIONS

Requirements Processing
Requirements Elicitation and Gathering
Requirements Analysis
Requirements Specification and Agreement
User Interface Guidelines
Naming Conventions

NAMING CONVENTIONS
What are Naming Conventions?
Set of standards used when naming a variable,
control or data type in coding phase.
Makes applications more understandable and
becomes easier to read.

NAMING CONVENTIONS
Examples of Naming Conventions
Control Naming Examples
button btn
label lbl
list lst
textbox txt
hyperlink - hyp
Variable Naming Examples
string str
int int
bool bol
DataSet ds
SqlConnection - sqlCon

REFERENCES

REFERENCES

Textbook
References

Essentials of Software Engineering, 3rd


Ed.; Tsui, F., Karam, O., Bernal, B.; Jones &
Bartlett Learning; 2013.
Software Engineering Princicples and
Practice, 2nd Ed.; Van Vliet, Hans; John
Wiley & Sons, Inc.; 2007.
Software Modeling & Design; Gomaa,
Hassan; Cambridge University Press;
2011.
Applied Software Project Management;
Greene J., Stellman, A.; O'Reilly Media;
2005.

REFERENCES

Website and
Related
Links
References

Creating a Metrics Program Step 5: Define


Data Collection Procedures;
IEEE Recommended Practice for Software
Requirements Specifications; IEEE Std
830-1998; 1998.
International
Journal
of
Quality
Reliability Management; Maani, K.
1998.

&
E.;

Making
Quality
Software:
12
Non
Functional
Requirements
Every
App
should Have; Barnes-Hoggett, P.; 2011.
Software
2010.

Development

Process;

Sofia;

REFERENCES

Website and
Related
Links
References

10 techniques for gathering requirements


http://www.techrepublic.com/blog/10things/10-techniques-for-gatheringrequirements/
Data Gathering
http://www.scribd.com/doc/5339322/DataGathering
Data Gathering Tools
http://learningspacetoolkit.org/needsassessment/data-gathering-tools/
Requirement
Analysis
Steps
while
Developing Software
http://www.codeproject.com/Articles/13472/Requir

Вам также может понравиться