Software Engineering ‘all aspects of software production’
10 Slides605.50 KB
Software Engineering ‘all aspects of software production’ - Software engineering is not just concerned with the technical processes of software development but also with activities such as software project management and with the development of tools, methods and theories to support software production. -Sommerville
Software Engineering II Lecture 45 Fakhar Lodhi
Recap
Why Projects Fail? An unrealistic deadline is established Changing customer requirements Ambiguous/incomplete requirements An honest underestimate of effort Predictable and/or unpredictable risks Technical difficulties Miscommunication among project staff Failure in project management
Comparison of CMMI Representations Staged Process improvement is measured using maturity levels. Maturity level is the degree of process improvement across a predefined set of process areas. Organizational maturity pertains to the “maturity” of a set of processes across an organization Continuous Process improvement is measured using capability levels. Capability level is the achievement of process improvement within an individual process area. Process area capability pertains to the “maturity” of a particular process across an organization.
CMM Maturity Levels OPTIMIZED – Process Improvement MANAGED – Process Measurement DEFINED – Process Definition REPEATABLE – Project Management INITIAL – Ad hoc Process
Project Management Concerns product quality? risk assessment? measurement? cost estimation? project scheduling? customer communication? staffing? other resources? project monitoring?
Project Management Planning Organization Control Motivation
Scope Resource s Schedule
Software Quality Assurance What is quality? – Internal versus external – Does internal quality translate in external quality Do you need to worry about it after the code has been generated?