Software Engineering - I

Slides:



Advertisements
Similar presentations
PROCESS FRAMEWORK Lecture - 3. Topics covered PROCESS FRAMEWORK PROCESS MODELS DIFFERENCE.
Advertisements

Chapter 2 The Software Process
Copyright 2003 CMMI: Executive Briefing Presented by Kieran Doyle
CMMI Overview Dr. Korson Software Engineering. 2 Immature organizations can be successful on occasion, but ultimately run into difficulties because –Success.
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by.
Capability Maturity Model (CMM) in SW design
Capability Maturity Model Integration (CMMI). CMMI Enterprise-wide process improvement framework Focuses on processes for improved product Process areas:
Software Engineering: A Practitioner’s Approach, 6/e Chapter 2 Process: A Generic View copyright © 1996, 2001, 2005 R.S. Pressman & Associates, Inc.
CMMI Overview Quality Frameworks.
Developed by Reneta Barneva, SUNY Fredonia The Process.
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by.
Lecture 11 CMM CSCI – 3350 Software Engineering II Fall 2014 Bill Pine.
Capability Maturity Model
Chapter : Software Process
Process: A Generic View
Process: A Generic View n A software process  is a roadmap to building high quality software products.  provides a framework for managing activities.
1 Software Engineering Muhammad Fahad Khan Software Engineering Muhammad Fahad Khan University Of Engineering.
Capability Maturity Model Integration
1 The Continuous Representation. 2 UNIT 2 Topics covered in this unit include Additional terminology Practices – The fundamental building blocks Process.
Integrated Capability Maturity Model (CMMI)
Chapter 2 Software Process: A Generic View
Chapter 2 The process Process, Methods, and Tools
Chapter 2 The Process.
N By: Md Rezaul Huda Reza n
1 The Continuous Representation. 2 UNIT 2 Topics covered in this unit include Additional terminology Practices – The fundamental building blocks Process.
Chapter 2 Process: A Generic View
1 Chapter 2 The Process. 2 Process  What is it?  Who does it?  Why is it important?  What are the steps?  What is the work product?  How to ensure.
CMMi What is CMMi? Basic terms Levels Common Features Assessment process List of KPAs for each level.
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by.
Introduction to Software Engineering LECTURE 2 By Umm-e-Laila 1Compiled by: Umm-e-Laila.
Chapter 2 Process: A Generic View
Software Engineering Lecture # 17
10/16/2015Bahill1 Organizational Innovation and Deployment Causal Analysis and Resolution 5 Optimizing 4 Quantitatively Managed 3 Defined 2 Managed Continuous.
Software process improvement Framework for SPI SPI support groups, maturity and immaturity models Assessment and gap analysis Education and training Selection.
Software Engineering Principles Principles form the basis of methods, techniques, methodologies and tools Principles form the basis of methods, techniques,
CS 3610: Software Engineering – Fall 2009 Dr. Hisham Haddad – CSIS Dept. Chapter 2 The Software Process Discussion of the Software Process: Process Framework,
Lecture Topics covered CMMI- - Continuous model -Staged model PROCESS PATTERNS- -Generic Process pattern elements.
Capability Maturity Model CS3300 Fall The Problem Contractors over budget and late. Need a way to rank how likely a software company is to deliver.
1 ISO 9001:2000 ISO 9001 is the creation of the International Organisation for Standardisation (ISO), a Swiss-based federation of national standards bodies.ISO.
IS Methodologies. Systems Development Life Cycle - SDLC Planning Planning define the system to be developed define the system to be developed Set the.
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by.
Process: A Generic View
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by.
Requirements Development in CMMI
Developed by Reneta Barneva, SUNY Fredonia The Process.
The Software Process Chapter – II. Topics S/w Engg – A layered Technology A Process Framework Process Patterns Process Assessment Product and Process.
1 These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by.
1 Software Engineering: A Practitioner’s Approach, 7/e Chapter 2 Process: A Generic View Software Engineering: A Practitioner’s Approach, 7/e Chapter 2.
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by.
An Introduction. Objective - Understand the difference between CMM & CMMI - Understand the Structure of CMMI.
1 Chapter 2 A Generic View of Process Software Engineering: A Practitioner’s Approach, 6th edition by Roger S. Pressman.
Software Engineering Introduction.
PI2134 Software Engineering IT Telkom.  Layered technology  Software Process  Generic Process (by Pressman)  Fundamental activities (by Sommerville)
Software Engineering (CSI 321) Software Process: A Generic View 1.
CMMI1 Capability Maturity Model Integration Eyal Ben-Ari 8/2006.
MSA Orientation – v203a 1 What’s RIGHT with the CMMI?!? Pat O’Toole
Project Management Strategies Hidden in the CMMI Rick Hefner, Northrop Grumman CMMI Technology Conference & User Group November.
CMMI Overview Quality Frameworks. Slide 2 of 146 Outline Introduction High level overview of CMMI Questions and comments.
1 Software Engineering: A Practitioner’s Approach, 6/e Chapter 2 Process: A Generic View Software Engineering: A Practitioner’s Approach, 6/e Chapter 2.
© 2004 Tangram Hi-Tech Solutions Project Management According to the CMMI1 Project Management according to the Capability Maturity Model (CMMI)
Certification: CMMI Emerson Murphy-Hill. Capability Maturity Model Integration (CMMI) Creation of the Software Engineering Institute (SEI) at Carnegie.
CMMI Overview Quality Frameworks.
Software Engineering (CSI 321)
CMMI – Staged Representation
Software Engineering: A Practitioner’s Approach, 6/e Chapter 2 Process: A Generic View copyright © 1996, 2001, 2005 R.S. Pressman & Associates, Inc.
Software Engineering I
Capability Maturity Model
Capability Maturity Model
Requirements Development in CMMI
Chapter 4: Software Process Models
Presentation transcript:

