Chapter 2 Pressman The Software Process. Pressman
Chapter 2 Pressman The Software Process. Pressman
Chapter 2 Pressman The Software Process. Pressman
Elaborado: 01-Junio-2016
Roger S. Pressman
Seven Edition
Mc Graw Hill
The
Software
Process
Chapter 2
Roger S. Pressman
What It is?
• When you work to build a product or system, It’s
important to go through a series of predictable
steps
• Software engineers and their
managers adapt the process
to their needs and then
follow it
• The people who have
Who does requested the software have
it? a role to play in the process
of defining, building, and
testing
The process provides stability,
control, and organization to an
activity that can, if left
uncontrolled, become quite
chaotic
Why is it
important? Modern process must be agile. We
have to choose only those
activities, controls, and work
products that are appropriate for
the project team and the product
that is to be produced
At a detailed
What level, the process
are the that you adopt
depends on the
steps? software that
you’re building
• Point of view of a
software engineer:
the set of programs,
documents, and
What is data that are
the work produced as a
consequence of the
product? activities and tasks
defined by the
process
• There are a number of
software process
assessment mechanics
that enable organizations
How do I to determine the
”maturity”of their
ensure that software process
I´ve done it • Quality, timeliness, and
long-term viability of the
right? product you build are the
best indicators of the
efficacy of the software
that you use
A Generic
Process
Model Fig
2.1 pag.32
A software process framework
Process Flow.
Fig 2.2 pag.33
Process Flow. Fig 2.2 pag.33
Small project vs. Complex project
Small project Complex project
1. Make contact with • Communication Activity.
Many stakeholders, each with
stakeholder via telephone different set of (sometime
2. Discuss requirements and conflicting) requirements
take notes • Inception
3. Organize notes into a brief • Elicitation
written statement of • Elaboration
requirements • Negotiation
4. E-mail to stakeholder for • Specification
review and approval • Validation
2.1.2 Identifying a Task Set
• Each software engineering action can be
represented by a number of different task sets –
each a collection of SE work task, related work
products, quality assurance, and project
milestone.
• You should choose a task set that best
accommodates the needs of the project and the
characteristics of your team
• A SE action can be adapted to the specific needs
of the software project and the characteristics of
the project team
• Chapter 12 • Initial context
2.1.3 • Pattern name • Problem
Process •
•
Forces
Type
•
•
Solution
Resulting Context
Patterns – Stage Pattern: • Related Patterns
e.g.Establising • Know Uses and
Communication Examples
– Task Pattern: e.g.
Requirements
Gathering
– Phase Pattern: e.g.
Spiral Modeling or
Prototyping
Customers and software engineers
have established a collaborative
A Stage communication
Pattern. Successful completion of a number
(e.g. The of taks patterns [specified] for the
Communication has occurred
Planning The project scope, basic business
Pattern ) requirements, and project
constraints are know
Standard CMMI Assessment
Method for Process Improvement
(SCAMPI)
CMM – Based Appraisal for Internal
2.2 Process Process Improvement (CBA IPI)
Assessment
and SPICE (ISO/IEC15504)
Improvement
2.3
Prescriptive They were originally proposed to
bring order to the chaos of software
Process development
Models
Are they innapropiated for software
world that thrives on change?
2.3.1 The Waterfall
Model
• There are times when the
requirements for a problem are
well understood –when work flows
from communication through
deployment in a reasonably linear
fashion
• The requirements are well defined
and reasonably stable
• It is called classic life cycle (SDLC)
The Waterfall • It suggest a systematic sequential approach to
software development that begins with customer
Model. Fig. 2.3 specification of requirements and progress through
planning, modeling, construction, and deployment,
culminating in ongoing support of the completed
pag. 39 software
The V-model. Fig.2.4 p40
It is a variation in the representation of the water fall model.
It depicts the relation of quality assurance to the actions associated with
communication, modeling, and early construction activities
Criticism of the Waterfall Model
• It is the oldest paradigm
1. Real problems rarely follow the sequential
flow that the model proposes
2. It is often difficult for the customer to state al
requirements explicitly
3. The customer must have patience. A working
version of the program(s) will not be
available until late in the project time span
There are many situations in which initial
software requirements are reasonably well
defined, but the overall scope of the
development effort precludes a purely linear
process
Incremental
Process The first incremental is often a core product
Models
It focused on the delivery of an operational
product