CSCI 8710: Object-Oriented Software Development

Fall 2005
Meeting time: MW 5:30-6:45
Classroom: PKI 270
Instructor: Dr. Harvey Siy
Office: PKI 281B
Phone: (402)554-2834
Office Hours: MW 1-2pm, TR 3-4pm, or by appointment
Email: hsiy at mail dot unomaha dot edu
Textbook: Object-Oriented Software Engineering (2nd edition) by Bruegge and Dutoit, Prentice Hall 2004.
Additional: Principles of Object-Oriented Software Development, 2nd Edition by Anton Eliens
Additional: Object-Oriented Software Development Using Java, 2nd Edition by Xiaoping Jia
Prerequisites: Introduction to Software Engineering

Course Description:

This course discusses the concepts associated with object-oriented (OO) software development. We will review fundamental concepts of software engineering and learn about OO analysis and design concepts. An ongoing class project will also double as a case study to illustrate these concepts. An overview of UML notation will be given.

Course content:

  1. Review of software engineering
  2. UML overview
  3. Requirements analysis
  4. System design
  5. Object design
  6. Mapping models to code
  7. Testing
  8. Rationale management
  9. Configuration management
  10. Project management


Lecture 18/22/2005 Review of Software Engineering (Ch. 1) (287.5 Kb)
Lecture 28/24/2005 Modeling with UML (Ch. 2) (408 Kb) UML home page
Lecture 38/29/2005 Requirements Elicitation (Ch. 4) (284 Kb)
Lecture 48/31/2005 Requirements Analysis - Part 1 - Object Modeling (Ch. 5) (229 Kb)
Lecture 59/7/2005 Requirements Analysis - Part 2 - Dynamic Modeling (Ch. 5) (285.5 Kb)
Lecture 69/12/2005 System Design and Architecture (Ch. 6) (1.598 Mb)
Lecture 79/14/2005 Addressing Design Goals (Ch. 7) (226 Kb)
Lecture 89/19/2005 Object Design - Part 1 - Reuse (Ch. 8) (276 Kb) Supplementary reading
Lecture 99/21/2005 Object Design - Part 2 - Patterns (Ch. 8) (1.39 Mb)
Lecture 1010/3/2005 Object Design - Part 3 - Specifying Interfaces (Ch. 9) (272.5 Kb) UML 2.0 OCL specification document (1.367 Mb)
Lecture 1110/5/2005 Mapping Models to Code (Ch. 10) (423.5 Kb)
Lecture 1210/24/2005 Testing (Ch. 11) (329 Kb)
Lecture 1310/31/2005 Rationale Management (Ch. 12) (977.5 Kb)
Lecture 1411/2/2005 Configuration Management (Ch. 13) (606 Kb)
Lecture 1511/7/2005 Project Management (Ch. 14) (377.5 Kb)
Lecture 1611/9/2005 Life Cycle Models (Ch. 15) (557 Kb)
Lecture 1711/14/2005 Object-Oriented Programming Languages (Ch. 5) (105 Kb) Chapter 5 (Eliens)
Lecture 1811/16/2005 Polymorphism (Ch. 9) (164 Kb) Chapter 9 (Eliens)
Lecture 1911/28/2005 Behavioral Refinement (Ch. 10) (142.5 Kb) Chapter 10 (Eliens)
Lecture 2011/30/2005 Distributed Computing (Ch. 12) (158 Kb) Chapter 12 (Jia)

Class Project

Students will work together as a single team on a class project to be prepared by the instructor. Students will work in subteams of 3 or 4. Each subteam will present a suitable analysis and design for the project. Once a suitable decomposition of the project has been derived, the subteams will work to implement the design of the different pieces.

Research Paper

Students will be required to write a brief paper on an area of research related to object-oriented software development. It can be a survey of several related research papers from journals, conference or workshop proceedings. Bonus points will be given if the paper also includes a credible research proposal.


Students will be evaluated as follows:
Term paper 15%
Project 35%
Exams (midterm and final) 30%
Class participation 5%
Homeworks 15%

Academic Integrity

Cheating will not be tolerated for project assignments, exams and other assignments. Consult the UNO Student Handbook and Department of Computer Science Policies and Procedures for formal policies about plagiarism.

Policy on late homeworks

Late homeworks will get a 20% deduction per day, for each day past the due date. For online submissions, we will go by the time stamp as reported by Blackboard. For example, if the due date is Aug, 24, a submission on Aug. 25 12:01am will get a 20% deduction.

Unfortunately for paper submissions, you must hand them directly to me.