Presentation is loading. Please wait.

Presentation is loading. Please wait.

© 2009 University of California, Irvine – André van der Hoek1June 15, 2015 – 20:01:34 Informatics 122 Software Design II Lecture 1 André van der Hoek &

Similar presentations


Presentation on theme: "© 2009 University of California, Irvine – André van der Hoek1June 15, 2015 – 20:01:34 Informatics 122 Software Design II Lecture 1 André van der Hoek &"— Presentation transcript:

1 © 2009 University of California, Irvine – André van der Hoek1June 15, 2015 – 20:01:34 Informatics 122 Software Design II Lecture 1 André van der Hoek & Alex Baker Duplication of course material for any commercial purpose without the explicit written permission of the professor is prohibited.

2 © 2009 University of California, Irvine – André van der Hoek2June 15, 2015 – 20:01:34 Today’s Lecture Logistics Transitioning to 122 Preview of 122

3 © 2009 University of California, Irvine – André van der Hoek3June 15, 2015 – 20:01:34 Logistics http://www.ics.uci.edu/~andre/informatics122w2009.html Reader: Kyle Strasser No discussion Books – “Design Patterns: Elements of Reusable Object-Oriented Software” –any decent UML introductory book

4 © 2009 University of California, Irvine – André van der Hoek4June 15, 2015 – 20:01:34 Logistics Intensely practice driven course Lectures matter Grading –No midterm, no final –Class participation is a crucial part –Team evaluations for group work

5 UML Please refresh your knowledge of UML before the next lecture © 2009 University of California, Irvine – André van der Hoek5June 15, 2015 – 20:01:34

6 © 2009 University of California, Irvine – André van der Hoek6June 15, 2015 – 20:01:34 Design

7 © 2009 University of California, Irvine – André van der Hoek7June 15, 2015 – 20:01:34 The Term “Design” “Design” may refer to an activity –“When I design, I always use a whiteboard first” “Design” may refer to a product –“My design is super cool, I know it will work” “Design” may refer to a field –“Software design is complex”

8 © 2009 University of California, Irvine – André van der Hoek8June 15, 2015 – 20:01:34 Design Fields Abound There are countless design fields –Architecture design –Graphic design –Fashion design –Game design –Chip design –Car design –Instrument design –Product design –… But also –Law –Chemical synthesis –Process design –Survey design –… And also –Writing –Painting –Sculpturing –Music composition –…

9 © 2009 University of California, Irvine – André van der Hoek9June 15, 2015 – 20:01:34 Design Fields Abound There are countless design fields –Architecture design –Graphic design –Fashion design –Game design –Chip design –Car design –Instrument design –Product design –… But also –Law –Chemical synthesis –Process design –Survey design –… And also –Writing –Painting –Sculpturing –Music composition –… And, of course, Software Design

10 Reading, Reading, Reading… … © 2009 University of California, Irvine – André van der Hoek10June 15, 2015 – 20:01:34

11 More Reading … (and more) © 2009 University of California, Irvine – André van der Hoek11June 15, 2015 – 20:01:34

12 Collective Lessons Freedom of expression Use of multiple representations Existence of different kinds of constraints Lengthy, diverse process Concept of design spaces Divergence, transformation, convergence Reflective conversation with materials Role and pitfalls of communication Communities of interest / practice … © 2009 University of California, Irvine – André van der Hoek12June 15, 2015 – 20:01:34

13 Process/Product General Framework activities ideas (languages)knowledge (languages) goals (languages)representations (languages) tools DFS C © 2009 University of California, Irvine – André van der Hoek13June 15, 2015 – 20:01:34

14 Process Model activities ideas (languages)knowledge (languages) goals (languages)representations (languages) tools © 2009 University of California, Irvine – André van der Hoek14June 15, 2015 – 20:01:34

15 Process Model activities ideas (languages)knowledge (languages) goals (languages)representations (languages) tools mental physical © 2009 University of California, Irvine – André van der Hoek15June 15, 2015 – 20:01:34

16 Teams, Stakeholders, and Community ideas (languages)knowledge (languages) goals (languages)representations (languages) tools activities knowledge (languages)ideas (languages) goals (languages) tools © 2009 University of California, Irvine – André van der Hoek16June 15, 2015 – 20:01:34

17 Product Model DFS C © 2009 University of California, Irvine – André van der Hoek17June 15, 2015 – 20:01:34

18 Product Model Design space of all possible designs Outcome space of all conceivable outcomes © 2009 University of California, Irvine – André van der Hoek18June 15, 2015 – 20:01:34

19 Levels of Design Specificity Preliminary Sketch Intermediate Design Final Specification © 2009 University of California, Irvine – André van der Hoek19June 15, 2015 – 20:01:34

20 Feasible Desirable Conceivable Outcome Sub-Spaces © 2009 University of California, Irvine – André van der Hoek20June 15, 2015 – 20:01:34

21 Feasible Desirable Successful Conceivable A Successful Design A successful design is an abstraction that defines a set of still possible outcomes that are, ultimately, feasible and desirable © 2009 University of California, Irvine – André van der Hoek21June 15, 2015 – 20:01:34

