SOFTWARE ENGINEERING Today motivation Software Engineering Why Software
- Slides: 16
SOFTWARE ENGINEERING • Today - motivation: - Software Engineering: Why? - Software Engineering: What? SE-2002
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 • Economical profit • Low error rate • Schedule and budget are kept SE-2002
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 pre-evaluation Unrealistic resources Communication problems SE-2002
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 resources • Management problems SE-2002
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 policies • Unexpected changes in business SE-2002
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 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. 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 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 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, 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. • 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
- Pictures
- Today meeting or today's meeting
- Today's class work
- Today meeting or today's meeting
- Galton details
- Today's lesson or today lesson
- Example of repitition
- Don't ask why why why
- What is importance of motivation?
- Why motivation matters
- Why was gold a motivation for exploration
- Why is the bible still relevant today
- System procurement process in software engineering
- Forward engineering and reverse engineering
- Motivating software engineers
- Software maintenance in software engineering ppt
- What is software implementation in software engineering