Informatics 121 Software Design I

Slides:



Advertisements
Similar presentations
Department of Informatics, UC Irvine SDCL Collaboration Laboratory Software Design and sdcl.ics.uci.edu 1 Informatics 121 Software Design I Lecture 11.
Advertisements

Department of Informatics, UC Irvine SDCL Collaboration Laboratory Software Design and sdcl.ics.uci.edu 1 Informatics 121 Software Design I Lecture 8 Duplication.
Department of Informatics, UC Irvine SDCL Collaboration Laboratory Software Design and sdcl.ics.uci.edu 1 Informatics 121 Software Design I Lecture 11.
Department of Informatics, UC Irvine SDCL Collaboration Laboratory Software Design and sdcl.ics.uci.edu 1 Informatics 121 Software Design I Lecture 6 Duplication.
© 2010 University of California, Irvine – André van der Hoek1June 12, 2015 – 07:51:20 Informatics 121 Software Design I Lecture 8 André van der Hoek &
© 2010 University of California, Irvine – André van der Hoek1June 25, 2015 – 20:03:07 Informatics 121 Software Design I Lecture 5 André van der Hoek &
The Software Product Life Cycle. Views of the Software Product Life Cycle  Management  Software engineering  Engineering design  Architectural design.
Department of Informatics, UC Irvine SDCL Collaboration Laboratory Software Design and sdcl.ics.uci.edu 1 Informatics 121 Software Design I Lecture 7 Duplication.
Department of Informatics, UC Irvine SDCL Collaboration Laboratory Software Design and sdcl.ics.uci.edu 1 Informatics 121 Software Design I Lecture 10.
+ Informatics 122 Software Design II Lecture 1 Emily Navarro Duplication of course material for any commercial purpose without the explicit written permission.
Department of Informatics, UC Irvine SDCL Collaboration Laboratory Software Design and sdcl.ics.uci.edu 1 Informatics 121 Software Design I Lecture 12.
Department of Informatics, UC Irvine SDCL Collaboration Laboratory Software Design and sdcl.ics.uci.edu 1 Informatics 121 Software Design I Lecture 11.
Department of Informatics, UC Irvine SDCL Collaboration Laboratory Software Design and sdcl.ics.uci.edu 1 Informatics 121 Software Design I Lecture 13.
Department of Informatics, UC Irvine SDCL Collaboration Laboratory Software Design and sdcl.ics.uci.edu 1 Informatics 121 Software Design I Lecture 6 Duplication.
© 2010 University of California, Irvine – André van der Hoek1October 23, 2015 – 10:21:58 Informatics 122 Software Design II Lecture 1 André van der Hoek.
Department of Informatics, UC Irvine SDCL Collaboration Laboratory Software Design and sdcl.ics.uci.edu 1 Informatics 121 Software Design I Lecture 10.
Department of Informatics, UC Irvine SDCL Collaboration Laboratory Software Design and sdcl.ics.uci.edu 1 Informatics 121 Software Design I Lecture 4 Duplication.
Department of Informatics, UC Irvine SDCL Collaboration Laboratory Software Design and sdcl.ics.uci.edu 1 Informatics 121 Software Design I Lecture 12.
Department of Informatics, UC Irvine SDCL Collaboration Laboratory Software Design and sdcl.ics.uci.edu 1 Informatics 121 Software Design I Lecture 15.
Department of Informatics, UC Irvine SDCL Collaboration Laboratory Software Design and sdcl.ics.uci.edu 1 Informatics 121 Software Design I Lecture 11.
Department of Informatics, UC Irvine SDCL Collaboration Laboratory Software Design and sdcl.ics.uci.edu 1 Informatics 121 Software Design I Lecture 14.
Department of Informatics, UC Irvine SDCL Collaboration Laboratory Software Design and sdcl.ics.uci.edu 1 Informatics 121 Software Design I Lecture 13.
Informatics 122 Software Design II Lecture 12 Emily Navarro Duplication of course material for any commercial purpose without the explicit written permission.
Department of Informatics, UC Irvine SDCL Collaboration Laboratory Software Design and sdcl.ics.uci.edu 1 Informatics 121 Software Design I Lecture 5 Duplication.
Department of Informatics, UC Irvine SDCL Collaboration Laboratory Software Design and sdcl.ics.uci.edu 1 Informatics 121 Software Design I Lecture 14.
Informatics 223 Applied Software Design Techniques
Informatics 223 Applied Software Design Techniques
Informatics 121 Software Design I
Informatics 121 Software Design I
Informatics 121 Software Design I
Informatics 121 Software Design I
Informatics 121 Software Design I
Informatics 121 Software Design I
Informatics 121 Software Design I
Informatics 121 Software Design I
Informatics 121 Software Design I
Informatics 121 Software Design I
Informatics 121 Software Design I
Informatics 121 Software Design I
Informatics 121 Software Design I
Informatics 121 Software Design I
Informatics 121 Software Design I
Informatics 223 Applied Software Design Techniques
Informatics 121 Software Design I
Informatics 223 Applied Software Design Techniques
Informatics 121 Software Design I
Informatics 121 Software Design I
Informatics 121 Software Design I
Informatics 121 Software Design I
Informatics 121 Software Design I
Informatics 121 Software Design I
Informatics 121 Software Design I
Informatics 121 Software Design I
Informatics 121 Software Design I
Informatics 121 Software Design I
Informatics 121 Software Design I
Informatics 121 Software Design I
Informatics 121 Software Design I
Informatics 121 Software Design I
Informatics 121 Software Design I
Informatics 121 Software Design I
Informatics 121 Software Design I
Informatics 121 Software Design I
Informatics 121 Software Design I
Informatics 121 Software Design I
Informatics 121 Software Design I
Informatics 121 Software Design I
Informatics 121 Software Design I
Informatics 121 Software Design I
Informatics 121 Software Design I
Presentation transcript:

