Information Technology Reference
In-Depth Information
gathered during the elicitation phase are evaluated, modified, and refined in order
to extend the work done during requirements elicitation into a complete, accurate,
and unambiguous description of the software system. At the end of the analysis
phase, a final requirements specification or requirements specification state-
ment is formed into the specification document, a document that formally
expresses all of the requirements that make up the system (Stiller and LeBlanc
2002 ).
After the system's requirements specification has been thoroughly generated,
the specification document serves as the basis for the next phase in the software
life cycle: system design. In order to serve this purpose, the document must be of
sufficient detail to enable engineers to draw up the design (Schach 2008 ). Analysts
must use great care when working toward this level of detail as any errors,
ambiguities or omissions that are not corrected during analysis, before the final-
ization of the document, will be written into the design. Mistakes that are not
caught will have to be corrected later in the development process, and at a much
higher cost.
In addition to providing the primary resource for system design, the specifi-
cation document also serves as a contract between the client and the developer.
Analysts must therefore balance the engineers' need for detail with the client's
need for a sufficiently understandable (non-technical) description of the product
being developed. After all, the specification document provides a picture of the
system that will be developed, and the client is not likely to elect to continue
development if they are unable to comprehend, and thus agree to, the proposed
system itself. To this end, the document will contain a set of acceptance criteria.
These criteria constitute tests that have been agreed upon by both the client and
developer which will be carried out during development and upon product com-
pletion in order to verify that the final product meets the stated needs of the client
(Schach 2008 ). These tests will cover both the capabilities of the system (func-
tional requirements) as well as the system's ability to operate within the necessary
constraints (non-functional requirements). When the acceptance criteria are suc-
cessfully met, the development team has successfully finished its job.
The analysis phase presents an important challenge for a software development
team. Analysts must constantly consider the different, and often contradictory,
goals of their task. Producing a final specification document that meets the needs
of both the engineers and the client is critical to the successful completion of a
software engineering project. The rest of this chapter discusses practices and
techniques designed to meet this end.
6.2.1 Evaluating Requirements Specification
The requirements specification produced during the requirements elicitation phase
will not be sufficiently accurate, complete, and unambiguous to correctly describe
the software system being developed. To assume otherwise would be a costly
Search WWH ::




Custom Search