Review Up To MidTerm
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 highlevel
overview
• Traditional Waterfall, Spiral, and other later
process models fall in this category
• Typically taskoriented
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