Informatics 121 Software Design I Lecture 10 André van der Hoek Duplication of course material for any commercial purpose without the explicit written permission of the professor is prohibited. November 11, 2018 – 21:23:52 (c) 2006 University of California, Irvine – André van der Hoek
© 2006 University of California, Irvine – André van der Hoek Today’s Lecture A review of what we learned Motivation behind the structure of the course A look forward November 11, 2018 – 21:23:52 © 2006 University of California, Irvine – André van der Hoek
© 2006 University of California, Irvine – André van der Hoek Defining Design “Features of shape, configuration, pattern or ornamentation applicable to an article, being features that, in the finished article, can be judged by the eye, but does not include a method or principle of construction” [Designs Act, 1906] “The imaginative jump from present facts to future possibilities” [Page] “The optimum solution to the sum of true needs of a particular set of circumstances” [Matchett] “To conceive or plan out in the mind” [Merriam-Webster] “A plan or protocol for carrying out or accomplishing something” [Merriam-Webster] … November 11, 2018 – 21:23:52 © 2006 University of California, Irvine – André van der Hoek
Seven Fundamental Dimensions of Design Goal Ideas Representation Activity Knowledge Domain of Use Domain of Materials November 11, 2018 – 21:23:52 © 2006 University of California, Irvine – André van der Hoek
© 2006 University of California, Irvine – André van der Hoek Design Diamond Domain of Materials Domain of Use Knowledge Representation Ideas Activity concern manipulates informs Goal captures enhances November 11, 2018 – 21:23:52 © 2006 University of California, Irvine – André van der Hoek
Reflective Conversation with Materials Domain of Materials Domain of Use Knowledge Representation Ideas Activity concern manipulates informs Goal captures enhances November 11, 2018 – 21:23:52 © 2006 University of California, Irvine – André van der Hoek
Divergence, Transformation, Convergence Domain of Materials Domain of Use Knowledge Representation Ideas Activity concern manipulates informs Goal captures enhances November 11, 2018 – 21:23:52 © 2006 University of California, Irvine – André van der Hoek
© 2006 University of California, Irvine – André van der Hoek Team Communication Domain of Materials Domain of Use Knowledge Representation Ideas Activity concern manipulates informs Goal captures enhances November 11, 2018 – 21:23:52 © 2006 University of California, Irvine – André van der Hoek
Positioning Software Design – Informatics 121 Informatics 121: all the time, in many phases “design is design” in other words, do not try to pigeonhole the activity nor the artifact We must: stay true to ourselves recognize when we design recognize the form of design adopt the activity and representation best fitting the form of design use the Design Diamond to properly practice design regardless of what our colleagues say November 11, 2018 – 21:23:52 © 2006 University of California, Irvine – André van der Hoek
Informatics 121 View of System Design Booch … pi calculus informal drawing UML System Design pseudo code architecture text code data flow diagrams Statecharts JSD November 11, 2018 – 21:23:52 © 2006 University of California, Irvine – André van der Hoek
System and Implementation Design System Design describes what the system should do address the essence of the problem Implementation Design describes what the implementer should do address all of the problem November 11, 2018 – 21:23:52 © 2006 University of California, Irvine – André van der Hoek
Three 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 November 11, 2018 – 21:23:52 © 2006 University of California, Irvine – André van der Hoek
© 2006 University of California, Irvine – André van der Hoek Practice Animals, chairs, bridges, and towers to illustrate aspects of the Design Diamond that you naturally understand and practice when it comes to other disciplines, but need to make explicit in your handling of software design Google Maps to promote creative, out-of-the-box thinking in a realistic setting to promote the importance of choosing the right design notations to practice systems design to explicitly work from the perspective of the Design Diamond Educational Game to promote the important of choosing the right design notations to practice systems and implementation design to practice the “real nitty gritty” November 11, 2018 – 21:23:52 © 2006 University of California, Irvine – André van der Hoek
Posters, Stickies, Presentations, Feedback, … To expose you to various activities that you can draw on in future when you are faced with a design problem common in other disciplines uncommon, but therefore not less important, in software design To make you think from both the perspective of the designer and someone interpreting the design To keep you on your toes November 11, 2018 – 21:23:52 © 2006 University of California, Irvine – André van der Hoek
© 2006 University of California, Irvine – André van der Hoek A Look Forward Software Design II additional design exercises system design and implementation design broadening of topics product lines middleware reuse refactoring design recovery real-time systems and… November 11, 2018 – 21:23:52 © 2006 University of California, Irvine – André van der Hoek
© 2006 University of California, Irvine – André van der Hoek A Look Forward Software Design II additional design exercises system design and implementation design broadening of topics product lines middleware reuse refactoring design recovery real-time systems and… …maybe some more Play-Doh! November 11, 2018 – 21:23:52 © 2006 University of California, Irvine – André van der Hoek
© 2006 University of California, Irvine – André van der Hoek In Closing… Thanks for a fun quarter If you have feedback on the class, I would love to hear it (both positive and negative; after all, this was a first) Do not forget to fill out the online course evaluations November 11, 2018 – 21:23:52 © 2006 University of California, Irvine – André van der Hoek