Lecture Software process improvement: Lesson 1 provide students with knowledge about: introduce students to the basics of software process and process improvement; teach students about the activities and issues software process engineering; teach students different software process improvement approaches;... Please refer to the detailed content of the lecture!
Trang 1Software Process Improvement
CS7xx
Dr. Ghulam Ahmad Farrukh
Trang 2• Objectives of this course
• What is a process?
• What is a software process? Why we need them
• Process models
• Process improvement
2
Trang 33
Trang 4• To teach students concept of measurements and how it applies to software processes
• To introduce students advance and potential research topics in software process
engineering
4
Trang 6• Processes are part of all aspects of life and are an essential mechanism for coping with complexity in the world
• Description of processes are very important because they allow knowledge to be reused
6
Trang 77
Trang 88
Trang 9• 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
9
Trang 10• 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 10
Trang 1111
Trang 14Software Processes
• Software engineering, as a discipline, has many processes
• These processes help in performing
different software engineering activities in
an organized manner
Trang 15• Where are the people? Aren’t they the most
important part of an organization ?
Trang 17Examples of Software Processes
• Software engineering development process (SDLC)
• Requirements engineering process
• Quality assurance process
• Change management process
• Design process
Trang 18Basic Concepts
18
Trang 19• The basic principles are those of statistical process control, which have been used
successfully in many fields
19
Trang 21• To obtain consistently better results, it is
thus necessary to improve the process
• If the process is not under statistical control, sustained progress is not possible until it is
• The basic principle behind statistical control
is measurement
21
Trang 22• When you can measure what you are speaking about, and express it in numbers, you know
something about it; but when you cannot
measure it, when you cannot express it in
numbers, your knowledge is of a meager and unsatisfactory kind; it may be the beginning of the knowledge, but you have scarcely in your thoughts advanced to the stage of science
22
Trang 2323
Trang 24• While process measurements are essential for orderly improvement, careful planning and preparation are required or the results are likely to be disappointing
• The mere act of measuring human
processes changes them
Trang 2525
Trang 2727
Trang 28• No single model gives a complete
understanding of the process being modeled
Trang 29– A model to satisfy some quality management standard
Trang 30Types of Process Model
• Coarsegrain activity models
• Finegrain activity models
Trang 33• Different people usually enact the process
in different ways
• Sometimes the same person will enact the same process in different ways at different times
• Different people have different
backgrounds
33
Trang 34• Different software support in different
Trang 3535
Trang 39Six 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 4141
Trang 42• Managing the Software Process, Chapter 1,
by Watts Humphrey
• Requirements Engineering, Chapter 2 [2.0, 2.1, 2.4], by Gerald Kotonya and Ian
Sommerville
42