© 2010 university of california, irvine – andré van der hoek1june 10, 2015 – 06:18:06...
Post on 19-Dec-2015
215 views
TRANSCRIPT
© 2010 University of California, Irvine – André van der Hoek 1April 18, 2023 – 20:31:46
Informatics 121Software Design IInformatics 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 LectureToday’s Lecture
Design notations Design Studio III continued
© 2010 University of California, Irvine – André van der Hoek 2April 18, 2023 – 20:31:46
© 2010 University of California, Irvine – André van der Hoek 3April 18, 2023 – 20:31:46
The Essence of a Design Problem – Where?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 Hoek 4April 18, 2023 – 20:31:46
Design LanguagesDesign Languages
Architecture descriptionDesign
© 2010 University of California, Irvine – André van der Hoek 5April 18, 2023 – 20:31:46
Design LanguagesDesign Languages
Architecture descriptionDesign
or...
© 2010 University of California, Irvine – André van der Hoek 6April 18, 2023 – 20:31:46
Design LanguagesDesign Languages
Design
Sta
tech
arts
© 2010 University of California, Irvine – André van der Hoek 7April 18, 2023 – 20:31:46
Design LanguagesDesign Languages
Design
Sta
tech
arts
or...
© 2010 University of California, Irvine – André van der Hoek 8April 18, 2023 – 20:31:46
Design LanguagesDesign Languages
Design
UML
© 2010 University of California, Irvine – André van der Hoek 9April 18, 2023 – 20:31:46
Design LanguagesDesign Languages
Design
UML
or...
© 2010 University of California, Irvine – André van der Hoek 10April 18, 2023 – 20:31:46
Design LanguagesDesign Languages
DesignData Flow Diagrams
© 2010 University of California, Irvine – André van der Hoek 11April 18, 2023 – 20:31:46
Design LanguagesDesign Languages
DesignData Flow Diagrams
or...
© 2010 University of California, Irvine – André van der Hoek 12April 18, 2023 – 20:31:46
Design LanguagesDesign Languages
DesignData Flow DiagramsEtc., etc., etc.
© 2010 University of California, Irvine – André van der Hoek 13April 18, 2023 – 20:31:46
Design Languages: Our ApproachDesign Languages: Our Approach
Design
Data Flow Diagrams
UML Pi c
alcu
lus
Code
…
Pseudo code
Text
Sta
tech
arts
JSD
Boo
chSketches
Any and all as needed
Architecture description
Which Language Do You Want to Use?Which Language Do You Want to Use?
© 2010 University of California, Irvine – André van der Hoek 14April 18, 2023 – 20:31:46
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 Hoek 15April 18, 2023 – 20:31:46
The Essence of a Design Problem – Where?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 Hoek 16April 18, 2023 – 20:31:46
StructureStructure
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 Hoek 17April 18, 2023 – 20:31:46
Structure – ExamplesStructure – Examples
© 2010 University of California, Irvine – André van der Hoek 18April 18, 2023 – 20:31:46
Structure – ExamplesStructure – Examples
© 2010 University of California, Irvine – André van der Hoek 19April 18, 2023 – 20:31:46
ContextContext
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 Hoek 20April 18, 2023 – 20:31:46
Context – ExamplesContext – Examples
© 2010 University of California, Irvine – André van der Hoek 21April 18, 2023 – 20:31:46
Context – ExamplesContext – Examples
© 2010 University of California, Irvine – André van der Hoek 22April 18, 2023 – 20:31:46
CommunicationCommunication
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 Hoek 23April 18, 2023 – 20:31:47
Communication – ExamplesCommunication – Examples
© 2010 University of California, Irvine – André van der Hoek 24April 18, 2023 – 20:31:47
Communication – ExamplesCommunication – Examples
© 2010 University of California, Irvine – André van der Hoek 25April 18, 2023 – 20:31:47
User InterfaceUser 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 Hoek 26April 18, 2023 – 20:31:47
User Interface – ExamplesUser Interface – Examples
© 2010 University of California, Irvine – André van der Hoek 27April 18, 2023 – 20:31:47
User Interface – ExamplesUser Interface – Examples
© 2010 University of California, Irvine – André van der Hoek 28April 18, 2023 – 20:31:47
PersistencePersistence
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 Hoek 29April 18, 2023 – 20:31:47
Persistence – ExamplesPersistence – Examples
© 2010 University of California, Irvine – André van der Hoek 30April 18, 2023 – 20:31:47
Persistence – ExamplesPersistence – Examples
© 2010 University of California, Irvine – André van der Hoek 31April 18, 2023 – 20:31:47
AlgorithmsAlgorithms
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 Hoek 32April 18, 2023 – 20:31:47
Algorithms – ExamplesAlgorithms – Examples
© 2010 University of California, Irvine – André van der Hoek 33April 18, 2023 – 20:31:47
Algorithms – ExamplesAlgorithms – Examples
© 2010 University of California, Irvine – André van der Hoek 34April 18, 2023 – 20:31:47
NamingNaming
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 Hoek 35April 18, 2023 – 20:31:47
Naming – ExamplesNaming – Examples
http://www.clothes.com/mens/shirts/formal.html
http: protocol // separators www.clothes.com/ domain name mens/ subdirectory name shirts/ subdirectory name formal.html document name (Web page)
© 2010 University of California, Irvine – André van der Hoek 36April 18, 2023 – 20:31:47
Naming – ExamplesNaming – Examples
D:/eclipse/edu/uci/isr/palantir/core/PalantirPlugin:1.2::.80c318ce.109c2515402.f96511d31371ce2.0::null
artifactID = filename:VID::wsID::parentIDparentID = artifactID | nullVID = [0-9.]*wsID = [a-b0-9.]*filename = <<continue with regular expression for pathnames>>
© 2010 University of California, Irvine – André van der Hoek 37April 18, 2023 – 20:31:47
InterchangeInterchange
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 Hoek 38April 18, 2023 – 20:31:47
Interchange – ExamplesInterchange – Examples
© 2010 University of California, Irvine – André van der Hoek 39April 18, 2023 – 20:31:47
Interchange – ExamplesInterchange – Examples
© 2010 University of California, Irvine – André van der Hoek 40April 18, 2023 – 20:31:47
The Essence of a Design Solution – Where?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?Which Language Do You Want to Use?
© 2010 University of California, Irvine – André van der Hoek 41April 18, 2023 – 20:31:47
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 Hoek 42April 18, 2023 – 20:31:47
Design Languages: Our ApproachDesign Languages: Our Approach
Design
Data Flow Diagrams
UML Pi c
alcu
lus
Code
…
Pseudo code
Text
Sta
tech
arts
JSD
Boo
chSketches
Any and all as needed
Architecture description
Design Studio III – Part IIDesign 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 Hoek 43April 18, 2023 – 20:31:47
Design Studio III – Part IIDesign 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 Hoek 44April 18, 2023 – 20:31:48