Download presentation
Presentation is loading. Please wait.
1
Department of Informatics, UC Irvine SDCL Collaboration Laboratory Software Design and sdcl.ics.uci.edu 1 ICS 52 Introduction to Software Engineering Lecture 2 Duplication of course material for any commercial purpose without the explicit written permission of the professor is prohibited.
2
Department of Informatics, UC Irvine SDCL Collaboration Laboratory Software Design and sdcl.ics.uci.edu 2 Today’s lecture Defining software engineering People, processes, tools, and products
3
Department of Informatics, UC Irvine SDCL Collaboration Laboratory Software Design and sdcl.ics.uci.edu 3 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]
4
Department of Informatics, UC Irvine SDCL Collaboration Laboratory Software Design and sdcl.ics.uci.edu 4 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] “Multi-person construction of multi-version software.” [Parnas]
5
Department of Informatics, UC Irvine SDCL Collaboration Laboratory Software Design and sdcl.ics.uci.edu 5 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] “It’s where you get to design big stuff and be creative.” [Taylor]
6
Department of Informatics, UC Irvine SDCL Collaboration Laboratory Software Design and sdcl.ics.uci.edu 6 Software engineering “Difficult.” [van der Hoek]
7
Department of Informatics, UC Irvine SDCL Collaboration Laboratory Software Design and sdcl.ics.uci.edu 7 Essential characteristics Software engineering concerns the development of large programs The central theme is mastering complexity Software evolves The efficiency with which software is developed is of crucial importance Regular cooperation between people is an integral part of programming-in-the-large The software has to support its users effectively Software engineering is a field in which members of one culture create artifacts on behalf of members of another culture Software engineering is a balancing act
8
Department of Informatics, UC Irvine SDCL Collaboration Laboratory Software Design and sdcl.ics.uci.edu 8 Programming versus software engineering Small projectLarge to huge project YouTeams Build what you wantBuild what they want One productFamily of products Few sequential changesMany parallel changes Short-livedLong-lived CheapCostly Small consequencesLarge consequences ProgrammingSoftware engineering
9
Department of Informatics, UC Irvine SDCL Collaboration Laboratory Software Design and sdcl.ics.uci.edu 9 From programming to software engineering People – who else would do the work? – range from novice to very experienced Processes – to organize 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
10
Department of Informatics, UC Irvine SDCL Collaboration Laboratory Software Design and sdcl.ics.uci.edu 10 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
11
Department of Informatics, UC Irvine SDCL Collaboration Laboratory Software Design and sdcl.ics.uci.edu 11 Processes Essential to achieve a quality product Scarce resource – quality – suitability – cost Many different kinds of processes – bug tracking – change approval – quality assurance
12
Department of Informatics, UC Irvine SDCL Collaboration Laboratory Software Design and sdcl.ics.uci.edu 12 Tools Needed to support people and processes Scarce resource – quality – suitability – cost Many different kinds of tools – drawing – analysis – project management – source code management
13
Department of Informatics, UC Irvine SDCL Collaboration Laboratory Software Design and sdcl.ics.uci.edu 13 Products Result of applying people, processes, and tools Consist of many deliverables – software – documentation – user manuals – test cases – design documents Have intrinsic qualities – safety – reliability – user friendliness
14
Department of Informatics, UC Irvine SDCL Collaboration Laboratory Software Design and sdcl.ics.uci.edu 14 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 organization – build a reputation through the quality of products – create organizational culture – important to keep the team intact
15
Department of Informatics, UC Irvine SDCL Collaboration Laboratory Software Design and sdcl.ics.uci.edu 15 Does it always work? PeopleProcessesToolsProduct Good Bad Good BadGood Bad GoodBadGood BadGoodBad Good BadGood Bad GoodBad Good Bad GoodBadGood BadGoodBad Good Bad GoodBad Good Bad
16
Department of Informatics, UC Irvine SDCL Collaboration Laboratory Software Design and sdcl.ics.uci.edu 16 Choose the right solution Tijuana Europe Hawaii
17
Department of Informatics, UC Irvine SDCL Collaboration Laboratory Software Design and sdcl.ics.uci.edu 17 Homework Read chapter 1, van Vliet
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.