Title: Design
1Design
- Beyond Declarative Knowledge
2Start with Problem Statement
The Media Management System is a personal
organizer for information regarding CDs, videos,
and dvds intended for individual users. The
system helps create and manage a catalogue of
these items and important information about each
item.
3Generate Requirements
- The system allows the user to enter information
about CDs, videos, and dvds - The system stores the information permanently for
later use. - The system provides the user with the ability to
search CDs, videos, or dvds to find those items
that match a given criteria. - The system allows the user to print lists of CDs,
videos, or dvds titles that match a given
criterion or provide a list of all items in a
category.
4Design Problems
Design problems are ill-defined
5Problem Representation
6Scenario
User wants to find a CD he remembers hearing a
few months ago. He remembers that he does not
own it, but borrowed it from a friend. He knows
that was a blues album and the title had the word
"evermore" in it.
7Top-Down, Breadth First
Program
8Depth First
Program
9Opportunistic Design
Program
10When Prior Knowledge
- What prior knowledge provides
- Problem space
- Solution space
- What solutions work for particular problem
- Consequences for designing
- Designer thinks immediately in terms of potential
solutions - If familiar with whole, design process tends to
be top down, breadth-first.
11When Problem Novel or Difficult
- Experts spend more time in problem representation
than novices they use scenarios effectively. - Experts consider alternative solutions at first
or are flexible in considering alternatives when
encounter difficulties. - Experts more often review and evaluate their
progress. - They structured their progress by
- Describing what they were going to do next
- Generally engaging in top-down, breadth first,
with some opportunistic deviations..
12The Trouble with This Research
- There is a prescriptive process.
- Spend time understanding the problem.
- Consider alternative solutions, their trade-offs
and feasibility. - Use top-down, breadth first development.
- Frequently test at every step--problem, tentative
design, design, implementation. - Researchers who agree with this process tend to
see novice-expert differences. - Researchers who disagree with this process tend
to see experts doing other things.
13The Trouble with the Software Industry
Example 1 The Denver Airport was to have an
automatic baggage handling system that would
distribute all bags automatically from check-in
to pick-up. Massive problems prevented the
airport from opening in October, 1993, and
eventually opened 16 months later without its
baggage system. It cost Denver around 500
million and the airlines 100 million.
14The Trouble with the Software Industry
Example 2 The FAA has been working to replace
the antiquated the air-traffic-control system.
The FAA has been paying Loral (was IBM Federal
Systems) 700-900 per line for the new software
to run on hundreds of computers and embedded in
new and sophisticated hardware which must respond
around the clock to unpredictable real-time
events. The FAA decided in June 1994 to can two
of the four parts losing 144 million. The fourth
part, new workstation software for air-traffic
controllers, has cost 1.4 billion. It was
deployed in 1999-2000.
15In General
- A study by the Standish Group in 1995 of 175,000
software projects -
- 16 successful
-
- 53 challenged
-
- 31 failed
16Why So Bad?
- Serious consequences from depth first approach
- Designers become wedded to their solution the
more time they put into it. - Therefore do not notice problems of feasibility,
cost, technical misfits, etc. - By the time forced to acknowledge inadequacies
have invested too much to change. - Miss issues of fit with other components
17My Read
- Experience does not teach to use good design
process (p-designers) - Therefore for most designers experience in a
domain is basis for expertise. - How then do they design in novel ways?
18Exceptional Designers
- Maintain big picture
- Structure their work--know what will do next
- Have a bias toward action
- Exhibit and articulate strong convictions
- Be conscientious
- Social characteristics
- Extraverted
- Helpful to others
- Can talk to management
- Look for input from others
19Group Task
- Is there creativity in software design?
- If so, what has the research shown us about
creativity? - What characteristics should we look forto hire
somewhone who would be most likely to
successfully design a novel and effective
software product?