Department of Informatics, UC Irvine SDCL Collaboration Laboratory Software Design and sdcl.ics.uci.edu 1 Informatics 43 Introduction to Software Engineering.

Slides:



Advertisements
Similar presentations
Department of Informatics, UC Irvine SDCL Collaboration Laboratory Software Design and sdcl.ics.uci.edu 1 Informatics 121 Software Design I Lecture 13.
Advertisements

Estimation using COCOMO More Science, Less Art. COCOMO History COCOMO History Constructive Cost Model Dr. Barry Boehm TRW in 1970s COCOMO
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 223 Applied Software Design Techniques.
Department of Informatics, UC Irvine SDCL Collaboration Laboratory Software Design and sdcl.ics.uci.edu 1 Informatics 223 Applied Software Design Techniques.
Department of Informatics, UC Irvine SDCL Collaboration Laboratory Software Design and sdcl.ics.uci.edu 1 Informatics 121 Software Design I Lecture 11.
Copyright 2000, Stephan Kelley1 Estimating User Interface Effort Using A Formal Method By Stephan Kelley 16 November 2000.
Department of Informatics, UC Irvine SDCL Collaboration Laboratory Software Design and sdcl.ics.uci.edu 1 ICS 52 Introduction to Software Engineering Lecture.
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 8 Duplication.
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 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 2 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.
Lecture 1-1 Emily Navarro
IS 421 Information Systems Management James Nowotarski 16 September 2002.
Department of Informatics, UC Irvine SDCL Collaboration Laboratory Software Design and sdcl.ics.uci.edu 1 ICS 52 Introduction to Software Engineering Lecture.
Software project management (intro)
Ch8: Management of Software Engineering. 1 Management of software engineering  Traditional engineering practice is to define a project around the product.
SE is not like other projects. l The project is intangible. l There is no standardized solution process. l New projects may have little or no relationship.
Course Introduction and Overview of Software Engineering Richard N. Taylor ICS 221 Fall 2002.
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 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.
Informatics 43 – October 2, 2014 Lecture 0-1 Emily Navarro.
Informatics 43 – June 2, Some Announcements Discussion on Friday – review. Bring questions. 0.5% extra credit for submitting the EEE Course Evaluation.
Cost Estimation Van Vliet, chapter 7 Glenn D. Blank.
University of Toronto Department of Computer Science © 2001, Steve Easterbrook CSC444 Lec22 1 Lecture 22: Software Measurement Basics of software measurement.
© The McGraw-Hill Companies, Software Project Management 4th Edition Software effort estimation Chapter 5.
1 ECE 453 – CS 447 – SE 465 Software Testing & Quality Assurance Lecture 22 Instructor Paulo Alencar.
Department of Informatics, UC Irvine SDCL Collaboration Laboratory Software Design and sdcl.ics.uci.edu 1 Informatics 121 Software Design I Lecture 12.
Estimation Why estimate? What to estimate? When to estimate?
Chapter 6 : Software Metrics
Project Management Estimation. LOC and FP Estimation –Lines of code and function points were described as basic data from which productivity metrics can.
©Ian Sommerville 2000Software Engineering, 6th edition. Chapter 23Slide 1 Chapter 23 Software Cost Estimation.
Department of Informatics, UC Irvine SDCL Collaboration Laboratory Software Design and sdcl.ics.uci.edu 1 Informatics 43 Introduction to Software Engineering.
T. E. Potok - University of Tennessee CS 594 Software Engineering Lecture 3 Dr. Thomas E. Potok
Cost Estimation. Problem Our ability to realistically plan and schedule projects depends on our ability to estimate project costs and development efforts.
Project Estimation Model By Deepika Chaudhary. Factors for estimation Initial estimates may have to be made on the basis of a high level user requirements.
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 43 Introduction to Software Engineering.
Computer Engineering Rabie A. Ramadan Lecture 1. 2 Welcome Back.
SFWR ENG 3KO4 Slide 1 Management of Software Engineering Chapter 8: Fundamentals of Software Engineering C. Ghezzi, M. Jazayeri, D. Mandrioli.
Department of Informatics, UC Irvine SDCL Collaboration Laboratory Software Design and sdcl.ics.uci.edu 1 Informatics 43 Introduction to Software Engineering.
©Ian Sommerville, adapted by Werner Wild 2004Project Management Slide 1 Software cost estimation u Predicting the resources required for a software development.
Function Points Synthetic measure of program size used to estimate size early in the project Easier (than lines of code) to calculate from requirements.
Estimating “Size” of Software There are many ways to estimate the volume or size of software. ( understanding requirements is key to this activity ) –We.
Effort Estimation In WBS,one can estimate effort (micro-level) but needed to know: –Size of the deliverable –Productivity of resource in producing that.
Department of Informatics, UC Irvine SDCL Collaboration Laboratory Software Design and sdcl.ics.uci.edu 1 Informatics 291s Literature Survey in Software.
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.
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 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 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.
Chapter 5: Software effort estimation
بشرا رجائی برآورد هزینه نرم افزار.
Informatics 43 – March 29, Course Staff Prof. Dan Frost TA Tanooj Parekh (10:00 and 3:00 discussions) TA Ashwin Achar (11:00 and 12:00 discussions)
Project Cost Management
Informatics 43 – March 31, 2016.
Constructive Cost Model
COCOMO Model Basic.
Software Metrics “How do we measure the software?”
More on Estimation In general, effort estimation is based on several parameters and the model ( E= a + b*S**c ): Personnel Environment Quality Size or.
COCOMO Models.
Cost Estimation Van Vliet, chapter 7 Glenn D. Blank.
Presentation transcript:

