Specifications a key to effective software development

  • Authors:
  • P. C. Belford;A. F. Bond;D. G. Henderson;L. S. Sellers

  • Affiliations:
  • -;-;-;-

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

Quantified Score

Hi-index 0.00

Visualization

Abstract

Specifications provide the fundamental link to make the transition between the concept and definition phases of the system development cycle. Straightforward, unambiguous specifications are required to ensure successful results and at the same time minimize cost overruns during the development cycle. Many of the problems currently being addressed by software engineers have their origins in the frequently inconsistent and incomplete nature of system specifications. The U.S. Army Ballistic Missile Defense Advanced Technology Center (BMDATC) is currently studying several advanced software development technologies. BMDATC's efforts are directed toward identifying and resolving the fundamental problems that plague the software community: excessive costs, unrealistic or inappropriate schedules, and inadequate performance. A primary category of the BMDATC program is Data Processing System Engineering Research. This research employs an advanced engineering approach to the generation, verification, and unambiguous communication of a complete and consistent set of system requirements. The key elements of this technology are: (1) a mathematically rigorous decomposition technology that effectively translates system requirements into a traceable graphic representation; (2) a usable System Specification Language (SSL) that supports simulation and specification generation; (3) a set of software tools that aid in the development, verification, and configuration control of the decomposed requirements; and (4) a management approach that supports the designed-in quality of the developed specification. Definitive specifications are of primordial importance to the development process in that they are both the springboard for the design process and the yardstick of the test procedures. This paper describes the importance of verifying systems specifications before commencing any software design and delineates a technique for accomplishing this objective.