Lecture 1 Complexity 2018
Lecture 1 Complexity 2018
• Examples:
– retail banking,
– scheduled airline services
– component warehousing
– process control
Complexity
“The more complex the system, the more open it is to total breakdown”
.
But, users of software systems rarely think twice about asking for
equivalent changes.
•They think that it is only a simple matter of programming.
Complexity
• For example,
– a CPU encompasses
• primary memory,
• an arithmetic/logic unit (ALU), and
• a bus to which peripheral devices are attached.
For example:
An ALU is composed of
– registers and random control logic,
• which themselves are constructed from even more primitive elements, such as
– NAND gates, inverters, and so on.
• for example,
– systems for the command and control of real-world entities, such as the
routing of air or railway traffic.
Software systems such as these tend to have a long life span, and
over time, many users come to depend on their proper
functioning.
• The characteristic of industrial-strength software is that
– it is intensely difficult,
– the complexity of such systems exceeds the human intellectual capacity.
• Example:
• Consider the requirements for the electronic system of a multiengine
aircraft, a cellular phone switching system, or an autonomous robot.
• In some cases, users may have only vague ideas of what they want
in a software system. This is not so much the fault of either the
users or the developers of a system; rather, it occurs because each
group generally lacks expertise in the domain of the other.
The Complexity of the Problem Domain
1. Hierarchic Structure
• We can never craft these primitive objects correctly the first time:
We must use them in context first and then improve them over
time as we learn more about the real behavior of the system.
• The discovery of common abstractions facilitates our
understanding of complex systems.
– Part of
– Is a
by algorithms or by objects?
Algorithmic versus Object-Oriented
Decomposition
• Example:
When studying how photosynthesis works in a plant, we can
focus on the chemical reactions in certain cells in a leaf and
ignore all other parts, such as the roots and stems.
The Role of Hierarchy