Teaching iterative and collaborative design: Lessons and directions

  • Bernd Bruegge
  • Robert F. Coyne
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 750)


We describe the motivation for an ongoing series of experiments to enhance a team-based object-oriented software engineering course with a collaborative design tool. The course, which is taught in a single semester to senior undergraduates has achieved success in several dimensions, in particular in its application of object-oriented methods for analysis and design to the associated course project. We have recently started to increase the realism of the course by involving the students increasingly in iterative development, in particular on the system design level. We analyze some of the problems emerging from this decision and identify the key issues that must be addressed to allow for iteration in a single project course. A specific prototype information modeling environment supporting collaborative design is described and its applicability in the classroom is illustrated based on actual material from a recent version of the course.


Software Engineering Software Engineer Modeling Language Shared Memory Task Assignment 
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.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. [1]
    B. Boehm, A Spiral Model of Software Development and Enhancement, in Software Engineering Project Management, R. Thayer (ed), IEEE Computer Society Press, pp. 128–144, 1987.Google Scholar
  2. [2]
    G. Booch, Object-Oriented Design with Applications, Benjamin Cummings, 1991.Google Scholar
  3. [3]
    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
  4. [4]
    B. Bruegge, Teaching an Industry-oriented Software Engineering Course, C. Sledge (ed), Software Engineering Education, Lecture Notes in Computer Science, Vol 640, pp. 65–87, Springer Verlag, 1992.Google Scholar
  5. [5]
    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
  6. [6]
    L. Bucciarelli, An Ethnographic Perspective on Engineering Design, Design Studies, Vol 9, p. 160, 1988.CrossRefGoogle Scholar
  7. [7]
    L. Constantine, Teamwork Paradigms and the Structured Open Team, Proceedings: Embedded Systems Conference, San Francisco, Miller Freeman, 1989.Google Scholar
  8. [8]
    P. Coad and E. Yourdon, Object-Oriented Analysis, Prentice Hall, 1991.Google Scholar
  9. [9]
    J.C. Ferrans, D. W. Hurst, M.A. Sennett, B.M. Covnot, W. Ji, P. Kajka and W. Ouyand, Hyperweb: A Framework for Hypermedia-based Environments, In Software Engineering Notes, Vol 17, pp. 1–10, December 1992.CrossRefGoogle Scholar
  10. [10]
    F. Floyd, F. Feisin and G. Schmidt, STEPS to Software Development with Users, 2nd European Software Engineering Conference, pp. 48–64, 1989.Google Scholar
  11. [11]
    A. J. Offutt and R. H. Untch, Integrating Research, Reuse, and Integration into Software Engineering Courses, C. Sledge (ed), Software Engineering Education, Lecture Notes in Computer Science, Vol 640, pp. 88–98, Springer Verlag, 1992.Google Scholar
  12. [12]
    C. Ghezzi, M. Jazyeri and D. Mandrioli, Fundamentals of Software Engineering, Prentice Hall, 1991.Google Scholar
  13. [13]
    I. Graham, Object Oriented Methods, Addison-Wesley, 1991.Google Scholar
  14. [14]
    First Responder Interactive Navigational Database. 15-413 Software Engineering, Documentation submitted by the students, Carnegie Mellon University, December 1992.Google Scholar
  15. [15]
    15-413 Software Engineering, Reflections on the FRIEND project, submitted by the students, Carnegie Mellon University, December 1992.Google Scholar
  16. [16]
    I. Jacobson, M. Christerson, P. Jonsson and G. Overgaard, Object-Oriented Software Engineering: A Use Case Driven Approach, Addison-Wesley, NY, 1992.Google Scholar
  17. [17]
    J. Jacquot, J. Guyard and 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
  18. [18]
    S. Konda, I. Monarch, P. Sargent and E. Subrahmanian, Shared Memory in Design: A Unifying Theme for Research and Practice, Research in Engineering Design, Vol 4, pp 23–42, 1992.CrossRefGoogle Scholar
  19. [19]
    B. Meyer, Toward an Object-Oriented Curriculum, Journal of Object-Oriented Programming, pp. 76–81, May 1993.Google Scholar
  20. [20]
    G. Toye, M. Cutkosky, L. Leifer, J. Tenenbaum and J. Glicksman, SHARE: A Methodology and Environment for Collaborative Product Development, Technical Report 0420, Center for Design Research, Stanford University, 1993.Google Scholar
  21. [21]
    S. Levy, E. Subrahmanian, S. Konda, R. Coyne, A. Westerberg, Y. Reich, An Overview of the n-dim Environment, Technical Report, EDRC-05-65-93, Carnegie Mellon University, January 1993.Google Scholar
  22. [22]
    P. Naur, Computing: A Human Activity, ACM Press, Addison-Wesley, NY, 1992.Google Scholar
  23. [23]
    M. Rettig, The Practical Programmer: Software Teams, Communications of the ACM, 33(10), October 1990.Google Scholar
  24. [24]
    J. Rumbaugh, M. Blaha, W. Premerlani, F. Eddy and W. Lorenson. Object-Oriented Modeling and Design, Prentice Hall, Englewood Cliffs, NJ, 1991.Google Scholar
  25. [25]
    J. Rumbaugh, P. Halverson, C. Hansen, S. Masline, T. Topka, C. Roffler, Object Modeling tool (OMTool) User's Manual, GE Corporate Research and Development, Schenectady, NY, August 1991.Google Scholar
  26. [26]
    W. Scacchi, Managing Software Engineering Projects: A Social Analysis, IEEE Transactions on Software Engineering, 10 (1), pp. 45–59, January 1984.Google Scholar
  27. [27]
    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
  28. [28]
    E. Subrahmanian, S. Konda, S. Levy, I. Monarch, Y. Reich, A. Westerberg, Computational Support for Shared Memory in Design, To appear in: Automation-Based Creative Design: Issues in Computers and Architectures, edited by I. White and A. Tzonis, Elsevier, 1993.Google Scholar
  29. [29]
    E. Subrahmanian, R. Coyne, S. Konda, S. Levy, R. Martin, I. Monarch, Y. Reich, A. Westerberg, Support System for Different-Time Different Place Collaboration for Concurrent engineering to appear in: WET-ICE (Workshop on Enabling Technologies In Concurrent Engineering), CERC, West Virginia, USA, 1993.Google Scholar
  30. [30]
    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. [31]
    R. Winant, The Search for Order (Focus on Managing Object Projects), Object Magazine, 2(4), pp. 79–81, Nov–Dec 1992.Google Scholar
  32. [32]
    R. Wirfs-Brock, B. Wilkerson and L. Wiener, Designing Object-Oriented Software, Prentice Hall, Englewood Cliffs, NJ 1990.Google Scholar
  33. [33]
    J. Wood and D. Sover, Joint Application Design, Wiley and Sons, New York, 1989.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1993

Authors and Affiliations

  • Bernd Bruegge
    • 1
  • Robert F. Coyne
    • 2
  1. 1.School of Computer ScienceCarnegie Mellon UniversityPittsburgh
  2. 2.Engineering Design Research CenterCarnegie Mellon UniversityPittsburgh

Personalised recommendations