Informatics 223 Applied Software Design Techniques Lecture 4 Duplication of course material for any commercial purpose without the explicit written permission of the professor is prohibited. SDCL Software Design and Collaboration Laboratory Department of Informatics, UC Irvine sdcl.ics.uci.edu 1 Today • The architecture and UML diagrams • Expert practices • Defining design • Onward SDCL Software Design and Collaboration Laboratory Department of Informatics, UC Irvine sdcl.ics.uci.edu 2 The architecture and UML diagrams • Tell us about the diagrams themselves – what do we see? • Tell us about the process of creating the diagrams • Tell us about the value of the diagrams SDCL Software Design and Collaboration Laboratory Department of Informatics, UC Irvine sdcl.ics.uci.edu 3 Experts borrow • Experts prefer solutions that they know work • Experts look around • Experts take inspiration from wherever they can • Experts use analogy • Experts use design methods (selectively) • Experts network SDCL Software Design and Collaboration Laboratory Department of Informatics, UC Irvine sdcl.ics.uci.edu 4 Experts break the rules • Experts relax constraints • Experts reshape the problem space • Experts use notations as lenses, rather than straightjackets • Experts design throughout the creation of software • Experts do not feel obliged to use things as intended SDCL Software Design and Collaboration Laboratory Department of Informatics, UC Irvine sdcl.ics.uci.edu 5 Our definition To decide upon a plan for a novel change in the world that, when realized, satisfies stakeholders SDCL Software Design and Collaboration Laboratory Department of Informatics, UC Irvine sdcl.ics.uci.edu 6 Design SDCL designer plan maker change in the world audience experiences Software Design and Collaboration Laboratory Department of Informatics, UC Irvine other stakeholders sdcl.ics.uci.edu 7 Software design software designer source code compiler* runnable program users experiences other stakeholders [* or, at times, the person who installs and configures the software instead of the compiler] SDCL Software Design and Collaboration Laboratory Department of Informatics, UC Irvine sdcl.ics.uci.edu 8 Feasibility and desirability feasibility SDCL designer plan maker change in the world audience experiences Software Design and Collaboration Laboratory Department of Informatics, UC Irvine other stakeholders sdcl.ics.uci.edu 9 Feasibility and desirability feasibility designer plan maker change in the world audience experiences other stakeholders desirability SDCL Software Design and Collaboration Laboratory Department of Informatics, UC Irvine sdcl.ics.uci.edu 10 Four types of design what is it to accomplish? desirability how does one interact with it? what is its conceptual core? feasibility what are its implementation details? SDCL Software Design and Collaboration Laboratory Department of Informatics, UC Irvine sdcl.ics.uci.edu 11 Four types of design what is it to accomplish? satisfactory experience how does one interact with it? change in the world what is its conceptual core? plan for realization what are its implementation details? SDCL Software Design and Collaboration Laboratory Department of Informatics, UC Irvine sdcl.ics.uci.edu 12 Four types of software design what is it to accomplish? satisfactory experience application design how does one interact with it? interaction design change in the world what is its conceptual core? plan for realization architecture design what are its implementation details? implementation design SDCL Software Design and Collaboration Laboratory Department of Informatics, UC Irvine sdcl.ics.uci.edu 13 Design an instant message system what is it to accomplish? satisfactory experience application design how does one interact with it? interaction design change in the world what is its conceptual core? plan for realization architecture design what are its implementation details? implementation design SDCL Software Design and Collaboration Laboratory Department of Informatics, UC Irvine sdcl.ics.uci.edu 14 Design a word processor what is it to accomplish? satisfactory experience application design how does one interact with it? interaction design change in the world what is its conceptual core? plan for realization architecture design what are its implementation details? implementation design SDCL Software Design and Collaboration Laboratory Department of Informatics, UC Irvine sdcl.ics.uci.edu 15 Design cycle synthesize analyze SDCL Software Design and Collaboration Laboratory evaluate Department of Informatics, UC Irvine sdcl.ics.uci.edu 16 Design cycle synthesize analyze SDCL Software Design and Collaboration Laboratory goals constraints assumptions decisions ideas Department of Informatics, UC Irvine evaluate sdcl.ics.uci.edu 17 Goals • A goal represents an explicit acknowledgment of a desired result that the eventual design solution must achieve • Goals may be suggested by any of the stakeholders – – – – client other stakeholders audience designer • Goals change over time, and may or may not be (partially) addressed by the current state of the design solution SDCL Software Design and Collaboration Laboratory Department of Informatics, UC Irvine sdcl.ics.uci.edu 18 Example goals • The luxury airplane must be 10% more fuel-efficient than its predecessor • The library must be able to hold 250,000 books • The award must be representative of the professional society that is commissioning it SDCL Software Design and Collaboration Laboratory Department of Informatics, UC Irvine sdcl.ics.uci.edu 19 Constraints • A constraint represents an explicit acknowledgment of a condition that restricts the design project • Constraints may be suggested by any of the stakeholders – – – – client other stakeholders audience designer • Constraints change over time, and may or may not be (partially) met by the current state of the design project SDCL Software Design and Collaboration Laboratory Department of Informatics, UC Irvine sdcl.ics.uci.edu 20 Example constraints • The luxury airplane must weigh less than 50,000 pounds • The library must not violate federal disability laws • The award must cost less than $1000 to produce SDCL Software Design and Collaboration Laboratory Department of Informatics, UC Irvine sdcl.ics.uci.edu 21 Assumptions • An assumption represents a fact that is taken for granted, may or may not be true, and influences the design project • Assumptions may be made by any of the stakeholders – – – – client other stakeholders audience designer • Assumptions change over time, and may or may not be (partially) fulfilled by the current state of the design project SDCL Software Design and Collaboration Laboratory Department of Informatics, UC Irvine sdcl.ics.uci.edu 22 Example assumptions • The average person weighs 85 kilograms • The library needs to serve the community with an area stocked with personal computers • The professional society’s logo is red and white, which therefore must be its preferred colors for the award SDCL Software Design and Collaboration Laboratory Department of Informatics, UC Irvine sdcl.ics.uci.edu 23 Decisions • A decision represents a specific choice of how to further the design solution, typically after some amount of consideration • Decisions are the sole responsibility of the designer, though they can be (heavily) influenced by other stakeholders • Decisions change over time, and new decisions may or may not (partially) align with the current state of the design project SDCL Software Design and Collaboration Laboratory Department of Informatics, UC Irvine sdcl.ics.uci.edu 24 Example decisions • The fuselage and wings of the luxury airplane shall be made out of carbon composites • The library shall have bookshelves that are not movable • The award shall be made out of colored glass SDCL Software Design and Collaboration Laboratory Department of Informatics, UC Irvine sdcl.ics.uci.edu 25 Idea • An idea represents a thought or opinion, ranging from highly unformed to fully formed, that potentially shapes the design solution • Ideas typically are the sole responsibility of the designer, though they may be inspired by many different sources • Ideas change over time, and new ideas may or may not (partially) align with the current state of the design project SDCL Software Design and Collaboration Laboratory Department of Informatics, UC Irvine sdcl.ics.uci.edu 26 Example ideas • What if the luxury airplane had a shower on board? • Perhaps the library membership cards should have RFID tags, so a visitor can simply grab the books they want, walk by an automated scanner, and have their books be on loan • I am thinking that the award should be a variant of last year’s award SDCL Software Design and Collaboration Laboratory Department of Informatics, UC Irvine sdcl.ics.uci.edu 27 Design an instant message system synthesize analyze SDCL Software Design and Collaboration Laboratory goals constraints assumptions decisions ideas Department of Informatics, UC Irvine evaluate sdcl.ics.uci.edu 28 Design a word processor synthesize analyze SDCL Software Design and Collaboration Laboratory goals constraints assumptions decisions ideas Department of Informatics, UC Irvine evaluate sdcl.ics.uci.edu 29 Design the software to fly a drone synthesize analyze SDCL Software Design and Collaboration Laboratory goals constraints assumptions decisions ideas Department of Informatics, UC Irvine evaluate sdcl.ics.uci.edu 30 high Routine, adaptive, and original design projects complexity original adaptive low routine high low familiarity SDCL Software Design and Collaboration Laboratory Department of Informatics, UC Irvine sdcl.ics.uci.edu 31 high Design an instant message system complexity original adaptive low routine high low familiarity SDCL Software Design and Collaboration Laboratory Department of Informatics, UC Irvine sdcl.ics.uci.edu 32 high Design a word processor complexity original adaptive low routine high low familiarity SDCL Software Design and Collaboration Laboratory Department of Informatics, UC Irvine sdcl.ics.uci.edu 33 high Design the software to fly a drone complexity original adaptive low routine high low familiarity SDCL Software Design and Collaboration Laboratory Department of Informatics, UC Irvine sdcl.ics.uci.edu 34 Design is difficult! SDCL Software Design and Collaboration Laboratory Department of Informatics, UC Irvine sdcl.ics.uci.edu 35 In this class… • …we introduce the practices of expert software designers that help ameliorate these difficulties • …we study core ways in which software designers structure their solutions • …we practice! SDCL Software Design and Collaboration Laboratory Department of Informatics, UC Irvine sdcl.ics.uci.edu 36 Our focus what is it to accomplish? satisfactory experience application design how does one interact with it? interaction design change in the world what is its conceptual core? plan for realization architecture design what are its implementation details? implementation design SDCL Software Design and Collaboration Laboratory Department of Informatics, UC Irvine sdcl.ics.uci.edu 37 Onward • Read all of the papers listed on the web site for April 20 • Prepare four questions, observations, or assertions about the papers and their overall content (printed, with name and student id) SDCL Software Design and Collaboration Laboratory Department of Informatics, UC Irvine sdcl.ics.uci.edu 38
© Copyright 2026 Paperzz