EECS 486

Object Oriented Methodology


Home

Policies and Procedures

Schedule

Lecture Notes

Homework

Projects

Announcements

Miscellaneous

Instructor

Dr. David R. Chesney

Office:  Room 4221, EECS Building

Office Phone:  734 763 1498

Email:  chesneyd@umich.edu

Office Hours:  Tuesday and Friday, 10:00-11:00am

Teaching Assistant

Anant Singh

Email:  lsingh@eecs.umich.edu

Office Hours:  Wednesday 3:30-5:00p.m. Thursday 10:30-11:00am

Course Fundamentals

Prerequisites:  EECS 281 Data Structures and Algorithms

Weekly Schedule: 

  • Lecture: Tuesday 8:30am - 10:00am, Room 1001 EECS
  • Discussion: Thursday 9:30am - 10:30am, Room 1001 EECS
  • Lecture: Friday 8:30am - 10:00am, Room 185 EWRE

Website:  www.eecs.umich.edu/eecs/courses/eecs486/win03

Newsgroup:  umich.eecs.class.486

Course e-mail:   eecs486@umich.edu

Course Description

The course will first study characteristics that make an object-oriented (OO) language object-oriented, such as abstraction, encapsulation, polymorphism, inheritance, generalization, and reusability. The focus of the class is using a design methodology to develop software in an OO language. Therefore, expressive notations that describe OO language characteristics are needed. Both Object Modeling Technique (OMT) and Unified Modeling Language (UML) are such expressive notations, and both will be described in the course. The notations related to system structure, architecture, and behavior will be thoroughly described. The methodology will be applied to a semester project, such as a requirements and design analysis. Finally, current industry-standard OO languages may be reviewed.

Instructional Objectives

  • Draw, understand, and critique an individual descriptive diagram in the appropriate context.
  • Map between related diagrams and incorporate the interplay into system understanding. As an example, the student should be able to map the following sequence of UML diagrams: scenario, sequence diagram, collaboration diagram, object diagram, class diagram.
  • Decompose a moderately complex system and completely describe its implementation in terms of object-oriented characteristics. Both requirements and design of the system may be described.
  • Use a current PC- or workstation-based tool (e.g., Visio 2000 Professional) to decompose a system in an industry standard specification language, such as UML and OMT.
  • Work within a group of 2-4 persons to complete jointly established goals.

Grading

Homework 10%
Midterm Exam 25%
Final Exam 25%
Project 1 Documentation 5%
Project 1 Implementation 5%
Project 2 Proposal and Requirements Draft 5%
Project 2 Requirements Document 10%
Project 2 Design Document 10%
Project 2 Implementation 5%

Text Books

Required:

Developing Software with UML, Object Oriented Analysis and Design in Practice, Bernd Oestereich, Addison Wesley, 2001, ISBN 0-201-75603-X.

Reference:

The Unified Modeling Language User Guide, Grady Booch, James Rumbaugh, and Ivar Jacobson, Addison Wesley Longman, 1999, ISBN 0-201-57168-4.

The Unified Modeling Language Reference Manual, James Rumbaugh, Ivar Jacobson, and Grady Booch, Addison Wesley Longman, 1999, ISBN 0-201-30998-X.

Using UML, Software Engineering with Objects and Components, Rob Pooley and Perdita Stevens, Addison Wesley Longman Limited, 1999, ISBN 0-201-36067-5.

Instant UML, Pierre-Alain Muller, Wrox Press Ltd., 1997, ISBN 1-861000-87-1.

Programming Languages Design and Implementation 3rd Edition, Terrence Pratt and Marvin Zelkowitz, Prentice Hall, 1999, ISBN 0-13-678012-1.

Java How to Program, Deitel & Deitel, Prentice Hall, 1997, ISBN 0-13-263401-5.

UML Explained, Kendall Scott, Addison Wesley, 2001, ISBN 0-201-72182-1.

For problems or questions regarding this web page contact eecs486@umich.edu.