Software Engineering - I WEEK 2

Software Engineering: A Layered Technology Tools Methods Process A Quality Focus

Software Process Series of predictable steps-a road map that helps create a timely and high quality entity Process Software Process is a framework for the tasks that are required to build high quality software  

Methods & Tools Methods: Technical how-to’s for building software. Encompasses a broad array of tasks that include requirement analysis, design, program construction, testing and support Tools: Provision of automated or semi- automated support for the process and the methods. Computer aided software engineering (a system for the support of software development)

Generic View of SE Definition phase- Development phase-HOW WHAT, i.e., what information, function, performance Development phase-HOW Support phase Types of change Correction Adaptation Enhancement Prevention Umbrella Activities

Software Engineering: A Generic View Measurement Phases of Work Associated With Software Engineering Definition Phase Support Phase Development Phase Correction Enhancement Adaptation Prevention Reusability management Risk Management Software project tracking control Formal technical reviews Software configuration & management Software quality assurance

The Software Process A common process framework Framework Activities Established by defining a small number of framework activities that are applicable to all software projects Umbrella Activities Encompasses a set of umbrella activities that are applicable across the entire software process. Framework Activities Establish the foundation for a complete software process by identifying a small number of framework activities that are applicable to all software projects, regardless of their size or complexity.

A Process framework Software Engineering Actions Task sets Work Tasks Each framework activity is populated by a set of software engineering actions--- a collection of related tasks that produces a major software engineering work product (e.g. design is a software engineering action) Task sets A collection of software engineering work tasks, project milestones, work products, and quality assurance points that enable the framework activities to be adapted to the characteristics of the software project and the requirements of the project team. Work Tasks Each action is populated with individual work tasks that accomplish some part of the work implied by the action.

Generic process framework Communication Planning Modeling Construction Deployment

…cont Communication Planning Heavy collaboration with the customer and stakeholders, Requirements gathering and other related activities. Planning Establish plan for s/w engineering work Tasks to be conducted Risks that follow Work products produced Work schedule

...cont Modeling Construction Deployment Creation of models that allow the developer and the customer better understand the s/w requirements and the design that will achieve those requirements Construction Code generation Testing to uncover errors Deployment Delivery to the customer Customer evaluation and feedback

An Example Modeling-(Framework activity) Analysis-(Software engineering action) Requirements gathering-(work task) Elaboration-(work task) Negotiation-(work task) Specification-(work task) validation-(work task) Analysis model-(work product) Quality assurance points milestones

...cont Modeling-(Framework activity) Design-(Software engineering action) Data design-(work task) Architectural design-(work task) Interface design-(work task) Component-level design-(work task) Design model-(work product) Quality assurance points milestones

Umbrella activities Software project tracking and control Risk management Software quality assurance Formal technical reviews Measurement Software configuration management Reusability management Work product preparation and production

Introduction to cmmi

Why CMMI??? Customer satisfaction Software quality Fundamental problem Motto of many organizations. Software quality To be induced into the software. Fundamental problem Inability to manage the software process.

Symptoms of process failure Commitments Consistently Missing Late Delivery Last minute crunches Spiraling costs No Management visibility into Progress You’re always being surprised Quality Problems Too much rework Functions do not work correctly Customer complaints after delivery Poor Morale People frustrated Is anyone In charge?

The quality of a system is highly influenced by the quality of the process used to acquire, develop and maintain it.

Capability Maturity Model Integration What is CMMI? What is its Frame Work? Explains its different levels with examples?

