Page 123 -
P. 123

The nonfunctional requirements can use the same template as the functional require-
                          ments. Table 6-11 shows an example of a nonfunctional requirement:

                          TABLE 6-11. Nonfunctional requirement example

                           Name       NF-7: Performance constraints for search-and-replace
                           Summary    The search-and-replace feature must perform a search quickly.
                           Rationale  If a search is not fast enough, users will avoid using the software.
                           Requirements  A case-insensitive search-and-replace performed on a 3MB document with twenty 30-character
                                      search terms to be replaced with a different 30-character search term must take under 500ms on a
                                      700MHz Pentium III running Microsoft Windows 2000 at 50% CPU load.
                           References  UC-8: Search.

                          Develop the SRS Iteratively
                          Like use cases, the SRS should be developed in a highly iterative manner. Table 6-12
                          shows the SRS development script, an iterative process that guides a requirements analyst
                          through the development of a software requirements specification.

                          TABLE 6-12. SRS development script
                           Name       Software requirements specification development script
                           Purpose    To elicit software requirements, document them in a software requirements specification, and ver-
                                      ify that it is correct.
                           Summary    Thedevelopmentofthesoftwarerequirementsspecificationshouldbethemostiterativepartofthe
                                      entire project. This is the point where the behavior of the software to be developed is at its most
                                      malleable—it has only been described in words, and has not yet been realized in design, architec-
                                      ture, code, test plans, or any other work product. The goal of this script is to ensure that as many
                                      defects are found as possible, because each defect missed at this stage will be much more costly to
                                      detect and fix later on in the project.
                           Work products  Output
                                        Software Requirements Specification (SRS)
                           Entry criteria  A requirements analyst has a vision and scope document for a project and has identified a set of
                                      users, stakeholders, and other people who will participate in the elicitation process.
                           Basic course of  1. Elicitation: The script begins with the elicitation process. The requirements analyst works with
                           events       users, stakeholders, and other people to elicit their needs and any known requirements. If there
                                        are outstanding issues or SRS defects, the analyst resolves them during the elicitation activities.

                                       2. Documentation: The requirements analyst creates or updates the draft of the SRS to reflect the
                                        data elicited in Step 1.
                                       3. Verification: A team of reviewers performs a review of the SRS draft. In the first iteration, a small
                                        number of reviewers perform a deskcheck of the draft. Later reviews will include more people,
                                        and may be inspections instead of deskchecks. Walkthroughs should be conducted for non-
                                        technical people who still need to understand the contents of the SRS. The last iteration must be
                                        an inspection.
                           Exit criteria  The script ends after the draft was inspected in Step 3 and no defects were found. If defects were
                                      found or there was only a deskcheck performed in Step 3, then the script returns to step 1 for the
                                      next iteration.

                          The goal of the SRS development script is to remove as many defects as possible from the
                          SRS. Many people have trouble figuring out what constitutes a defect. In this case, a defect is



                                                                                   SOFTWARE REQUIREMENTS  115
   118   119   120   121   122   123   124   125   126   127   128