Informatics 43 Introduction to Software Engineering Lecture 10

  • Slides: 65
Download presentation
Informatics 43 Introduction to Software Engineering Lecture 10 -2 December 3, 2015 Emily Navarro

Informatics 43 Introduction to Software Engineering Lecture 10 -2 December 3, 2015 Emily Navarro Duplication of course material for any commercial purpose without the explicit written permission of the professor is prohibited. SDCL Software Design and Collaboration Laboratory Department of Informatics, UC Irvine sdcl. ics. uci. edu 1

Today’s Lecture • Announcements • Moore’s Law • Project estimation • “A Day in

Today’s Lecture • Announcements • Moore’s Law • Project estimation • “A Day in the Life of a Software Engineer” • Course wrap-up/review SDCL Software Design and Collaboration Laboratory Department of Informatics, UC Irvine sdcl. ics. uci. edu 2

Today’s Lecture • Announcements • Moore’s Law • Project estimation • “A Day in

Today’s Lecture • Announcements • Moore’s Law • Project estimation • “A Day in the Life of a Software Engineer” • Course wrap-up/review SDCL Software Design and Collaboration Laboratory Department of Informatics, UC Irvine sdcl. ics. uci. edu 3

Announcements • 0. 5% extra credit for submitting the EEE Course Evaluation • Homework

Announcements • 0. 5% extra credit for submitting the EEE Course Evaluation • Homework 3 C due tonight 11: 55 pm to EEE • No office hours Tuesday of finals week, but I will have an office hour from 2 -3 pm on Friday, December 18 th if you want to pick up your graded final exam/quiz 6/any outstanding papers SDCL Software Design and Collaboration Laboratory Department of Informatics, UC Irvine sdcl. ics. uci. edu 4

Today’s Lecture • Announcements • Moore’s Law • Project estimation • “A Day in

Today’s Lecture • Announcements • Moore’s Law • Project estimation • “A Day in the Life of a Software Engineer” • Course wrap-up/review SDCL Software Design and Collaboration Laboratory Department of Informatics, UC Irvine sdcl. ics. uci. edu 5

Moore’s Law The number of transistors on integrated circuits doubles approximately every two years.

Moore’s Law The number of transistors on integrated circuits doubles approximately every two years. Intel P 4004 from 1969 2, 300 transistors, 108 k. Hz clock speed SDCL Software Design and Collaboration Laboratory Intel Core i 7 from 2010 731, 000 transistors, 3. 06 GHz clock speed 6 Department of Informatics, UC Irvine sdcl. ics. uci. edu 6

Moore’s Law Electronics 19 April 1965 SDCL Software Design and Collaboration Laboratory Department of

Moore’s Law Electronics 19 April 1965 SDCL Software Design and Collaboration Laboratory Department of Informatics, UC Irvine sdcl. ics. uci. edu 7

Moore’s Original Data Gordon Moore Electronics 19 April 1965 SDCL Software Design and Collaboration

Moore’s Original Data Gordon Moore Electronics 19 April 1965 SDCL Software Design and Collaboration Laboratory Department of Informatics, UC Irvine sdcl. ics. uci. edu 8

Moore’s Law to 2000 SDCL Software Design and Collaboration Laboratory 9 Department of Informatics,

Moore’s Law to 2000 SDCL Software Design and Collaboration Laboratory 9 Department of Informatics, UC Irvine sdcl. ics. uci. edu 9

Moore’s Law through 2010 Motorola Intel SDCL Software Design and Collaboration Laboratory 10 Department

Moore’s Law through 2010 Motorola Intel SDCL Software Design and Collaboration Laboratory 10 Department of Informatics, UC Irvine sdcl. ics. uci. edu 10

Moore’s Law with MS OS SDCL Software Design and Collaboration Laboratory Department of Informatics,

Moore’s Law with MS OS SDCL Software Design and Collaboration Laboratory Department of Informatics, UC Irvine sdcl. ics. uci. edu 11

Moore’s Law in the Future? SDCL Software Design and Collaboration Laboratory Department of Informatics,

Moore’s Law in the Future? SDCL Software Design and Collaboration Laboratory Department of Informatics, UC Irvine sdcl. ics. uci. edu 12

Rodent Brain http: //www. wired. com/2015/08/ibms-rodent-brain-chip-make-phones-hyper-smart/ SDCL Software Design and Collaboration Laboratory Department of

