Page 229 - DCAP405_SOFTWARE_ENGINEERING
P. 229

Software Engineering




                    Notes          Requirements Classification

                                   Requirements can be classified on a number of dimensions:
                                                            Figure 13.2: Requirement types


                                                                              Client managers
                                                                              System end-users
                                                    User requirements         Client engineers
                                                                              Contractor managers
                                                                              System architects


                                                                              System end-users
                                                                              Client engineers
                                                   System requirements
                                                                              System architects
                                                                              Software developers


                                                                              Client engineers
                                                     Software design          (perhaps)
                                                      specification           System architects
                                                                              Software developers


                                   Other classifications may be appropriate, depending upon the organization’s usual practice and
                                   the application itself.
                                   There is a sturdy overlap between requirements classification and requirements attributes.

                                   Conceptual Modeling

                                   The growth of models of a real-world problem is key to software requirements analysis. Their
                                   purpose is to aid in understanding the problem, rather than to initiate design of the solution.
                                   Hence, conceptual models comprise models of entities from the problem domain configured to
                                   reflect their real-world relationships and dependencies. Several kinds of models can be developed.
                                   These include data and control flows, state models, event traces, user interactions, object models,
                                   data models, and many others. The factors that influence the choice of model include
                                       The nature of the problem. Some types of software demand that certain aspects be analyzed
                                       particularly rigorously.


                                          Example: Control flow and state models are likely to be more important for real-time
                                   software than for management information software, while it would usually be the opposite for
                                   data models.

                                       The expertise of the software engineer. It is often more productive to adopt a modeling
                                       notation or method with which the software engineer has experience.

                                       The process requirements of the customer. Customers may impose their favored notation
                                       or method, or prohibit any with which they are unfamiliar. This factor can conflict with
                                       the previous factor.
                                       The availability of methods and tools. Notations or methods which are poorly supported
                                       by training and tools may not achieve widespread acceptance even if they are suited to
                                       particular types of problems.



          222                               LOVELY PROFESSIONAL UNIVERSITY
   224   225   226   227   228   229   230   231   232   233   234