Ch01 | Technology | Computing

Software Engineering

1

Software and Software Engineering

2

Software’s Dual Role

Software is a product
 

Software is a vehicle for delivering a product
   

Delivers computing potential Produces, manages, acquires, modifies, displays, or transmits  information Supports or directly provides system functionality Controls other programs (e.g., an operating system) Effects communications (e.g., networking software) Helps build other software (e.g., software tools)

3

What is Software?
Software is a set of items or objects  that form a “configuration” that  includes       •  programs       •  documents      •  data ... 

4

What is Software?
  

software is engineered software doesn’t wear out software is complex

5

Software Applications
      

system software application software engineering/scientific software  embedded software  product­line software WebApps (Web applications) AI software

6

Legacy Software
Why must it change?

software must be adapted to meet the needs of new  computing environments or technology. software must be enhanced to implement new  business requirements. software must be extended to make it interoperable  with other more modern systems or databases. software must be re­architected to make it viable  within a network environment.

7

What is Software Engineering?
A historical definition:
“The establishment and use of sound engineering principles in order to  obtain economically software that is reliable and works efficiently on real  machines …” [Fritz Bauer, at the 1st NATO Conference on Software Engineering, 
1969]

IEEE definition:

 

“Software engineering is the application of a systematic, disciplined,  quantifiable approach to the development, operation, and maintenance of  software; that is, the application of engineering to software.”

8

Facts about Software Projects 
28%
completed on time and on budget canceled before completion overran original estimates: -Time overrun averaged 63% - Cost overrun averaged 45%

23%

49%

9

Software Myths
Affect managers, customers (and other non­technical  stakeholders) and practitioners  Are believable because they often have elements of truth,  but …  Invariably lead to bad decisions,  therefore …  Insist on reality as you navigate your way through  software engineering

10

Software Myths

11

Developer’s Prespective

12

Management's Perspective

13

Management's Perspective

14

15

16

Sign up to vote on this title
UsefulNot useful