Rodent Brain http: //www. wired. com/2015/08/ibms-rodent-brain-chip-make-phones-hyper-smart/ SDCL Software Design and Collaboration Laboratory Department of Informatics, UC Irvine sdcl. ics. uci. edu 13

Single Molecule Transistor SDCL Software Design and Collaboration Laboratory Department of Informatics, UC Irvine

Single Molecule Transistor SDCL Software Design and Collaboration Laboratory Department of Informatics, UC Irvine sdcl. ics. uci. edu 14

Moore’s Law • Has held true for almost 50 years • Is so “true”

Moore’s Law • Has held true for almost 50 years • Is so “true” that it guides the semiconductor industry in longterm planning and setting targets for research and development • May have reached its last stages with chips shrinking to the atomic level – But Intel claims they will continue to follow Moore’s Law (recently extending the interval to 2. 5 years) SDCL Software Design and Collaboration Laboratory Department of Informatics, UC Irvine sdcl. ics. uci. edu 15

Is Moore’s Law Dead? • “[T]ransistors can be shrunk further, but they are now

Is Moore’s Law Dead? • “[T]ransistors can be shrunk further, but they are now getting more expensive. And with the rise of cloud computing, the emphasis on the speed of the processor in desktop and laptop computers is no longer so relevant. The main unit of analysis is no longer the processor, but the rack of servers or even the data centre. The question is not how many transistors can be squeezed onto a chip, but how many can be fitted economically into a warehouse. Moore's law will come to an end; but it may first make itself irrelevant. ” SDCL Software Design and Collaboration Laboratory Department of Informatics, UC Irvine sdcl. ics. uci. edu 16

Software Application of Moore’s Law: Artificial Intelligence (AI) • Recent revival of interest in

Software Application of Moore’s Law: Artificial Intelligence (AI) • Recent revival of interest in AI with cloud computing, data centers, and massive amounts of data • Deep machine learning using neural networks – Two stages: • Train a neural network to perform a task – “Here a bunch of cat photos” • Execute a task – “Is this a photo of a cat? ” • Right now this is all done in massive data centers, but as chips become smaller this could move to personal machines/devices SDCL Software Design and Collaboration Laboratory Department of Informatics, UC Irvine sdcl. ics. uci. edu 17

AI/Machine Learning Examples • Facebook facial recognition • Skype Translator (instant language translation) •

AI/Machine Learning Examples • Facebook facial recognition • Skype Translator (instant language translation) • Google Now (speech recognition) SDCL Software Design and Collaboration Laboratory Department of Informatics, UC Irvine sdcl. ics. uci. edu 18

AI/Machine Learning Examples • Financial trading • Video games • Wikipedia edits SDCL Software

AI/Machine Learning Examples • Financial trading • Video games • Wikipedia edits SDCL Software Design and Collaboration Laboratory Department of Informatics, UC Irvine sdcl. ics. uci. edu 19

The Limits of Software Engineering • Will software engineers be obsolete in 55 years?

The Limits of Software Engineering • Will software engineers be obsolete in 55 years? – https: //medium. com/@dtauerbach/software-engineers-will-beobsolete-by-2060 -2 a 214 fdf 9737#. cdy 1915 mf • Will all jobs be obsolete in the next few decades? – A dismal view: https: //www. youtube. com/watch? v=7 Pq-S 557 XQU • Will the world be overtaken by evil robots? SDCL Software Design and Collaboration Laboratory Department of Informatics, UC Irvine sdcl. ics. uci. edu 20

Today’s Lecture • Announcements • Miscellaneous testing topics • Moore’s Law • Project estimation

Today’s Lecture • Announcements • Miscellaneous testing topics • Moore’s Law • Project estimation • “A Day in the Life of a Software Engineer” SDCL Software Design and Collaboration Laboratory Department of Informatics, UC Irvine sdcl. ics. uci. edu 21

Project Estimation – Why? • We need to be able to estimate things like

Project Estimation – Why? • We need to be able to estimate things like how long a project will take, how many people are needed, how much it will cost, etc. • For the purpose of planning, giving bids, etc. SDCL Software Design and Collaboration Laboratory Department of Informatics, UC Irvine sdcl. ics. uci. edu 22

What to estimate • • SDCL Effort (person-months) Duration (calendar months) Cost (dollars) KLOC

