SE311 · Annotated SlidesChapter 7 — Requirements Specification
Chapter 7 · Annotated slides

Requirements Specification

What the SRS is and who reads it, labeling requirements (sequence numbers, hierarchical numbering, hierarchical textual tags), handling TBDs, user interfaces in the SRS, readability tips and best practices.

Slide text Study notes Highlight: key words Tips, tricks & traps Seen again elsewhere How it can come up
Slide 1: Slide 1
Exam weight Low
    Slide 2: RE Process
    Exam weight Low

      Requirements Specification

      • The result of requirements development is a documented agreement among stakeholders about the product to be built.
      • The vision & scope document contains the business requirements, and user requirements can be captured in the form of use cases
      • Functional and nonfunctional requirements often are stored in a software requirements specification (SRS)
      • SRS is delivered to those who must design, build, and verify the solution.
      3
      Exam weight Low

        Requirements Specification

        You can represent software requirements in several ways, including:

        • Well-structured and carefully written natural language.
        • Visual models
        • Formal specifications that define requirements by using mathematically precise specification languages. Provide the greatest rigor and precision, but few software developers and — even fewer customers — are familiar with them
        4
        Exam weight Low

          SRS

          • The SRS goes by many name: a business requirements document (BRD), functional specification, product specification, system specification, or simply requirements document.
          • It states the functions and capabilities that a software system must provide, its characteristics, and the constraints that it must respect.
          • It should describe as completely as necessary the system’s behaviors under various conditions, as well as desired system qualities such as performance, security, and usability.
          • It is the basis for subsequent project planning, design, and coding, as well as the foundation for system testing and user documentation. However, it should not contain design, construction, testing, or project management details other than known design and implementation constraints.
          5
          Exam weight Low
          1. SRS: functional and non-functional requirements the system must satisfy; the basis for design, testing, planning and contracts.
          Slide 6: If a desired capability or quality doesn’t appear
          Exam weight Low

            SRS Audience

            • A single requirements deliverable often cannot meet the needs of all audiences
              • Some people need to know just the business objectives, others want only a high-level big picture, still others want to see just the user’s perspective, and yet others need all the details.
              • Not all user reps will go through the SRS, and developers need more than just the use cases
              • This is why we create the different models, and the SRS
            7
            Exam weight Low
            1. Audience: customers, marketing, project managers, developers, testers, maintainers, documentation writers, legal.

            Labeling Requirements

            • Every requirement needs a unique and persistent identifier
              • Helps refer to specific requirements in change requests, modification history, or requirements traceability matrix
              • Helps reuse requirements in multiple projects
              • Facilitate collaboration between team members
            • Simple numbered or bulleted lists aren’t adequate for these purposes
            8
            Exam weight Low
            1. Every requirement needs a unique, persistent label so it can be traced and referenced.

            Requirements Labeling Methods – Sequence Number

            • Simplest approach. Gives every requirement a unique sequence number, e.g. UC-9 or FR-26
            • The prefeix indicate the requirement type
            • A number is not reused if a requirement is deleted
            • Used by commercial requirements management tools
            9
            Exam weight High
            1. Labeling methods: sequence numbers (UR-9), hierarchical numbering (3.2.4.1, breaks when edited), hierarchical textual tags (Print.ConfirmCopies).
            🎯 How this can come up · 1 question
            MCQ

            Which labeling method is most stable when requirements are inserted or deleted?

            Requirements Labeling Methods – Sequence Number

            • Pros:
              • Make it easy to retain a unique identifier if you move requirements around in a document
            • Cons:
              • Doesn’t provide any logical or hierarchical grouping of related requirements – number doesn’t imply any order
              • Numeric labels tell you nothing about the intent of a requirement
            Requirements Labeling Methods – Sequence Number
            10
            Exam weight Low

              Requirements Labeling Methods – Hierarchical Numbering

              I

              3.2 Project

              • f for example your functional requirements appear in ” Priorities ” of your SRS, they will all have labels that begin with “3.2”
              • More digits indicate a more detailed, lower-level requirement
                • 3.2.4.3 is a child requirement of 3.2.4.
              11
              Exam weight Low

                Requirements Labeling Methods – Hierarchical Numbering

                • Pros:
                  • This method is simple, compact, and familiar
                  • A word processor can assign the numbers automatically
                  • Supported in requirements management tools
                • Cons:
                  • The labels can grow to many digits in even a medium-sized SRS
                  • Numeric labels tell you nothing about the intent of a requirement
                Requirements Labeling Methods – Hierarchical Numbering
                12
                Exam weight Low
                  Slide 13: Requirements Labeling Methods – Hierarchical Numbering
                  Exam weight Low

                    Requirements Labeling Methods – Hierarchical Textual Tags

                    The system shall ask the user to confirm any request to print more

                    • “ than 10 copies Print.ConfirmCopies ” might be tagged
                      • It is part of the print function and relates to the number of copies to print
                    • Hierarchical textual tags are structured, meaningful, and unaffected by adding, deleting, or moving other requirements.
                    14
                    Exam weight Low
                      Slide 15: Requirements Labeling Methods – Hierarchical Textual Tags
                      Exam weight Low
                        Slide 16: Requirements Labeling Methods – Hierarchical Textual Tags
                        Exam weight Low
                          Slide 17: TBDs won’t resolve themselves
                          Exam weight Low
                          1. TBD ("to be determined") marks gaps: give each an owner and a date, and resolve them before building.

                          User Interfaces and the SRS

                          • Incorporating user interface designs in the SRS has both benefits and drawbacks. U sers’ expecations of look & feel of
                          • On the plus side: product
                            • Exploring possible user interfaces with paper prototypes, working mock -ups, wireframes, or simulation tools makes the requirements tangible to both users and developers.
                          User Interfaces and the SRS
                          18
                          Exam weight Low
                            Slide 19: Screen layouts don’t replace functional requirements
                            Exam weight Low
                            1. Screen layouts don’t replace functional requirements; keep UI design details out of the SRS (or in an appendix).

                            SRS – Readability Tips

                            • Use an appropriate template to organize all the necessary information.
                            • Label and style sections, subsections, and individual requirements consistently.
                            • Use visual emphasis (bold, underline, italics, color, and fonts) consistently. Remember that color highlighting might not be visible to people with color blindness or when printed in grayscale.
                            • Create a table of contents to help readers find the information they need.
                            SRS – Readability Tips
                            20
                            Exam weight Low

                              SRS – Readability Tips

                              • Number all figures and tables, give them captions, and refer to them by number.
                              • If you are storing requirements in a document, define your word processor’s cross-reference facility rather than hard-coded page or section numbers to refer to other locations within a document.
                              • Define hyperlinks to let the reader jump to related sections in the SRS or in other files.
                              • Include visual representations of information when possible to facilitate understanding.
                              21
                              Exam weight Low

                                Requirements Specification Best Practices

                                Adopt requirement document templates

                                Identify requirement origins

                                Uniquely label each requirement

                                Record business rules

                                Specify non-functional requirements

                                22
                                Exam weight Low
                                1. Best practices: use a template (e.g. IEEE 830 / ISO 29148), label requirements, keep it current, review it.

                                Requirement Shell

                                or Volere Shell

                                23
                                Exam weight Low