Requirements definition is the tip of the iceberg of system s development. While it is intended to capture the mos t important aspects of what the user of the system will see, i t must also interface with the further steps of the syste m development process. In particular, because the requirements capture the most important properties of the system , those requirements provide an important yardstick agains t which the correctness, usefulness and consistency of th e design and implementation should and can be measured. The implication of this is that the system and notation fo r requirements analysis must be compatible with the system s that support the other steps of development. One premise of this paper is that the requirements shoul d be expressed in the same notation as the high-level design o f the system. This simplifies checking whether the design i s meeting those requirements as it is being developed becaus e there is no need to map from one notation to another. Further advantages of having an integrated notation will b e pointed out. One of the major problems in developing systems is dealing with their size. With the interactive systems being developed today, a system size of 500,000 lines of code is no t atypical. The development of such a system requires that i t be decomposed into a large number of pieces. Although , typically, each individual piece is not very complex, th e control and coordination of the status and interfaces of al l the pieces becomes a major problem. Therefore, the software support system must support decomposing the syste m into pieces, controlling the interfaces that exist amon g pieces and monitoring the status of development of thos e pieces. Coordination and control activity occur not just durin g the requirements analysis and design phases, but throughout the lifetime of the system. The information describin g the decomposition and its interfaces is useful input to th e coding phase where it can be used to produce code skeleton s for the routines that need to be coded and to check th e consistency of the design and the code, to the testing phas e where it can be used as a framework for the generation o f test cases and to the maintenance phase where it can b e used a guide to the structure of the system and a …
[1]
Thomas E. Bell,et al.
An Extendable Approach to Computer-Aided Software Requirements Engineering
,
1976,
IEEE Transactions on Software Engineering.
[2]
Douglas T. Ross,et al.
Structured Analysis (SA): A Language for Communicating Ideas
,
1977,
IEEE Transactions on Software Engineering.
[3]
Ernest A. Hershey,et al.
PSL/PSA: A Computer-Aided Technique for Structured Documentation and Analysis of Information Processing Systems
,
1976,
IEEE Transactions on Software Engineering.
[4]
Hans H. Kron,et al.
Programming-in-the-Large Versus Programming-in-the-Small
,
1975
.
[5]
Robin Williams,et al.
A Picture-Building System
,
1976,
IEEE Transactions on Software Engineering.
[6]
Palo Alto Calif. Microprocessors.
Proceedings of the Symposium on Design Automation and Microprocessors, Palo Alto, California, February 24-25, 1977
,
1977
.
[7]
Gerald Estrin,et al.
Specialization of SARA for software synthesis
,
1977,
DAC 1977.
[8]
James F. Stay.
HIPO and Integrated Program Design
,
1976,
IBM Syst. J..