Presentation is loading. Please wait.

Presentation is loading. Please wait.

Informatics 122 Software Design II

Similar presentations


Presentation on theme: "Informatics 122 Software Design II"— Presentation transcript:

1 Informatics 122 Software Design II
Lecture 1 André van der Hoek Duplication of course material for any commercial purpose without the explicit written permission of the professor is prohibited. January 1, 2019 – 12:00:02 (c) 2006 University of California, Irvine – André van der Hoek

2 © 2006 University of California, Irvine – André van der Hoek
Today’s Lecture Logistics Review Preview January 1, 2019 – 12:00:02 © 2006 University of California, Irvine – André van der Hoek

3 © 2006 University of California, Irvine – André van der Hoek
Logistics No TA No required book Grading: class participation is an important part January 1, 2019 – 12:00:02 © 2006 University of California, Irvine – André van der Hoek

4 Review: Alternative Design Exercises
January 1, 2019 – 12:00:02 © 2006 University of California, Irvine – André van der Hoek

5 Review: The Term “Design”
“Design” may refer to an activity “When I design, I always use a whiteboard first” We will use: design activity “Design” may refer to a product “My design is super cool, I know it will work” We will use: design product “Design” may refer to a field “Software design is complex” We will use: design field Should we include this? We don’t quite stick to it… January 1, 2019 – 12:00:02 © 2006 University of California, Irvine – André van der Hoek

6 Review: Design Diamond
Domain of Materials Domain of Use Knowledge Representation Ideas Activity concern manipulates informs Goal captures enhances January 1, 2019 – 12:00:02 © 2006 University of California, Irvine – André van der Hoek

7 Review: Seven Fundamental Dimensions
Goal Objectives that frame a design problem Ideas Individual understanding of a design problem and its solution Representation Expression of an understanding of a design problem and its solution Activity Acts that contribute to the crafting of a design solution to a design problem Knowledge Individual wisdom about design problems and their solutions Domain of Use Collective wisdom about design problems and their solutions Domain of Materials Collective wisdom about the resources available to implement design solutions January 1, 2019 – 12:00:02 © 2006 University of California, Irvine – André van der Hoek

8 Review: Informatics 121 (and thus 122!) View
System design describes what the software system should do focus towards addressing Goal and Domain of Use “How do we fundamentally approach the problem?” typically represents an intermediate “design in progress” architecture design can be part of system design Implementation design describes what the implementer should do focus towards addressing Domain of Materials “How do we make the approach reality?” typically represents a final “completed design” module design can be part of implementation design January 1, 2019 – 12:00:02 © 2006 University of California, Irvine – André van der Hoek

9 © 2006 University of California, Irvine – André van der Hoek
Review: Definitions A system design captures the essence of the solution customers system designers themselves implementation designers testers An implementation design captures the full solution system designers implementation designers themselves programmers January 1, 2019 – 12:00:02 © 2006 University of California, Irvine – André van der Hoek

10 © 2006 University of California, Irvine – André van der Hoek
Review: System Design Booch pi calculus informal drawing UML System Design pseudo code architecture text code data flow diagrams Statecharts JSD any and all as needed January 1, 2019 – 12:00:02 © 2006 University of California, Irvine – André van der Hoek

11 Review: Goals of Implementation Design
Provide a shared plan to follow Consistency Ensure the plan meets its recipients’ needs Helpfulness Ensure the solution is appropriate Effectiveness January 1, 2019 – 12:00:02 © 2006 University of California, Irvine – André van der Hoek

12 Review: Design Concerns
A typical design problem consists of many different concerns that must all be addressed by a design solution Some of these concerns are more important and/or have more impact than others “I want my e-commerce site to have a recognizable logo” versus “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 a designer, you need to find the concerns that are most important and have most impact January 1, 2019 – 12:00:02 © 2006 University of California, Irvine – André van der Hoek

13 From Informatics 121 to Informatics 122
To date, much of our focus has been on system design creative thinking learning to rely on colleagues incomplete specifications no implementation Now, it is time to turn our attention to implementation design nuts and bolts (but still some creative thinking) specifying for colleagues (but still relaying some on colleagues) complete specifications implementation January 1, 2019 – 12:00:02 © 2006 University of California, Irvine – André van der Hoek

14 © 2006 University of California, Irvine – André van der Hoek
Sample of Topics Good design/bad design Design patterns Design recovery Components Large-scale design January 1, 2019 – 12:00:02 © 2006 University of California, Irvine – André van der Hoek

15 © 2006 University of California, Irvine – André van der Hoek
Sample of Topics Good design/bad design Design patterns Design recovery Components Large-scale design …and of course… Actual design exercises January 1, 2019 – 12:00:02 © 2006 University of California, Irvine – André van der Hoek

16 © 2006 University of California, Irvine – André van der Hoek
First Assignment Read “Taste for Makers” by Paul Graham if you want to read more, of course you can read more available on the class web site Read “Case Study: A Computer Science Perspective on Bridge Design” by Alfred Spector and David Gifford Provide a 1 page summary with what you consider are the major lessons to learn from these texts and how these lessons relate to the topic of software design Wednesday January 1, 2019 – 12:00:02 © 2006 University of California, Irvine – André van der Hoek


Download ppt "Informatics 122 Software Design II"

Similar presentations


Ads by Google