Quality and reuse in industrial software engineering

The drive for productivity in the software industry is forcing major changes in the ways that software development and maintenance are being done. The technical trends contributing most to improved productivity are the improvement in quality of products and processes; and the reuse of code and other software components, such as design and requirements. The author surveys these technical trends. Each has gone beyond the research stage, and the preliminary results from pilot industrial projects have been reported. He summarizes the information available on the costs and benefits of the approaches, and the criteria which determine a successful transfer of the technique to industry. Each has demonstrated a long-term (3-6 years) return on investment, under the right circumstances. They have nor in general delivered short-term payoffs.

[1]  Watts S. Humphrey,et al.  Software process improvement at Hughes Aircraft , 1991, IEEE Software.

[2]  Gerald M. Weinberg,et al.  Handbook of Walkthroughs, Inspections, and Technical Reviews: Evaluating Programs, Projects, and Products , 1990 .

[3]  Wayne C. Lim,et al.  Effects of reuse on quality, productivity, and economics , 1994, IEEE Software.

[4]  Raymond Dion,et al.  Process improvement and the corporate balance sheet , 1993, IEEE Software.

[5]  Ralph E. Johnson,et al.  Surveying current research in object-oriented design , 1990, CACM.

[6]  Premkumar T. Devanbu,et al.  LaSSIE: a knowledge-based software information system , 1990, [1990] Proceedings. 12th International Conference on Software Engineering.

[7]  Frederick P. Brooks,et al.  No Silver Bullet: Essence and Accidents of Software Engineering , 1987 .

[8]  R. Dion,et al.  Elements of a process-improvement program (software quality) , 1992, IEEE Software.

[9]  Roger P. Beck,et al.  Architectures for large-scale reuse , 1992, AT&T Technical Journal.

[10]  Robert G. Lanergan,et al.  Software Engineering with Reusable Designs and Code , 1984, IEEE Transactions on Software Engineering.

[11]  Johan Margono,et al.  Software Reuse Economics: Cost-benefit Analysis On A Large-scale Ada Project , 1992, International Conference on Software Engineering.

[12]  David H. Kitson,et al.  An analysis of SEI software process assessment results: 1987-1991 , 1993, Proceedings of 1993 15th International Conference on Software Engineering.

[13]  Gail E. Kaiser,et al.  Emerging Technologies that Support a Software Process Life Cycle , 1994, IBM Syst. J..

[14]  Martin L. Griss,et al.  Software Reuse: From Library to Factory , 1993, IBM Syst. J..

[15]  Nazim H. Madhavji Environment Evolution: The Prism Model of Changes , 1992, IEEE Trans. Software Eng..

[16]  Richard E. Zultner,et al.  TQM for technical teams , 1993, CACM.

[17]  Ted J. Biggerstaff,et al.  An Assessment and Analysis of Software Reuse , 1992, Adv. Comput..

[18]  Michael E. Fagan Advances in software inspections , 1986, IEEE Transactions on Software Engineering.

[19]  Watts S. Humphrey,et al.  Managing the software process , 1989, The SEI series in software engineering.

[20]  John Favaro,et al.  What price reusability?: a case study , 1991, SETA1.

[21]  John J. Marciniak,et al.  Encyclopedia of Software Engineering , 1994, Encyclopedia of Software Engineering.

[22]  John E. Gaffney,et al.  A general economics model of software reuse , 1992, International Conference on Software Engineering.

[23]  Ernesto Guerrieri Case study: Digital's application generator , 1994, IEEE Software.

[24]  Mark C. Paulk,et al.  Capability Maturity Model for Software, Version 1.1 , 1993 .

[25]  Richard A. Zahniser Design by walking around , 1993, CACM.

[26]  Harlan D. Mills,et al.  Stepwise refinement and verification in box-structured systems , 1988, Computer.

[27]  Susan Rosenbaum,et al.  Software improvements in an international company , 1993, Proceedings of 1993 15th International Conference on Software Engineering.

[28]  James P. O'Connor,et al.  Reuse in Command-and-Control Systems , 1994, IEEE Software.

[29]  Mark C. Paulk,et al.  The Capability Maturity Model , 1991 .

[30]  Dan Craigen,et al.  Experience with formal methods in critical systems , 1994, IEEE Software.

[31]  Atul Prakash,et al.  Investigating Reverse Engineering Technologies for the CAS Program Understanding Project , 1994, IBM Syst. J..

[32]  Jesse H. Poore,et al.  Cleanroom Software Engineering: A Reader , 1996 .

[33]  W. Wayt Gibbs,et al.  Software's Chronic Crisis , 1994 .

[34]  Sadahiro Isoda,et al.  Success factors of systematic reuse , 1994, IEEE Software.

[35]  Even-André Karlsson,et al.  Software reuse: a holistic approach , 1995 .

[36]  W. J. Kubitz,et al.  Biting the silver bullet: toward a brighter future for system development , 1992 .

[37]  William E. Lorensen,et al.  Object-Oriented Modeling and Design , 1991, TOOLS.

[38]  David Budgen,et al.  Software design , 2020, International computer science series.