Nothing Special   »   [go: up one dir, main page]

skip to main content
article
Free access

Teaching technical reviews in a one-semester software engineering course

Published: 01 February 1987 Publication History

Abstract

Software technical reviews are essential to the development and maintenance of high quality software. These review processes are complex group activities for which there exist an abundance of basic concepts evolved over years of practical experience. In a typical one-semester software engineering course very little of this information is adequately conveyed to students. Texts supporting this course are also very weak in this area. This paper provides a practical approach for teaching about software technical reviews in a one-semester software engineering course. The contents for two to three lectures on this topic are described as well as suggested exercises and an approach for integrating technical reviews with the usual team project. An extensive annotated bibliography is also provided to assist instructors and students.

References

[1]
Ackerman, A. Frank; Flower, Priscilla J.; Ebenau, Robert G. Software Inspections and the Industrial Production of Software. In Hans-Ludwig Hausen, Editor, Software Validation, Inspection-testingverification-alternatives: Proceedings of the Symposium on Software Validation, Pages 13-40. Darmstadt, FRG, September, 1983. The inspection processes at Bell Laboratories is presented. Sample reports are included along with estimates for reviewing lines of code.
[2]
Boehm. B. W. Software Engineering. IEEE Transactions on Computers:1226-1241, December 1976. Provides data on increasing error costs the later errors are detected and repaired in the software life cycle.
[3]
Buck, Robert D.; Dobbins, James H. Applications of Software Inspection Methodology in Design and Code. In Hans- Ludwig Hausen, Editor, Software Validation, inspectlon-testing-veriflcatlon-alternatives: Proceedings of the Symposium on Software Validation, Pages 41-63. Darmstadt, FRG, September 1983. Another IBM variation of the inspection process for design and code is detailed. Samples reports are included. A discussion of how to interpret data as the result of review processes is also included.
[4]
Fagan, M. E. Design and Code inspections to Reduce Errors in Program Development.IBM System Journal, vol. 15(3), 1976. A must read classic paper which introduces the whole concept of software inspections. Sample forms, checklists and experimental data from IBM are also presented.
[5]
Fisher, A. Decision Emergency: Phases in Group Decision Making. Se_p~ M_onographs37, 1970. This article describes a theory of group development in which a group passes through four phases before becoming effective. This understanding of small group interaction is valuable in better dealing with the problems associated with review groups.
[6]
Forsyth9 Donelson R. An Introduction to Group Dynamics. Brooks/Col-e Publishing Company, 1983. This text presents many of the important behavioral factors that must be dealt with during review processes. In particular group conflict, the effective environment on review processes and organizational group behavior are described.
[7]
Freedman, Daniel P.; Weinberg, Gerald M. Handbook of Walkthroughs, I nspectlons, and Technical Reviews: Evaluating Programs~ Pr0~ects and Products. Little, Brown and Company, 1982. This text is written as a series of questions and answers. It describes the Fagan methodology and many aspects of review processes. It provides a discussion of how to review many typical documents. It is weak in its discussion of sociological factors, review reports, planning issues and assessment of reviews.
[8]
Hart, Jolene J. Code Inspections at First Union Corporation. In Proceedings of COMPSAC '82. IEEE Computer Society's Sixth International Computer Software and Applications Conference, Pages 515-522. Chicago9 IL, USA~ November, 1982. Many benefits of performing design and code walkthroughs are cited. Variation of reviews~ including "round robin reviews", and their relative effectiveness are also noted. Actual sociological problems encountered at Sperry are also briefly mentioned.
[9]
IEEE Standard 730-1984 for Software Assurance Plans 1984. The IEEE standard for Software Quality Assurance puts review processes into perspective with the entire software quality assurance process. Specific reviews are mandated by this standard.
[10]
Fisher, I. Victims of Groupthink. Houghton Mifflin, 1972. This book describes the phenomenon of groupthink, its impact on groups and ways of dealing with the problem
[11]
McConnell, Peter R. H.; Strigel, Wolfgang B. Results of modern software engineering principles applied to small and large projects. In AFIPS Conference Proceedings of the 1984 National Computer Conference, Pages 273-281. Las Vegas, NV, USA, July, 1984. The Impact of review processes and their cost to implement on two medium to large real-time software projects are documented. The utilization of review processes to track a project is also described.
[12]
McKissick, John Jr.: Somers, Mark J.; Marsh, Wilhelmina. Software Design Inspection for Preliminary Design. In Proceedings COMPSAC '84. The IEEE Computer Society's Eighth International Computer Software and Applications Conference, Pages 518-519. November, 1984. An inspection process at General Electric company for preliminary designs is outlined including the roles of the review participants. The benefits of this process, including improved education, are also cited.
[13]
Military Standard for Technical Reviews and Audits for Systems, Equipments, and Computer Software MIL-STD-1521B Edition, 1985. This standard defines the required reviews for military contracts. The appendices contain details about exactly what is to be covered for each of the mandated reviews as well as the role of the contractor and the contracting agency.
[14]
Peele, Ronald. Code Inspections at First Union Corporation. In Proceedings of COMPSAC '82. IEEE Computer Society's Sixth International Computer Software and Applications Conference, Pages 445-446. Chicago,IL, USA, November, 1982. This paper presents a variation of the Fagan inspection methodology defining the process in depth along with the roles of the review participants. The benefits of utilizing their process are also documented.
[15]
editor: Quirk, ~. J. Verification and Validation of Real-Time Software. Springer- Veriag, 1985. This text concentrates on testing techniques for real-time software. The utilization of review processes is also described.The emphasis of these review processes is, however, not unique to real-time software and very little insight into reviewing real-time systems as opposed to other types of systems can be obtained from this text.
[16]
Remus, Horst Integrated Software Validation in the View of Inspections/Reviews. In Hans-Ludwig Hausen, Editor, Software Validation, inspectiontestlng-veriflcation-alternatives: Proceedings of the Symposium on Software Validation, Pages 57-63. Darmstadt, FRG, September, 1983. The relationship of review processes to testing in an IBM environment are explored. A variation of the roles of the review participants is presented as well. The utilization of defect data to the discovery of wrong design directions and implementations is also described.
[17]
Walker, Michael G. Auditing Software Development Projects: A Control Mechanism for the Digital Systems Development Methodology. In Proceedings, COMPCON Spring, Pages 310-314. IEEE, 1979. Software audits and their functions in a development organization are defined. Auditing techniques are presented as well as experiences from the Computer Science Corporation.
[18]
Weinberg, Gerald M.~ Freedman, Daniel P. Reviews, Walkthroughs, and Inspections. IEEE Transactions on Software Engineering, vol. SE-10(1): 68-72, January, 1984. An overview paper describing the distinction between walkthroughs and inspections. The difference between formal and informal reviews is also clarified. The paper also contains sample review reports and how these reports can be utilized.
[19]
Yourdon, E. Structured Walkthroughs. Yourdon, Inc., 1978. A detailed discussion of the walkthrough process. The benefits of walkthroughs as well as the mechanics of the process are presented. Psychological issues for walkthroughs are also noted.

