Presentation is loading. Please wait.

Presentation is loading. Please wait.

October 16, 2015 – 16:09:421 © 2006 University of California, Irvine – André van der Hoek Examining Software Design From A General Design Perspective Alex.

Similar presentations


Presentation on theme: "October 16, 2015 – 16:09:421 © 2006 University of California, Irvine – André van der Hoek Examining Software Design From A General Design Perspective Alex."— Presentation transcript:

1 October 16, 2015 – 16:09:421 © 2006 University of California, Irvine – André van der Hoek Examining Software Design From A General Design Perspective Alex Baker and André van der Hoek Department of Informatics Donald Bren School of Information and Computer Sciences University of California, Irvine {abaker,andre}@ics.uci.edu

2 2October 16, 2015 – 16:09:42 © 2006 University of California, Irvine – André van der Hoek “Just” Some Questions What is a good notation for software design?

3 3October 16, 2015 – 16:09:42 © 2006 University of California, Irvine – André van der Hoek “Just” Some Questions What is a good notation for software design? What constitutes a good software design?

4 4October 16, 2015 – 16:09:42 © 2006 University of California, Irvine – André van der Hoek “Just” Some Questions What is a good notation for software design? What constitutes a good software design? What is a good approach to design?

5 5October 16, 2015 – 16:09:42 © 2006 University of California, Irvine – André van der Hoek “Just” Some Questions What is a good notation for software design? What constitutes a good software design? What is a good approach to design? What makes one a good designer?

6 6October 16, 2015 – 16:09:42 © 2006 University of California, Irvine – André van der Hoek “Just” Some Questions What is a good notation for software design? What constitutes a good software design? What is a good approach to design? What makes one a good designer? What factors influence design?

7 7October 16, 2015 – 16:09:42 © 2006 University of California, Irvine – André van der Hoek “Just” Some Questions What is a good notation for software design? What constitutes a good software design? What is a good approach to design? What makes one a good designer? What factors influence design? What is software design?

8 8October 16, 2015 – 16:09:42 © 2006 University of California, Irvine – André van der Hoek Some Answers: Agile What is a good notation for software design? –code What constitutes a good software design? –code fully refactored What is a good approach to design? –architect some beforehand –build, test, refactor throughout What makes one a good designer? –experience, pair programming What factors influence design? –programming language, tools, designers What is software design? –“the design is in the code”

9 9October 16, 2015 – 16:09:42 © 2006 University of California, Irvine – André van der Hoek Some Answers: Strict Waterfall What is a good notation for software design? –any What constitutes a good software design? –complete and consistent What is a good approach to design? –transform and verify requirements What makes one a good designer? –knowledge What factors influence design? –requirements, methodology What is software design? –“design is a transformational phase in the software life cycle”

10 10October 16, 2015 – 16:09:42 © 2006 University of California, Irvine – André van der Hoek Some Answers: Incremental What is a good notation for software design? –any What constitutes a good software design? –extensible (in the right way) What is a good approach to design? –create a core architecture, keep it synchronized with the code, and update each iteration What makes one a good designer? –domain knowledge, experience What factors influence design? –feedback from users, ability to update architecture What is software design? –“design is an up-to-date roadmap”

11 11October 16, 2015 – 16:09:42 © 2006 University of California, Irvine – André van der Hoek Typical Reactions Which one is true? Which one is better? Which one should we follow? …

12 12October 16, 2015 – 16:09:42 © 2006 University of California, Irvine – André van der Hoek Typical Reactions Which one is true? Which one is better? Which one should we follow? … These are the wrong questions, generally leading to bitter discussions based on beliefs, not on grounded facts

13 13October 16, 2015 – 16:09:42 © 2006 University of California, Irvine – André van der Hoek The Problem What is a good notation for software design? What constitutes a good software design? What is a good approach to design? What makes one a good designer? What factors influence design? What is software design? To date, the community lacks a common understanding from which to answer these, and other, questions of software design

14 14October 16, 2015 – 16:09:42 © 2006 University of California, Irvine – André van der Hoek Approach 1. Step outside of software design 2. Examine other design disciplines 3. Examine general design literature 4. Bring together the lessons learned in a generic framework of design 5. Apply the framework to software design

