CS 6359 Section 001


Object-Oriented Analysis & Design


Summer 2008



Instructor: Lawrence Chung


Office: ECSS 3.204, ECS, UTD


E-mail: chung@utdallas.edu


Phone: 972-883-2178


Web page: http://www.utdallas.edu/~chung/OOAD/syllabus.htm (NOT WebCT!)


Office hours: T 1:30-2:30pm, 5:00-5:30pm, or by appointment


Lectures: TR 2:30-5:00pm, ECSS2.201


TA: Xiangyang Liu (victorlxy@student.utdallas.edu: ECS3.612); Weimin Ma (weiminma@utdallas.edu; ECS3.618 Requirements Engineering Lab.; TR 3:00-5:00pm)



1.       The Unified Modeling Language User Guide, Booch, Rumbaugh, Jacobson, Addison Wesley, 1999 or later.




1.       The Unified Modeling Language User Guide, Booch, Rumbaugh, Jacobson, Addison Wesley, 1999

2.       Internet material (e.g., http://www.ambysoft.com/books/agileModeling.html - Agile Modeling Effective Practices for Extreme Programming and the Unified Process)

3.       Object Oriented Modeling and Design, James Rumbaugh, et al, Prentice Hall, 1991 or later.

1.       The Unified Modeling Language Reference Manual, Second Edition, Rumbaugh, Jacobson and Booch, Addison-Wesley, 2004.

2.       UML 2.0 Superstructure Specification, OMG, 2004.

3.       The Unified Modeling Language Reference Manual, J. Rumbaugh, I. Jacob and G. Booch, Addison-Wesley, 1998 or later.

4.       Object-Oriented Methods: A Foundation, J. Martin and J. Odell, Prentice-Hall, 1995.

5.       Design Patterns, Elements of Reusable Object Oriented Software, Gamma, et al, Addison-Wesley, 1999

6.       Appying UML and Patterns: An Introduction to Object-Oriented Analysis and Design and the Unified Process, Craig Larman, Prentice-Hall, 2000.

7.       Visual Modeling with Rational Rose and UML; Terry Quatrani, Addison Wesley, 1998

8.       Object-Oriented Methods: A Foundation, James Martin, et. al, Prentice-Hall, 1995



Prerequisites: CS 5V81 Software Engineering or Equivalent


Objectives: This graduate course is intended to provide an in depth understanding of object oriented approaches to software development, in particular to the analysis and design phases of the software life cycle. Topics include notation, methods, competing methodologies, issues in object oriented development, and recent advancements which complement traditional object-oriented methodologies.


Computer Usage:


You can obtain a trial version of Rational Rose to run the program(s) on your home PC from IBM web sites (Since the URL changes from time to time, do an internet search). A student version is also available.

If you wish, you can use the facilities at UTD too (ES2.104 on the ground floor in ECS). All PCs in the labs of UTD are installed with Rational Rose. There are several open access labs: http://www.utdallas.edu/ir/tcs/labs/locations.htm. You will need to get a user ID for the lab, https://netid.utdallas.edu. Need help? 972-883-2911, assist@utdallas.edu, http://www.utdallas.edu/ir/tcs


Project: There will be a 2-phase project.


Each project phase should be submitted by the expected due date in the beginning of the class that day one hardcopy per team and all the softcopies should be available on the team web site. Project phases should be submitted with project phase #, class/section, team name; team URL; (rotating) team leader(s); and for each member of the team: student name, student ID, and student email address, written on the first page. There should also be a description of all the meeting conducted, and for each meeting: date, location, agenda, participants, and summary.


The project will be done by teams of 3-7 students (The team size will depend on the number of students in the course, and more on this will be discussed in class). All students in a team will get the same mark for the work they do unless they unanimously agree (in writing) to an unequal division. You are to choose your own team members. An orphan will be assigned to a team by the instructor.


For each deliverable, there should be at least one team leader, who coordinates communication and deliverable submission.


Project I under development should be presented approximately 2 weeks before the final submission due date; Project II under development should be presented approximately 2 weeks before the submission due date.



Tests: There will be two tests, one in the middle (test 1) and the other at the end (test 2) of the course.


Late work: Any assigned work will have 10 points deducted for each week passed.



Project (2 x 15)

30 %

Test 1

25 %

Test 2

40 %

Class Participation

5 %


Important Dates:


1.       May 27 (Tuesday) - First day of class for this course


2.       June 5 (Thursday) - Preliminary Project Plan (Team organization, Team leaders/deliverable, Team web site URL, Tools, etc.)

http://wwwbruegge.informatik.tu-muenchen.de/twiki/bin/view/OOSE/SoftwareProjectManagementPlanTemplate; some samples


3.       June 19 (Thursday) Interim Project Phase I (project phase 1) presentation


4.       June 26 (Thursday) Test 1


5.       July 3 (Thursday) Final Project Phase I submission (and also possibly presentation)


6.       July 17 (Thursday) Interim project Phase II (project phase 2) possible presentation


7.       July 24 (Thursday) Test 2


8.       July 29 (Tuesday) July 31 (Thursday) Final Project Phase II submission and demo (Each team should make an arrangement with the TA for the demo date and time)

At the time of the demo, a hardcopy should be submitted, which should include;

         Final project plan

         Project I

         Project II

         Any dependency/traceability between Project I and Project II

all in one document.




The University of Texas System Policy on Academic Honesty (The Regents and Regulations, Part One, Chapter VI, Section 3, Paragraph 3.22):


Any student who commits an act of scholastic dishonesty is subject to discipline. Scholastic dishonesty includes but is not limited to cheating, plagiarism, collusion, the submission for credit of any work or materials that are attributable in whole or in part to another person, taking an examination for another, any act designed to give unfair advantage to a student or the attempt to commit such acts.


The minimum penalty for academic dishonesty is a failing grade (zero)

Special Announcement: Disability Services is recruiting a volunteer to take notes in this class. No extra time outside of class is required. Notes are taken on a special paper that makes two copies as you write. Disability Services appreciate your support.


Course Outline (subject to healthy evolution)

  1. Introduction to OOAD
  2. UML - Introduction (Mostly UML 1.x): Round 1
  3. UML Advanced Features (More of UML 2.0): Round 2::
    1. Part I Structural Diagrams
    2. Part II Behavioral Diagrams
  4. Design Patterns - UML in Action: Round 3
  5. UML Advanced Concepts: Round 4
    1. Model Management;
    2. UML Metamodel; (UML1.1 metamodel)
    3. Object Constraint Language (OCL);
    4. UML Profile;
    5. Some UML Deficiencies;
    6. Service-Oriented Architecture (SOA)



Other Material


         On MDA by OMG

         An article on MDA by Booch

        More on Component Diagrams & Architectures

         Rational Rose Tutorial

         Design Document Example System Design; Object Design

         Test Plan Template; Test Case Specification Template



        Use Case- and Goal-Oriented OOAD

         J2EE: Why, What and How


Frequently Asked Questions

Sample Test Questions [pdf]

Presentations - Summer 2005

Presentations Fall 2006

Presentations Fall 2007



Some HACS specifications