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.
Preview
Unable to display preview. Download preview PDF.
References
Prabhat K. Andleigh, Michael R. Gretzinger, Distributed Object-Oriented Data-Systems Design, Prentice Hall 1992.
G. Booch. Object-Oriented Design with Applications, Benjamin Cummings, 1991.
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.
F. P. Brooks (1987), Report of the Defense Science Board Task Force on Military Software, Alexandria, VA: Defense Technical Information Center.
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.
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.
P. Coad and E. Yourdon, Object-Oriented Design Prentice Hall, 1991.
Military Standard, Defense System Software Development, DoD, Washington D.C. 20301, February 1988.
Frame Technology Corporation. FrameMaker Documentation, September 1990.
GEMS, a geographic environmental modeling system. 15–499 Advanced software engineering, System documentation submitted by the students, Carnegie Mellon University, May 1992.
IEEE Guide to Software Configuration Management, in Software Engineering Standards, Spring 1991 Edition.
IEEE. Standard 1058.1 for Software Project Management Plans, in Software Engineering Standards, Spring 1991 Edition.
Interactive Maps. 15–413 Software Engineering, System documentation submitted by the students, Carnegie Mellon University, December April 1991.
Interactive Pittsburgh. 15–413 Software Engineering, System documentation submitted by the students, Carnegie Mellon University, December 1991.
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.
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.
M.A. Linton, J.M. Vlissides, P.R. Calder, Composing User Interfaces with Interviews, Computer, Vol 22, No 2, pp. 8–22, February 1989.
B. Liskov and J. Guttag, Abstraction and Specification in Program Development, MIT Press, 1986.
MacProject II V2.1. Project Management Tool, Claris Corporation, Santa Clara, CA.
MacroMind Director V2.0. MacroMind, Inc. San Francisco, Ca.
V. Margo, P. Feibig and D. Etter. Avoiding the tarpits — software's challenge, IEEE Potentials, pp. 9–12, February 1990.
B. T. Mynatt, Software Engineering With Student Project Guidance, Prentice Hall 1990.
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.
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.
S.Pfleeger. Software Engineering: The production of quality software, MacMillan, 1991.
J. Rumbaugh, M. Blaha, W. Premerlani, F. Eddy and W. Lorenson. Object-Oriented Modeling and Design, Prentice Hall, Englewood Cliffs, NJ, 1991.
J. Rumbaugh. Object Modeling tool (OMTool) User's Manual, GE Corporate Research and Development, Schenectady, NY, August 1991.
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.
Interactive Development Environments. Software through Pictures (StP) User and Reference Manual, March 1990.
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.
R. Wirfs-Brock, B. Wilkerson and L. Wiener. Designing Object-Oriented Software, Prentice Hall, Englewood Cliffs, NJ 1990.
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.
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1992 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Bruegge, B. (1992). Teaching an industry-oriented software engineering course. In: Sledge, C. (eds) Software Engineering Education. SEI 1992. Lecture Notes in Computer Science, vol 640. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-55963-9_40
Download citation
DOI: https://doi.org/10.1007/3-540-55963-9_40
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-55963-4
Online ISBN: 978-3-540-47330-5
eBook Packages: Springer Book Archive