15 15October 16, 2015 – 16:09:42 © 2006 University of California, Irvine – André van der Hoek Step 1: Step Outside of Software Design We make no assumptions as to what software design is supposed to be –phase –document –creative –precise –consistent –object oriented –… In essence, we temporarily forget everything we have learned about software design

16 16October 16, 2015 – 16:09:42 © 2006 University of California, Irvine – André van der Hoek Step 2: Examine Other Design Disciplines Read, read, read, … –The Timeless Way of Building [Alexander] –The Design of Everyday Things [Norman] –The Art of Innovation [Kelley] –… Learn what are important perspectives and important factors in other disciplines –freedom of expression –multiple representations –communication –iteration –…

17 17October 16, 2015 – 16:09:42 © 2006 University of California, Irvine – André van der Hoek Step 3: Examine General Design Literature Read, read, read, … –The Sciences of the Artificial [Simon] –Design Methods [Jones] –The Reflective Practitioner: How Professionals Think in Action [Schön] –Grounding in Communication [Clark and Brennan] –… Learn what are important general principles –design spaces –divergence, transformation, convergence –reflective conversation with materials –communication –…

18 18October 16, 2015 – 16:09:42 © 2006 University of California, Irvine – André van der Hoek Step 4: Bring Together the Lessons Learned in a Generic Framework of Design Try, try, try, … –Eyeglass –Design Diamond –Product / Process

19 19October 16, 2015 – 16:09:42 © 2006 University of California, Irvine – André van der Hoek Eyeglass

20 20October 16, 2015 – 16:09:42 © 2006 University of California, Irvine – André van der Hoek Eyeglass – Problems Inconsistent meaning of “contains”, does not capture everything, still ambiguity

21 21October 16, 2015 – 16:09:42 © 2006 University of California, Irvine – André van der Hoek Design Diamond Goal Domain of Materials Representation Domain of Use Knowledge ActivityIdeas concern manipulates informs captures enhances

22 22October 16, 2015 – 16:09:42 © 2006 University of California, Irvine – André van der Hoek Design Diamond – Problems Goal Domain of Materials Representation Domain of Use Knowledge ActivityIdeas concern manipulates informs captures enhances Complicated, missing links, difficulty of separating dimensions

23 23October 16, 2015 – 16:09:42 © 2006 University of California, Irvine – André van der Hoek Product / Process designerprojectcustomer outcomes design space C D CC D F SP activity goal (lang)knowledge (lang) ideas (lang)representation (lang) tools

24 24October 16, 2015 – 16:09:42 © 2006 University of California, Irvine – André van der Hoek Product / Process – Problems Thus far – none (but your feedback is much desired) designerprojectcustomer outcomes design space C D CC D F SP activity goal (lang)knowledge (lang) ideas (lang)representation (lang) tools

25 25October 16, 2015 – 16:09:42 © 2006 University of California, Irvine – André van der Hoek Product designerprojectcustomer outcomes design space C D CC D F SP A state represents one design product, which is defined as an abstraction that constrains the set of still possible outcomes C = conceivable F = feasible D = desirable SP = still possible

26 26October 16, 2015 – 16:09:42 © 2006 University of California, Irvine – André van der Hoek Product designerprojectcustomer outcomes design space C D CC D F A successful design product restricts the set of still possible outcomes to those that are feasible and desirable D

27 27October 16, 2015 – 16:09:42 © 2006 University of California, Irvine – André van der Hoek Process activity goal (lang)knowledge (lang) ideas (lang)representation (lang) tools The design process is characterized as one of information manipulation

28 28October 16, 2015 – 16:09:42 © 2006 University of California, Irvine – André van der Hoek Teams, Stakeholders, and Community representation (lang) goal (lang) activity goal (lang)knowledge (lang) ideas (lang) tools activity knowledge (lang) ideas (lang) tools Information exchange among multiple people takes place as communication through a shared representation

29 29October 16, 2015 – 16:09:42 © 2006 University of California, Irvine – André van der Hoek A Quick Scenario designerprojectcustomer outcomes design space C D CC D F SP activity goal (lang)knowledge (lang) ideas (lang)representation (lang) tools

30 30October 16, 2015 – 16:09:42 © 2006 University of California, Irvine – André van der Hoek A Quick Scenario designerprojectcustomer outcomes design space C D CC D F SP activity goal (lang)knowledge (lang) ideas (lang)representation (lang) tools

