A methodology for decomposing system requirements into data processing requirements

  • Authors:
  • Kenneth G. Salter

  • Affiliations:
  • -

  • Venue:
  • ICSE '76 Proceedings of the 2nd international conference on Software engineering
  • Year:
  • 1976

Quantified Score

Hi-index 0.00

Visualization

Abstract

Top level system design is considered, with attention focused on the decomposition of system requirements into subsystem requirements. Primary interest is in the data processing subsystem. Implementation details involving operating systems, selection and configuration of computers, and choice of specific algorithms are excluded from this study. A methodology is presented for transforming system requirements into functional structure and system operating rules. This methodology is viewed as the first step of a comprehensive software development methodology comprising: top level design, algorithm development, computer selection, and the translation of the functional algorithmic design into operational software. The top level design is carried to such detail that algorithms, to be developed subsequently and to be realized ultimately with hardware or software, can be considered bounded by the interfaces of the data processing subsystem (DPS). That is, the interfaces are defined sufficiently well that the algorithm designer needs to consider neither the destination of data leaving the DPS nor the source of data entering the DPS. A system can be decomposed into four structural elements: functions, control, functional flows, and data. Each of these elements is a subject of the decomposition methodology. The inter-relationships of system functions are structured to define a partial ordering of system functions that is amendable to representation as a directed graph. The system control mechanism is defined to be a finite state machine, whose only cycles are loops, having START and END states. For real time operation END states fold onto START states. Functional flows represent each output of the control machine as a serial/parallel execution of the functions, consistent with their partial ordering. Data is used to relate the several functions within a functional flow, to drive the control mechanism, and to link control to the functional flows.