What to estimate • • SDCL Effort (person-months) Duration (calendar months) Cost (dollars) KLOC (thousands of lines of code) Software Design and Collaboration Laboratory Department of Informatics, UC Irvine sdcl. ics. uci. edu 23

Estimating a project • Approach 1: Naïve estimation – Take your best guess •

Estimating a project • Approach 1: Naïve estimation – Take your best guess • Approach 2: Estimation by parts – Bottom-up or top-down, depending on where you start • Approach 3: Re-estimation – As more time is spent on a project, uncertainty decreases SDCL Software Design and Collaboration Laboratory Department of Informatics, UC Irvine sdcl. ics. uci. edu 24

Productivity Rates • Longhorn Project (2003) – – • Grady and Caswell at HP

Productivity Rates • Longhorn Project (2003) – – • Grady and Caswell at HP (1987) – • ~1100 LOC/person/year Brooks (1975) IBM OS/360 – SDCL 16 MLOC, 5000 people, 3 years 1067 LOC/person/year 600 -800 instructions/person/year in control group Software Design and Collaboration Laboratory Department of Informatics, UC Irvine sdcl. ics. uci. edu 25

Factors Affecting Productivity Rates • Application domain experience • Process quality • Project size

Factors Affecting Productivity Rates • Application domain experience • Process quality • Project size – Negative relationship • Technology support • Working environment SDCL Software Design and Collaboration Laboratory Department of Informatics, UC Irvine sdcl. ics. uci. edu 26

A general estimation formula • Textbook, p. 275: Units of effort = a +

A general estimation formula • Textbook, p. 275: Units of effort = a + b(size)c + ACCUM(factors) a = base cost b = scales the size variable, derived from past projects c = allows estimated project size to influence the effort estimation non-linearly ACCUM = a function, sum or product or ? factors = other influences on the effort SDCL Software Design and Collaboration Laboratory Department of Informatics, UC Irvine sdcl. ics. uci. edu 27

COCOMO - A Specific Estimation Model (Boehm) • One of the most widely used

COCOMO - A Specific Estimation Model (Boehm) • One of the most widely used software estimation models • Predicts effort and schedule based on inputs relating to the size of the software and a number of cost drivers that affect productivity • Steps 1. Determine project mode (organic/simple, semidetached/intermediate, embedded/difficult) 2. Estimate the size of project (in KLOC or function points) 3. Review 15 factors (cost-drivers), and estimate the impact of each on the project 4. Determine project effort by inserting the estimated values into an effort formula SDCL Software Design and Collaboration Laboratory Department of Informatics, UC Irvine sdcl. ics. uci. edu 28

COCOMO Project Modes • Project mode is based on 8 parameters The team’s understanding

COCOMO Project Modes • Project mode is based on 8 parameters The team’s understanding of project objectives The team’s experience with similar projects The project’s need to conform with established requirements The project’s need to conform with established external interfaces The need to develop the project concurrently with new systems/operational procedures – The project’s need for new technology, architecture, etc. – The project’s need to meet or beat the schedule – Project size – – – SDCL Software Design and Collaboration Laboratory Department of Informatics, UC Irvine sdcl. ics. uci. edu 29

COCOMO Project Modes • Organic Mode – Small teams with good experience working with

COCOMO Project Modes • Organic Mode – Small teams with good experience working with “less than rigid” requirements • Semidetached Mode – Medium teams with mixed experience working with a mixture of rigid and less than rigid requirements • Embedded Mode – Projects that must be developed within a series of tight constraints • Each mode has its own effort estimation formula SDCL Software Design and Collaboration Laboratory Department of Informatics, UC Irvine sdcl. ics. uci. edu 30

COCOMO Cost Drivers • Personnel attributes • Product attributes – Required software reliability –

COCOMO Cost Drivers • Personnel attributes • Product attributes – Required software reliability – Database size – Product complexity • Computer attributes – – SDCL Execution time constraint Main memory constraint Virtual machine complexity Computer turnaround time Software Design and Collaboration Laboratory – – – Analyst capability Applications experience Programmer capability Virtual machine experience Programming language experience • Project attributes – Use of modern practice – Use of software tools – Required development schedule Department of Informatics, UC Irvine sdcl. ics. uci. edu 31

Comparison of Formulas KLOC Halstead Boehm Walston-Felix E=0. 7 KLOC 1. 50 E=2. 4

