© 2010 University of California, Irvine – André van der Hoek1June 10, 2015 – 06:18:06 Informatics 121 Software Design I Lecture 10 André van der Hoek &

Slides:



Advertisements
Similar presentations
(c) 2009 University of California, Irvine – André van der Hoek1April 20, 2015 – 00:59:05 Informatics 122 Software Design II Lecture 11 André van der Hoek.
Advertisements

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 7 Duplication.
Department of Informatics, UC Irvine SDCL Collaboration Laboratory Software Design and sdcl.ics.uci.edu 1 Informatics 43 Introduction to Software Engineering.
© 2009 University of California, Irvine – André van der Hoek1June 10, 2015 – 18:31:15 Informatics 122 Software Design II Lecture 2 André van der Hoek &
© 2009 University of California, Irvine – André van der Hoek1February 8, 2009 – 21:49:30 Informatics 122 Software Design II Lecture 9 André van der Hoek.
© 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 &
© 2009 University of California, Irvine – André van der Hoek1June 13, 2015 – 18:19:12 Informatics 122 Software Design II Lecture 5 André van der Hoek &
(c) 2009 University of California, Irvine – André van der Hoek1June 13, 2015 – 21:42:16 Informatics 122 Software Design II Lecture 8 André van der Hoek.
© 2010 University of California, Irvine – André van der Hoek1June 14, 2015 – 15:24:35 Informatics 121 Software Design I Lecture 11 André van der Hoek &
© 2010 University of California, Irvine – André van der Hoek1June 15, 2015 – 14:08:09 Informatics 122 Software Design II Lecture 4 André van der Hoek &
© 2009 University of California, Irvine – André van der Hoek1June 15, 2015 – 14:29:37 Informatics 121 Software Design I Lecture 1 André van der Hoek and.
© 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 &
© 2010 University of California, Irvine – André van der Hoek1June 16, 2015 – 21:42:11 Informatics 121 Software Design I Lecture 7 André van der Hoek &
© 2009 University of California, Irvine – André van der Hoek1June 17, 2015 – 09:17:24 Informatics 122 Software Design II Lecture 6 André van der Hoek &
© 2010 University of California, Irvine – André van der Hoek1June 20, 2015 – 22:32:38 Informatics 121 Software Design I Lecture 9 André van der Hoek &
© 2010 University of California, Irvine – André van der Hoek1June 22, 2015 – 23:08:13 Informatics 122 Software Design II Lecture 4 Nick Lopez Duplication.
© 2010 University of California, Irvine – André van der Hoek1June 25, 2015 – 08:15:24 Informatics 121 Software Design I Lecture 3 André van der Hoek &
© 2010 University of California, Irvine – André van der Hoek1June 25, 2015 – 15:07:15 Informatics 121 Software Design I Lecture 6 André van der Hoek &
© 2010 University of California, Irvine – André van der Hoek1June 25, 2015 – 15:42:49 Informatics 121 Software Design I Lecture 13 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 &
© 2010 University of California, Irvine – André van der Hoek1June 26, 2015 – 00:06:40 Informatics 122 Software Design II Lecture 6 André van der Hoek &
© 2010 University of California, Irvine – André van der Hoek1June 28, 2015 – 09:26:53 Informatics 121 Software Design I Lecture 12 André van der Hoek &
(c) 2010 University of California, Irvine – André van der Hoek1June 29, 2015 – 08:55:05 Informatics 122 Software Design II Lecture 8 André van der Hoek.
© 2009 University of California, Irvine – André van der Hoek1June 29, 2015 – 10:35:56 Informatics 122 Software Design II Lecture 4 André van der Hoek &
© 2010 University of California, Irvine – André van der Hoek1July 14, 2015 – 14:37:42 Informatics 122 Software Design II Lecture 4 Nick Lopez Duplication.
Department of Informatics, UC Irvine SDCL Collaboration Laboratory Software Design and sdcl.ics.uci.edu 1 Informatics 121 Software Design I Lecture 12.
© 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 43 Introduction to Software Engineering.
Department of Informatics, UC Irvine SDCL Collaboration Laboratory Software Design and sdcl.ics.uci.edu 1 Informatics 43 Introduction to Software Engineering.
Lecture 9-1 : Intro. to UML (Unified Modeling Language)
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 5 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.
Department of Informatics, UC Irvine SDCL Collaboration Laboratory Software Design and sdcl.ics.uci.edu 1 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 122 Software Design II
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 122 Software Design II
Informatics 121 Software Design I
Informatics 121 Software Design I
Informatics 122 Software Design II
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
Remarks on Software Design
Informatics 121 Software Design I
Informatics 121 Software Design I
Informatics 121 Software Design I
Presentation transcript:

© 2010 University of California, Irvine – André van der Hoek1June 10, 2015 – 06:18:06 Informatics 121 Software Design I Lecture 10 André van der Hoek & Alex Baker Duplication of course material for any commercial purpose without the explicit written permission of the professor is prohibited.

Today’s Lecture Design notations Design Studio III continued © 2010 University of California, Irvine – André van der Hoek2June 10, 2015 – 06:18:06

© 2010 University of California, Irvine – André van der Hoek3June 10, 2015 – 06:18:06 The Essence of a Design Problem – Where? Structure Context Communication User interface Persistence Algorithms Naming Interchange … Internal data structures Error handling Distribution Glue …

© 2010 University of California, Irvine – André van der Hoek4June 10, 2015 – 06:18:06 Design Languages Architecture description Design

© 2010 University of California, Irvine – André van der Hoek5June 10, 2015 – 06:18:06 Design Languages Architecture description Design or...

© 2010 University of California, Irvine – André van der Hoek6June 10, 2015 – 06:18:06 Design Languages Design Statecharts

© 2010 University of California, Irvine – André van der Hoek7June 10, 2015 – 06:18:06 Design Languages Design Statecharts or...

© 2010 University of California, Irvine – André van der Hoek8June 10, 2015 – 06:18:06 Design Languages Design UML

© 2010 University of California, Irvine – André van der Hoek9June 10, 2015 – 06:18:06 Design Languages Design UML or...

© 2010 University of California, Irvine – André van der Hoek10June 10, 2015 – 06:18:06 Design Languages Design Data Flow Diagrams

© 2010 University of California, Irvine – André van der Hoek11June 10, 2015 – 06:18:06 Design Languages Design Data Flow Diagrams or...

© 2010 University of California, Irvine – André van der Hoek12June 10, 2015 – 06:18:06 Design Languages Design Data Flow Diagrams Etc., etc., etc.

© 2010 University of California, Irvine – André van der Hoek13June 10, 2015 – 06:18:06 Design Languages: Our Approach Design Data Flow Diagrams UML Pi calculus Code … Pseudo code Text Statecharts JSD Booch Sketches Any and all as needed Architecture description

Which Language Do You Want to Use? © 2010 University of California, Irvine – André van der Hoek14June 10, 2015 – 06:18:06 What questions are you trying to answer about a potential design? Is the approximation “high fidelity”? –does it need to be? How easily can you create and reflect on the design? How easily can others interpret and provide feedback on the design?

© 2010 University of California, Irvine – André van der Hoek15June 10, 2015 – 06:18:06 The Essence of a Design Problem – Where? Structure Context Communication User interface Persistence Algorithms Naming Interchange … Internal data structures Error handling Distribution Glue …

© 2010 University of California, Irvine – André van der Hoek16June 10, 2015 – 06:18:06 Structure Why may the essence be found here? –what if the design concerns a distributed application? –what if the design concerns a highly scalable application? –what if the design concerns a business application with highly changeable business rules? –… What may be a good design notation? –software architecture diagrams –UML2 component diagrams –simple drawings

© 2010 University of California, Irvine – André van der Hoek17June 10, 2015 – 06:18:06 Structure – Examples

© 2010 University of California, Irvine – André van der Hoek18June 10, 2015 – 06:18:06 Structure – Examples

© 2010 University of California, Irvine – André van der Hoek19June 10, 2015 – 06:18:06 Context Why may the essence be found here? –what if the design concerns an integrated system constituting many existing systems? –what if the design concerns an application that will automate a significant portion of an organization’s business? –what if the design concerns an application spanning multiple businesses? –… What may be a good design notation? –context diagrams –informal drawings of external entities

© 2010 University of California, Irvine – André van der Hoek20June 10, 2015 – 06:18:06 Context – Examples

© 2010 University of California, Irvine – André van der Hoek21June 10, 2015 – 06:18:06 Context – Examples

© 2010 University of California, Irvine – André van der Hoek22June 10, 2015 – 06:18:06 Communication Why may the essence be found here? –what if the design concerns a sensor network consisting of many different sensors emitting much different data? –what if the design concerns network quality of service? –what if the design concerns a broadcasting satellite? –what if the design concerns a document-centric system? –… What may be a good design notation? –labeled transition systems –UML sequence diagrams –data flow diagrams –protocols

© 2010 University of California, Irvine – André van der Hoek23June 10, 2015 – 06:18:06 Communication – Examples

© 2010 University of California, Irvine – André van der Hoek24June 10, 2015 – 06:18:06 Communication – Examples

© 2010 University of California, Irvine – André van der Hoek25June 10, 2015 – 06:18:06 User Interface Why may the essence be found here? –what if the design concerns real-time visualization? –what if the design concerns multiple kinds of displays? –what if the design concerns a drawing program? –what if the design concerns a new interaction mechanism? –what if the design concerns an e-commerce system? –… What may be a good design notation? –sketches –mock-ups –interaction scenarios –prototypes

