Page 101 -
P. 101

84   Chapter 4   Requirements engineering


                                          User Requirement Definition

                                           1. The MHC-PMS shall generate monthly management reports showing
                                             the cost of drugs prescribed by each clinic during that month.


                                          System Requirements Specification
                                           1.1 On the last working day of each month, a summary of the drugs
                                              prescribed, their cost, and the prescribing clinics shall be generated.
                                           1.2 The system shall automatically generate the report for printing after
                                              17.30 on the last working day of the month.
                                           1.3 A report shall be created for each clinic and shall list the individual
                                              drug names, the total number of prescriptions, the number of doses
                                              prescribed, and the total cost of the prescribed drugs.
                                           1.4 If drugs are available in different dose units (e.g., 10 mg, 20 mg)
                                              separate reports shall be created for each dose unit.
                                           1.5 Access to all cost reports shall be restricted to authorized users listed
                  Figure 4.1 User and         on a management access control list.
                  system requirements


                                      You need to write requirements at different levels of detail because different read-
                                    ers use them in different ways. Figure 4.2 shows possible readers of the user and sys-
                                    tem requirements. The readers of the user requirements are not usually concerned
                                    with how the system will be implemented and may be managers who are not inter-
                                    ested in the detailed facilities of the system. The readers of the system requirements
                                    need to know more precisely what the system will do because they are concerned
                                    with how it will support the business processes or because they are involved in the
                                    system implementation.
                                      In this chapter, I present a ‘traditional’ view of requirements rather than require-
                                    ments in agile processes. For most large systems, it is still the case that there is a
                                    clearly identifiable requirements engineering phase before the implementation of
                                    the system begins. The outcome is a requirements document, which may be part of the
                                    system development contract. Of course, there are usually subsequent changes to
                                    the requirements and user requirements may be expanded into more detailed system
                                    requirements. However, the agile approach of concurrently eliciting the require-
                                    ments as the system is developed is rarely used for large systems development.



                              4.1 Functional and non-functional requirements



                                    Software system requirements are often classified as functional requirements or non-
                                    functional requirements:

                                    1.  Functional requirements These are statements of services the system should
                                        provide, how the system should react to particular inputs, and how the system
   96   97   98   99   100   101   102   103   104   105   106