+ Informatics 122 Software Design II Lecture 1 Emily Navarro Duplication of course material for any commercial purpose without the explicit written permission.

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

Multimedia Specification Design and Production 2013 / Semester 1 / week 7 Lecturer: Dr. Nikos Gazepidis
CS487 Software Engineering Omar Aldawud
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 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.
Department of Informatics, UC Irvine SDCL Collaboration Laboratory Software Design and sdcl.ics.uci.edu 1 Informatics 43 Introduction to Software Engineering.
© 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 – 20:01:34 Informatics 122 Software Design II Lecture 1 André van der Hoek &
© 2009 University of California, Irvine – André van der Hoek1June 17, 2015 – 23:38:09 Informatics 121 Software Design I Lecture 3 André van der Hoek 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 – 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 2 Duplication.
CIS 321—IS Analysis & Design
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 3 Duplication.
Software Engineering EKT 420 MOHAMED ELSHAIKH KKF 8A – room 4.
+ Informatics 122 Software Design II Lecture 6 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 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 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.
Department of Informatics, UC Irvine SDCL Collaboration Laboratory Software Design and sdcl.ics.uci.edu 1 Informatics 121 Software Design I Lecture 2 Duplication.
Introduction to Design. What is Design? 2 minutes Pairs.
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.
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 3 Duplication.
Software Development Process CS 360 Lecture 3. Software Process The software process is a structured set of activities required to develop a software.
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.
+ Informatics 122 Software Design II Lecture 13 Emily Navarro Duplication of course material for any commercial purpose without the explicit written permission.
1 SYS366 Week 2 - Lecture Visual Modeling and Process.
Informatics 223 Applied Software Design Techniques
Informatics 223 Applied Software Design Techniques
Informatics 223 Applied Software Design Techniques
Informatics 121 Software Design I
Introduction to Software 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 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 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
Informatics 121 Software Design I
Informatics 121 Software Design I
Presentation transcript:

+ Informatics 122 Software Design II Lecture 1 Emily Navarro Duplication of course material for any commercial purpose without the explicit written permission of the professor is prohibited. 1

+ Today’s Lecture Logistics Preview of 122 2

+ Logistics l l Reader: Matias Giorgio No discussion Books “Design Patterns: Elements of Reusable Object-Oriented Software” any decent UML introductory book 3

+ Logistics – Getting Help Office hours with me by appointment only (generally before or after class) Office hours with Matias by appointment also is the best way to reach me

+ The Term “Design” “Design” may refer to an activity “When I design, I always use a whiteboard first” We will use: design activity “Design” may refer to a product “My design is super cool, I know it will work” We will use: design product “Design” may refer to a field “Software design is complex” We will use: design field 5

+ Defining Design “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] “The imaginative jump from present facts to future possibilities” [Page]. “The optimum solution to the sum of true needs of a particular set of circumstances” [Matchett] “To conceive or plan out in the mind” [Merriam-Webster] “A plan or protocol for carrying out or accomplishing something” [Merriam-Webster] … 6

+ Defining Design The realization of an imagined state To work out a solution in one’s mind The specification that guides production The transition from possible solutions to a specific one To devise a solution to a perceived problem … 7

+ Design fields Architecture design Graphic design Fashion design Game design Chip design Car design Urban design Product design Interior design …

+ Design fields Architecture design Graphic design Fashion design Game design Chip design Car design Urban design Product design Interior design … Writing Painting Sculpting Music composition …

+ Design fields Architecture design Graphic design Fashion design Game design Chip design Car design Urban design Product design Interior design … Writing Painting Sculpting Music composition … Software design

+ Design August 22, 2015 – 00:20:45 11

+ Design designerplan makerchange in the world audienceexperiences other stakeholders

+ Design a luxury airplane designerplan makerchange in the world audienceexperiences other stakeholders

+ Design a library designerplan makerchange in the world audienceexperiences other stakeholders

+ Software design software designersource artifacts compilerrunnable program usersexperiences other stakeholders

+ Positioning Software Design Waterfall: once, in between requirements and implementation “design is a phase” Incremental: repeatedly, in between requirements and implementation “design is a phase” Prototyping: once, in between prototyping/requirements and implementation “design is a phase” Spiral: intermittently, when the risks being faced demand it “design is a phase” XP: all the time, when coding “design is in the code” … 16

+ Feasibility and desirability designerplan maker audienceexperiences other stakeholders feasibility change in the world

+ Feasibility and desirability designerplan makerchange in the world audience other stakeholders desirability experiences feasibility

+ Four types of design desirability feasibility what is it to accomplish? how does one interact with it? what is its conceptual core? what are its implementation details?

+ Four types of design 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?

+ Four types of software design 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? application design interaction design architecture design implementation design

+ Software Design: Our View in 121 and 122 Application design Interaction design Architecture design Implementation design Maintenance design 22 All five types of design take place throughout the software life cycle

+ Software Design: Our View in 121 and 122 Application design Interaction design Architecture design Implementation design Maintenance design 23 All five types of design have their own design methods and representations

+ Focus of 122 [Application design] [Interaction design] [Architecture design] Implementation design Maintenance design 24

+ Focus of 122 – Implementation and Maintenance Design Nuts and bolts (but still some creative thinking) Specifying for colleagues (but still relying on colleagues) Complete specifications Implementation 25

+ Practice, Practice, Practice… To learn to navigate this space, and learn to be a designer, it is essential to practice, practice, practice 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 26

+ Rough Schedule Create some designs evaluate others’ designs discuss those designs implement those designs Apply design patterns Apply design refactoring techniques Reverse engineer a large design Reuse components Large scale vs. small scale design A final design (and implementation) project 27

+ No Assignment Today… …but please refresh your knowledge of UML class diagrams before the next lecture 28