31 31October 16, 2015 – 16:09:42 © 2006 University of California, Irvine – André van der Hoek A Quick Scenario designerprojectcustomer outcomes design space C D CC D F SP activity goal (lang)knowledge (lang) ideas (lang)representation (lang) tools

32 32October 16, 2015 – 16:09:42 © 2006 University of California, Irvine – André van der Hoek A Quick Scenario designerprojectcustomer outcomes design space C D CC D F SP activity goal (lang)knowledge (lang) ideas (lang)representation (lang) tools

33 33October 16, 2015 – 16:09:42 © 2006 University of California, Irvine – André van der Hoek A Quick Scenario designerprojectcustomer outcomes design space C D CC D F SP activity goal (lang)knowledge (lang) ideas (lang)representation (lang) tools

34 34October 16, 2015 – 16:09:42 © 2006 University of California, Irvine – André van der Hoek A Quick Scenario designerprojectcustomer outcomes design space C D CC D F SP activity goal (lang)knowledge (lang) ideas (lang)representation (lang) tools

35 35October 16, 2015 – 16:09:42 © 2006 University of California, Irvine – André van der Hoek A Quick Scenario designercustomer outcomes design space C D C D F activity goal (lang)knowledge (lang) ideas (lang)representation (lang) tools project C SP

36 36October 16, 2015 – 16:09:42 © 2006 University of California, Irvine – André van der Hoek A Quick Scenario designercustomer outcomes design space C D C D F activity goal (lang)knowledge (lang) ideas (lang)representation (lang) tools project C SP

37 37October 16, 2015 – 16:09:42 © 2006 University of California, Irvine – André van der Hoek A Quick Scenario designerprojectcustomer outcomes design space C D CC D F SP activity goal (lang)knowledge (lang) ideas (lang)representation (lang) tools

38 38October 16, 2015 – 16:09:42 © 2006 University of California, Irvine – André van der Hoek A Quick Scenario designercustomer outcomes design space C D C D F activity goal (lang)knowledge (lang) ideas (lang)representation (lang) tools project C D SP

39 39October 16, 2015 – 16:09:42 © 2006 University of California, Irvine – André van der Hoek A Quick Scenario designercustomer outcomes design space C D C D F activity goal (lang)knowledge (lang) ideas (lang)representation (lang) tools project C SP

40 40October 16, 2015 – 16:09:42 © 2006 University of California, Irvine – André van der Hoek A Quick Scenario designercustomer outcomes design space C D C D F activity goal (lang)knowledge (lang) ideas (lang)representation (lang) tools project C SP

41 41October 16, 2015 – 16:09:42 © 2006 University of California, Irvine – André van der Hoek A Generic Perspective on Design designerprojectcustomer outcomes design space C D CC D F SP activity goal (lang)knowledge (lang) ideas (lang)representation (lang) tools Every discipline must address the same product, process, and communication factors, in a manner suitable to its domain

42 42October 16, 2015 – 16:09:42 © 2006 University of California, Irvine – André van der Hoek Tensions A goal constrains desirable outcomes A goal guides generation of ideas Knowledge informs outcome feasibility Knowledge informs outcome desirability Knowledge guides generation/evaluation of ideas Knowledge guides creation of representations Ideas constrain still possible outcomes Ideas shift goals Ideas build knowledge Representations record personalized information Representations communicate information

43 43October 16, 2015 – 16:09:42 © 2006 University of California, Irvine – André van der Hoek Tensions designerprojectcustomer outcomes design space C D CC D F SP activity goal (lang)knowledge (lang) ideas (lang)representation (lang) tools

44 44October 16, 2015 – 16:09:42 © 2006 University of California, Irvine – André van der Hoek Tensions designerprojectcustomer outcomes design space C D CC D F SP activity goal (lang)knowledge (lang) ideas (lang)representation (lang) tools

45 45October 16, 2015 – 16:09:42 © 2006 University of California, Irvine – André van der Hoek Tensions designerprojectcustomer outcomes design space C D CC D F SP activity goal (lang)knowledge (lang) ideas (lang)representation (lang) tools

