Overview of Requirements Engineering

advertisement
Requirements Specification
Section Five
Version: 1.0
Mehr 1386
Amirkabir University of Technology, Computer Engineering Faculty , Intelligent Systems Laboratory
1
What is SRS?
What
• The Software Requirements Specification (SRS)
captures the software requirements for the complete
system, or a portion of that system.
• The SRS focuses on the collection and organization of
all requirements surrounding your project.
• The SRS package controls the evolution of the system
throughout the development phase of the project, as
new features are added or modified to the Vision
document, they are elaborated within the SRS
Package.
Amirkabir University of Technology, Computer Engineering Faculty , Intelligent Systems Laboratory
2
What is SRS?
What
• The SRS Package is not a frozen tome, it
is an active, living artifact.
• It serves as a basis of communication
between all parties - i.e., between the
developers themselves, and between the
developers and the external groups (users
and other stakeholders) with whom they
must communicate.
Amirkabir University of Technology, Computer Engineering Faculty , Intelligent Systems Laboratory
3
SRS Standards
What
• Several recommended guides and
standards exist to help define the structure
of requirements documentation. Include
• IEEE P1233/D3
• IEEE Std. 1233
• IEEE Std. 830-1998
• ISO/IEC 12119-1994
• IEEE Std. 1362 1998 Concept of
Operations
Amirkabir University of Technology, Computer Engineering Faculty , Intelligent Systems Laboratory
4
SRS Outline (Based on RUP)
What
Introduction
Overall Description
Specific Requirements
– Functionality
– Usability
– Reliability
– Performance
– Supportability
– Design Constraints
– Online User Documentation and Help System Requirements
– Purchased Components
– Interfaces
– Licensing Requirements
– Legal, Copyright and Other Notices
– Applicable Standards
Supporting Information
Amirkabir University of Technology, Computer Engineering Faculty , Intelligent Systems Laboratory
5
Who Uses SRS?
Who
The following people use the Software Requirements
Specification:
• The system analyst creates and maintains the Vision and
Supplementary Specifications, which serves as input to the SRS and are
the communication medium between the system analyst, the customer,
and other developers.
•The requirements specifier creates and maintains the individual use
case and other components of the SRS package,
•Designers use the SRS Package as a reference when defining
responsibilities, operations, and attributes on classes, and when
adjusting classes to the implementation environment.
Amirkabir University of Technology, Computer Engineering Faculty , Intelligent Systems Laboratory
6
Who Uses SRS? (con.)
Who
• Implementers refer to the SRS Package for input when
implementing classes.
• The Project Manager refers to the SRS Package for
input when planning iterations.
• Testers use the SRS Package to verify system
compliance.
Amirkabir University of Technology, Computer Engineering Faculty , Intelligent Systems Laboratory
7
Vision
What
• Defines the stakeholders view of the product to be
developed, specified in terms of the stakeholders
key needs and features.
• The Vision provides a high-level, sometimes
contractual, basis for the more detailed technical
requirements.
• It captures the "essence" of the envisaged solution
in the form of high-level requirements and design
constraints that give the reader an overview of the
system to be developed from a behavioral
requirements perspective.
Amirkabir University of Technology, Computer Engineering Faculty , Intelligent Systems Laboratory
8
Supplementary Specification
What
• The Supplementary Specification artifact
capture system requirements that are not
readily captured in behavioral requirements
artifacts such as use-case specifications.
Amirkabir University of Technology, Computer Engineering Faculty , Intelligent Systems Laboratory
9
From Vision to SRS
How
• The SRS Package is obviously related to the
Vision document.
• Vision document serves as the input to the SRS.
But the two artifacts serve different needs and
are written by different authors.
• In SRS the focus of the document moves from
the broad statement of user needs, goals and
objectives, target markets and features of the
system to the details of how these features are
going to be implemented in the solution.
Amirkabir University of Technology, Computer Engineering Faculty , Intelligent Systems Laboratory
10
Requirements identification
How
• It is essential for requirements management
that every requirement should have a unique
identification
• The most common approach is requirements
numbering based on chapter/section in the
requirements document.
• Problems with this are:
– Numbers cannot be unambiguously assigned until
the document is complete
– Assigning chapter/section numbers is an implicit
classification of the requirement. This can mislead
readers of the document into thinking that the most
important relationships are with requirements in the
same section
Amirkabir University of Technology, Computer Engineering Faculty , Intelligent Systems Laboratory
11
Requirements identification techniques
How
• Dynamic renumbering
– Some word processing systems allow for
automatic renumbering of paragraphs and the
inclusion of cross-references.
• Database record identification
– When a requirement is identified it is entered in a
requirements database and a database record
identifier is assigned. This database identifier is
used in all subsequent references to the
requirement
• Symbolic identification
– Giving each requirement a symbolic name. For
example, EFF-1, EFF-2, EFF-3 for system
efficiency requirements
Amirkabir University of Technology, Computer Engineering Faculty , Intelligent Systems Laboratory
12
Storing requirements
How
• Requirements have to be stored in such a way
that they can be accessed easily and related to
other system requirements
• Possible storage techniques are
– In one or more word processor files requirements are stored in the requirements
document
– In a specially designed requirements
database
Amirkabir University of Technology, Computer Engineering Faculty , Intelligent Systems Laboratory
13
Word processor documents
•
Advantages
–
–
–
•
How
Requirements are all stored in the same place
Requirements may be accessed by anyone with the right
word processor
It is easy to produce the final requirements document
Disadvantages
–
–
–
–
–
Requirements dependencies must be externally maintained
Search facilities are limited
Not possible to link requirements with proposed
requirements changes
Not possible to have version control on individual
requirements
No automated navigation from one requirement to another
Amirkabir University of Technology, Computer Engineering Faculty , Intelligent Systems Laboratory
14
Requirements database
How
• Each requirement is represented as one or
more database entities
• Database query language is used to access
requirements
• Advantages
– Good query and navigation facilities
– Support for change and version management
• Disadvantages
– Readers may not have the software/skills to access
the requirements database
– The link between the database and the
requirements document must be maintained
Amirkabir University of Technology, Computer Engineering Faculty , Intelligent Systems Laboratory
15
Object classes for requirements DB
SYS_MODELS
Model: MODEL
Description: TEXT
Next: MODEL | NULL
REQ_LIST
Req: REQUIREMENT
Description: TEXT
Next: REQUIREMENT
| NULL
REQUIREMENT
Identifier: TEXT
Statement: TEXT | GRAPHIC
Date_entered: DATE
Date_changed:DATE
Sources: SOURCE_LIST
Rationale: REQ_RATIONALE
Status: STATUS
Dependents: REQ_LIST
Is_dependent_on: REQ_LIST
Model_links: SYS_MODELS
Comments: TEXT
What
SOURCE_LIST
People: TEXT
Documents: TEXT
Reqs: REQ_LIST
REQ_RATIONALE
Rationale: TEXT
Diagrams: GRAPHIC
Photos: PICTURE
Amirkabir University of Technology, Computer Engineering Faculty , Intelligent Systems Laboratory
16
Requirements DB - choice factors
What
• The statement of requirements
– If there is a need to store more than just simple text,
a database with multimedia capabilities may have
to be used.
• The number of requirements
– Larger systems usually need a database which is
designed to manage a very large volume of data
running on a specialised database server.
• Teamwork, team distribution and computer
support
– If the requirements are developed by a distributed
team of people, perhaps from different
organisations, you need a database which provides
for remote, multi-site access.
Amirkabir University of Technology, Computer Engineering Faculty , Intelligent Systems Laboratory
17
Database choice factors
What
• CASE tool use
– The database should be the same as or compatible
with CASE tool databases. However, this can be a
problem with some CASE tools which use their own
proprietary database
• Existing database usage
– If a database for software engineering support is
already in use, this should be used for requirements
management.
Amirkabir University of Technology, Computer Engineering Faculty , Intelligent Systems Laboratory
18
A Sample Documentation Tool
What
• SoDA is a flexible, powerful documentation tool that can
help you publish project documents by retrieving
information from your project software tools.
• SoDA is an acronym for Software Documentation
Automation.
• SoDA is a report generation tool that supports reporting
and formal documentation requirements for defining
custom reports and documents.
• The primary function of SoDA is to retrieve information
from various sources and use it to generate a document
or report according to a template.
• SoDA comes with several predefined templates, or you
can use its template-building component to build
templates for your specific needs.
Amirkabir University of Technology, Computer Engineering Faculty , Intelligent Systems Laboratory
19
SoDA for Word
What
• Adds document generation to the capabilities of Microsoft
Word
• Performs incremental document regeneration to reduce
turnaround time
• Preserves data entered directly into the document from
generation to generation
• Enables extraction of data from multiple information
sources, such as Rational Rose and Rational
RequisitePro, to create a single document
• Maintains consistency between documents and
information sources
Amirkabir University of Technology, Computer Engineering Faculty , Intelligent Systems Laboratory
20
Download