Comparison of Formulas KLOC Halstead Boehm Walston-Felix E=0. 7 KLOC 1. 50 E=2. 4 KLOC 1. 05 E=5. 2 KLOC 0. 91 1 10 50 1000 0. 7 22. 1 247. 5 700. 0 22, 135. 9 2. 4 26. 9 145. 9 302. 1 3, 390. 1 5. 2 42. 3 182. 8 343. 6 2, 792. 6 • Coefficients derived using actual project data SDCL Software Design and Collaboration Laboratory Department of Informatics, UC Irvine sdcl. ics. uci. edu 32

What to Measure/Estimate • Lines of code – e. g. delivered lines of executable

What to Measure/Estimate • Lines of code – e. g. delivered lines of executable source code • Function points – count inputs, outputs, files • Feature points – similar to function points, also count algorithms • Object points – count screens, reports, and 3 -GL components SDCL Software Design and Collaboration Laboratory Department of Informatics, UC Irvine sdcl. ics. uci. edu 33

Function Points • Analyze specifications and high-level design for – – – External inputs

Function Points • Analyze specifications and high-level design for – – – External inputs External outputs External inquiries Internal logical files (e. g. classes, data structures) External interface files • The result (after plugging them into a formula) is a number of Function Points. • Maybe: person-months = 0. 20 * FP 1. 5 SDCL Software Design and Collaboration Laboratory Department of Informatics, UC Irvine sdcl. ics. uci. edu 34

Today’s Lecture • Announcements • Miscellaneous testing topics • Moore’s Law • Project estimation

Today’s Lecture • Announcements • Miscellaneous testing topics • Moore’s Law • Project estimation • “A Day in the Life of a Software Engineer” SDCL Software Design and Collaboration Laboratory Department of Informatics, UC Irvine sdcl. ics. uci. edu 35

A Day in the Life of a Software Engineer • https: //www. youtube. com/watch?

A Day in the Life of a Software Engineer • https: //www. youtube. com/watch? v=vt 79 Jc. Pf. ZQA • https: //www. youtube. com/watch? v=5 fpggkn. HC 2 c&index=6 &list=PLllx_3 t. Loo 4 fd 1 deqnzvy. Zr. Ir. Jz. Rd. SC 6 - SDCL Software Design and Collaboration Laboratory Department of Informatics, UC Irvine sdcl. ics. uci. edu 36

“Do Cool Things that Matter” • https: //www. youtube. com/watch? v=_Yw. ZEDU 9 bk.

“Do Cool Things that Matter” • https: //www. youtube. com/watch? v=_Yw. ZEDU 9 bk. A SDCL Software Design and Collaboration Laboratory Department of Informatics, UC Irvine sdcl. ics. uci. edu 37

“How to Get Noticed” • https: //www. youtube. com/watch? v=E 2 d. Mmdew. Rx.

“How to Get Noticed” • https: //www. youtube. com/watch? v=E 2 d. Mmdew. Rx. E SDCL Software Design and Collaboration Laboratory Department of Informatics, UC Irvine sdcl. ics. uci. edu 38

Today’s Lecture • Wrap-up/review SDCL Software Design and Collaboration Laboratory Department of Informatics, UC

Today’s Lecture • Wrap-up/review SDCL Software Design and Collaboration Laboratory Department of Informatics, UC Irvine sdcl. ics. uci. edu 39

What Did We Learn? • What is software engineering? – Perspectives – Definitions –

What Did We Learn? • What is software engineering? – Perspectives – Definitions – Essential qualities (complexity, conformity, changeability, invisibility) • Software engineering principles – Rigor and formality – Separation of concerns • modularity • divide and conquer • abstraction – Anticipation of change – Generality – Incrementality • Software failures/fiascos – Many related to requirements SDCL Software Design and Collaboration Laboratory Department of Informatics, UC Irvine sdcl. ics. uci. edu 40

What Did We Learn? • Requirements Engineering – Requirements document (Homework 1) • •

What Did We Learn? • Requirements Engineering – Requirements document (Homework 1) • • • Mythical Man Month Use cases Software architecture Designs, models, notations User orientation Testing – (Homework 2) • Software process models • Version control – Git (Homework 3) • Moore’s Law • Project estimation SDCL Software Design and Collaboration Laboratory Department of Informatics, UC Irvine sdcl. ics. uci. edu 41

What is Software Engineering? Software – Engineering - SDCL Software Design and Collaboration Laboratory

