Maricopa Community Colleges  CIS225AB   20016-99999 

Official Course Description: MCCCD Approval:  6-26-2001

CIS225AB  2001 Fall – 2011 Spring

LEC  3.0 Credit(s)  3.0 Period(s)  3.0 Load  Occ

Object-Oriented Analysis and Design

Methodologies and notations for fundamental object-oriented analysis and design including use cases, objects, classes, stereotypes, and relationships. Object-oriented iterative process for system development. A continuous application development exercise for applying the analysis and design concepts.

Prerequisites: Any programming language or permission of Instructor.

Go to Competencies    Go to Outline
 

MCCCD Official Course Competencies:

 

CIS225AB  2001 Fall – 2011 Spring

Object-Oriented Analysis and Design

 

1.

Capture system requirements using use cases and object- oriented concepts, including classes, objects, attributes, operations, relationships, and multiplicity. (I-IV)

2.

Improve user-developer communications. (I-V, VII, VIII)

3.

Use the notation to represent the use case, analysis, and design models. (I-V, VIII, IX)

4.

Explain how to apply the analysis and design techniques within an iterative and incremental software development process. (I-VIII, X)

5.

Apply the concepts of abstraction, encapsulation, inheritance, and polymorphism in the development of analysis and design models. (IV, VI)

6.

Describe basic design considerations, including the use of patterns and designing for inheritance. (IV, IX, X)

7.

Define a logical system architecture using packages. (V, VI)

8.

Construct packages and components to map logical architecture to physical architecture. (V, VI, X)

9.

Describe the different views of a software architecture, as well as key mechanisms that must be defined in support of that architecture. (V, IX, X)

10.

Model static and dynamic system behavior. (VII, VIII)

Go to Description    Go to top of Competencies
 

MCCCD Official Course Outline:

 

CIS225AB  2001 Fall – 2011 Spring

Object-Oriented Analysis and Design

 

I. Introduction to object orientation

A. Object-oriented concepts

B. Goals and advantages of object orientation

C. Analysis and design and the system-development lifecycle

D. Notation for analysis and design

E. Overview of visual object modeling languages

II. Use cases

A. Use-case diagrams

B. Use cases and analysis

III. Modeling classes

A. Introduction to object modeling

B. Class diagram

C. Objects and classes

D. Attributes, operations, and constraints

E. Classes and analysis

IV. Modeling relationships between classes

A. Links, associations, and cardinality

B. Advanced association modeling

C. Aggregation

D. Generalization, specialization, and inheritance

V. Packaging classes

A. Package diagram

B. Packages and analysis

VI. Object modeling process

A. Bounding the problem

B. Identifying classes, relationships, and packages

VII. Modeling interactions

A. Introduction to behavioral modeling

B. Collaboration diagram

C. Sequence diagram

D. Behavioral modeling and analysis

VIII. Modeling states

A. Introduction to state-transition diagrams

B. Advanced state-transition diagrams

C. State diagramming and analysis

IX. Modeling components and processes

A. Component diagram

B. Deployment diagram

X. Model process and integration

A. Software and application analysis

B. Model integration and testing

C. System design

D. Designing cohesive classes

E. Attributes and design

F. Operations and design

G. Design of relationships

 

 

Go to Description    Go to top of Competencies    Go to top of Outline