Teaching the unified process to undergraduate students

A modern software development process framework, such as the unified process, is able to overcome problems of past frameworks, e.g., structural mismatches (notation, method used) between the products in different process steps. Moreover, it promotes an industry standard, which yields instantly tangible benefits from better communication in development teams and further secures investments in development methods based on such a standard. We describe the concept of a one-year undergraduate course in SE based on the unified process and elaborate why, where and how the unified process can be incorporated into the course. The students' response to the process was very positive. We argue that the unified process (UP) qualifies very well for being taught to SE students, as it integrates and extends essential SE practices. Another key argument for applying the UP was to integrate the different aspects and topics covered in the SE course and embedding them into a single structured and systematic SE process. By doing so students develop a much better understanding of the relationships and interactions between different models, analysis steps and techniques.

[1]  Edward Yourdon,et al.  Object-oriented analysis , 2012 .

[2]  Gregory S. Thomas PREPARING STUDENTS FOR INDUSTRIAL TEAMWORK A SEASONED SOFTWARE ENGINEERING CURRICULUM EXPERIENCES, REQUIREMENTS, AND GUIDELINES , 1996 .

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

[4]  Ivar Jacobson,et al.  Unified Modeling Language , 2020, Definitions.

[5]  P. Krutchen,et al.  The Rational Unified Process: An Introduction , 2000 .

[6]  Kent L. Beck Extreme Programming: A Humanistic Discipline of Software Development , 1998, FASE.

[7]  Terry Shepard An efficient set of software degree programs for one domain , 2001, Proceedings of the 23rd International Conference on Software Engineering. ICSE 2001.

[8]  Stuart R. Faulk Achieving industrial relevance with academic excellence: lessons from the Oregon master of software engineering , 2000, Proceedings of the 2000 International Conference on Software Engineering. ICSE 2000 the New Millennium.

[9]  Ray Dawson,et al.  Twenty dirty tricks to train software engineers , 2000, Proceedings of the 2000 International Conference on Software Engineering. ICSE 2000 the New Millennium.

[10]  Mary Shaw,et al.  Software engineering education: a roadmap , 2000, ICSE '00.

[11]  William W. McMillan,et al.  What leading practitioners say should be emphasized in students' software engineering projects , 1999, Proceedings 12th Conference on Software Engineering Education and Training (Cat. No.PR00131).

[12]  Stefan Biffl,et al.  Teaching software engineering and project management to 300 participants without drain of quality or intensity , 1997, ITiCSE '97.

[13]  Philippe Kruchten,et al.  The Rational Unified Process: An Introduction , 1998 .

[14]  David Robson,et al.  Smalltalk-80: The Language and Its Implementation , 1983 .

[15]  David Carrington,et al.  PSPSM in the Large Class , 2001 .

[16]  Philippe Kruchten,et al.  Yoopeedoo (UPEDU): a process for teaching software process , 2001, Proceedings 14th Conference on Software Engineering Education and Training. 'In search of a software engineering profession' (Cat. No.PR01059).

[17]  E. Astesiano Fundamental approaches to software engineering : first international conference, FASE'98 held as part of the joint European Conferences on Theory and Practice of Software, ETAPS ʾ98, Lisbon, Portugal, March 28-April 4, 1998 : proceedings , 1998 .

[18]  Ron W. Newsham,et al.  Introducing Software Engineers to the Real World , 1997, IEEE Softw..

[19]  T.B. Hilburn,et al.  A software engineering curriculum model , 1999, FIE'99 Frontiers in Education. 29th Annual Frontiers in Education Conference. Designing the Future of Science and Engineering Education. Conference Proceedings (IEEE Cat. No.99CH37011.

[20]  James E. Tomayko,et al.  A Historian's view of software engineering , 2000, Thirteenth Conference on Software Engineering Education and Training.

[21]  Stefan Biffl,et al.  The Challenge of Introducing the Object-Oriented Paradigm - An Empirical Investigation of a Software-Engineering Course , 1993, Struct. Program..

[22]  Gill Smith,et al.  Object-oriented analysis , 1988, WADAS '88.

[23]  Thomas Grechenig,et al.  Software Engineering - mit UML und dem Unified Process (2. Aufl.) , 2004 .

[24]  Roseanne Tesoriero Tvedt,et al.  The Software Factory: combining undergraduate computer science and software engineering education , 2001, Proceedings of the 23rd International Conference on Software Engineering. ICSE 2001.

[25]  Bertrand Meyer,et al.  Software Engineering in the Academy , 2001, Computer.

[26]  Michael J. Lutz,et al.  Guidelines for Software Engineering Education Version 1.0 , 1999 .

[27]  Watts S. Humphrey The Personal Process in Software Engineering , 1995, CSEE.

[28]  Harvey Bratman,et al.  The Software Factory , 1975, Computer.

[29]  Brian Henderson-Sellers,et al.  Third generation OO processes: a critique of RUP and OPEN from a project management perspective , 2000, Proceedings Seventh Asia-Pacific Software Engeering Conference. APSEC 2000.

[30]  Brian Henderson-Sellers,et al.  The OPEN process specification , 1997 .

[31]  Randy Shepherd,et al.  Object-Oriented Programming , 1994, Lecture Notes in Computer Science.

[32]  B Henderson-Sellers,et al.  OPEN and RUP: How Do They Compare? , 2000 .

[33]  Brian Henderson-Sellers,et al.  UML-compatible processes , 2001, Proceedings of the 34th Annual Hawaii International Conference on System Sciences.

[34]  Barry W. Boehm,et al.  A combined curriculum research and curriculum development approach to software engineering education , 2000, Thirteenth Conference on Software Engineering Education and Training.