46 46October 16, 2015 – 16:09:42 © 2006 University of California, Irvine – André van der Hoek Tensions designerprojectcustomer outcomes design space C D CC D F SP activity goal (lang)knowledge (lang) ideas (lang)representation (lang) tools

47 47October 16, 2015 – 16:09:42 © 2006 University of California, Irvine – André van der Hoek Tensions designerprojectcustomer outcomes design space C D CC D F SP activity goal (lang)knowledge (lang) ideas (lang)representation (lang) tools

48 48October 16, 2015 – 16:09:42 © 2006 University of California, Irvine – André van der Hoek Step 5: Apply the Framework to Software Design Understanding unique nature of software Comparing high-level approaches Judging individual contributions Suggesting new research directions

49 49October 16, 2015 – 16:09:42 © 2006 University of California, Irvine – André van der Hoek C D C Understanding Unique Nature of Software #1 designerprojectcustomer outcomes design space C D F SP activity goal (lang)knowledge (lang) ideas (lang)representation (lang) tools Large space of feasibility

50 50October 16, 2015 – 16:09:42 © 2006 University of California, Irvine – André van der Hoek F C F outcomes Understanding Unique Nature of Software #2 designerprojectcustomer design space C D C D SP activity goal (lang)knowledge (lang) ideas (lang)representation (lang) tools Goal specificity

51 51October 16, 2015 – 16:09:42 © 2006 University of California, Irvine – André van der Hoek F C F outcomes Understanding Unique Nature of Software #3 designerprojectcustomer design space C D C D SP activity goal (lang)knowledge (lang) ideas (lang)representation (lang) tools Language gap

52 52October 16, 2015 – 16:09:42 © 2006 University of California, Irvine – André van der Hoek Impact of Our Framework Help understand the difficulties inherent to software design –theoretically deducted –empirically related to existing opinions (e.g., Brooks) Begin to suggest ways in which we need to address them

53 53October 16, 2015 – 16:09:42 © 2006 University of California, Irvine – André van der Hoek Comparing High-Level Approaches Agile Strict waterfall Incremental …

54 54October 16, 2015 – 16:09:42 © 2006 University of California, Irvine – André van der Hoek F C F C D C D SP Tensions designerprojectcustomer outcomes design space activity goal (lang)knowledge (lang) ideas (lang)representation (lang) tools

55 55October 16, 2015 – 16:09:42 © 2006 University of California, Irvine – André van der Hoek F C F outcomes Unique Nature of Software #1, #2, #3 designerprojectcustomer design space C D C D SP activity goal (lang)knowledge (lang) ideas (lang)representation (lang) tools

56 56October 16, 2015 – 16:09:42 © 2006 University of California, Irvine – André van der Hoek C D F C F C D SP Agile designerprojectcustomer outcomes design space activity goal (lang)knowledge (lang) ideas (lang)representation (lang) tools “The design is the code”

57 57October 16, 2015 – 16:09:42 © 2006 University of California, Irvine – André van der Hoek C SP F C F outcomes Unique Nature of Software #1, #2, #3 designerprojectcustomer design space C D D activity goal (lang)knowledge (lang) ideas (lang)representation (lang) tools “The design is the code”

58 58October 16, 2015 – 16:09:42 © 2006 University of California, Irvine – André van der Hoek F C F D C D C SP Waterfall designerprojectcustomer outcomes design space activity goal (lang)knowledge (lang) ideas (lang)representation (lang) tools “Design is a transformational phase in the software life cycle”

59 59October 16, 2015 – 16:09:42 © 2006 University of California, Irvine – André van der Hoek F C F outcomes Unique Nature of Software #1, #2, #3 designerprojectcustomer design space C D C D SP activity goal (lang)knowledge (lang) ideas (lang)representation (lang) tools “Design is a transformational phase in the software life cycle”

60 60October 16, 2015 – 16:09:42 © 2006 University of California, Irvine – André van der Hoek C SP F C F C D D Incremental designerprojectcustomer outcomes design space activity goal (lang)knowledge (lang) ideas (lang)representation (lang) tools “Design is an up-to-date roadmap”

61 61October 16, 2015 – 16:09:42 © 2006 University of California, Irvine – André van der Hoek C SP C D F C F outcomes Unique Nature of Software #1, #2, #3 designerprojectcustomer design space D activity goal (lang)knowledge (lang) ideas (lang)representation (lang) tools “Design is an up-to-date roadmap”

