Informatics 122 Software Design II Lecture 1 Andr

  • Slides: 25
Download presentation
Informatics 122 Software Design II Lecture 1 André van der Hoek & Alex Baker

Informatics 122 Software Design II Lecture 1 André van der Hoek & Alex Baker Duplication of course material for any commercial purpose without the explicit written permission of the professor is prohibited. 16 October 2021 – 20: 34: 04 © 2010 University of California, Irvine – André van der Hoek 1

Today’s Lecture n Logistics n Transitioning to 122 n Preview of 122 16 October

Today’s Lecture n Logistics n Transitioning to 122 n Preview of 122 16 October 2021 – 20: 34: 04 © 2010 University of California, Irvine – André van der Hoek 2

Logistics n http: //www. ics. uci. edu/~andre/informatics 122 w 2010. html n Reader: Mitch

Logistics n http: //www. ics. uci. edu/~andre/informatics 122 w 2010. html n Reader: Mitch Dempsey n No discussion n Books – “Design Patterns: Elements of Reusable Object-Oriented Software” – any decent UML introductory book 16 October 2021 – 20: 34: 05 © 2010 University of California, Irvine – André van der Hoek 3

Logistics n Intensely practice driven course n Lectures matter n Grading – No midterm,

Logistics n Intensely practice driven course n Lectures matter n Grading – No midterm, no final – Class participation is a crucial part – Team evaluations for group work 16 October 2021 – 20: 34: 05 © 2010 University of California, Irvine – André van der Hoek 4

The Term “Design” n “Design” may refer to an activity – “When I design,

The Term “Design” n “Design” may refer to an activity – “When I design, I always use a whiteboard first” – We will use: design activity n “Design” may refer to a product – “My design is super cool, I know it will work” – We will use: design product n “Design” may refer to a field – “Software design is complex” – We will use: design field 16 October 2021 – 20: 34: 05 © 2010 University of California, Irvine – André van der Hoek 5

Design Fields Abound n There are countless design fields – – – – –

Design Fields Abound n There are countless design fields – – – – – 16 October 2021 – 20: 34: 05 Architecture design Graphic design Fashion design Game design Chip design Car design Instrument design Product design … © 2010 University of California, Irvine – André van der Hoek n But also – Law – Chemical synthesis – Process design – Study design – … n And also – Writing – Painting – Sculpting – Music composition – … 6

Design Fields Abound n There are countless design fields – – – – –

Design Fields Abound n There are countless design fields – – – – – Architecture design Graphic design Fashion design Game design Chip design Car design Instrument design Product design … n But also – Law – Chemical synthesis – Process design – Study design – … n And also – Writing – Painting – Sculpturing – Music composition – … Software development is a design field, too! 16 October 2021 – 20: 34: 06 © 2010 University of California, Irvine – André van der Hoek 7

Defining Design n “Features of shape, configuration, pattern or ornamentation applicable to an article,

Defining Design n “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] n “The imaginative jump from present facts to future possibilities” [Page]. n “The optimum solution to the sum of true needs of a particular set of circumstances” [Matchett] n “To conceive or plan out in the mind” [Merriam-Webster] n “A plan or protocol for carrying out or accomplishing something” [Merriam-Webster] n … 16 October 2021 – 20: 34: 06 © 2010 University of California, Irvine – André van der Hoek 8

Defining Design n The realization of an imagined state n To work out a

Defining Design n The realization of an imagined state n To work out a solution in one’s mind n The specification that guides production n The transition from possible solutions to a specific one n To devise a solution to a perceived problem n … 16 October 2021 – 20: 34: 06 © 2010 University of California, Irvine – André van der Hoek 9

Design 16 October 2021 – 20: 34: 07 © 2010 University of California, Irvine

Design 16 October 2021 – 20: 34: 07 © 2010 University of California, Irvine – André van der Hoek 10

Design lead to Alternative Designs have goals and anticipated uses for produce generate envision

Design lead to Alternative Designs have goals and anticipated uses for produce generate envision leads to Product Designers Stakeholders may or may not match expectations of 16 October 2021 – 20: 34: 13 Final Design identify anticipate predict Experiences © 2010 University of California, Irvine – André van der Hoek experienced by Users leads to 11

Product-Use-Experience Cycle lead to Alternative Designs have goals and anticipated uses for produce generate

Product-Use-Experience Cycle lead to Alternative Designs have goals and anticipated uses for produce generate envision leads to Product Designers Stakeholders may or may not match expectations of 16 October 2021 – 20: 34: 16 Final Design identify anticipate predict Experiences © 2010 University of California, Irvine – André van der Hoek experienced by Users leads to 12

Creative Production Cycle lead to Alternative Designs have goals and anticipated uses for produce