…cont The Capability Maturity Model Integration (CMMI) Developed by the Software Engineering Institute (SEI), a federally funded research & development center, located at Carnegie Mellon University in Pittsburgh Based on surveys of successful software companies The Capability Maturity Model Integration (CMMI) is a collection of best practices from leading engineering companies.

…cont It provides guidance on Systems and Software Engineering and encourages process improvements in organization of any structure. It is a model, which integrates and replaces multiple CMMs. It is a comprehensive process meta-model that is predicted on a set of system and software engineering capabilities that should be present as organization reach different levels of process capability and maturity.

…cont Software process capability Describes the range of expected results that can be achieved by following a software process. The software process capability of an organization provides one means of predicting the most likely outcomes to be expected from the next software project the organization undertakes

…cont Software process performance Represents the actual results achieved by following a software process. This software process performance focuses on the results achieved, while software process capability focuses on results expected.

…cont Software process maturity Is the extent to which a specific process is explicitly defined, managed, measured, controlled and effective. Maturity implies a potential for growth in capability and indicates both the richness of an organization’s software process and the consistency with which it is applied in projects throughout an organization. Level of completeness + level of perfection

...cont The CMMI represents a process meta-model in two ways. Continuous Model Staged Model

…cont A Process Area (PA) is a cluster of related practices in an area that, when performed collectively, satisfy a set of goals considered important for making significant improvement in that area. Practices are actions to be performed to achieve the goals of a process area. All CMMI process areas are common to both continuous and staged representations.

…cont A Specific Goal (SG) applies to a process area and addresses the unique characteristics that describe what must be implemented to satisfy the process area. A Specific Practice (SP) is an activity that is considered important in achieving the associated specific goal. Practices are the major building blocks in establishing the process maturity of an organization.

1. The Continuous Model A Capability Level is a well defined evolutionary plateau describing the organization's capability relative to a particular process area. Each Process area is formally assessed against specific goals and practices and is rated according to the following capability levels Level 0: Incomplete Level 1: Performed Level 2: Managed Level 3: Defined Level 4: Quantitatively Managed Level 5: Optimized

2. The Staged Model The staged CMMI model defines the same process areas, goals and practices as the continuous model The primary difference is that the staged model defines MATURITY LEVELS, rather than CAPABILITY LEVELS. To achieve a maturity level, the specific goals and practices associated with a set a process areas must be achieved.

Level Focus Process Areas Continuous Process Improvement 5 Optimizing Quality Productivity Organizational Innovation and Deployment Causal Analysis and Resolution 5 Optimizing 4 Quantitatively Managed Quantitative Management Organizational Process Performance Quantitative Project Management Requirements Development Technical Solution Product Integration Verification Validation Organizational Process Focus Organizational Process Definition Organizational Training Integrated Project Management for IPPD Risk Management Integrated Teaming Integrated Supplier Management Decision Analysis and Resolution Organizational Environment for Integration 3 Defined Process Standardization Requirements Management Project Planning Project Monitoring and Control Supplier Agreement Management Measurement and Analysis Process and Product Quality Assurance Configuration Management 2 Managed Basic Project Management Risk Rework 1 Initial

Structural Representation in detail of the two meta-models

Continuous model structure

Process areas Specific goals Specific practices Establish the characteristics that must exist if the activities implied by a process area are to be effective. Specific practices Refine a goal into a set of process-related activities

Set of five generic goals and related practices for each process area Achieve specific goals Institutionalize a managed process Institutionalize a defined process Institutionalize a quantitatively managed process Institutionalize an optimizing process

Continuous model-Capability levels Rating according to the following capability levels Level 0: Incomplete Level 1: Performed Level 2: Managed Level 3: Defined Level 4: Quantitatively managed Level 5: Optimized

…cont Level 0: Incomplete Level 1: Performed Process area not performed or does not achieve all goals and objectives defined by the CMMI for level 1 capability. Level 1: Performed All of the specific goals of the process area have been satisfied Work tasks required to produce defined work products are being conducted

…cont Level 2: Managed All level 1 criteria satisfied All work associated with process area conforms to organizationally defined policy All people doing work have access to adequate resources to get the job done Monitoring, controlling, and reviewing of work products

…cont Level 3: Defined Level 4: Quantitatively managed All level 2 criteria have been achieved Process is tailored Contribution of work products, measures, and other process-improvements information Level 4: Quantitatively managed All level 3 criteria have been achieved. Process area is controlled and improved using measurement and quantitative assessment.

…cont Level 5: Optimized All capability level 4 criteria have been achieved. Process area is adapted and optimized using quantitative means to meet changing customer needs and to continually improve

Staged Model Structure

Staged model Process areas Goals Practices

Difference b/w continuous and staged Five capability levels Staged Five maturity levels

References Software Engineering-Chapter1 & 2 By Roger S. Pressman 6th edition