tailieunhanh - Lecture Object-oriented software engineering: Chapter 1 - Timothy Lethbridge, Robert Laganiere
The software engineer’s job is to solve problems economically by developing high-quality software. In this first chapter we will present important issues that all software engineers should understand to do their jobs well. In this chapter you will learn about the following: How does software differ from other products? How does software change over time? What do we mean when we talk about high-quality software? What types of software are there and what are their main differences? How are software projects organized? How successful are typical projects?. | Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 1: Software and Software Engineering The Nature of Software. Software is intangible Hard to understand development effort Software is easy to reproduce Cost is in its development in other engineering products, manufacturing is the costly stage The industry is labor-intensive Hard to automate © Lethbridge/Laganière 2001 The Nature of Software . Untrained people can hack something together Quality problems are hard to notice Software is easy to modify People make changes without fully understanding it Software does not ‘wear out’ It deteriorates by having its design changed: erroneously, or in ways that were not anticipated, thus making it complex © Lethbridge/Laganière 2001 The Nature of Software Conclusions Much software has poor design and is getting worse Demand for software is high and rising We are in a perpetual ‘software crisis’ We have to learn to ‘engineer’ software . | Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 1: Software and Software Engineering The Nature of Software. Software is intangible Hard to understand development effort Software is easy to reproduce Cost is in its development in other engineering products, manufacturing is the costly stage The industry is labor-intensive Hard to automate © Lethbridge/Laganière 2001 The Nature of Software . Untrained people can hack something together Quality problems are hard to notice Software is easy to modify People make changes without fully understanding it Software does not ‘wear out’ It deteriorates by having its design changed: erroneously, or in ways that were not anticipated, thus making it complex © Lethbridge/Laganière 2001 The Nature of Software Conclusions Much software has poor design and is getting worse Demand for software is high and rising We are in a perpetual ‘software crisis’ We have to learn to ‘engineer’ software © Lethbridge/Laganière 2001 Types of Software. Custom For a specific customer Generic Sold on open market Often called COTS (Commercial Off The Shelf) Shrink-wrapped Embedded Built into hardware Hard to change © Lethbridge/Laganière 2001 Types of Software Differences among custom, generic and embedded software © Lethbridge/Laganière 2001 Types of Software Real time software . control and monitoring systems Must react immediately Safety often a concern Data processing software Used to run businesses Accuracy and security of data are key Some software has both aspects © Lethbridge/Laganière 2001 What is Software Engineering?. The process of solving customers’ problems by the systematic development and evolution of large, high-quality software systems within cost, time and other constraints Solving customers’ problems This is the goal of software engineering Sometimes the solution is to buy, not build Adding unnecessary features does not help solve the problem .
đang nạp các trang xem trước