Creative Production Cycle lead to Alternative Designs have goals and anticipated uses for produce generate envision leads to Product Designers Stakeholders may or may not match expectations of 16 October 2021 – 20: 34: 18 Final Design identify anticipate predict Experiences © 2010 University of California, Irvine – André van der Hoek experienced by Users leads to 13

Infinities, Wickedness, and Satisficing lead to Alternative Designs have goals and anticipated uses for

Infinities, Wickedness, and Satisficing lead to Alternative Designs have goals and anticipated uses for produce generate envision leads to Product Designers Stakeholders may or may not match expectations of 16 October 2021 – 20: 34: 19 Final Design identify anticipate predict Experiences © 2010 University of California, Irvine – André van der Hoek experienced by Users leads to 14

Positioning Software Design n Waterfall: once, in between requirements and implementation – “design is

Positioning Software Design n Waterfall: once, in between requirements and implementation – “design is a phase” n Incremental: repeatedly, in between requirements and implementation – “design is a phase” n Prototyping: once, in between prototyping/requirements and implementation – “design is a phase” n Spiral: intermittently, when the risks being faced demand it – “design is a phase” n XP: all the time, when coding – “design is in the code” n … 16 October 2021 – 20: 34: 20 © 2010 University of California, Irvine – André van der Hoek 15

Software Design: Our View in 121 and 122 n Application design n Interaction design

Software Design: Our View in 121 and 122 n Application design n Interaction design n Architecture design n Implementation design n Maintenance design All five types of design take place throughout the software life cycle 16 October 2021 – 20: 34: 20 © 2010 University of California, Irvine – André van der Hoek 16

Software Design: Our View in 121 and 122 n Application design n Interaction design

Software Design: Our View in 121 and 122 n Application design n Interaction design n Architecture design n Implementation design n Maintenance design All five types of design have their own design methods and representations 16 October 2021 – 20: 34: 20 © 2010 University of California, Irvine – André van der Hoek 17

Software Design: Our View in 121 and 122 n Application design Final Design n

Software Design: Our View in 121 and 122 n Application design Final Design n Interaction design Alternative Designs n Architecture design n Implementation design Product Designers Stakeholders Users Experiences n Maintenance design All five types of design involve the design cycle 16 October 2021 – 20: 34: 21 © 2010 University of California, Irvine – André van der Hoek 18

Software Design: Our View in 121 and 122 n Application design Final Design n

Software Design: Our View in 121 and 122 n Application design Final Design n Interaction design Alternative Designs n Architecture design n Implementation design Product Designers Stakeholders Users Experiences n Maintenance design All five types of design closely interrelate and must often be addressed in parallel 16 October 2021 – 20: 34: 21 © 2010 University of California, Irvine – André van der Hoek 19

Focus of 122 n [Application design] Final Design n [Interaction design] Alternative Designs n

Focus of 122 n [Application design] Final Design n [Interaction design] Alternative Designs n [Architecture design] n Implementation design Product Designers Stakeholders Users Experiences n Maintenance design 16 October 2021 – 20: 34: 22 © 2010 University of California, Irvine – André van der Hoek 20

Transitioning to 122 n In – – 16 October 2021 – 20: 34: 23

Transitioning to 122 n In – – 16 October 2021 – 20: 34: 23 Informatics 121, much of the focus was on application design creative thinking learning to rely on colleagues incomplete specifications no implementation © 2010 University of California, Irvine – André van der Hoek 21

Transitioning to 122 n In – – Informatics 121, much of the focus was

Transitioning to 122 n In – – Informatics 121, much of the focus was on application design creative thinking learning to rely on colleagues incomplete specifications no implementation n In Informatics 122, we focus on implementation and maintenance design – – 16 October 2021 – 20: 34: 24 nuts and bolts (but still some creative thinking) specifying for colleagues (but still relying on colleagues) complete specifications implementation © 2010 University of California, Irvine – André van der Hoek 22

Practice, Practice… n To learn to navigate this space, and thus learn to be

Practice, Practice… n To learn to navigate this space, and thus learn to be a “satisficer”, it is essential to practice, practice n There is no theory or magic formula that will teach you to be a designer, only theory that – will help you understand what it means to be a designer – provides you with a frame of mind through which you can usefully reflect upon your design activities and design products 16 October 2021 – 20: 34: 26 © 2010 University of California, Irvine – André van der Hoek 23

Rough Schedule n Create some designs – evaluate others’ designs – discuss those designs

Rough Schedule n Create some designs – evaluate others’ designs – discuss those designs – implement those designs n Reverse engineer a large design n Apply design patterns n Reuse components n Large scale vs. small scale design n A final design (and implementation) project 16 October 2021 – 20: 34: 26 © 2010 University of California, Irvine – André van der Hoek 24

No Assignment Today… n …but please refresh your knowledge of UML before the next

No Assignment Today… n …but please refresh your knowledge of UML before the next lecture 16 October 2021 – 20: 34: 27 © 2010 University of California, Irvine – André van der Hoek 25