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 6 Duplication.
Department of Informatics, UC Irvine SDCL Collaboration Laboratory Software Design and sdcl.ics.uci.edu 1 Informatics 121 Software Design I Lecture 3 Duplication.
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 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.
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by.
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 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.
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 5 Duplication.
Lectures 2 & 3: Software Process Models Neelam Gupta.
Department of Informatics, UC Irvine SDCL Collaboration Laboratory Software Design and sdcl.ics.uci.edu 1 Informatics 121 Software Design I Lecture 6 Duplication.
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
The design process Software engineering and the design process for interactive systems Standards and guidelines as design rules Usability engineering.
The design process Software engineering and the design process for interactive systems Standards and guidelines as design rules Usability engineering.
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 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
For University Use Only
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
Human Computer Interaction Lecture 14 HCI in Software Process
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 6 Duplication of course material for any commercial purpose without the explicit written permission of the professor is prohibited.

Today’s lecture Design methods Practice

Design cycle goals constraints assumptions decisions ideas synthesize analyze evaluate

Backtracking unexplored idea previous decision explored idea current decision

Backtracking what is it to accomplish? 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?

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?

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? What happens here?

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? Or here?

Design process A design process represents a planned course of action as to how to tackle a design problem to arrive at a design solution where to focus effort what methods to use whom to involve A design process may be defined up-front in its entirety, or defined in increments as the design project unfolds

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

Origin

Today

Example

Example

Example

Example

Characteristics of design methods Each design method suits a specific purpose with respect to the design cycle and overall design project Each design method expects a certain context for it to lead to optimal results Applying just one design method rarely suffices (but still may help)

Example – decision making

Example – unearthing assumptions

Example – generating ideas

Example – identifying goals

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

Choosing design methods to apply Focus on essence Focus on the unknown Focus on making progress

Focus on essence Every design problem has an essence, the key – and often most difficult – part that must be understood and addressed ‘right’ for the design solution (plan for change in the world) to satisfy the stakeholders Postponing understanding and addressing the essence of a design problem incurs a significant risk of rework at a later time

Focus on the unknown Every design problem involves knowledge deficiencies – gaps in the understanding of the design problem and its possible solutions – that must be addressed for the design solution (plan for change in the world) to satisfy the stakeholders Postponing understanding and addressing knowledge deficiencies incurs a significant risk of rework at a later time

Focus on making progress Every design problem involves times during which the design project gets stuck; focusing effort elsewhere and continuing to make progress is often the right approach in response Continuing to focus on a stuck issue for extended periods of time tends to be effort that is wasted

Practice Virtual campus visit Disney electronic queue management system Mountain climbing 3D guide system Social restaurant table