Structure and Examples of Complex Systems

You might also like

Download as ppt, pdf, or txt
Download as ppt, pdf, or txt
You are on page 1of 32

Structure and examples of complex

systems
• Structure of a personal computer
• Structure of plants and animals
• Structure of matter
• Structure of social institutions
Structure of personal computer.
• A computer is made up of large number of major
parts .
• It has cpu, a monitor, keyboard and secondary
storage devices.
• Most of the parts are further decomposable. For
example CPU- encompasses primary
memory ,ALU ,peripheral devices etc.
• Each of the above can be further decomposed.
• ALU – registers and control logic. Etc.
Structure of personal computer.
• The complex system are hierarchic in
nature
• The levels of hierarchy represent different
levels of abstraction ,each built upon the
other, and each understandable by itself.
• Each layer provides services to higher
layers.
Structure of plant and animals
• Plants consists of three major structures
roots, stems and leaves.
• Each of the above has its own structure
• Example roots encompass branch roots
root hairs, root apex and the root cap
• Similarly leaf reveals its epidermis,
mesophyll and vascular tissues.
Five attributes of complex systems
• There are five attributes that are common to all
complex systems
• The first complexity is build upon the work of
Simon and Ando
• 1. “Frequently ,complexity takes the form of
hierarchy, whereby a complex systems is
composed of interrelated subsystems that have
in turn their own subsystems, and so on, until
some lowest level of elementary components
are reached.
Five attributes of complex systems
• It is important to realize that the
architecture of a complex system is
function of its components as well as the
hierarchic relationships among these
components.
• All systems have subsystems and all
systems are parts of larger systems.
Five attributes of complex systems
• According to the nature of the primitive
components of a complex systems it is
suggested as follows
• 2.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.
Five attributes of complex systems
• Hierarchic systems are decomposable,
because they can be divided into
identifiable parts.
• The decomposed parts are not completely
independent.
• This leads to the third attribute as follows.
Five attributes of complex systems
• 3. Intra component linkages are generally
stronger than inter component linkages.
• This fact has the effect of separating the
high-frequency dynamics of the
components-involving the internal
structure of the components-from the low-
frequency dynamics- involving interaction
among components
Five attributes of complex systems
• This difference between intra-and inter
component interactions provides a clear
separation of concerns among the various
parts of the system, making it possible to
study each part in relative isolation.
Five attributes of complex systems
• 4. Hierarchic systems are usually
composed of only a few different kinds of
subsystems in various combinations and
arrangements
• Complex systems have a common
patterns. These patterns may involve the
reuse of small components.
Five attributes of complex systems

• Complex systems tend to evolve over


time.
Five attributes of complex systems
• 5. A complex system that works invariably
found to have evolved from a simple
system that worked
• A complex system designed from the
scratch never works and cannot be
patched up to make it work
• You have to start over, beginning with a
working simple systems
Organized and disorganized
complexity.
• Complex system has a range of
hierarchies present in it. (Eg:Aircraft: flight controll
s/m,management)

• The complexity should be understood to


resolve them easily.
• Complexity can be reduced by
decomposing the system into subsystems
• Decomposition represents a structural or
“part of” hierarchy.
Organized and disorganized
complexity.
• It is essential to view a system from the
perspectives “is a” hierarchy as well as
“part of “ hierarchy.
• To have more clarity these hierarchies are
termed as the class structure and the
object structure.
• Hierarchical systems are layered.
• Layered approach gives more clarity in
understanding the system.
Organized and disorganized
complexity.
• Most successful complex software systems explicitly
encompass a well- engineered class and object
structure.
• Class and object structure forms the architecture.
• Class structures and object structures are not completely
independent,because each object in a object structure
represents specific instance of some class.
• More number of objects than class structure
Reducing complexity/Bringing order
to chaos.
• Divide and Rule
• Role of Decomposition. It has been proved
long back that it is essential to decompose
complex systems.
• It is essential to decompose the system
into smaller units so that each of them can
be refined independently.
Types of decomposition
• 1. Algorithmic Decomposition
• 2.Object-Oriented Decomposition
• 3.Algorithmic versus object-oriented
Decomposition.
Algorithmic decomposition.
• In algorithmic decomposition each module
in the system denotes a major step in
some overall process. (structured design)
• Based on ordering of events.
• Top down structured design.
Object-Oriented Decomposition
• Decomposition based on objects.-objects
is a tangible entity that exhibits some well
defined behaviour
• Objects will do the things and we ask them
to do the things by sending them
messages..
Algorithmic VS Object- Oriented
Decomposition.
• Which is the best method of
decomposition?--- is often a tough
question to answer
• Both views are important.
• The algorithmic view highlights the
ordering of events
• Object oriented view emphasizes on the
agents that either cause action or the
subjects upon which these operations act.
Categories of analysis and design
methods.
• Top-down structured design
• Data-driven design
• Object –oriented design
Top-down structured design

• Top – down structured design applies


algorithmic decomposition
• Most of the software's are written using
this design methods.
Data-driven design
• In this method ,the structure of a software
system is derived by mapping system
inputs to outputs .
• This method is mostly used in information
management systems .-which involve
direct relationship between the I/p’s and
o/p’s of the system,but require little
concern for time critical events.
Object- Oriented design
• In this method the model of software systems
are viewed as a collection of cooperating
objects.,treating individual objects as instances
of a class within a hierarchy of classes
• Object -oriented analysis and design helps to
have close relationship with the real time
entities.
• Example includes c++ Smalltalk etc.
Role of Abstraction and Hierarchy
• It helps is providing the information that are
essential rather than that of all the detailed
information.
• Hierarchy helps in reducing the complexity of the
systems., where the classes and objects are
recognized as per the hierarchy.
• Object structure illustates how different objects
collaborate with one another,class structure
highlights common structure and behaviour
within a system
Designing complex systems
• Complex systems can be viewed either by
focusing upon things or processes.

• Object orientation helps in the


decomposition of the complex systems
and offers a rich set of logical and physical
models .
Meaning of Design

• A disciplined approach we use to invent a solution for


some problem,thus providing a path from requirements
to implementation.
• As per the software engineering perspective the purpose
of design is to construct a system that satisfies a given
functional specification.
• The purpose of design is to create a clean and relatively
simple internal structure called an architecture.
• A design is the end product of the design process.
Importance of model
• Each model within a design describes a specific
aspect of the system under consideration
• New models are built upon old models
• Models are usually evaluated on expected and
unexpected situations.
• More than one kind of model can be used in
case of complex system. (for each division.Eg:PC)
Elements of software design
methods.
• The software engineering community has evolved
dozens of different design methods ..
• All of these methods have elements in common.
• Each method includes the following
• Notation- The language for expressing each model.
• Process- The activities leading to the orderly
construction of the system’s models
• Tools The artifacts that eliminate the tedium of model
building and enforce rules about the models themselves
• This helps in avoiding errors and inconsistencies .
Object oriented development
model.
• Object-oriented analysis and design is the
method that leads to an object-oriented
decomposition.
Object oriented development
model.
• The models of object-oriented analysis
and design reflect the importance of
explicitly capturing both the class and
object hierarchies of the system under
design.
• Object oriented design defines a notation
and process for constructing complex
software systems.

You might also like