What is Software Engineering? Software – Engineering - SDCL Software Design and Collaboration Laboratory Department of Informatics, UC Irvine sdcl. ics. uci. edu 42

What is Software Engineering? Software – • • • Code Documentation, user manuals Designs,

What is Software Engineering? Software – • • • Code Documentation, user manuals Designs, specifications Test cases Plans and schedules Engineering - SDCL Software Design and Collaboration Laboratory Department of Informatics, UC Irvine sdcl. ics. uci. edu 43

What is Software Engineering? Software – • • • Code Documentation, user manuals Designs,

What is Software Engineering? Software – • • • Code Documentation, user manuals Designs, specifications Test cases Plans and schedules Engineering - • Skill and knowledge • Application of scientific principles • Trade-offs, cost / benefit analysis SDCL Software Design and Collaboration Laboratory Department of Informatics, UC Irvine sdcl. ics. uci. edu 44

Software engineering • “A broad field that touches upon all aspects of developing and

Software engineering • “A broad field that touches upon all aspects of developing and supporting a software system. ” [Tsui, Karam, Bernal] SDCL Software Design and Collaboration Laboratory Department of Informatics, UC Irvine sdcl. ics. uci. edu 45

Software engineering • “A broad field that touches upon all aspects of developing and

Software engineering • “A broad field that touches upon all aspects of developing and supporting a software system. ” [Tsui, Karam, Bernal] SDCL Software Design and Collaboration Laboratory Department of Informatics, UC Irvine sdcl. ics. uci. edu 46

Software engineering • “A discipline that deals with the building of software systems which

Software engineering • “A discipline that deals with the building of software systems which are so large that they are built by a team or teams of engineers. ” [Ghezzi, Jazayeri, Mandrioli] SDCL Software Design and Collaboration Laboratory Department of Informatics, UC Irvine sdcl. ics. uci. edu 47

Software engineering • “A discipline that deals with the building of software systems which

Software engineering • “A discipline that deals with the building of software systems which are so large that they are built by a team or teams of engineers. ” [Ghezzi, Jazayeri, Mandrioli] SDCL Software Design and Collaboration Laboratory Department of Informatics, UC Irvine sdcl. ics. uci. edu 48

Software engineering • “Multi-person construction of multi-version software. ” [Parnas] SDCL Software Design and

Software engineering • “Multi-person construction of multi-version software. ” [Parnas] SDCL Software Design and Collaboration Laboratory Department of Informatics, UC Irvine sdcl. ics. uci. edu 49

Software engineering • “Multi-person construction of multi-version software. ” [Parnas] SDCL Software Design and

Software engineering • “Multi-person construction of multi-version software. ” [Parnas] SDCL Software Design and Collaboration Laboratory Department of Informatics, UC Irvine sdcl. ics. uci. edu 50

Software engineering • “A discipline whose aim is the production of fault-free software, delivered

Software engineering • “A discipline whose aim is the production of fault-free software, delivered on-time and within budget, that satisfies the user’s needs. Furthermore, the software must be easy to modify when the user’s needs change. ” [Schach] SDCL Software Design and Collaboration Laboratory Department of Informatics, UC Irvine sdcl. ics. uci. edu 51

Software engineering • “A discipline whose aim is the production of fault-free software, delivered

Software engineering • “A discipline whose aim is the production of fault-free software, delivered on-time and within budget, that satisfies the user’s needs. Furthermore, the software must be easy to modify when the user’s needs change. ” [Schach] SDCL Software Design and Collaboration Laboratory Department of Informatics, UC Irvine sdcl. ics. uci. edu 52

What is Software Engineering? Informatics 43: • The process of constructing software. • Phases

What is Software Engineering? Informatics 43: • The process of constructing software. • Phases of development other than programming. • Principles and qualities of enduring value. SDCL Software Design and Collaboration Laboratory Department of Informatics, UC Irvine sdcl. ics. uci. edu 53

Final Exam Next Thursday, December 10 th, 4: 00 pm-6: 00 pm 120 minutes

Final Exam Next Thursday, December 10 th, 4: 00 pm-6: 00 pm 120 minutes long Closed book, closed notes You can leave when you are finished Show your ID card to one of the teaching staff Exit only through the two doors at the bottom of the classroom Part multiple-choice, part short/long answer Advice: read questions carefully, re-read your answer and check whether it clearly says what you mean, don’t rush out at the end • Keep your eyes on your own paper!! • • SDCL Software Design and Collaboration Laboratory Department of Informatics, UC Irvine sdcl. ics. uci. edu 54

