SOFTWARE ENGINEERING Today motivation Software Engineering Why Software

  • Slides: 16
Download presentation
SOFTWARE ENGINEERING • Today - motivation: - Software Engineering: Why? - Software Engineering: What?

SOFTWARE ENGINEERING • Today - motivation: - Software Engineering: Why? - Software Engineering: What? SE-2002

WHY SOFTWARE ENGINEERING? • High failure rate of software projects. • Expensive or dramatic

WHY SOFTWARE ENGINEERING? • High failure rate of software projects. • Expensive or dramatic failures - http: //www. csc. calpoly. edu/~jdalbey/205/Resources/reso urces. html has, in addition to an also otherwise good set of links, also links to descriptions of failed software projects. • Also the partially succesfull software projects have problems. • A belief that systematic work could improve things. SE-2002

HOW TO IDENTIFY SOFTWARE PROJECT SUCCESS • The product is accepted or sells •

HOW TO IDENTIFY SOFTWARE PROJECT SUCCESS • The product is accepted or sells • Economical profit • Low error rate • Schedule and budget are kept SE-2002

SUCCESS FACTORS • Good project management • Understanding the needs and freezing the requirements

SUCCESS FACTORS • Good project management • Understanding the needs and freezing the requirements • Controlled implementation and delivery • Skilled project personnel • Sufficient resources • Good communication between groups SE-2002

MAJOR ERRORS • • • Too optimistic design Over-emphasizing technology Management problems No profitability

MAJOR ERRORS • • • Too optimistic design Over-emphasizing technology Management problems No profitability pre-evaluation Unrealistic resources Communication problems SE-2002

SUCCESS STUDIES ONNI’ 88 (Finland) • Over 100 projects • Good success: 33% •

SUCCESS STUDIES ONNI’ 88 (Finland) • Over 100 projects • Good success: 33% • Questionable: 42% • Failure: 25% SE-2002

ONNI’ 88 REASONS FOR FAILURE • Inabilities of the Software Engineering personnel • Insufficient

ONNI’ 88 REASONS FOR FAILURE • Inabilities of the Software Engineering personnel • Insufficient resources • Management problems SE-2002

SUCCESS STUDIES: USA’ 82 - Gibson & Singer • 18 projects • • •

SUCCESS STUDIES: USA’ 82 - Gibson & Singer • 18 projects • • • Good success: 17% Partly usable/in use: 28% Satisfactory (just about? ) 11% Failure: 22% No evaluation: 11% SE-2002

USA’ 82 REASONS FOR FAILURE • Organisational problems • New work methods and salary

USA’ 82 REASONS FOR FAILURE • Organisational problems • New work methods and salary policies • Unexpected changes in business SE-2002

FORSMAN’S STUDIES (FINLAND) • From Forsman’s book ”ATK-projektin läpivienti”, Suomen ATK-kustannus Oy, 1995 •

FORSMAN’S STUDIES (FINLAND) • From Forsman’s book ”ATK-projektin läpivienti”, Suomen ATK-kustannus Oy, 1995 • 17 projects • • Good success: 18% Partially usable/in use: 29% Satisfactory (just about? ): 29% Failure: 24% SE-2002

FORSMAN REASONS FOR FAILURE • Problems in organisation and attitudes • The customer could

FORSMAN REASONS FOR FAILURE • Problems in organisation and attitudes • The customer could not decide what it wants • Problems with customer and software producer communication • Inexperience of the software producer SE-2002

EXAMPLES OF FAILING SOFTWARE RISKS: • Nuclear war • General technical device malfunction (e.

EXAMPLES OF FAILING SOFTWARE RISKS: • Nuclear war • General technical device malfunction (e. g. failing life-support devices) • Economical transaction failures • Economical losses in business • Personal tragedies from faulty information • Y 2 K was considered to imply several different kinds of risks, but all went reasonably well SE-2002

A BELIEF IN SYSTEMATIC WORK AND METHODS • There is no way to guarantee

A BELIEF IN SYSTEMATIC WORK AND METHODS • There is no way to guarantee success • Sometimes also the not so good practices seem to bring some success • However, the studies suggest that the way software is made is meaningful for the success, at least statistically • Practical observations support the belief SE-2002

LARGE SYSTEMS • Some problems grow with the size of the software, below we

LARGE SYSTEMS • Some problems grow with the size of the software, below we give example sizes: • Dutch KLM airline reservation system (1993), 2 000 assembler loc (lines of code) • Unix System V, relese 4. 0 with Xnews and X 11, over 3 700 000 loc • Nokia NMS/2000 network management system, over 2 400 000 loc • NASA Space Shuttle software, 40 000 lines of object code • IBM OS 360: 5000 man years of development SE-2002

SOFTWARE ENGINEERING WHAT • IEEE: Software engineering is the systematic approach to the development,

SOFTWARE ENGINEERING WHAT • IEEE: Software engineering is the systematic approach to the development, operation, maintenance, and retirement of software • An earlier definition: Software engineering is the establishment and use of sound engineering principles in order to obtain economically software that is reliable and works efficiently on real machines. SE-2002

SOFTWARE ENGINEERING WHAT (observations) • Software engineering concerns the construction of large programs. •

SOFTWARE ENGINEERING WHAT (observations) • Software engineering concerns the construction of large programs. • Mastering complexity is essential. • Regular co-operation between people is an integral part of the process. • Software evolves. • Software development efficiency is important • The software has to serve its purpose and users. SE-2002