Chapter 2
A Generic View of Process
Software Engineering: A Practitioners Approach
6
th
Edition
Roger S. Pressman
2
Software Process
Software development is a social learning
process [BAE98]
The process provides interaction between
Users and designers
Users and evolving tools
Designers and evolving tools
Iterative in nature
Software process is a framework for the tasks
that are required to build high-quality software
3
S/W Process or S/W Engineering
A software process defines the
approach that is taken as software is
engineered.
But software engineering also
encompasses technologies that
populate the process technical
methods and automated tools.
4
S/W Engineering Definition (1)
According to Fritz Bauer [NAU69]
[Software engineering is] the
establishment and use of sound
engineering principles in order to obtain
economically software that is reliable and
works efficiently on real machines.
5
S/W Engineering Definition (2)
According to the IEEE [IEE93]
Software Engineering:
1. The application of a systematic, disciplined,
quantifiable approach to the development,
operation, and maintenance of software; that
is, the application of engineering to software.
2. The study of approaches as in (1).
We need discipline, but we also need
adaptability and agility.
6
S/W Engineering - A Layered
Technology
A quality focus
Process
Methods
Tools
Figure 2.1: Software engineering layers
7
framework activity # 1
A Process Framework
work tasks
work products
quality assurance points
project milestones
Umbrella activities
Task sets
software engineering action # 1.1
Software process
Process framework
8
Generic Framework Activities
Communication
Requirement gathering
Planning
Tasks, risks, resources, products, schedule
Modeling
Analysis of requirements, design
Construction
Code generation, testing
Deployment
Evaluation, feedback
9
Umbrella Activities
Software project tracking and control
Risk management
Software quality assurance
Formal technical reviews
Measurement
Software configuration management
Reusability management
Work product preparation and production
10
The Process Model: Adaptability
Key factors are
Problem
Project
Team
Organizational Structure
Prescriptive vs. Agile process models
11
Product and Process
The duality of product and process
A creative software professional should
derive as much satisfaction from the
process as the end-product
Transition from programming to
software engineering