Asee peer logo

Engaging Software Engineering Students Using A Series Of Object Oriented Analysis And Design Workshops

Download Paper |


2006 Annual Conference & Exposition


Chicago, Illinois

Publication Date

June 18, 2006

Start Date

June 18, 2006

End Date

June 21, 2006



Conference Session

Software Engineering Teaching Methods and Practice

Tagged Division

Software Engineering Constituent Committee

Page Count


Page Numbers

11.542.1 - 11.542.11



Permanent URL

Download Count


Request a correction

Paper Authors


Martin Zhao Mercer University

visit author page

Martin Q. Zhao is Assistant Professor of Computer Science at Mercer University. He has been teaching software engineering, database, and programming courses since 2001. Before that, he worked as a software engineer for two years and participated in the development of Web-based applications for clients including Nortel Networks and Bank of America. He received his Ph.D. and MS degrees from Louisiana Tech University and Beijing Institute of Information and Control.

visit author page


Laurie White Mercer University

visit author page

Laurie White received an MS and Ph.D. in computer science from the University of Florida. She taught CS at Armstrong Atlantic State University, in Savannah, GA, for 10 years before coming to the Department of Computer Science at Mercer University in 1999.

visit author page

Download Paper |

NOTE: The first page of text has been automatically extracted and included below in lieu of an abstract

Engaging Software Engineering Students Using a Series of OOAD Workshops


It has always been a challenging task to prepare capable software engineers to meet the high demands of the industry. With the fast growth of computing technologies, future software engineers are expected to have a good working knowledge of object-oriented system design, distributed or web-based computing, multithreading, and database connectivity. In a typical computer science and computer engineering program, the only required course that may cover these topics is Software Engineering.

Classical software engineering textbooks 11, 10 emphasize process models and highlevel development activities but neglect to discuss how technologies are used in a real world project. Many new textbooks 4, 3 present up-to-date object-oriented development processes and demonstrate how design principles work through case studies. Using a well prepared series of workshops can give students hands-on experience of the concepts and practices demonstrated in those cases. This approach can effectively engage students in various stages of an incremental development process so as to teach them software engineering by really doing it.

In this paper, the effectiveness of such an approach in a Software Engineering class will be discussed in detail. A simple voice mail system with a sound OO design is adopted from a popular OOAD text 8 as the baseline design of the sample application used in the workshops. Throughout the semester, this system is expanded functionally to introduce advanced programming techniques. Basic OOAD activities and key software development best practices will also be demonstrated in the series of workshops.

Background and Rationales

Typically, Software Engineering is designed as a senior capstone course in a Computer Science program for students to integrate knowledge gained from the required core courses offered in a four-year period. According to CC2001 1, this course is supposed to cover software system design, software processes, key activities in software development lifecycle, and software project management. The traditional approach to teaching a Software Engineering course, as reflected in classical textbooks 11, 10, usually starts with an introduction to software process models, which is then followed with discussions on highlevel activities in various phases of a generic software lifecycle template that can accommodate all possible programming paradigms. Although updated many times since their original editions, those texts are not well adapted to the latest paradigm changes (such as object orietation) and the cutting-edge technologies. Not enough effort seems to have been made to show how the models and principles discussed in the texts can be applied to real world projects.

A team-based software project is commonly included in a contemporary software engineering class to give students hands-on experience of the issues that they may encounter in a real-world


Zhao, M., & White, L. (2006, June), Engaging Software Engineering Students Using A Series Of Object Oriented Analysis And Design Workshops Paper presented at 2006 Annual Conference & Exposition, Chicago, Illinois. 10.18260/1-2--916

ASEE holds the copyright on this document. It may be read by the public free of charge. Authors may archive their work on personal websites or in institutional repositories with the following citation: © 2006 American Society for Engineering Education. Other scholars may excerpt or quote from these materials with the same citation. When excerpting or quoting from Conference Proceedings, authors should, in addition to noting the ASEE copyright, list all the original authors and their institutions and name the host city of the conference. - Last updated April 1, 2015