Cited By

View all

Index Terms

  1. Teaching technical reviews in a one-semester software engineering course

      Recommendations

      Comments

      Please enable JavaScript to view thecomments powered by Disqus.

      Information & Contributors

      Information

      Published In

      cover image ACM SIGCSE Bulletin
      ACM SIGCSE Bulletin  Volume 19, Issue 1
      Feb. 1987
      529 pages
      ISSN:0097-8418
      DOI:10.1145/31726
      Issue’s Table of Contents
      • cover image ACM Conferences
        SIGCSE '87: Proceedings of the eighteenth SIGCSE technical symposium on Computer science education
        February 1987
        541 pages
        ISBN:0897912179
        DOI:10.1145/31820
      Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

      Publisher

      Association for Computing Machinery

      New York, NY, United States

      Publication History

      Published: 01 February 1987
      Published in SIGCSE Volume 19, Issue 1

      Check for updates

      Qualifiers

      • Article

      Contributors

      Other Metrics

      Bibliometrics & Citations

      Bibliometrics

      Article Metrics

      • Downloads (Last 12 months)103
      • Downloads (Last 6 weeks)18
      Reflects downloads up to 27 Nov 2024

      Other Metrics

      Citations

      Cited By

      View all
      • (2004)Peer testing in Software Engineering ProjectsProceedings of the Sixth Australasian Conference on Computing Education - Volume 3010.5555/979968.979974(41-48)Online publication date: 1-Jan-2004
      • (1993)An annotated bibliography on software inspectionsACM SIGSOFT Software Engineering Notes10.1145/157397.15741118:1(81-88)Online publication date: 1-Jan-1993
      • (1991)An industry approach to the software engineering courseACM SIGCSE Bulletin10.1145/107005.10706923:1(296-299)Online publication date: 1-Mar-1991
      • (1991)An industry approach to the software engineering courseProceedings of the twenty-second SIGCSE technical symposium on Computer science education10.1145/107004.107069(296-299)Online publication date: 1-Mar-1991
      • (2012)Teaching software inspection effectivenessProceedings of the 2012 IEEE Frontiers in Education Conference (FIE)10.1109/FIE.2012.6462206(1-6)Online publication date: 3-Oct-2012
      • (2010)An empirical analysis of team review approaches for teaching quality software developmentProceedings of the 32nd ACM/IEEE International Conference on Software Engineering - Volume 110.1145/1806799.1806882(567-575)Online publication date: 1-May-2010
      • (2009)Two peers are better than oneProceedings of the 2009 ACM International Conference on Supporting Group Work10.1145/1531674.1531692(115-124)Online publication date: 13-May-2009
      • (2005)Using peer review as a vehicle for communication skill development and active learningJournal of Computing Sciences in Colleges10.5555/1089053.108907421:2(148-155)Online publication date: 1-Dec-2005

      View Options

      View options

      PDF

      View or Download as a PDF file.

      PDF

      eReader

      View online with eReader.

      eReader

      Login options

      Media

      Figures

      Other

      Tables

      Share

      Share

      Share this Publication link

      Share on social media