topic for week 1 (complexity) object-oriented design

14
Object-Oriented Analysis and Design with Applications CSL 314L6

Upload: darwin-gutierrez

Post on 11-Aug-2015

33 views

Category:

Technology


1 download

TRANSCRIPT

Page 1: Topic for week 1 (complexity) Object-Oriented Design

Object-Oriented Analysis and Design with ApplicationsCSL 314L6

Page 2: Topic for week 1 (complexity) Object-Oriented Design

Introduction

As computer professionals, we strive to build

systems that work and are useful; as software engineers, we are

faced with the task of creating complex systems in the presence

of constrained computing and human resources. Object-oriented

(OO) technology has evolved as a means of managing the

complexity inherent in many different kinds of systems. The

object model has proven to be a very powerful and unifying

concept.

Page 3: Topic for week 1 (complexity) Object-Oriented Design

GOALS

■ To provide a sound understanding of the fundamental concepts

and historical evolution of the object model

■ To facilitate a mastery of the notation and process of object-

oriented analysis and design

■ To teach the realistic application of object-oriented analysis and

design within a variety of problem domain

Darwin Robert Gutierrez
The concepts presented all stand on a solid theoretical foundation, but this is primarily a pragmatic book that addresses the practical needs and concerns of software engineering practitioners, from the architect to the software developer.
Page 4: Topic for week 1 (complexity) Object-Oriented Design

COMPLEXITY

“The more complex the system, the more open it is to total breakdown”

Page 5: Topic for week 1 (complexity) Object-Oriented Design

The Structure of Complex Systems

Personal Computer

Plants and Animals

Matter

Social Institutions

Page 6: Topic for week 1 (complexity) Object-Oriented Design

The Five Attributes of a Complex System

Hierarchic structure

Relative Primitives

Separation of Concerns

Common Patterns

Stable Intermediate forms

Page 7: Topic for week 1 (complexity) Object-Oriented Design

Hierarchic structure

Page 8: Topic for week 1 (complexity) Object-Oriented Design

Relative Primitives

The choice of what components in a system are primitive is

relatively arbitrary and is largely up to the discretion of the

observer of the system.

Page 9: Topic for week 1 (complexity) Object-Oriented Design

Separation of Concerns

decomposable because they can be divided into identifiable

parts; he calls them nearly decomposable because their parts

are not completely independent. This leads us to another

attribute common to all complex systems:

Page 10: Topic for week 1 (complexity) Object-Oriented Design

Common Patterns

complex systems have common patterns. These patterns may

involve the reuse of small components, such as the cells found in

both plants and animals, or of larger structures, such as vascular

systems, also found in both plants and animals.

Page 11: Topic for week 1 (complexity) Object-Oriented Design

Stable Intermediate Forms

Specifically, “complex systems will evolve from simple systems

much more rapidly if there are stable intermediate forms than if

there are not, In more dramatic terms.

Page 12: Topic for week 1 (complexity) Object-Oriented Design

Organized and Disorganized Complexity

The discovery of common abstractions and mechanisms greatly

facilitates our understanding of complex systems.

Page 13: Topic for week 1 (complexity) Object-Oriented Design

The Role of Decomposition, Abstraction and Hierarchy

Algorithmic Decomposition

Object-Oriented Decomposition

Algorithmic versus Object-Oriented Decomposition

Page 14: Topic for week 1 (complexity) Object-Oriented Design

For Continuation…