CS 6359 Section 001
Object-Oriented Analysis & Design
Summer 2024
Instructor:
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
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,
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.)
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
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)
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
6.
Other topics (if time permits) - UML Profile, Object Constraint Language, Service-Oriented Architecture (SOA):
Round 4
Other Material
·
More on
Component Diagrams & Architectures
·
Design
Document Example – System
Design; Object
Design
·
Test Plan Template;
Test
Case Specification Template
· Use Case- and Goal-Oriented OOAD