Lecture Software process improvement: Lesson 22 provide students with knowledge about: review up to mid-term; software process; characteristics of software processes; requires creativity; interactions between a wide range of different people; engineering judgment; background knowledge; experience;... Please refer to the detailed content of the lecture!
Trang 1Lecture #22
1
Trang 22
Trang 33
Trang 4• An instruction manual for a kitchen
dishwasher describes the process of using that machine to clean dishes
• A cookery book describes a set of processes
to prepare and cook various different types
of meals
4
Trang 5• A procedures manual in a bank describes
the ways in which different banking
processes such as agreeing a personal loan, correcting errors, etc. should be carried out
• A quality manual for software development describes the processes which should be
used to assure the quality of the software. It may include descriptions of standards
which are basis for the quality checking 5
Trang 66
Trang 9Software Processes
• Software engineering, as a discipline, has many processes
• These processes help in performing
different software engineering activities in
an organized manner
Trang 10important part of an organization ?
Trang 11following slide to be inserted
Trang 13Examples of Software Processes
• Software engineering development process (SDLC)
• Requirements engineering process
• Design process
• Quality assurance process
• Change management process
Trang 1414
Trang 18Six Steps to Software
Improvements 2
• Produce a plan to accomplish the required actions
• Commit the resources to execute the plan
• Start over at step 1
Trang 1919
Trang 2020
Trang 2121
Trang 2222
Trang 24• Typically taskoriented
Trang 26procedure to guide execution of a task
Trang 27• ETVX
• IDEF0
27
Trang 2828
Trang 3030
Trang 31Predictable Process
Continuously Improving Process
Process measured and controlled
Focus on process improvement
5.Optimizing
Project Management
Integrated Engineering Process
Product and Process Quality
Managing Change
Trang 3232
Trang 33• People were successfully using the
Capability Maturity Model, which was
designed for improving software processes and measuring the maturity of software
Trang 34• Historically: Depends on the discipline that you want to model
Trang 3636
development System Engineering CMM continuous system
engineering System Engineering Capability Model continuous system
engineering Software Acquisition CMM staged software
acquisition System Security Engineering CMM continuous security
engineering Personal Software Process staged individual
software development
engineering, systems engineering, and acquisition
product development
SPICE Model continuous software
development
Trang 38Software CMM
Systems Security Engr CMM
Systems Security Engr CMM
Systems Engr CMM
Systems Engr CMM
People CMM
People CMM
ZZZ CMM
ZZZ CMM
FAA iCMM
FAA iCMM
IPD CMM
IPD CMM
Software Acq CMM
Software Acq CMM EIA 731
Trang 39• Integrates systems and software disciplines into one process improvement framework
• Provides a framework for introducing new disciplines as needs arise
39
Trang 41• Some organizations see themselves as performing just one discipline
– Acquisition can involve both
• Communication and cooperation with other
disciplines, even if they are external to our
Trang 42CMMI
42
Trang 43CMMI Models
43
Trang 4444
CMMISE/SW
-Staged
Representation
SE/SW
CMMI-Continuous
Representation
• Capability Maturity Model
for Software V2, draft C
Trang 46Comparing Model Representations
46
Trang 47. . .for an established set of process areas across an organization
Trang 48Staged Representation
• The staged representation is the approach used in the Software CMM. It is an approach that uses
Trang 50Organizational Maturity
• Process area capability and organizational maturity are similar concepts
• The difference between them is that process area capability deals with a set of processes
Trang 52• Selecting a single representation approach became
“too hard”
• A compromise was made to initially support two representations of the model with equivalent
content
52
Trang 56Two Representations
56 56
PI, VER, VAL Project Management
PP, PMC, SAM IPM, RSKM, QPM Process Management OPF, OPD, OT, OPP, OID
Process Management PAs
Goals Practices
Support
CM, PPQA, MA, CAR, DAR
Appendixes
CMMISE/SW
Staged
Overview Introduction Structure of the Model Model Terminology Capability Levels and Generic Model Components Understanding the Model
Using the Model
CMMISE/SW Continuous
Trang 57CMMI Model Structure
• Maturity Levels (staged representation) or Capability Levels (continuous
representation)
• Process Areas
• Goals – Generic and Specific
• Practices – Generic and Specific
Trang 58• The CMMI product suite is at the forefront
of process improvement because it provide the latest best practices for product and
service development and maintenance
• The CMMI models improve the best
practices of previous models in many
important ways
Trang 59customer expectations
Trang 60Benefits of CMMI 2
– Incorporate lessons learned from additional
areas of best practices (e.g., measurement , risk
– Implement more robust highmaturity practices – Address additional organizational functions
critical to their products and services
– More fully comply with relevant ISO standards
Trang 61– Means to emphasize the alignment of the process improvement objectives with organization business objectives
Trang 6262
Trang 63• The PSP is a defined and measured
software process designed to be used by an individual software engineer
• The PSP was developed by Watts
Humphrey
• Its intended use is to guide the planning and development of software modules or small programs, but it is adaptable to other
personal tasks 63
Trang 64• Like the SEI Capability Maturity Model for Software, the PSP is based on process
Trang 67PSP in a Nutshell 1
• Baselining your existing personal software process
Trang 68• Conducting meaningful design and code reviews
• Performing software quality management
Trang 69PSP in a Nutshell 3
• Perform software design in a more formal fashion
• Verifying the design, using methods using methods such as object state machines,
program tracing, etc
• Scaling up the PSP to larger problems
Trang 7070