recategorized
3,538 views
1 votes
1 votes

Consider the following characteristics:

  1. Correct and unambiguous
  2. Complete and consistent
  3. Ranked for importance and/or stability and verifiable
  4. Modifiable and Traceable

Which of the following is true for a good SRS?

  1. I, II and III
  2. I, III and IV
  3. II, III and IV
  4. I, II, III and IV
recategorized

1 Answer

2 votes
2 votes

answer D

An SRS should be:

Correct

An SRS is correct if, and only if, every requirement stated therein is one that the software shall meet. Traceability makes this procedure easier and less prone to error.

Unambiguous

An SRS is unambiguous if, and only if, every requirement stated therein has only one interpretation. As a minimum, this requires that each characteristic of the final product be described using a single unique term.

Complete

An SRS is complete if, and only if, it includes the following elements:

  • All significant requirements, whether relating to functionality, performance, design constraints, attributes, or external interfaces. In particular any external requirements imposed by a system specification should be acknowledged and treated.
  • Definition of the responses of the software to all realizable classes of input data in all realizable classes of situations. Note that it is important to specify the responses to both valid and invalid input values.
  • Full labels and references to all figures, tables, and diagrams in the SRS and definition of all terms and units of measure.

Consistent

Consistency refers to internal consistency. If an SRS does not agree with some higher-level document, such as a system requirements specification, then it is not correct. An SRS is internally consistent if, and only if, no subset of individual requirements described in it conflict.

Ranked for importance and/or stability

An SRS is ranked for importance and/or stability if each requirement in it has an identifier to indicate either the importance or stability of that particular requirement. Typically, all of the requirements that relate to a software product are not equally important. Some requirements may be essential, especially for life-critical applications, while others may be desirable. Each requirement in the SRS should be identified to make these differences clear and explicit.

Verifiable

An SRS is verifiable if, and only if, every requirement stated therein is verifiable. A requirement is verifiable if, and only if, there exists some finite cost-effective process with which a person or machine can check that the software product meets the requirement.

Nonverifiable requirements include statements such as "works well", "good human interface", and "shall usually happen". These requirements cannot be verified because it is impossible to define the terms "good", "well", or "usually".

Modifiable

An SRS is modifiable if, and only if, its structure and style are such that any changes to the requirements can be made easily, completely, and consistently while retaining the structure and style. Modifiability generally requires an SRS to

  • Have a coherent and easy-to-use organization with a table of contents, an index, and explicit crossreferencing;
  • Not be redundant (i.e., the same requirement should not appear in more than one place in the SRS);
  • Express each requirement separately, rather than intermixed with other requirements.

Traceable

An SRS is traceable if the origin of each of its requirements is clear and if it facilitates the referencing of each requirement in future development or enhancement documentation. The following two types of traceability are recommended:

  • Backward traceability (i.e., to previous stages of development). This depends upon each requirement explicitly referencing its source in earlier documents.
  • Forward traceability (i.e., to all documents spawned by the SRS). This depends upon each requirement in the SRS having a unique name or reference number.
Answer:

Related questions

1 votes
1 votes
1 answer
1
go_editor asked Jul 21, 2016
836 views
Equivalence partitioning is a _____ testing method that divides the input domain of a program into classes of data from which test cases can be derived.White boxBlack box...
1 votes
1 votes
1 answer
2
go_editor asked Jul 21, 2016
1,979 views
Working software is not available until late in the process inWaterfall modelPrototyping modelIncremental modelEvolutionary Development model
1 votes
1 votes
1 answer
4