Download presentation
Presentation is loading. Please wait.
1
Software Process Improvement
Current Problems Promising Approaches/Solutions Nature of Software Engineering Software Engineering Research Recent Developments and the Future
2
From Crisis to Incremental Improvement
Software Chronic Crisis - Lecture 1 Process Modeling and Improvement - the CMM, Implementation - technical and social issues, and the PSP - Lectures 2, 3, and 4 Formal Methods - Lecture 5 and Microsoft related reading and exercise Clean Room - Process improvements with Formal methods - Lecture 6 Empirical basis of Software Engineering Research - Lecture 7 “No Silver Bullet” - Lecture 8
3
Large and growing systems...
In general, software systems have seen an order of magnitude growth in size every decade (for some industries this has occurred every half decade). [SEI finding] Software disasters are inevitable unless software development becomes an engineering discipline with roots in science and mathematics.
4
Some Solutions Progress on Software Process, e.g. the SEI’s Capability Maturity Model (CMM) 5 Level Model - 1 is Chaotic, 2 is Repeatable, 3 is Defined, 4 is Managed and 5 is Optimising But 75% of companies are at Level 1 and 24% are at Levels 2 and 3. USA Space Shuttle software maintenance is at Level 5.
5
Mathematical Foundations and Formal Methods
Progress on error-free software is slow. Plan in mid90s to beta-test new version of Windows by 20,000 volunteers. [Microsoft Chief Architect C Simonyi] This is expensive, inefficient and usually impractical. View of Martyn Thomas founder of Praxis is that we should rely on mathematical analysis of formal specifications to predict how software will behave. Applicable to either the most critical parts or whole systems.
6
Clean Room Approach and Improved Testing
Clean Room = Application of rigorous engineering techniques from electronic engineering Coupled with new approaches to testing emphasizing probabilities of execution paths. Putting testing on a more scientific basis.
7
Progress on Software Reuse
There is some work on component based development, reusable parts and standardisation to support reuse But more research is needed before this becomes widespread industrial practice.
8
No Single Solution A combination of approaches is needed - there is no silver bullet! In addition, Software Engineering needs a better empirical basis - we need more experiments! E.g. Software productivity measurement problems No reliable data No uniform measures No quality considerations (1000 lines of spaghetti or lasagna.
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.