The Role of Specification
Software continues to play a prominant and critical role in large business applications, technical endeavors in space missions, and control systems for airlines, railways, and telecommunications. Software for managing these applications is complex to construct. The source of complexity of a software product lies in the set of stringent requirements, system integrity constraints, and the vast amount of knowledge necessary to adequately describe the expected interaction of the software with its environment. When all requirements are not properly understood, recorded, and communicated within the development team, there is a gap between the documented requirements and the requirements actually needed for correct functioning of the system. The inability in mastering the complexity leads to this discrepancy, which is the root cause of software errors. Precise documentation of requirements with sufficient detail to cover unexpected worst-case scenarios is a good defense against system errors.
KeywordsNatural Language Software Complexity Life Cycle Model Behavioral Specification Silver Bullet
Unable to display preview. Download preview PDF.
- V.R. Basili, “Quantitative Software Complexity Models: A Panel Summary” in V.R. Basili (Ed.), Tutorial on Models and Methods for Software Management and Engineering, IEEE Computer Society Press, Los Alamitos, CA, 1980.Google Scholar
- F.P. Brooks, Jr., The Mythical Man-Month: Essays on Software Engineering, Addison-Wesley Publishing Company, Reading, MA, 1975.Google Scholar
- J.B. Goodenough and S. Gerhart, “Towards a Theory of Test Data Selection Criteria,” in R.T. Yeh (Ed.), Current Trends in Programming Methodology, Vol. 2, Prentice-Hall, Englewood Cliffs, NJ, 1977, pp. 44–79.Google Scholar
- K.L. Heninger, J.W. Kallander, J.E. Shore, and D.L. Parnas, “Software Requirements for the A-7E Aircraft,” (second printing), NRL Memorandum Report No. 3876, Naval Research Laboratories, Washington, D.C., 1980.Google Scholar
- D.L. Parnas, “Fighting Complexity,” Invited Talk, International Conference on Engineering Complex Computer Systems (ICECCS’95), Fort Lauderdale, Florida, November 1995.Google Scholar