Department of Informatics, UC Irvine SDCL Collaboration Laboratory Software Design and sdcl.ics.uci.edu 1 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.

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

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

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

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

Department of Informatics, UC Irvine SDCL Collaboration Laboratory Software Design and sdcl.ics.uci.edu 6 Moore’s Law The number of transistors on integrated circuits doubles approximately every two years. 6 Intel P4004 from ,300 transistors, 108 kHz clock speed Intel Core i7 from ,000,000 transistors, 3.06 GHz clock speed

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

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

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

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

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

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

Department of Informatics, UC Irvine SDCL Collaboration Laboratory Software Design and sdcl.ics.uci.edu 13 Rodent Brain

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

Department of Informatics, UC Irvine SDCL Collaboration Laboratory Software Design and sdcl.ics.uci.edu 15 Moore’s Law Has held true for almost 50 years Is so “true” that it guides the semiconductor industry in long- term 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)

Department of Informatics, UC Irvine SDCL Collaboration Laboratory Software Design and sdcl.ics.uci.edu 16 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.”

Department of Informatics, UC Irvine SDCL Collaboration Laboratory Software Design and sdcl.ics.uci.edu 17 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 are 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

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

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

Department of Informatics, UC Irvine SDCL Collaboration Laboratory Software Design and sdcl.ics.uci.edu 20 The Limits of Software Engineering Will software engineers be obsolete in 55 years? – obsolete-by a214fdf9737#.cdy1915mf obsolete-by a214fdf9737#.cdy1915mf Will all jobs be obsolete in the next few decades? – A dismal view: Will the world be overtaken by evil robots?

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

Department of Informatics, UC Irvine SDCL Collaboration Laboratory Software Design and sdcl.ics.uci.edu 22 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.

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

Department of Informatics, UC Irvine SDCL Collaboration Laboratory Software Design and sdcl.ics.uci.edu 24 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

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

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

Department of Informatics, UC Irvine SDCL Collaboration Laboratory Software Design and sdcl.ics.uci.edu 27 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

Department of Informatics, UC Irvine SDCL Collaboration Laboratory Software Design and sdcl.ics.uci.edu 28 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

Department of Informatics, UC Irvine SDCL Collaboration Laboratory Software Design and sdcl.ics.uci.edu 29 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

Department of Informatics, UC Irvine SDCL Collaboration Laboratory Software Design and sdcl.ics.uci.edu 30 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

Department of Informatics, UC Irvine SDCL Collaboration Laboratory Software Design and sdcl.ics.uci.edu 31 COCOMO Cost Drivers Product attributes – Required software reliability – Database size – Product complexity Computer attributes – Execution time constraint – Main memory constraint – Virtual machine complexity – Computer turnaround time Personnel attributes – 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 Collaboration Laboratory Software Design and sdcl.ics.uci.edu 32 Comparison of Formulas HalsteadBoehmWalston-Felix KLOCE=0.7 KLOC 1.50 E=2.4 KLOC 1.05 E=5.2 KLOC , , ,792.6 Coefficients derived using actual project data

Department of Informatics, UC Irvine SDCL Collaboration Laboratory Software Design and sdcl.ics.uci.edu 33 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

Department of Informatics, UC Irvine SDCL Collaboration Laboratory Software Design and sdcl.ics.uci.edu 34 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

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

Department of Informatics, UC Irvine SDCL Collaboration Laboratory Software Design and sdcl.ics.uci.edu 36 A Day in the Life of a Software Engineer list=PLllx_3tLoo4fd1deqnzvyZrIrJzRdSC6- list=PLllx_3tLoo4fd1deqnzvyZrIrJzRdSC6-

Department of Informatics, UC Irvine SDCL Collaboration Laboratory Software Design and sdcl.ics.uci.edu 37 “Do Cool Things that Matter”

Department of Informatics, UC Irvine SDCL Collaboration Laboratory Software Design and sdcl.ics.uci.edu 38 “How to Get Noticed”

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

Department of Informatics, UC Irvine SDCL Collaboration Laboratory Software Design and sdcl.ics.uci.edu 40 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

Department of Informatics, UC Irvine SDCL Collaboration Laboratory Software Design and sdcl.ics.uci.edu 41 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

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

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

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

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

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

Department of Informatics, UC Irvine SDCL Collaboration Laboratory Software Design and sdcl.ics.uci.edu 47 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]

Department of Informatics, UC Irvine SDCL Collaboration Laboratory Software Design and sdcl.ics.uci.edu 48 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]

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

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

Department of Informatics, UC Irvine SDCL Collaboration Laboratory Software Design and sdcl.ics.uci.edu 51 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]

Department of Informatics, UC Irvine SDCL Collaboration Laboratory Software Design and sdcl.ics.uci.edu 52 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]

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

Department of Informatics, UC Irvine SDCL Collaboration Laboratory Software Design and sdcl.ics.uci.edu 54 Final Exam Next Thursday, December 10 th, 4:00pm-6:00pm 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!!

Department of Informatics, UC Irvine SDCL Collaboration Laboratory Software Design and sdcl.ics.uci.edu 55 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

Department of Informatics, UC Irvine SDCL Collaboration Laboratory Software Design and sdcl.ics.uci.edu 56 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)

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

Department of Informatics, UC Irvine SDCL Collaboration Laboratory Software Design and sdcl.ics.uci.edu 58 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)

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

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

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

Department of Informatics, UC Irvine SDCL Collaboration Laboratory Software Design and sdcl.ics.uci.edu 62 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

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

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

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