Advertisement

Teaching an industry-oriented software engineering course

  • Bernd Bruegge
Session 2: University Perspective on Industry-Oriented Courses and Software Reuse
Part of the Lecture Notes in Computer Science book series (LNCS, volume 640)

Abstract

Single project courses with a large number of participants are an excellent vehicle for teaching undergraduate students the problems of producing complex software systems. The emphasis placed on realistic development and delivery of a finalized product enables the students to appreciate software development as an engineering activity where cost/benefit decisions have to be made. In addition, students learn communication and project management techniques that are needed in many industrial settings.

In this paper we describe our criteria for the selection of projects that are complex enough to warrant large groups of developers but can still be developed in the limited time of a semester. We discuss our experience with different software development methodologies and process models, explore the problems of producing consistent and complete project documentation and describe an organizational and communicational structure that ensures a high chance of success.

The discussion is based on the experience with three project courses in which 12–30 students have designed, built and successfully delivered systems between 15,000 and 27,000 lines of code within a single semester.

Keywords

Software Engineering Software Engineer Requirement Analysis Graphical Designer Single Project 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. [Andleigh 92]
    Prabhat K. Andleigh, Michael R. Gretzinger, Distributed Object-Oriented Data-Systems Design, Prentice Hall 1992.Google Scholar
  2. [Booch 91]
    G. Booch. Object-Oriented Design with Applications, Benjamin Cummings, 1991.Google Scholar
  3. [Bright 92]
    M. Bright, A. Hurson and Simin Pakzad, A Taxonomy and Current Issues in Multidatabase Systems, Computer, Vol 25, No 3, pp 50–59, March 1992.Google Scholar
  4. [Brooks 87]
    F. P. Brooks (1987), Report of the Defense Science Board Task Force on Military Software, Alexandria, VA: Defense Technical Information Center.Google Scholar
  5. [Bruegge 91]
    B. Bruegge, J. Cheng and M. Shaw. A Software Engineering Course with a Real Client, Carnegie Mellon University, Technical Report CMU-SEI-91-EM-4, July 1991.Google Scholar
  6. [Bruegge 92]
    B. Bruegge, J. Blythe, J. Jackson and J. Shufelt, Object-Oriented System Modeling with OMT, Conference on Object-Oriented Programming Systems, Languages and Applications (OOPSLA '92), Vancouver, October 1992.Google Scholar
  7. [Coad 91]
    P. Coad and E. Yourdon, Object-Oriented Design Prentice Hall, 1991.Google Scholar
  8. [DoD-STD-2167A]
    Military Standard, Defense System Software Development, DoD, Washington D.C. 20301, February 1988.Google Scholar
  9. [Frame 90]
    Frame Technology Corporation. FrameMaker Documentation, September 1990.Google Scholar
  10. [GEMS 92]
    GEMS, a geographic environmental modeling system. 15–499 Advanced software engineering, System documentation submitted by the students, Carnegie Mellon University, May 1992.Google Scholar
  11. [IEEE 1042]
    IEEE Guide to Software Configuration Management, in Software Engineering Standards, Spring 1991 Edition.Google Scholar
  12. [IEEE 1058]
    IEEE. Standard 1058.1 for Software Project Management Plans, in Software Engineering Standards, Spring 1991 Edition.Google Scholar
  13. [Interactive Maps 91]
    Interactive Maps. 15–413 Software Engineering, System documentation submitted by the students, Carnegie Mellon University, December April 1991.Google Scholar
  14. [Interactive Pittsburgh 91]
    Interactive Pittsburgh. 15–413 Software Engineering, System documentation submitted by the students, Carnegie Mellon University, December 1991.Google Scholar
  15. [Jacquot 90]
    J.P. Jacquot, J. Guyard, L. Boidot. Modeling Teamwork in an Academic Environment, in Software Engineering Education, J.E. Tomayko (ed.), Lecture Notes in Computer Science, Springer Verlag, pp. 110–122, 1990.Google Scholar
  16. [Knoke 91]
    P. Knoke. Medium Size Project Model: Variations on a Theme, in Software Engineering Education, J.E. Tomayko (ed.), Lecture Notes in Computer Science, Springer Verlag, pp. 7–24, 1991.Google Scholar
  17. [Linton 89]
    M.A. Linton, J.M. Vlissides, P.R. Calder, Composing User Interfaces with Interviews, Computer, Vol 22, No 2, pp. 8–22, February 1989.Google Scholar
  18. [Liskov 86]
    B. Liskov and J. Guttag, Abstraction and Specification in Program Development, MIT Press, 1986.Google Scholar
  19. [MacProject]
    MacProject II V2.1. Project Management Tool, Claris Corporation, Santa Clara, CA.Google Scholar
  20. [MacroMind]
    MacroMind Director V2.0. MacroMind, Inc. San Francisco, Ca.Google Scholar
  21. [Margo 90]
    V. Margo, P. Feibig and D. Etter. Avoiding the tarpits — software's challenge, IEEE Potentials, pp. 9–12, February 1990.Google Scholar
  22. [Mynatt 90]
    B. T. Mynatt, Software Engineering With Student Project Guidance, Prentice Hall 1990.Google Scholar
  23. [Neuwirth 92]
    Neuwirth, C.M., Kaufer, D.S., Chandhok, R., Morris, J.H. (1990). Issues in the Design of Computer Support for Co-authoring and Commenting. Proceedings of CSCW'90 Conference on Collaborative Work, pp. 183–195. Los Angeles, CA, October 7–10, 1990.Google Scholar
  24. [Levine 92]
    L. Levine, L. H. Pesante, S. B. Dunkle, Technical Writing for Software Engineers, Curriculum Module SE-CM-23, Software Engineering Institute, Carnegie-Mellon University, November 1991.Google Scholar
  25. [Pfleeger 91]
    S.Pfleeger. Software Engineering: The production of quality software, MacMillan, 1991.Google Scholar
  26. [Rumbaugh 91a]
    J. Rumbaugh, M. Blaha, W. Premerlani, F. Eddy and W. Lorenson. Object-Oriented Modeling and Design, Prentice Hall, Englewood Cliffs, NJ, 1991.Google Scholar
  27. [Rumbaugh 91b]
    J. Rumbaugh. Object Modeling tool (OMTool) User's Manual, GE Corporate Research and Development, Schenectady, NY, August 1991.Google Scholar
  28. [Shaw 91]
    M. Shaw and J. Tomayko. Models for Undergraduate Project Courses in Software Engineering, in Software Engineering Education, J.E. Tomayko (ed.), Lecture Notes in Computer Science, Springer Verlag, pp. 33–71, 1991.Google Scholar
  29. [StP]
    Interactive Development Environments. Software through Pictures (StP) User and Reference Manual, March 1990.Google Scholar
  30. [Tomayko 91]
    J. Tomayko. Teaching a Project-Intensive Introduction to Software Engineering, Software Engineering Institute, Carnegie Mellon University, Technical Report CMU-SEI-91-EM-6, July 1991.Google Scholar
  31. [Wirfs-Brock 90]
    R. Wirfs-Brock, B. Wilkerson and L. Wiener. Designing Object-Oriented Software, Prentice Hall, Englewood Cliffs, NJ 1990.Google Scholar
  32. [Yourdon 79]
    E. Yourdon and L. Constantine, Structured Design: Fundamentals of a Discipline of Computer Program and Systems Design, Prentice Hall, Englewood Cliffs, NJ, 1979. Press, 1992.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1992

Authors and Affiliations

  • Bernd Bruegge
    • 1
  1. 1.School of Computer ScienceCarnegie Mellon UniversityPittsburgh

Personalised recommendations