Informatics 121 Software Design I Lecture 21 Duplication of course material for any commercial purpose without the explicit written permission of the professor is prohibited.

Announcements Design studio 3 due Monday, by noon There will be discussion today (and you may hand in design studio 3 if you so wish)

Today’s lecture Wrap up Final

This course answered three primary questions What is (software) design? How to engage in good software design? What are the habits of professional software designers?

Our definition To decide upon a plan for a novel change in the world that, when realized, satisfies stakeholders

Four types of software design what is it to accomplish? how does one interact with it? application design satisfactory experience plan for realization interaction design change in the world what is its conceptual core? what are its implementation details? architecture design implementation design

Design cycle goals constraints assumptions decisions ideas synthesize analyze evaluate

Realistic design process satisfactory experience plan for realization change in the world what is it to accomplish? how does one interact with it? what is its conceptual core? what are its implementation details?

Design method A self-contained, structured technique that guides a designer in advancing some aspect of the design project at hand Serves as a bridge from the overall process of design to actual individual and collaborative design work

Design methods today

Software design methods Application design Interaction design Architecture design Implementation design Analysis competitive testing contextual inquiry feature comparison stakeholder analysis task analysis critical incident technique interaction logging personas scenarios framework assessment model-driven engineering quality-function-deployment reverse engineering world modeling release planning summarization test-driven design visualization Synthesis affinity diagramming concept mapping mind mapping morphological chart design/making participatory design prototyping storyboarding architectural styles generative programming component reuse decomposition pair programming refactoring search software patterns Evaluation requirements review role playing wizard of oz cognitive walkthrough evaluative research heuristic evaluation think-aloud protocol formal verification simulation weighted objectives correctness proofs inspections/reviews parallel deployment testing

From software life cycles to design methods design problem design solution design project Which set of design methods is appropriate to use, when, to successfully complete a design project?

Two fundamental challenges The nature of software The nature of people

Three design studios Transportation Assist Educational traffic simulator Collaborative math learning

Not nearly enough practice, yet Three design studios Transportation Assist Educational traffic simulator Collaborative math learning Not nearly enough practice, yet

In sum Understanding all of the design activities that take place in software engineering Significant shift to this kind of overall approach to software development (innovation, creativity, design) If you just pick up one method, at one moment in time, and it helps you, that would be an important result Design methods are much more broadly applicable than the specific ‘box’ in which they are placed

But what I care most about... ...is that you start thinking like experts do, and reflect upon your own practice in terms of what is known about expert design behavior

Additional courses Informatics 122 Informatics 124 Informatics 131 technical: patterns, UML, reverse engineering, component reuse, … Informatics 124 technical: internet architectures, distributed systems, programming, … Informatics 131 conceptual: user interface design, principles, evaluation, … Informatics 133 technical: user interaction design, mobile devices, design methods, …

Back to this course Fuzziness Insufficient detail Insufficient instructions Bad team work Low grades Madness

Final

Thank you… …and good luck on your final!