COSC 6318 Object-Oriented Analysis and Design
Spring 2006 - MW 5:30 - 7PM
University
of Houston - Department of Computer Science


Instructor: Dr. Venkat Subramaniam email:vnkt6318@cs.uh.edu
Office Hours: Visit following page for details: http://www.cs.uh.edu/~svenkat

Online Info: http://www.cs.uh.edu/~svenkat/classes Please visit to add to mailing list


Grading: Assignments: 20%, Homeworks: 20%, Midterms 1 & 2: 15% each, Project 30%.


Syllabus (subject to change):

  • Introduction and Motivation
  • Software System Complexity
  • Software Development Activities
  • Object-Oriented Paradigm
  • Object Model and UML
  • Software Planning
  • Test Driven Programming
  • Refactoring your code
  • Design Metrics
  • Object-Oriented Design Principles:
  • Open-Close Principle
  • Liskov's substitution principle
  • Dependency Inversion Principle
  • Reuse/Release Equivalency Principle
  • Common Closure Principle
  • Common Reuse Principle
  • Acyclic Dependency Principle
  • Stable Dependency Principle
  • Stable Abstraction Principle
  • Design Patterns: Introduction and motivation
  • Creational : Abstract Factory, Builder, Factory Method, Prototype, Singleton
  • Structural: Adapter, Bridge, Composite, Decorator, Façade, Flyweight, Proxy
  • Behavioral: Chain of Responsibility, Command, Interpreter, Iterator, Mediator, Memento, Observer, State, Strategy, Template Method, Visitor
  • Agile Development and Extreme Programming

Team Project - Requirements and Grading Policy

A Team Project carries 30% of the grade. The project has to be proposed by the team and approved by the instructor. All reports should be type written double-spaced. Each student, based on performance and contribution, as indicated by peer evaluation, will receive a percentage of their final team project grade.

 

Students are encouraged to discuss the project details with the instructor on a regular basis, during the semester. The objective of these discussions is to explore various options and tradeoffs in design and development of the project.

Scores: Use case report 7 pts; Development report 8 pts; Project refined report 7 pts; Demo 8 pts.

 

1. Project Team [Due: Feb. 1st]

No more than 10 students may belong to a team. Each student of a team will be a project developer, and one of them will serve as the team leader. If any team member(s) drops from the course, the team is still responsible for completing the project. 

2. Project Proposal [Due: Feb. 8th]

A proposal of the project with title and objective should be submitted. The proposal should be two to five pages. It should also contain an estimation of time required, per person, to analyze, design, implement and test the project.

3. Use case Report [Due: Mar. 1st]

A Use Case report should contain use case diagrams showing actors and use cases. It should also include basic flow of events for each use case. The report should in detail describe the overall functionality of the system in terms of what the system does. 

4. Development Report [Due: Apr. 5th]

This report should include UML diagrams of the over all system. Details about various approaches taken in developing the system must be presented. This should also present details on problems faced and how they are being resolved. 

5. Project Refined Report [Due. Final Exam Day or earlier]

This report will contain refinements made to the system upon further development and will address design patterns applied and principles followed. 

6. Project Demonstration [Due: Final Exam Day or earlier]

The project demonstration will be scheduled for the final exam time or earlier. One or more members of the team should demonstrate the project in front of a terminal. The grade for this will be based on the team’s answer to questions raised during the demo, organization and presentation of the demo. Each team member is required to be present for this event.


No late submissions allowed on any assignments. Most announcements/assignments will be through email

Please signup for the mailing list