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?

Back to top button