Professional Documents
Culture Documents
chp07nature&Role
Nature of Design:
What is design?
To understand design, we need to
consider two closely related ideas:
Tools – tools are created through purposeful
design
Communication – medium in which ideas,
experience and skill are transferred and re-
used, including design-related matters
chp07nature&Role
Classical description of design process
‘The fundamental problem is that designers are obliged
to use current information
to predict a future state that will not come about unless
their predictions are correct.
The final outcome of designing has to be assumed
before the means of achieving
it can be explored:
the designers have to work backwards in time from an
assumed effect upon the world to the beginning of a
chain of events that will bring
the effect about.’
Jones, 1970
chp07nature&Role
Set of actions that designer needs to do to
derive and specify a solution to an action
postulate a solution;
build a model of the solution;
evaluate the model against the original
requirement;
elaborate the model to produce a
detailed specification of the solution.
chp07nature&Role
Model of the design process
White box model – workings of the
System is explained
Black box model – workings of the
System is not explained
chp07nature&Role
Principal role of the designer
The principal task for the designer is to
specify the best solution to a problem
and produce a description of how this is
to be organized.
This description then forms a ‘plan’ that
can be used by the eventual
implementers of the system.
chp07nature&Role
Role of Design activity
The ‘plan’ mentioned in the previous
slide needs to be communicated to
those who will implement it
In this sense , the design activity play
both roles:
Come up with original plan for
implementation
Communicate the plan!
chp07nature&Role
Examples of things to be
communicated
the static structure of the system, including any
subprograms to be used and their hierarchy;
any data objects to be used in the system and the
algorithms to be used;
the packaging of the system, in terms of how
components are grouped in compilation units
(assuming that implementation will use a
conventional imperative programming language);
interactions between components, including the
form these should take, and the nature of any
causal links.
chp07nature&Role
Designer’s channel of
communication
chp07nature&Role
Different viewpoints of software
As software
frequently
represents a
process, behavior
as well as functions
needs to be
communicated
As such, there are
different viewpoints
that can be used to
represent software
chp07nature&Role
Design as a problem solving
process
The purpose of design is simply to produce a solution to a
problem.
The problem will typically be summarized by means of some
form of requirements specification, and it is the designer’s
task to provide a description of how that requirement is to be
met.
Design is therefore essentially a problem-solving task, and
the examples given show that it is not an analytical process.
The process of design involves the designer in evaluating
different options, and in making choices using decision
criteria that may be complex and may involve trade-offs
between factors such as size, speed and ease of adaptation,
as well as other problem-specific factors.
chp07nature&Role
Tools to help do problem
solving
Design methods and patterns – provide
strategies for making the right choice in
a given situation
Representation – building a model and
evaluating its behavior
Abstraction – allow designer to focus on
the logical model
chp07nature&Role
Design as a “wicked” problem
Characteristics of a wicked problem:
1. There is no definitive formulation of a
wicked problem
2. Wicked problems have no stopping rule
3. Solutions to wicked problems are not
true or false, but good or bad
4. There is no immediate and no ultimate
test of a solution to a wicked problem
chp07nature&Role
Design as a “wicked” problem
1. Every solution to a wicked problem is a
‘one-shot operation’, because there is no
opportunity to learn by trial-and-error,
every attempt counts significantly.
2. Wicked problems do not have an
enumerable (or an exhaustively
describable) set of potential solutions.
3. Every wicked problem is essentially
unique
4. Every wicked problem can be considered
to be a symptom of another problem.
chp07nature&Role