22 Stakeholders Define Desirability Customer good acoustics, style City council external appearance Architect reflecting their skills © 2009 University of California, Irvine – André van der Hoek22June 15, 2015 – 20:01:34

23 Various Constraints Define Feasibility Certain things are materially infeasible –build a skyscraper on a needle? Certain things cannot be put in the environment because of certain environmental properties –build a house in a swamp? Certain things are prohibited by law –building a seven story home in Irvine © 2009 University of California, Irvine – André van der Hoek23June 15, 2015 – 20:01:34

24 The Models Together activities ideas (languages)knowledge (languages) goals (languages)representations (languages) tools DFS C © 2009 University of California, Irvine – André van der Hoek24June 15, 2015 – 20:01:34

25 Design as Information Manipulation activities ideas (languages)knowledge (languages) goals (languages)representations (languages) tools DFS C Designing is a process of information manipulation, with the goal of obtaining a successful design © 2009 University of California, Irvine – André van der Hoek25June 15, 2015 – 20:01:34

26 Summary: What Is Design? The process/product framework precisely defines: –a design as an abstraction that defines a set of still possible outcomes –a successful design as an abstraction that defines a set of still possible outcomes that are, ultimately, both feasible and desirable –designing as a process of information manipulation, with the goal of achieving a successful design The process/product framework is general across disciplines The process/product framework accommodates and explicates existing design theory © 2009 University of California, Irvine – André van der Hoek26June 15, 2015 – 20:01:34

27 © 2009 University of California, Irvine – André van der Hoek27June 15, 2015 – 20:01:34 Several Important Design Theories Pure thought Reflective conversation with materials Divergence, transformation, convergence Team communication Community building Objectives, expectations, and success

28 © 2009 University of California, Irvine – André van der Hoek28June 15, 2015 – 20:01:34 Application and Implementation Design Application design –describes what the software system should do  “How do we fundamentally approach the problem?”  “What is desirable?” –typically represents an intermediate “design in progress” –architecture design can be part of application design Implementation design –describes what the implementer should do  “How do we make the approach reality?”  “What is a feasible answer?” –typically represents a final “completed design” –module design can be part of implementation design

29 © 2009 University of California, Irvine – André van der Hoek29June 15, 2015 – 20:01:34 Application and Implementation Design Application design –problem solving –describing a desired outcome –aimed at customers, implementation designers, testers Implementation design –creating a roadmap –describing a path from application design to the outcome –aimed at programmers, testers, feedback to system designer Both require creativity, flexibility and design

30 © 2009 University of California, Irvine – André van der Hoek30June 15, 2015 – 20:01:34 Application Design System Design data flow diagrams UML interface mockups architecture code … pseudo code text statecharts JSD informal drawing Any and all as needed use cases

31 © 2009 University of California, Irvine – André van der Hoek31June 15, 2015 – 20:01:34 Concerns A problem consists of many different concerns that must be addressed by a design solution Some of these concerns are more important than others –“I want my e-commerce site to have a recognizable logo” –“My e-commerce site must scale to 1 million hits per minute” Sometimes, the importance and/or impact of a concern is not obvious (the devil is in the details) –“I want my payroll software to properly handle the exchange rate” As an application designer, you need to find the concerns that are most important and have most impact

32 © 2009 University of California, Irvine – André van der Hoek32June 15, 2015 – 20:01:34 Transitioning to Implementation Design In Informatics 121, much of the focus was on application design –creative thinking –learning to rely on colleagues –incomplete specifications –no implementation

33 © 2009 University of California, Irvine – André van der Hoek33June 15, 2015 – 20:01:34 Transitioning to Implementation Design In Informatics 121, much of the focus was on application design –creative thinking –learning to rely on colleagues –incomplete specifications –no implementation In Informatics 122, we focus on implementation design –nuts and bolts (but still some creative thinking) –specifying for colleagues (but still relying on colleagues) –complete specifications –implementation

34 © 2009 University of California, Irvine – André van der Hoek34June 15, 2015 – 20:01:34 Transitioning to Implementation Design In Informatics 121, much of the focus was on application design –creative thinking –learning to rely on colleagues –incomplete specifications –no implementation In Informatics 122, we focus on implementation design –nuts and bolts (but still some creative thinking) –specifying for colleagues (but still relying on colleagues) –complete specifications –implementation Through discussion and practice, we will learn: What is a good software implementation design?

35 © 2009 University of California, Irvine – André van der Hoek35June 15, 2015 – 20:01:34 Rough Schedule Create some designs –evaluate others’ designs –discuss those designs –implement those designs Reverse engineer a large design Apply design patterns Reuse components Large scale vs. small scale design A final design (and implementation) project


Download ppt "© 2009 University of California, Irvine – André van der Hoek1June 15, 2015 – 20:01:34 Informatics 122 Software Design II Lecture 1 André van der Hoek &"

Similar presentations


Ads by Google