Software Engineering: Lecture Number 2
Software Process Arvind W. Kiwelekar Assistant Professor Computer Engineering Department, Dr. B. A. Tech. University Lonere-402 103 akiwelekar@gmail.com
January 8, 2009
Arvind W. Kiwelekar Assistant Professor Computer Engineering Department,Number A. Tech. University January 8, 2009 akiwelekar@gm Software Engineering: Lecture Dr. B. 2 Lonere-402 103 1 / 13
Definition of Software Process
Software Process vs Non-Software Process
Arvind W. Kiwelekar Assistant Professor Computer Engineering Department,Number A. Tech. University January 8, 2009 akiwelekar@gm Software Engineering: Lecture Dr. B. 2 Lonere-402 103 2 / 13
What are the elements of software process?
Software Process Framework Activity Activity
Umbrella Activity Action
Task
Arvind W. Kiwelekar Assistant Professor Computer Engineering Department,Number A. Tech. University January 8, 2009 akiwelekar@gm Software Engineering: Lecture Dr. B. 2 Lonere-402 103 3 / 13
Types of Activities in Generic Process Framework
1 2 3
Communication Planning Modeling
1 2
< Action > Analysis < Action/ > < Action > Design < Action/ >
4 5
Construction Deployment
Arvind W. Kiwelekar Assistant Professor Computer Engineering Department,Number A. Tech. University January 8, 2009 akiwelekar@gm Software Engineering: Lecture Dr. B. 2 Lonere-402 103 4 / 13
Activities, Actions, Tasks: An Example
1 2 3
Activity: Communication Action: Requirements Gathering Tasks
1 2 3 4 5 6
Make a list of stakeholders for all the project. Invite all satkeholders to an informal meeting Ask each stakeholder to make alist of features and functions required. Discuss Requirements and build a final list. Prioritize requirements Note Areas of uncertainty
Arvind W. Kiwelekar Assistant Professor Computer Engineering Department,Number A. Tech. University January 8, 2009 akiwelekar@gm Software Engineering: Lecture Dr. B. 2 Lonere-402 103 5 / 13
Examples of Umbrella Activities
1 2 3 4 5 6 7 8
Software projet tracking and control Risk Managment Software Quality Assurance Formal Technical Reviews Measurement Software Configuration Management Reusability Management Work product preparation and production
Arvind W. Kiwelekar Assistant Professor Computer Engineering Department,Number A. Tech. University January 8, 2009 akiwelekar@gm Software Engineering: Lecture Dr. B. 2 Lonere-402 103 6 / 13
How a Generic Proces Framework varies?
1 2 3 4 5
The overall flow of activities, and their interdependancies. The degree to which work tasks are defined. The degree to which work products are identified and required. The manner which quality assurance activities are applied. The manner in which project tracking and control activities are applied. The overall degree of detail and rigour with wich the process is described The degree to which customer and other stakeholders are involved with the project. The level of autonomy given to the software project team. The degree to which team organization and roles are prescribed.
6
7
8 9
Arvind W. Kiwelekar Assistant Professor Computer Engineering Department,Number A. Tech. University January 8, 2009 akiwelekar@gm Software Engineering: Lecture Dr. B. 2 Lonere-402 103 7 / 13
Components of Software Processes
1
Product Engineering Process
1 2 3
Development Process Project Mangaement Process Software Configuration Management Process
2
Prcoess Management Process
Arvind W. Kiwelekar Assistant Professor Computer Engineering Department,Number A. Tech. University January 8, 2009 akiwelekar@gm Software Engineering: Lecture Dr. B. 2 Lonere-402 103 8 / 13
Documenting Software Process: Pattern based Approach
1 2
Pattern Name Prototyping Intent The objective of the pattern is to build a model that can be assessed iteratively by stakeholders to validate requirements. Type Phase Pattern [Stage Pattern, Task Pattern] Initial Context (i) Stakeholders have been identified. (ii) A communication between stakeholders and the software team has been established. (iii) The problem to be solved has been identified. (iv) Initial undersatnding of project scope, basic business requirements and project constraints has been developed. Problem Requirements are hazy Solution To build a prototype. Resulting Context A Protoype is developed and requirements are validated. A protoype may be evloved to a final product or prototype may be discarded.
3 4
5 6 7
Arvind W. Kiwelekar Assistant Professor Computer Engineering Department,Number A. Tech. University January 8, 2009 akiwelekar@gm Software Engineering: Lecture Dr. B. 2 Lonere-402 103 9 / 13
Documenting Software Process: ETVX Approach
1 2 3 4
Entry Condition Task Verification Phase Pattern [Stage Pattern, Task Pattern] Exit Condition
Arvind W. Kiwelekar Assistant Professor Computer Engineering Department,Number A. Tech. University Lonere-402 103 akiwelekar@gm Software Engineering: Lecture Dr. B. 2 January 8, 2009 10 / 13
Characterstics of Software Process
1 2 3 4
Predictability Support for Testability and Maintainability Support for Change Early Defect REmoval
Arvind W. Kiwelekar Assistant Professor Computer Engineering Department,Number A. Tech. University Lonere-402 103 akiwelekar@gm Software Engineering: Lecture Dr. B. 2 January 8, 2009 11 / 13
The Capability Maturity Model Integration (CMMI)
1
Project Planning Process Area
Establish Estimates Goal
Estimate the Scope of the Project Establish estimates of work product Define project life cycle Determine estimates of effort and cost.
CMMI
Specific Goal
defines
achieves
Process Area
specifies
Obtain commitment to the plan Goal
Review plans that affect the project Establish estimates of work product Reconcile work and resource levels Obtain plan commitment.
Specific Practice
Arvind W. Kiwelekar Assistant Professor Computer Engineering Department,Number A. Tech. University Lonere-402 103 akiwelekar@gm Software Engineering: Lecture Dr. B. 2 January 8, 2009 12 / 13
The Capability Maturity Model Integration (CMMI)
1
Project Planning Process Area
Develop a Project Plan Goal
Establish the budget and schedule Identify project risks plan for data management plan for project resources plan for needed knowledge and skills plan stakeholder involvement establish the project plan
CMMI
Specific Goal
defines
achieves
Process Area
specifies
Specific Practice
Arvind W. Kiwelekar Assistant Professor Computer Engineering Department,Number A. Tech. University Lonere-402 103 akiwelekar@gm Software Engineering: Lecture Dr. B. 2 January 8, 2009 13 / 13
The Capability Maturity Model Integration (CMMI)
CMMI Rating
Software Process
isExaminedBy identifiesModifications To Software Process Assessment
identifies capabilities and risk of
Level 0 Incomplete Level 1 Performed Level 2 Managed Level 3 Defined Level 4 Quantitively Managed Level 5 Optimized
Process Assessment
Standerd CMMI Assessment Method for Process Improvement ISO 9001:2000 for software
leadsTo
leadsTo
Software Process Improvement
motivates
Capability Determination
Arvind W. Kiwelekar Assistant Professor Computer Engineering Department,Number A. Tech. University Lonere-402 103 akiwelekar@gm Software Engineering: Lecture Dr. B. 2 January 8, 2009 14 / 13
Personal Software Process
1 2 3 4 5
Planning High-level design High-level design review Development Post Mortem
Arvind W. Kiwelekar Assistant Professor Computer Engineering Department,Number A. Tech. University Lonere-402 103 akiwelekar@gm Software Engineering: Lecture Dr. B. 2 January 8, 2009 15 / 13