The functional life cycle model and its automation: USE.IT

Recently there has been an accelerated awareness of the urgent need for effective system development tools and techniques. Towards this end attempts have been made to develop standard languages for programming and standard techniques for the front end of the development process. Further, there has even been talk of integrating the various processes within a system life cycle. Our thesis, here, is that although these are steps leading in the right direction, they are simply not enough. What we suggest is needed, rather, is a totally new life cycle model; it is based on pure functional needs. This is in contrast to the ''event'' driven model that has been forced into being based on constraints which are often unnecessary, wasteful, and error prone. The functional model, itself formally defined, not only includes formal techniques for defining the front end, but it also includes techniques which integrate by means of formal methods and automation that front end to the rest of the life cycle of a system. A functional life cycle model has been defined. USE.IT, an implementation of this model, provides for an integrated and automated development process of a system. We discuss, here, the HOS functional model, USE.IT, and the implications of their use.

[1]  William E. Howden DISSECT—A Symbolic Evaluation and Program Testing System , 1978, IEEE Transactions on Software Engineering.

[2]  Margaret Hamilton,et al.  The relationship between design and verification , 1979, J. Syst. Softw..

[3]  J. W. de Bakker,et al.  Mathematical theory of program correctness , 1980, Prentice-Hall international series in computer science.

[4]  S. Zeldin,et al.  Top down, bottom up structured programming and program structuring , 1972 .

[5]  M. Hamilton,et al.  Requirements Definition within Acquisition and Its Relationship To Post-Deployment Software Support (PDSS) , 1979 .

[6]  Lawrence Robinson,et al.  Proof techniques for hierarchically structured programs , 1977, CACM.

[7]  Carl Davis,et al.  Proposals for tool and methodology evaluation experiments: ACM SIGSOFT sponsored software engineering symposium on tool and methodology evaluation , 1982, SOEN.

[8]  James Martin,et al.  Application Development Without Programmers , 1981 .

[9]  S. Zeldin,et al.  The Manager As An Abstract Systems Engineer , 1977 .

[10]  Donald Reifer,et al.  Test Tools: Are They a Cure-All. , 1974 .

[11]  Charles R. Vick,et al.  The Software Development System , 1976, IEEE Transactions on Software Engineering.

[12]  Lori A. Clarke,et al.  A System to Generate Test Data and Symbolically Execute Programs , 1976, IEEE Transactions on Software Engineering.

[13]  James C. King,et al.  Symbolic execution and program testing , 1976, CACM.

[14]  M. Hamilton,et al.  The Application of HOS to PLRS , 1977 .

[15]  Barry W. Boehm,et al.  Software Engineering Economics , 1993, IEEE Transactions on Software Engineering.

[16]  D. L. Parnas,et al.  On the criteria to be used in decomposing systems into modules , 1972, Software Pioneers.

[17]  H. Mills,et al.  Reliability: Management, Methods, and Mathematics , 1963 .

[18]  M. Hamilton,et al.  AXES Syntax Description. , 1976 .

[19]  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.

[20]  Joseph E. Stoy,et al.  Denotational Semantics: The Scott-Strachey Approach to Programming Language Theory , 1981 .

[21]  D. Harel,et al.  A universal flowcharter , 1979 .

[22]  RiddleBill,et al.  Proposals for tool and methodology evaluation experiments , 1982 .

[23]  Douglas T. Ross,et al.  Structured Analysis (SA): A Language for Communicating Ideas , 1977, IEEE Transactions on Software Engineering.

[24]  R. A. Snowdon An Experience-Based Assessment of Development Systems , 1980 .

[25]  Edward Yourdon,et al.  Structured design : fundamentals of a discip!ine of computer proqram and system desiqn , 1979 .

[26]  S. Zeldin,et al.  Higher Order Software—A Methodology for Defining Software , 1976, IEEE Transactions on Software Engineering.