230 likes | 251 Views
Level 1. Level 1 – Initial: The software process is characterized as ad hoc and occasionally even chaotic. Few processes are defined, and success depends upon individual effort. Software Engineering II Lecture 2. Level 2.
E N D
Level 1 Level 1 – Initial: The software process is characterized as ad hoc and occasionally even chaotic. Few processes are defined, and success depends upon individual effort
Software Engineering II Lecture 2
Level 2 Level 2 – Repeatable: Basic project management processes are established to track cost, schedule, and functionality. The necessary project discipline is in place to repeat earlier successes on projects with similar applications
Level 3 Level 3 – Defined: The software process for both management and engineering activities is documented, standardized, and integrated into an organizational software process. All projects use a documented and approved version of the organization’s processes for developing and supporting software
Level 4 Level 4 – Managed: Detailed measures for software process and product quality are controlled. Both the software process and products are quantitatively understood and controlled using detailed measures
Level 5 Level 5 – Optimizing: Continuous process improvement is enabled by qualitative feedback from the process and from testing innovative ideas and technologies
Key Process Areas (KPAs) The KPAs describe those software engineering functions that must be present to satisfy good practice at a particular level. Each KPA is described by identifying the following characteristics
Software Life-Cycle Steps Life-cycle model (formerly, process model) • Requirements phase • Specification phase • Design phase • Implementation phase • Integration phase • Maintenance phase • Retirement
Different Lifecycle Models • Build-and-fix model • Waterfall model • Rapid prototyping model • Incremental model • Extreme programming • Synchronize-and-stabilize model • Spiral model • Object-oriented life-cycle models • Comparison of life-cycle models
Development Maintenance Build and Fix Model Build first version Modify until client is satisfied Maintenance phase Retirement
Waterfall Model Requirement Definition System and Software Design Implementation and Unit Testing Integration and System Testing Operation and Maintenance
Waterfall Model Requirement Definition System and Software Design Implementation and Unit Testing Integration and System Testing Operation and Maintenance
Rapid Prototyping Rapid Prototyping Model Requirement Definition System and Software Design Implementation and Unit Testing Integration and System Testing Operation and Maintenance
The Process • A software process is a road map that helps you create a timely, high quality result. • It is the way we produce software • Provides stability and control • Work Product • Programs, documents, and data produced as a consequence of the software engineering activities
Process Maturity • SEI – Software Engineering Institute • 5 maturity levels • Capability Maturity Model (CMM)
CMM Maturity Levels OPTIMIZED – Process Improvement MANAGED – Process Measurement DEFINED – Process Definition REPEATABLE – Project Management INITIAL – Ad hoc Process
Key Process Areas (KPAs) • Commitments • Activities • Goals • Abilities • Methods for monitoring implementation • Methods for verifying implementation
Level 2 KPAs • Software Configuration Management • Software Quality Assurance • Software subcontract Management
Level 2 KPAs - Continued • Software project tracking and oversight • Software project planning • Requirement management
Level 3 KPAs • Peer reviews • Inter-group coordination • Software product Engineering • Integrated software management
Level 3 KPAs - Continued • Training program • Organization process management • Organization process focus
Level 5 KPAs • Process change management • Technology change management • Defect prevention
Software Engineering Phases • Vision – focus on why • Definition – focus on what 2. Development – focus on how 3. Maintenance – focus on change Vision Definition Development Maintenance