CS 6359 Section 001

 

Object-Oriented Analysis & Design

 

Summer 2024

 

 

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 (& possibly some material on eLearning)

 

Office hours:   T 12:30-2:30pm; or by appointment

 

Lectures:         TR 3:00pm-5:15pm, ECSS 2.305

 

TA:                  TBA Office hours: TBA, on MS Teams?)

 

Textbook:       

1.      Lecture Notes on the course web site (/eLearning)

 

 

References:

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

2.      Applying UML and Patterns: An Introduction to Object-Oriented Analysis and Design and Iterative Development 3rd Edition, Craig Larman, Pearson, 2004 or later.

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

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

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

6.      UML 2.0 Superstructure Specification, OMG, 2004.

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

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

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

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

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

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

 

 

Prerequisites:  CS 5V81 Software Engineering or Equivalent (An undergraduate SE course – here, CS/SE 3354)

 

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, using UML.  Topics include notation, methods, competing methodologies, issues in object oriented development, and recent advancements which complement traditional object-oriented methodologies.

More specifically, - Ability to understand and use the UML notation - Ability to understand and apply methods for Object-Oriented Analysis - Ability to understand and apply methods for Object-Oriented Design - Ability to understand and use Object-Oriented Design Patterns

 

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, student email address, percentage of contribution and signature, written on the first page. There should also be a description of all the meetings conducted, and for each meeting: date, location, agenda, participants, and summary.

 

The project will be done by teams of approximately 3 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.

 

The first or second page of your deliverable should describe all the meetings your team had, while indicating the participants in each of the meetings. This page should be signed by all members of the team.

 

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. 

 

Grading:

Project (~~ 10 + 20)

30 %

Test 1

25 %

Test 2

40 %

Class/Team Attendance & Participation

5 %

Class Attendance Policy: Per class discussion.

Any Coronavirus-related absences or late submissions will be accommodated without any penalty!

 

Important Dates: The following dates are agile, and can be adjusted to reflect the progress and interest of the class.

 

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

 

2.     June 6 (Thursday)   - Preliminary Project  Plan (Project description, Team organization, Team leaders/deliverable and due date, Team web site URL, Tools, etc.)

Template;  some samples

 

3.     June 20 (Thursday)   Interim Project I: submission (PPT will be enough) & and also presentation

-       (Preliminary definition [PDF];

 

4.     June 27 (Thursday)  Test 1

 

 

5.     July 2 (Tuesday)  Final Project I submission

 

 

6.     July 16 (Tuesday)  Interim project II  ([PDF]) submission (An outline + a project plan or any evolving document)

 

7.     July 30 (Tuesday)   Test 2

 

8.     August 1 (Thursday)  Final Project II submission, presentation and demo - Due to Coronavirus, there may not be any presentations or demo, but only submissions of a PPT + deliverable

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.

·         Presentation slides 1 & 2

 

! Please email the url to the instructor where all the files can be found as a single zip file !

 

9.   August 6 (Tuesday) Optional - for individual meetings on a needs basis 

 

10.   May 28 (Thursday) - August 1 (Thursday):  communications and revisions of the project plan

 

Cheating/Dishonesty:

 

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)

     

 

Course Outline (subject to healthy evolution)

           

Round 1.1 - OO & Software Lifecycle - General Foundation

Round 1.2 - OOAD - Brief Overview From Craig Larman's

 

Round 2

2.       UML - Introduction (Mostly UML 1.x)

 

Round 3

3.       UML – Advanced Features (More of UML 2.0)

1.      Part I – Structural Diagrams :

2.      Part II – Behavioral Diagrams

Round 4

4.       Design Patterns - UML in Action: Round 3

Round 5

5.       UML  Metamodel

6.       Other topics (if time permits) - UML Profile, Object Constraint Language, Service-Oriented Architecture (SOA): Round 4

 

 

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

·        Ooad-sadt

 

·       Use Case- and Goal-Oriented OOAD

·        J2EE: Why, What and How

 

Frequently Asked Questions

Sample Test Questions [pdf]

Presentations - Summer 2005

Presentations – Fall 2006

Some HACS specifications