Using a model framework in developing and delivering a family of software engineering project courses

The University of Southern California (USC) teaches a two-semester real-client project course as a core course in USC's MSCS-SE (Master of Science in Computer Science and Software Engineering) degree program. The course has evolved rapidly, each year introducing many changes in order to satisfy the course stakeholder's win conditions. The course has also been our primary experimental testbed for evolving our MBASE (Model-Based Architecting and Software Engineering) model integration framework. In turn, this framework, along with the CRESST (Center for Research on Evaluation, Standards and Student Testing) cognitive demands analysis has served as an effective means of managing the course's rapid evolution. A further test of the framework has been its application to undergraduate software engineering project courses at other institutions. This paper provides a description and examples of USC's experience in constructing and evolving a family of software engineering project courses based on the MBASE software engineering model integration framework. A discussion of course needs, use of software engineering models, a description of MBASE, use of the CRESST model of learning objectives, course development and experiences are presented. The approach has been used successfully at Columbia University and to a lesser degree at other institutions. Much of the current and historical materials and resources described in this paper are freely available for educational use.

[1]  Ken Kennedy,et al.  Information Technology Research Investing in Our Future , 1999 .

[2]  Barry W. Boehm,et al.  Requirements engineering, expectations management, and the Two Cultures , 1999, Proceedings IEEE International Symposium on Requirements Engineering (Cat. No.PR00188).

[3]  Barry W. Boehm,et al.  A spiral model of software development and enhancement , 1986, Computer.

[4]  Barry W. Boehm,et al.  Using the WinWin Spiral Model: A Case Study , 1998, Computer.

[5]  B. Bloom Taxonomy of educational objectives , 1956 .

[6]  Ivar Jacobson,et al.  The unified modeling language reference manual , 2010 .

[7]  Barry W. Boehm,et al.  Escaping the software tar pit: model clashes and how to avoid them , 1999, SOEN.

[8]  Barry W. Boehm,et al.  Software requirements negotiation: some lessons learned , 1998, Proceedings of the 20th International Conference on Software Engineering.

[9]  Los Angeles,et al.  on Evaluation, Standards, and Student Testing, , 1991 .

[10]  Barry Boehm,et al.  Critical success factors for knowledge-based software engineering applications , 1994, Proceedings KBSE '94. Ninth Knowledge-Based Software Engineering Conference.

[11]  Philippe Kruchten,et al.  What Is the Rational Unified Process ? , 2001 .

[12]  Barry W. Boehm,et al.  A stakeholder win–win approach to software engineering education , 1999, Ann. Softw. Eng..

[13]  Barry Boehm,et al.  WinWin Requirements Negotiation Processes: A Multi-Project Analysis , 1999 .

[14]  Ellis Horowitz,et al.  Software Cost Estimation with COCOMO II , 2000 .

[15]  Barry W. Boehm,et al.  NSF workshop on a software research program for the 21st century , 1999, SOEN.

[16]  Barry W. Boehm,et al.  Anchoring the Software Process , 1996, IEEE Softw..

[17]  Barry Boehm,et al.  When models collide: lessons from software systems analysis , 1999 .