【正文】
” [Schach] 169。 2021, Univ ersity of C alifornia, Irv ine Lecture 11 Software Engineering ? “ A discipline whose aim is the production of faultfree software, delivered ontime and within budget, that satisfies the user’s needs. Furthermore, the software must be easy to modify when the user’s needs change.” [Schach] ? It’s where you get to design big stuff and be creative.” [Taylor] 169。 2021, Univ ersity of C alifornia, Irv ine Lecture 11 Software Engineering ? “ Difficult.” [van der Hoek] 169。 2021, Univ ersity of C alifornia, Irv ine Lecture 11 Context Programming Engineering Small project You Build what you want One product Few sequential changes Shortlived Cheap Small consequences Huge project Teams Build what they want Family of products Many parallel changes Longlived Costly Large consequences 169。 2021, Univ ersity of C alifornia, Irv ine Lecture 11 From Programming to Engineering ? People ? Who else would do the work? ? Range from novice to very experienced ? Processes ? To anize and manage the efforts of individuals ? Range from informal to very formal ? Tools ? To support the people and the processes ? Range from simple to very advanced People + Processes + Tools ? Product 169。 2021, Univ ersity of C alifornia, Irv ine Lecture 11 People ? The single most important factor in the success/failure of a product ? Scarce resource ? Quality ? Suitability ? Cost ? Many different kinds of people ? Managers ? Programmers ? Technical writers Not the focus of ICS 52: see ICS 131 169。 2021, Univ ersity of C alifornia, Irv ine Lecture 11 Processes ? Essential to achieve a quality product ? Scarce resource ? Quality ? Suitability ? Cost ? Many different kinds of processes ? Bug tracking ? Change approval ? Quality assurance Focus of ICS 52 169。 2021, Univ ersity of C alifornia, Irv ine Lecture 11 Tools ? Needed to support people and processes ? Scarce resource ? Quality ? Suitability ? Cost ? Many different kinds of tools ? Drawing ? Analysis ? Project management ? Source code management Not the focus of ICS 52: see ICS 121 people support process support 169。 2021, Univ ersity of C alifornia, Irv ine Lecture 11 ? Result of applying people, processes, and tools ? Consists of many deliverables ? Software ? Documentation ? User manuals ? Test cases ? Design documents ? Intrinsic qualities ? Safety ? Reliability ? User friendliness Product See lecture 169。 2021, Univ ersity of C alifornia, Irv ine Lecture 11 People, Processes, Tools, Products ? Products are always the eventual goal ? Selling products creates revenue ? Selling good products creates lots of revenue ? Selling bad products creates little revenue ? People, processes, and tools are retained by anization ? Build a reputation through the quality of products ? Create anizational culture ? Important to keep the team intact People + Processes + Tools ? Product 169。 2021, Univ ersity of C alifornia, Irv ine Lecture 11 Does It Always Work? People Processes Tools Product good good good good good good good bad good good bad good good good bad bad good bad good good good bad good bad bad good good good bad good good bad bad good bad good bad good bad bad bad bad good good bad bad good bad good bad bad good good bad bad bad bad bad bad good bad bad bad bad 169。 2021, Univ ersity of C alifornia, Irv ine Lecture 11 Choose the Right Solution Tijuana Europe Hawaii 169。 2021, Univ ersity of C alifornia, Irv ine Lecture 11 Why Do We Do It? ? Economics 101 ? More revenue ? Better people, processes, tools ? better product ? Better product ? more customers ? More customers ? more revenue ? More revenue ? more profit ? Less expense ? Better people, processes, tools ? less time ? Less time ? less expense ? Less expense ? more profit ? Critical software ? Leaving a legacy 169。 2021, Univ ersity of C alifornia, Irv ine Lecture 11 Science, Management, Human Factors, Engineering ? Science: empirical studies, theories characterizing aggregate system behavior (., reliability) ? Management: anizing teams, directing activities, correcting problems ? Human factors: user task understanding and modeling, ergonomics in user interface design ? Engineering: tradeoffs, canonical solutions to typical problems ? Tradeoffs and representative qualities ? Pick any two: ? Good, cheap, fast ? Scalability, functionality, performance 169。 2021, Univ ersity of C alifornia, Irv ine Lecture 11 Your First Tasks 1. Be proficient in Java 2. Be familiar with Microsoft tools ? Microsoft Word, PowerPoint 3. Read and study slides of this lecture 4. Read and study Chapters 1 and 2 of Sommerville No discussion until announced in class Lecture 11 169。 2021, Univ ersity of C alifornia, Irv ine ICS 52 Introduction to Software Engineering Lecture Notes for Spring Quarter, 2021 Andr233。 van der Hoek Lecture 12 Copyright 169。 2021, Andr233。 van der Hoek Duplication of course material for any mercial purpose without the written permission of the lecturer is prohibited. 169。 2021, Univ ersity of C alifornia, Irv ine Lecture 11 Today’s Lecture ? What makes software engineering difficult? ? An introduction to software life cycle models 169。 2021, Univ ersity of C alifornia, Irv ine Lecture 11 Visibility vs… 169。 2021, Univ ersity of C alifornia, Irv ine Lecture 11 …Invisibility ? Software as is cannot be viewed meaningfully ? Stack of paper ? Set of files ? Software cannot be interpreted easily ? How to read source code? ? How to read a million lines of source code? ? How to read a part of source code? ? Invisibility affects process ? How to measure progress? ? Is a bigger stack of paper closer to the e