Download presentation
Presentation is loading. Please wait.
1
Informatics 121 Software Design I
Lecture 4 Duplication of course material for any commercial purpose without the explicit written permission of the professor is prohibited.
2
Intermezzo: what experts do
Experts prefer to work with others Experts prefer simple solutions Experts look around Experts focus on the essence
3
Discussion There will be discussion next Monday and Wednesday
Please join your designated discussion Note: location of Wednesday 10:00-10:50 discussion has been changed to MTSB 118
4
Grace Hopper
5
Today Design cycle Design practice Design studio 1 continued
6
Four types of software design
what is it to accomplish? how does one interact with it? what is its conceptual core? what are its implementation details? application design interaction design architecture design implementation design satisfactory experience plan for realization change in the world
7
Design cycle synthesize analyze evaluate
8
Design cycle goals constraints assumptions decisions ideas analyze
evaluate synthesize goals constraints assumptions decisions ideas
9
Design cycle at the macro level: design process
synthesize goals constraints assumptions decisions ideas analyze evaluate
10
Design process A design process represents a planned course of action as to how to tackle a design problem to arrive at a design solution where to focus effort what methods to use whom to involve A design process may be defined up-front in its entirety, or defined in increments as the design project unfolds
11
Waterfall requirements phase design phase implementation phase
testing phase
12
Waterfall as a design process
satisfactory experience plan for realization change in the world what is it to accomplish? how does one interact with it? what is its conceptual core? what are its implementation details?
13
Agile Our highest priority is to satisfy the customer through early and continuous delivery of valuable software. Welcome changing requirements, even late in development. Agile processes harness change for the customer's competitive advantage. Deliver working software frequently, from a couple of weeks to a couple of months, with a preference to the shorter timescale. Business people and developers must work together daily throughout the project. Build projects around motivated individuals. Give them the environment and support they need, and trust them to get the job done. The most efficient and effective method of conveying information to and within a development team is face-to-face conversation. Working software is the primary measure of progress. Agile processes promote sustainable development. The sponsors, developers, and users should be able to maintain a constant pace indefinitely. Continuous attention to technical excellence and good design enhances agility. Simplicity—the art of maximizing the amount of work not done—is essential. The best architectures, requirements, and designs emerge from self-organizing teams. At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior accordingly.
14
Agile as a design process
satisfactory experience plan for realization change in the world what is it to accomplish? how does one interact with it? what is its conceptual core? what are its implementation details?
15
Other life cycle models
Extreme programming Rapid prototyping Spiral model Iterative development Rational unified process Synchronize-and-stabilize …
16
Choosing a software life cycle
Choosing a software life cycle is choosing a design process One has to make sure the design process matches the nature of the design problem One has to make sure to remain flexible in adjusting the design process when the project so warrants
17
Realistic design process
satisfactory experience plan for realization change in the world what is it to accomplish? how does one interact with it? what is its conceptual core? what are its implementation details?
18
Backtracking is inevitable
satisfactory experience plan for realization change in the world what is it to accomplish? how does one interact with it? what is its conceptual core? what are its implementation details?
19
Minimize backtracking
satisfactory experience plan for realization change in the world what is it to accomplish? how does one interact with it? what is its conceptual core? what are its implementation details? Strive to minimize backtracking more than absolutely necessary Strive to minimize backtracking later than absolutely necessary
20
Routine, adaptive, and original design projects
high original complexity adaptive routine low high low familiarity
21
French fries and mayonnaise
22
Design at the micro level: design work
Design work represents the individual or collaborative activity of engaging with a design project at a detailed level thinking articulating context analyzing alternative ideas identifying constraints making decisions setting goals …
23
Opportunistic versus rationalistic design work
unexplored idea explored idea current decision
24
Mixed opportunistic and rationalistic design work
unexplored idea explored idea current decision
25
Backtracking unexplored idea previous decision explored idea
current decision
26
Backtracking unexplored idea previous decision explored idea
current decision
27
Simultaneous exploration
unexplored idea explored idea current decision
28
Putting it all together
what is it to accomplish? how does one interact with it? what is its conceptual core? what are its implementation details? application design interaction design architecture design implementation design analyze evaluate synthesize goals constraints assumptions decisions ideas
29
French fries and mayonaise
30
Design studio 1 Your client is massbroadcast.com, a new company that seeks to enable organizations to reach out to a broad audience with a pre-determined message – via phone, text, instant message, Hangouts, Skype, and other media. The company plans to make money from clients who seek to advertise their products. Being altruistic, however, the company also wants to offer support for emergency alerts. The company has sought you out, because you are an excellent designer. All of the software design is in your hands.
31
Design studio 1 As a team, provide a design document that addresses the massbroadcast.com design task You should primarily focus on application design and provide a well-motivated set of decisions regarding what the application is to accomplish generically specifically In addition, please highlight three goals and three ideas each for interaction design and architecture design
32
Design studio 1 Due October 15 at the beginning of class
bring one printed copy of your document Your group will remain the same as announced in your discussion
33
Design studio 1 Due October 15 at the beginning of class
bring one printed copy of your document Your group will remain the same as announced in your discussion If you are attending Grace Hopper, come talk to me after class for one minute
34
Design studio 1 Feasibility Desirability Understandability
Innovativeness Completeness
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.