OHJELMISTOJEN TOTEUTUS SOFTWARE ENGINEERING Today motivation Software Engineering

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

OHJELMISTOJEN TOTEUTUS - SOFTWARE ENGINEERING • Today - motivation: - Software Engineering: Why? - Software Engineering: What? OHTO -99

WHY SOFTWARE ENGINEERING? • High failure rate of software projects. • Also the partially

WHY SOFTWARE ENGINEERING? • High failure rate of software projects. • Also the partially succesfull software projects have problems. • A belief that systematic work could improve things. OHTO -99

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 OHTO -99

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 OHTO -99

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 OHTO -99

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% OHTO -99

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 OHTO -99

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% OHTO -99

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 OHTO -99

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% OHTO -99

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 OHTO -99

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 - ? OHTO -99

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 OHTO -99

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 OHTO -99

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. OHTO -99

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. OHTO -99