1 / 20

Software Requirements Specification

Software Requirements Specification. Lecture 14. References. IEEE Recommended Practice for Software Requirements Specifications by Software Engineering Standards Committee of the IEEE Computer Society. Scope of the Specification.

abrienda
Télécharger la présentation

Software Requirements Specification

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Software Requirements Specification Lecture 14

  2. References • IEEE Recommended Practice for Software Requirements Specifications by Software Engineering Standards Committee of the IEEE Computer Society.

  3. Scope of the Specification • It describes the process of creating a product and the content of the product. • It is aimed at specifying requirements of software to be developed. • It can also assist in selection of in-house and commercial software products. • Its application to already developed software could be counterproductive.

  4. Definitions • Contract • A legally binding document agreed upon by customer and client. • Customer • Entity that pays for the product. • Supplier • Entity that produces the product for customer. • User • Entity that operates or interacts directly with the product.

  5. Details to be Considered for a Good SRS • Nature of the SRS • Environment of the SRS • Characteristics of a good SRS • Joint preparation of the SRS • SRS evolution • Prototyping • Embedding design in the SRS • Embedding project requirements in the SRS

  6. Nature of the SRS • It is a specification for a particular software product that performs certain functions in a specific environment. • Usually written by one or more representatives of customer, supplier or by both. • SRS writers should avoid placing either design or project requirements in the SRS.

  7. Nature of the SRS (Contd…) • Basic issues for SRS writers: • Functionality • External interfaces • Performance • Attributes • Design constraints imposed on an implementation

  8. Environment of the SRS • IEEE Std 1074-1997 describes the steps in the software life cycle and the applicable inputs for each step. • Boundaries of the SRS • It should correctly define all of the software requirements. • It should not describe any design or implementation detail. • It should not impose additional constraints on the software.

  9. Characteristics of a Good SRS • Correct • An SRS is correct, if and only if, every requirement stated therein is one that the software shall meet. • There is no tool or procedure that ensures correctness. • Unambiguous • An SRS is unambiguous, if and only if, every requirement stated therein has only one interpretation.

  10. Characteristics of a Good SRS (Contd…) • In cases where a term used in a particular context could have multiple meanings, the term should be included in a glossary where its meaning is made more specific. • Sub-clauses to avoid ambiguity • Natural language pitfalls-An SRS should be reviewed by an independent party to identify ambiguous use of language. • Requirements specification languages- An SRS can be written in a particular requirements specification language. • Representation tools

  11. Characteristics of a Good SRS (Contd…) • Complete • An SRS is complete if, and only if, it includes the following elements: • All significant requirements, especially any external requirements imposed by a system specification. • Definition of the responses of the software to all realizable classes of input data in all realizable classes of situations. • Full labels and references to all figures, table, and diagrams in the SRS and definition of all terms and units of measure. • Any SRS that users the phrase “to be determined” (TBD) is not a complete SRS.

  12. Characteristics of a Good SRS (Contd…) • Consistent • Consistency refers to internal consistency. If an SRS does not agree with some higher-level document, such a system requirements specification, then is not correct. • Internal consistency • An SRS is internally consistent if, and only if, no subset of individual requirements described in it conflict. • Three main types of conflicts in SRS are: • Specific characteristics of real world objects. • Logical or temporal conflict between two actions. • Use of different terms to describe the same real world object.

  13. Characteristics of a Good SRS (Contd…) • 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. • One method of identifying requirements uses the dimension of stability. • Another way to rank requirements is to distinguish classes of requirements as essential, conditional or optional.

  14. Characteristics of a Good SRS (Contd.) • Verifiable • An SRS is verifiable if, and only if, every requirement stated therein is verifiable. • If a method cannot be devised to determine whether the software meets a particular requirement, then that requirement should be removed or revised. • 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. • Redundancy itself is not an error, but it can easily lead to errors.

  15. Characteristics of a Good SRS (Contd.) • Traceable • An SRS is traceable if, and only if, the origin of each of its requirements is clear and if it facilitates the referencing of each requirement in the future development or enhancement documentation. • Backward tractability • Forward tractability

  16. Joint preparation of the SRS • The software development process should begin with the supplier and customer agreement on what the completed software must do.

  17. SRS Evolution • The SRS may need to evolve as the development of the software product progresses. • Requirements should be specified as thoroughly and completely as is known at the time, even if evolutionary revisions seem to be inevitable. • A formal change process should be initiated to identify, control, track and report projected changes.

  18. Prototyping • Prototyping is frequently used during the requirements portion of a project. • Usefulness of prototyping • Provides quick feedback • Helps reach closure on the SRS • An SRS based on a prototype tends to undergo less changes during development.

  19. Embedding Design in the SRS • SRS writers should clearly distinguish between identifying required design constraints and projecting a specific design. • Every requirement in the SRS limits design alternatives. • However, not every requirement is design.

  20. Embedding Project Requirements in the SRS • The SRS should address the software product, not the process of producing the software product. • Project requirements should not be included in the SRS. These include, • Cost • Delivery schedules • Reporting procedures • Quality assurance • Software development methods • Validation and verification criteria • Acceptance procedures

More Related