topic for week 1 (complexity) object-oriented design
TRANSCRIPT
Object-Oriented Analysis and Design with ApplicationsCSL 314L6
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.
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
COMPLEXITY
“The more complex the system, the more open it is to total breakdown”
The Structure of Complex Systems
Personal Computer
Plants and Animals
Matter
Social Institutions
The Five Attributes of a Complex System
Hierarchic structure
Relative Primitives
Separation of Concerns
Common Patterns
Stable Intermediate forms
Hierarchic structure
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.
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:
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.
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.
Organized and Disorganized Complexity
The discovery of common abstractions and mechanisms greatly
facilitates our understanding of complex systems.
The Role of Decomposition, Abstraction and Hierarchy
Algorithmic Decomposition
Object-Oriented Decomposition
Algorithmic versus Object-Oriented Decomposition
For Continuation…