62 62October 16, 2015 – 16:09:42 © 2006 University of California, Irvine – André van der Hoek Impact of Our Framework Help understand the choices that different points of view make –what are the resulting design strengths –what are the resulting design weaknesses Move community from arguments rooted in opinion to arguments based on a sound, shared framework –“force the hand”

63 63October 16, 2015 – 16:09:42 © 2006 University of California, Irvine – André van der Hoek Judging Individual Contributions (will not do here)

64 64October 16, 2015 – 16:09:42 © 2006 University of California, Irvine – André van der Hoek F C F C D C D SP Suggesting New Research Directions designerprojectcustomer outcomes design space activity goal (lang)knowledge (lang) ideas (lang)representation (lang) tools

65 65October 16, 2015 – 16:09:42 © 2006 University of California, Irvine – André van der Hoek F C F outcomes Suggesting New Research Directions designerprojectcustomer design space C D C D SP activity goal (lang)knowledge (lang) ideas (lang)representation (lang) tools

66 66October 16, 2015 – 16:09:42 © 2006 University of California, Irvine – André van der Hoek F C F outcomes Research Direction #1: Subdomains designerprojectcustomer design space C D C D SP activity goal (lang)knowledge (lang) ideas (lang)representation (lang) tools

67 67October 16, 2015 – 16:09:42 © 2006 University of California, Irvine – André van der Hoek C F outcomes Research Direction #2: Software Aesthetics designerprojectcustomer design space C D C SP activity goal (lang)knowledge (lang) ideas (lang)representation (lang) tools D

68 68October 16, 2015 – 16:09:42 © 2006 University of California, Irvine – André van der Hoek F C F C D C D SP Research Direction #3: Imprecise Languages designerprojectcustomer outcomes design space activity goal (lang)knowledge (lang) ideas (lang)representation (lang) tools

69 69October 16, 2015 – 16:09:42 © 2006 University of California, Irvine – André van der Hoek C SP F C F C D D Research Direction #4: Become Involved in the Design of Programming Languages designerprojectcustomer outcomes design space activity goal (lang)knowledge (lang) ideas (lang)representation (lang) tools

70 70October 16, 2015 – 16:09:42 © 2006 University of California, Irvine – André van der Hoek F C F C D C D SP Research Direction #5: Real-time Integrated Feedback designerprojectcustomer outcomes design space activity goal (lang)knowledge (lang) ideas (lang)representation (lang) tools

71 71October 16, 2015 – 16:09:42 © 2006 University of California, Irvine – André van der Hoek F C F C D C D SP Research Direction #6: Face-to-Face Design Collaboration designerprojectcustomer outcomes design space activity goal (lang)knowledge (lang) ideas (lang)representation (lang) tools

72 72October 16, 2015 – 16:09:42 © 2006 University of California, Irvine – André van der Hoek Research Direction #6: Face-to-Face Design Collaboration

73 73October 16, 2015 – 16:09:42 © 2006 University of California, Irvine – André van der Hoek Research Direction #6: Face-to-Face Design Collaboration

74 74October 16, 2015 – 16:09:42 © 2006 University of California, Irvine – André van der Hoek Suggesting New Research Directions Knowledge –sub-domains –software aesthetics Language –imprecise languages –become involved in the design of programming languages Tools –real-time integrated feedback –face-to-face design collaboration

75 75October 16, 2015 – 16:09:42 © 2006 University of California, Irvine – André van der Hoek Impact of Our Framework Help identify new research directions through principled exploration of the framework Help identify where research directions help and where they hinder –immediately understand the tradeoffs Help distinguish “good” research plans from “bad” research plans

76 76October 16, 2015 – 16:09:42 © 2006 University of California, Irvine – André van der Hoek Conclusions The field of software design has long made do without a shared understanding of what is software design –problematic –stifling We have presented a novel, generic framework of design and applied it to software design Not mentioned: education This is work in progress –any and all feedback is appreciated


Download ppt "October 16, 2015 – 16:09:421 © 2006 University of California, Irvine – André van der Hoek Examining Software Design From A General Design Perspective Alex."

Similar presentations


Ads by Google