Transparency Masters for Software Engineering: A Practitioner`s

Download Report

Transcript Transparency Masters for Software Engineering: A Practitioner`s

Software Engineering: A Practitioner’s Approach, 6/e

Chapter 2 Process: A Generic View

copyright © 1996, 2001, 2005

R.S. Pressman & Associates, Inc.

For University Use Only

May be reproduced ONLY for student use at the university level when used in conjunction with

Software Engineering: A Practitioner's Approach.

Any other reproduction or use is expressly prohibited.

Coming up: A Layered Technology 1

A Layered Technology Software Engineering

tools methods process model a “quality” focus

Coming up: What is a process framework 2

What is a process framework Process framework Framework activities work tasks work products milestones & deliverables QA checkpoints Umbrella Activities

Coming up: Framework Activities 3

Coming up: Umbrella Activities

Framework Activities

     Communication Planning Modeling   Analysis of requirements Design Construction   Code generation Testing Deployment 4

Umbrella Activities

 Software project management  Formal technical reviews  Software quality assurance  Software configuration management  Work product preparation and production  Reusability management  Measurement  Risk management Coming up: The Process Model: Adaptability 5

The Process Model: Adaptability

 The framework activities will always be applied on every project ... BUT  The tasks (and degree of rigor) for each activity will vary based on:    the type of project characteristics of the project common sense judgment; concurrence of the project team Coming up: Text Question 6

Question

 Pick any one of the project types below and tell me which process activity would be emphasized or deemphasized and why -

Project Types:

- 1.Space Shuttle control system - 2.Web-based calendar - 3.Embedded controller in your refrigerator 4.Automatic “daily fortune” text-messager Framework Activities  Communication     Planning Modeling   Analysis of requirements Design Construction   Code generation Testing Deployment Coming up: The CMMI 7

The CMMI

   The CMMI defines each process area in terms of “specific goals” and the “specific practices” required to achieve these goals.

Specific goals

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.

PP - project planning REQM - Requirements Mgmt MA - Measurement and Analysis CM - Configuration Mgmt PPQA - Process and Product QA Coming up: The CMMI 8

The CMMI

      Level 0 - Incomplete - process area is either not performed or does not achieve all specified goals.

Level 1 - Performed - All specific CMMI defined goals of the process area have been satisfied Level 2 - Managed - All work conforms to an organizationally defined policy; all people doing the work have access to adequate resources to get the job done; work tasks are monitored, controlled and reviewed, evaluated for adherence to the process description Level 3 - Defined process is tailored according to organization’s tailoring guidelines. Work products, measurements, etc… are contributed to the organizational process assets Level 4 - Quantitatively managed - Process area uses quantitative measurement to control and improve the process area. Quantitative objectives for quality and performance are established and used.

Level 5 - Optimized changing customer’s needs and continually improve the process area - Process area adapted and optimized to meet Coming up: Process Assessment 9

Process Assessment

   The process should be assessed to ensure that it meets a set of basic process criteria that have been shown to be essential for successful software engineering

.

Many different assessment options are available:   SCAMPI --- assessed for CMMI standards compliance SPICE --- assessed for ISO/IEC15504 compliance  ISO 9001:2000 --- assessed for ISO 9001 compliance Process Assessment is often used to “certify” a company as compliant (“Company X is ISO9001 certified “or “Company Y is CMM level 4”) Coming up: Assessment and Improvement 10

The Waterfall Model

 Do all process steps in the following order (this is generally thought of as the most basic model)

Com m unic a t ion proje c t init ia t ion re quire m e nt ga t he ring Planning es timating sc heduling track ing Mode ling

analysis design

Const r uc t ion

code t est

De ploy m e nt de liv e ry s upport f e e dba c k

Coming up: Different families of models 17

Different families of models

Prescriptive (ch 3)

Prescriptive Models 1970->Present -Waterfall (1970) -Evolutionary (1975) -Incremental (1975) -Spiral (1988) -RAD (1991) All dates are approximate based on publications

Agile (ch 4)

Agile Models 2001->Present - eXtreme Programming (1999) - SCRUM (1990s) - DSDM (1997) - Crystal (2001) Coming up: Different families of models 18

Different families of models

Prescriptive (ch 3)

Goal : Higher Quality Software Philosophy : • Bring order to chaos • Provide repeatability/consistency • Provide ability to control • Provide ability to coordinate teams

Agile (ch 4)

Goal : Higher Quality Software Philosophy : • Individuals and interaction over process and tools • Working software over large documentation • Customer collaboriation over contract negotiation • Responding to change over following a plan Which is probably better for large teams? A. Prescriptive B. Agile C. Same Which is probably better for a web application?

Which is probably better for Mars rover control system?

Which is produces better software?

End of presentation 19