© 2010 University of California, Irvine – André van der Hoek26June 10, 2015 – 06:18:06 User Interface – Examples

© 2010 University of California, Irvine – André van der Hoek27June 10, 2015 – 06:18:06 User Interface – Examples

© 2010 University of California, Irvine – André van der Hoek28June 10, 2015 – 06:18:06 Persistence Why may the essence be found here? –what if the design concerns a database application? –what if the design concerns a system that must be fail safe? –what if the design concerns an application that must span multiple sessions? –… What may be a good design notation? –entity-relationship diagram –file format definition –UML class diagram –database schema

© 2010 University of California, Irvine – André van der Hoek29June 10, 2015 – 06:18:06 Persistence – Examples

© 2010 University of California, Irvine – André van der Hoek30June 10, 2015 – 06:18:06 Persistence – Examples

© 2010 University of California, Irvine – André van der Hoek31June 10, 2015 – 06:18:06 Algorithms Why may the essence be found here? –what if the design concerns a search engine? –what if the design concerns encryption? –what if the design concerns a scheduling tool? –what if the design concerns a file converter? –… What may be a good design notation? –pseudo code –flow chart –Petri net

© 2010 University of California, Irvine – André van der Hoek32June 10, 2015 – 06:18:06 Algorithms – Examples

© 2010 University of California, Irvine – André van der Hoek33June 10, 2015 – 06:18:06 Algorithms – Examples

© 2010 University of California, Irvine – André van der Hoek34June 10, 2015 – 06:18:06 Naming Why may the essence be found here? –what if the design concerns a distributed system? –what if the design concerns replicated data? –what if the design concerns a complex set of interrelated data items? –… What may be a good design notation? –examples and counterexamples –regular expressions

© 2010 University of California, Irvine – André van der Hoek35June 10, 2015 – 06:18:06 Naming – Examples http: protocol // separators domain name mens/ subdirectory name shirts/ subdirectory name formal.html document name (Web page)

© 2010 University of California, Irvine – André van der Hoek36June 10, 2015 – 06:18:06 Naming – Examples D:/eclipse/edu/uci/isr/palantir/core/PalantirPlugin:1.2::.80c318ce.109c f 96511d31371ce2.0::null artifactID = filename:VID::wsID::parentID parentID = artifactID | null VID= [0-9.]* wsID= [a-b0-9.]* filename= >

© 2010 University of California, Irvine – André van der Hoek37June 10, 2015 – 06:18:06 Interchange Why may the essence be found here? –what if the design concerns a manufacturers supply chain management system? –what if the design concerns a credit report system? –what if the design concerns an airline booking system? –… What may be a good design notation? –ontology –data declarations –application programmer interface

© 2010 University of California, Irvine – André van der Hoek38June 10, 2015 – 06:18:06 Interchange – Examples

© 2010 University of California, Irvine – André van der Hoek39June 10, 2015 – 06:18:06 Interchange – Examples

© 2010 University of California, Irvine – André van der Hoek40June 10, 2015 – 06:18:06 The Essence of a Design Solution – Where? Structure Context Communication User interface Persistence Algorithms Naming Interchange … Internal data structures Error handling Distribution Glue …

Which Language Do You Want to Use? © 2010 University of California, Irvine – André van der Hoek41June 10, 2015 – 06:18:06 What questions are you trying to answer about a potential design? Is the approximation “high fidelity”? –does it need to be? How easily can you create and reflect on the design? How easily can others interpret and provide feedback on the design?

© 2010 University of California, Irvine – André van der Hoek42June 10, 2015 – 06:18:06 Design Languages: Our Approach Design Data Flow Diagrams UML Pi calculus Code … Pseudo code Text Statecharts JSD Booch Sketches Any and all as needed Architecture description

Design Studio III – Part II Review the designs of three other groups –per design, deliver a type-written document detailing both good aspects (praise) and “bad” aspects (problems) of the design Due Tuesday November 23, at the beginning of class –bring four copies Remember everything we have talked about, audience, uses, experiences, stakeholders, goals, decisions, plan for realization, … You should judge the functionality, motivation, and clarity of the designs you are given, as well as the design process followed © 2010 University of California, Irvine – André van der Hoek43June 10, 2015 – 06:18:06

Design Studio III – Part II Team 1: team 2, 3, 4 Team 2: team 3, 4, 5 Team 3: team 4, 5, 6 Team 4: team 5, 6, 7 Team 5: team 6, 7, 8 Team 6: team 7, 8, 9 Team 7: team 8, 9, 10 Team 8: team 9, 10, 11 Team 9: team 10, 11, 12 Team 10: team 11, 12, 1 Team 11: team 12, 1, 2 Team 12: team 1, 2, 3 © 2010 University of California, Irvine – André van der Hoek44June 10, 2015 – 06:18:06