Final Exam Topics - Lecture • Lecture 5 -2: User orientation – Understand the

Final Exam Topics - Lecture • Lecture 5 -2: User orientation – Understand the following user-centered design methods: • • • Personas Scenarios Storyboards Site maps UI Mockups – Nielsen’s usability heuristics • Know and understand them • Be able to use them like you did in the discussion assignment SDCL Software Design and Collaboration Laboratory Department of Informatics, UC Irvine sdcl. ics. uci. edu 55

Final Exam Topics - Lecture • Lectures 6 -2 through 7 -2: Testing –

Final Exam Topics - Lecture • Lectures 6 -2 through 7 -2: Testing – – – – – Validation/verification How do we know when we are done? Testing – basic process Error, fault, failure Testing goals Levels of testing (unit, functional/integration, system/acceptance) Oracles Test drivers/stubs Difference between white-box and black-box testing – Black-box testing • Testing matrices/bases/subdomains – White-box testing • Node/edge coverage • Relative thoroughness of different types of coverage (node, edge, path) SDCL Software Design and Collaboration Laboratory Department of Informatics, UC Irvine sdcl. ics. uci. edu 56

Final Exam Topics - Lecture • Lectures 8 -1 through 8 -2: Software Process

Final Exam Topics - Lecture • Lectures 8 -1 through 8 -2: Software Process – Know characteristics, strengths, and weaknesses of • • SDCL Waterfall Rapid Prototyping Incremental Spiral Rational Unified Process (RUP) Open Source Software (OSS) Extreme Programming (XP) Agile Software Design and Collaboration Laboratory Department of Informatics, UC Irvine sdcl. ics. uci. edu 57

Final Exam Topics • Lecture 10 -2: Moore’s Law/Project estimation – Know what Moore’s

Final Exam Topics • Lecture 10 -2: Moore’s Law/Project estimation – Know what Moore’s Law is and its major implications for software engineering – Project estimation • COCOMO (know what it is at a high level) SDCL Software Design and Collaboration Laboratory Department of Informatics, UC Irvine sdcl. ics. uci. edu 58

Final Exam Topics (pre-midterm) • Know the “promising attacks”/”potential silver bullets” from Brooks’ No

Final Exam Topics (pre-midterm) • Know the “promising attacks”/”potential silver bullets” from Brooks’ No Silver Bullet SDCL Software Design and Collaboration Laboratory Department of Informatics, UC Irvine sdcl. ics. uci. edu 59

Final Exam Topics - Discussion • User orientation exercise (Nielsen’s usability heuristics) SDCL Software

Final Exam Topics - Discussion • User orientation exercise (Nielsen’s usability heuristics) SDCL Software Design and Collaboration Laboratory Department of Informatics, UC Irvine sdcl. ics. uci. edu 60

Final Exam Topics - Readings • Linked. In article • Toyota article • Windows

Final Exam Topics - Readings • Linked. In article • Toyota article • Windows 10 article SDCL Software Design and Collaboration Laboratory Department of Informatics, UC Irvine sdcl. ics. uci. edu 61

Final Exam Topics • The test will focus on these topics, but I reserve

Final Exam Topics • The test will focus on these topics, but I reserve the right to ask about any other lecture/reading/discussion information from the entire quarter as well SDCL Software Design and Collaboration Laboratory Department of Informatics, UC Irvine sdcl. ics. uci. edu 62

Final Exam Studying • • SDCL Lectures Quizzes Readings Discussion assignments Software Design and

Final Exam Studying • • SDCL Lectures Quizzes Readings Discussion assignments Software Design and Collaboration Laboratory Department of Informatics, UC Irvine sdcl. ics. uci. edu 63

Questions? SDCL Software Design and Collaboration Laboratory Department of Informatics, UC Irvine sdcl. ics.

Questions? SDCL Software Design and Collaboration Laboratory Department of Informatics, UC Irvine sdcl. ics. uci. edu 64

 • Good luck on the final • Enjoy your Christmas break! SDCL Software

• Good luck on the final • Enjoy your Christmas break! SDCL Software Design and Collaboration Laboratory Department of Informatics, UC Irvine sdcl. ics. uci. edu 65