Teaching Object-Oriented Software Design with UML

Project Outcomes

1)      To develop additional instructional material (lecture notes and power point presentation) for the course CSC 330 Object-Oriented Software Design on implementation of UML in software system analysis and design. This will help students to

  •     Understand the importance of a software development method, and to gain some facility in at least one, e.g. object-oriented design and programming.

  •     Learn and experience software development strategies for debugging and testing code, including various testing methods like equivalence partitioning, boundary value analysis, random testing, etc.

2)      To present the advanced elements of the UML and their application in software design in the context of realistic examples and set of projects, which may be adapted to the participant’s background and context. These elements will be then practically applied in small team groups consisting out of three to four students. In this way the students will

  •       Experience a moderate sized software development in a small team following a prescribed method.

  •       Learn some of the basic development principles current paradigms, e.g. event-driven programming.

  •       Learn the portions of an appropriate programming language that support object oriented programming, e.g. class inheritance, polymorphism, multiple inheritance, interface building etc.  in C++ and/or C# and/or Java.

  •       Understand the benefits and limitations of reusability and to make use of reusable software components such as function libraries and class libraries.