The design, validation and evaluation of a software development environment

Abstract APE, an Animated Programming Environment, is an interactive, graphical, program design and development system, that embodies structured programming and top-down design. The system supports the development of programs for a variety of block structured languages whilst working conceptually at the level of Jackson diagrams. Formal methods are applied to validate and verify the implementation. We discuss some of our experiences in successfully applying formal methods to the APE system and outline the benefits of a similar approach to existing software in general. The evaluation of the system was based on responses to a questionnaire and a comparison with conventional methods of generating code. The results from the user trials, summarized in this paper, suggest that the APE system helps to produce standard quality products and reduces the dependence on the experience and ability of the practitioner.

[1]  Dines Bjørner,et al.  Formal specification and software development , 1982 .

[2]  Kaizad B. Heerjee,et al.  Retrospective software specification , 1989 .

[3]  Cliff B. Jones,et al.  Systematic software development using VDM , 1986, Prentice Hall International Series in Computer Science.

[4]  S. Siegel,et al.  Nonparametric Statistics for the Behavioral Sciences , 2022, The SAGE Encyclopedia of Research Design.

[5]  James D. Schoeffler,et al.  Distributed Computer Systems for Industrial Process Control , 1984, Computer.

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

[7]  Yuzo Yamamoto An approach to the generation of software life cycle support systems , 1981 .

[8]  Stephen H. Caine,et al.  PDL: a tool for software design , 1975, AFIPS '75.

[9]  Anthony I. Wasserman Information system design methodology , 1980, J. Am. Soc. Inf. Sci..

[10]  Tony Hoare Programming is an Engineering Profession , 1983 .

[11]  David Lindley,et al.  New Cambridge Elementary Statistical Tables , 1954 .

[12]  Steven V. Earhart UNIX programmer's manual , 1986 .

[13]  James F. Stay HIPO and Integrated Program Design , 1976, IBM Syst. J..

[14]  Philip Gilbert Software design and development , 1986 .

[15]  Sharon A. Stephens,et al.  Requirements expression and verification aid , 1978, ICSE '78.

[16]  Izak Benbasat,et al.  An experimental study of the human/computer interface , 1981, CACM.

[17]  A. T. Welford,et al.  The fundamentals of skill , 1968 .

[18]  Chris Gane,et al.  Structured Systems Analysis: Tools and Techniques , 1977 .

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

[20]  E. B. Swanson,et al.  Software maintenance management , 1980 .

[21]  Georg Raeder A Survey of Current Graphical Programming Techniques , 1985, Computer.

[22]  Michelle A. Lund Evaluating the user interface: the candid camera approach , 1985, CHI '85.

[23]  Kaizad B. Heerjee,et al.  The Design and Evaluation of an Animated Programming Environment , 1988, BCS HCI.

[24]  Kaizad B. Heerjee An interactive, graphical, program design and development environment , 1988 .

[25]  Kaizad B. Heerjee,et al.  Rapid implementation of SQL: a case study using YACC and LEX , 1988 .

[26]  Ian J. Hayes,et al.  Specification case studies , 1987 .

[27]  Patrick Shannon,et al.  Business Statistics: A Decision-Making Approach , 1981 .

[28]  Michael Jackson,et al.  Principles of program design , 1975 .

[29]  Jørgen Staunstrup Program Specification, Proceedings of a Workshop , 1981 .

[30]  T. H. Tse An Automation of Jackson's Structured Programming , 1985, Aust. Comput. J..