Tải bản đầy đủ (.pdf) (70 trang)

Lecture Software process improvement: Lesson 22 - Dr. Ghulam Ahmad Farrukh

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (462.77 KB, 70 trang )

Review Up To Mid­Term
Lecture #22

1


Process

2


Process
• Once someone has worked out how to solve 
a problem, they can document the way in 
which that solution was derived as a process
• This then helps other people faced with 
similar problems to get started on their own 
solutions

3


Examples of Processes ­ 1
• 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




Examples of Processes ­ 2
• 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


Software Process

6


Software Problems
• Technical
– Need a technical solution
– Easy to understand and solve

• Systemic
– Need a process/management solution
– Difficult to understand and solve

7



Solution to Software Problems
• Treat the software task as a process that can 
be controlled, measured, and improved
• Relate the required tasks, tools, methods 
with skill, training, and motivation of 
people involved

8


Software Processes
• Software engineering, as a discipline, has 
many processes
• These processes help in performing 
different software engineering activities in 
an organized manner

9


Software Process
• The software process is the set of tools, methods, 
and practices that people use to produce (develop 
and maintain)  software and associated products , 
e.g., project plans, design documents, code, test 
cases, and user manuals
• Where are the people? Aren’t they the most 
important part of an organization?

10


following slide to be inserted

11


Characteristics of Software 
Processes
• Requires creativity
• Interactions between a wide range of 
different people
• Engineering judgment
• Background knowledge
• Experience
12


Examples of Software Processes
• Software engineering development process 
(SDLC)
• Requirements engineering process
• Design process
• Quality assurance process
• Change management process
13


Process Improvement


14


Process Improvement Objectives
• Quality improvement
• Schedule reduction
• Resource reduction

15


Process Improvements Planning
• What are the improvement goals?
• How can we introduce process 
improvements to achieve these goals?
• How should improvements be controlled 
and managed?

16


Six Steps to Software 
Improvements ­ 1
• Understand the current status of 
development processes
• Develop a vision for the desired process
• Establish a list of required process 
improvement actions in order of priority


17


Six 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

18


Quality Assurance

19


Configuration Management

20


Project Planning

21


Process Modeling


22


Levels of Software Process 
Models
• Universal or U Process Models
• Worldly or W Process Models
• Atomic or A Process Models

23


Universal or U Process Models
• U process models provide high­level 
overview
• Traditional Waterfall, Spiral, and other later 
process models fall in this category
• Typically task­oriented

24


Worldly or W Process Models
• W process models are most useful to 
practicing software engineers
• It guides the sequence of their working 
tasks and defines task prerequisites and 
results
• They look like procedures


25


×