Page 232 - DCAP405_SOFTWARE_ENGINEERING
P. 232

Unit 13: Building the Analysis Model




               Graphical notation                                                               Notes
               Formal specification

          The System Definition Document

          This document (occasionally known as the user requirements document or concept of operations)
          records the system requirements. It describes the high-level system requirements from the
          domain perspective. Its readership includes representatives of the system users/customers
          (marketing may play these roles for market-driven software), so its content must be understood
          in terms of the domain. The document lists the system requirements along with background
          information about the overall objectives for the system, its target environment and a statement
          of the constraints, assumptions, and non-functional requirements.




             Notes  It may include conceptual models designed to illustrate the system context, usage
            scenarios and the principal domain entities, as well as data, information, and workflows.

          System Requirements Specification

          Developers of systems with substantial software and non-software components, a modern airliner,
          for example, often separate the description of system requirements from the description of
          software requirements. In this view, system requirements are specified, the software requirements
          are derived from the system requirements, and then the requirements for the software
          components are specified. Strictly speaking, system requirements specification is a systems
          engineering activity and falls outside the scope of this Guide.

          Software Requirements Specification

          Software requirements specification establishes the basis for agreement between customers and
          contractors or suppliers (in market-driven projects, these roles may be played by the marketing
          and development divisions) on what the software product is to do, as well as what it is not
          expected to do. For non-technical readers, the software requirements specification document is
          often accompanied by a software requirements definition document.
          Software requirements specification permits a rigorous assessment of requirements before design
          can begin and reduces later redesign. It should also provide a realistic basis for estimating
          product costs, risks, and schedules.

          Organizations can also use a software requirements specification document to develop their
          own validation and verification plans more productively.
          Software requirements specification provides an informed basis for transferring a software
          product to new users or new machines. Finally, it can provide a basis for software enhancement.
          Software requirements are often written in natural language, but, in software requirements
          specification, this may be supplemented by formal or semi-formal descriptions. Selection of
          appropriate notations permits particular requirements and aspects of the software architecture
          to be explained more precisely and concisely than natural language. The general rule is that
          notations should be used which allow the requirements to be explained as precisely as possible.
          This is particularly crucial for safety-critical and certain other types of dependable software.
          However, the choice of notation is often constrained by the training, skills and preferences of
          the document’s authors and readers.




                                           LOVELY PROFESSIONAL UNIVERSITY                                   225
   227   228   229   230   231   232   233   234   235   236   237