MET CS 770 OBJECT-ORIENTED ANALYSIS & DESIGN

Course Overview
A major engineering problem today is the predictable development of reliable software-intensive systems. The object-oriented paradigm is an important part of such development. Object-oriented methods can be divided into languages, distribution, and analysis and design. There change in the language category, particularly Java and C#. Distribution includes the use of vendor libraries of classes and also distributed objects as specified by the Object Management Group etc. Basic to the entire enterprise, however, are analysis and design, which has remained remarkable stable for years. Object-Oriented Analysis and Design includes the overall goals of the object paradigm, the selection of classes, the relationships among them, and their utilization to implement systems.

Prerequisites
Knowledge of C++ or Java (MET CS 565) and software engineering methods (MET CS 673) are required. It is preferable to have taken Design Patterns (MET CS 665).

Learning Objectives
Objectives:

- analyze problems from an object perspective
- create OO designs which are ready for coding
- implement a pilot OO project

Methods of Instruction
The course will be primarily lecture-based, with extensive lecture notes made available by the instructor on the course web site. Questions are encouraged. Attendance will be taken during each class meeting.

The web-based component is managed through a course companion web site in CourseInfo that includes
lecture notes,
references, library and other institutional resources, links to Internet resources;
homework assignments and solutions;
on-line homework submission;
grade management: remote private access to grading information for the student, spreadsheets and grade statistic functions for the instructor;
a wealth of communication types: chat (individua l or groups), threaded discussion, e-mail (individual or groups), bulleting board;

Evaluation and Grading
You will be required to submit an analyzed, designed and implemented project according to the deadlines shown in the schedule. Detailed requirements will follow.

With the instructor's permission, it may be possible to substitute all or part of the project with an investigation of tools for OOA&D such as Rational Rose or Together. This will require a detailed evaluation and an investigation of how these tools are being used extensively in a particular company.

Teams two are permitted, and will be evaluated at a higher standard. All members must know all parts.

You will be required to give a presentation on at least two of the phases in your project.

There are three phases for the project, graded as follows:
. phase 1 (problem statement): 1/9
. phase 2 (analysis): 2/9
. phase 3 (design): 1/3
. phase 4 (implementation and critical review): 1/3
Parts are evaluated equally unless otherwise stated.
Late homework is not accepted unless there is a reason why it was impossible for you. If there is such an impossibility, the work will be graded on a pass/fail basis.
Please see http://metcs.bu.edu/~ebraude/GradePolicy.htm for more details on grading computations.

There will be one midterm exam.


The course will consist of homework and a project, weighted as follows:
1. Homework: 30%
2. Project: 70%
There are three phases for the project, graded as follows:
· phase 1 (problem statement):
· phase 2 (analysis):
· phase 3 (design):
· phase 4 (implementation and critical review):
Parts are evaluated equally unless otherwise stated.
Please see http://metcs.bu.edu/~ebraude/GradePolicy.htm for more details on grading computations.

Academic Honesty
The course is governed by the Academic Conduct Committee policies regarding plagiarism (any attempt to represent the work of another person as one's own). This includes copying (even with modifications) of a program or segment of code. You can discuss general ideas with other people, but the work you submit must be your own. Collaboration is not permitted.

Instructor Information
Instructor: Eric Braude, Ph.D.
E-mail: ebraude@bu.edu
Boston University
Department of Computer Science, Metropolitan College
Address: 808 Commonwealth Avenue, Room 250
Boston, MA 02215
Phone: (617) 353-2367

 

Lab
Students will choose one or -- preferably -- a combination of two of the four areas in which to design and execute a project, and can purchase recommended literature accordingly. Past students in this course have begun to develop a list of references and tools at http://metcs.bu.edu/~ebraude/767/articles/index.htm .

Homework
The homework will consist of different phases of the project.

References
Required
"Applying UML and Patterns: An Introduction to Object-Oriented Analysis and Design, and the Unified Process " by Larman (Prentice Hall) 2nd edition, Published July 2001, 627 pages, ISBN 0130925691

Other References
· The Unified Modeling Language User Guide by Booch et al (Prentice Hall) ISBN0-201-57168-4
· The Unified Modeling Language Reference Manual James Rumbaugh, Ivar Jacobson, Grady Booch Addison-Wesley Pub Co; ISBN: 020130998X
· Design Patterns by Gamma et al
· Object-Oriented Software Engineering by I Jacobson
· Object-Oriented Analysis & Design by G. Booch
· Modeling the world in data by S. Schlaer and S. Mellor
· Modeling the world in states by S. Schlaer and S. Mellor
· The Unified Method draft www.rational.com
· Object-oriented Analysis by P. Coad and E. Yourdon
· Object-oriented Design by P. Coad and E. Yourdon
· Object-oriented Programming by P. Coad and A Nicola
· Software Engineering: An Object-Oriented Perspective by Eric Braude

 

Schedule

    Week 1

    · Review Syllabus
    · Review Software Development Process Notes 0-1

    Week 2
    · Introduction, Overview, and Goals of Design
    · UML as required
    · Extreme programming and refactoring Notes 1-3

    Week 3
    · Requirements I: Use Cases Notes 13 part 1

    Week 4
    · Requirements II: Sequence Diagrams Notes 13 part 2

    Week 5
    · Requirements III: Completing Domain Classes
    · Writing Detailed Requirements
    · Review Student Designs Notes 13 part 3Larman 10

    Week 6
    · Software Architectures Notes 14 part 1

    Week 7
    · To be determined

    Week 8
    · Review Design Patterns as required
    · Discussion of Tools
    · Review Student Designs Notes 4-6

    Week 9
    · Frameworks· Review Student Designs

    Week 10
    · Design Topics
    · Review Student Designs Notes 14 part 2

    Week 11
    · Review Student Designs

    Week 12
    · Detailed Design
    · Review Student Designs

    Week 13
    · Implementing OO designs
    · Shlaer-Mellor

    Week 14
    · Presentations on Finished Applications

    Week 15
    · Final Exam

 


Department of Computer Science
Boston University Metropolitan College
808 Commonwealth Ave, Room 250, Boston, MA. 02215.  Phone: 617 353 2566, Fax: 617 353 2367, Email: csinfo@bu.edu