Page 230 - DCAP405_SOFTWARE_ENGINEERING
P. 230

Unit 13: Building the Analysis Model




                                                                                                Notes


             Notes  In almost all cases, it is useful to start by building a model of the software context.
            The software context provides a connection between the intended software and its external
            environment. This is crucial to understanding the software’s context in its operational
            environment and to identifying its interfaces with the environment.
          The matter of modeling is tightly coupled with that of methods. For practical purposes, a
          method is a notation (or set of notations) supported by a process which guides the application of
          the notations. There is little empirical proof to support claims for the superiority of one notation
          over another. However, the widespread acceptance of a exacting method or notation can lead to
          beneficial industry-wide pooling of skills and knowledge. This is currently the situation with
          the UML (Unified Modeling Language). Formal modeling using notations based on discrete
          mathematics, and which are traceable to logical reasoning, have made an impact in some
          specialized domains. These may be imposed by customers or standards or may offer compelling
          advantages to the analysis of certain critical functions or components.

          Architectural Design and Requirements Allocation

          Sometime, the architecture of the solution must be derived. Architectural design is the point at
          which the requirements process overlaps with software or systems design and illustrates how
          impossible it is to cleanly decouple the two tasks. This topic is intimately related to the Software
          Structure and Architecture subarea in the Software Design KA. In many cases, the software
          engineer acts as software architect because the process of analyzing and elaborating the
          requirements demands that the components that will be responsible for satisfying the
          requirements be identified. This is requirements allocation–the assignment, to components, of
          the responsibility for satisfying requirements.
          Allocation is significant to permit detailed analysis of requirements. Hence, for example, once
          a set of requirements has been allocated to a component, the individual requirements can be
          further analyzed to discover further requirements on how the component needs to interact with
          other components in order to satisfy the allocated requirements. In large projects, allocation
          stimulates a new round of analysis for each subsystem.

          Architectural design is closely recognized with conceptual modeling. The mapping from real-
          world domain entities to software components is not always obvious, so architectural design is
          identified as a separate topic.




              Task  Analyze how the requirements of notations and methods are broadly the same for
            both conceptual modeling and architectural design.

          Requirements Negotiation

          Another term usually used for this sub-topic is “conflict resolution.” This concerns resolving
          problems with requirements where conflicts occur between two stakeholders requiring mutually
          incompatible features, between requirements and resources, or between functional and non-
          functional requirements. In most cases, it is foolish for the software engineer to make a unilateral
          decision, and so it becomes necessary to consult with the stakeholder(s) to reach a consensus on
          an appropriate trade-off. It is often important for contractual reasons that such decisions be
          traceable back to the customer. We have classified this as a software requirements analysis topic
          because problems emerge as the result of analysis. However, a strong case can also be made for
          considering it a requirements validation topic.



                                           LOVELY PROFESSIONAL UNIVERSITY                                   223
   225   226   227   228   229   230   231   232   233   234   235