文档介绍:Object-Oriented Software EngineeringPractical Software Development using UML and Java
Chapter 1:
Software and Software Engineering
© Lethbridge/Laganière 2001
1
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
2
Chapter 1: Software and Software Engineering
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 plex
© Lethbridge/Laganière 2001
3
Chapter 1: Software and Software Engineering
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
4
Chapter 1: Software and Software Engineering
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
5
Chapter 1: Software and Software Engineering
Types of Software
Differences among custom, generic and embedded software
© Lethbridge/Laganière 2001
6
Chapter 1: Software and Software Engineering
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
7
Chapter 1: Software and Software Engineering
What is Soft