Process framework (Generic phases), Study notes of Software Engineering

Basic process framework of software engineering with generic phases to be applied to all projects irrespective of the size and complexity.

Typology: Study notes

2024/2025

Uploaded on 09/06/2025

peppy-4
peppy-4 🇮🇳

7 documents

1 / 2

Toggle sidebar

This page cannot be seen from the preview

Don't miss anything!

bg1
CHAPTER 2 SOFTWARE ENGINEERING 17
2.2.1 The Process Framework
A process framework establishes the foundation for a complete software engi-
neering process by identifying a small number of framework activities that are
applicable to all software projects, regardless of their size or complexity. In ad-
dition, the process framework encompasses a set of umbrella activities that are
applicable across the entire software process. A generic process framework for
software engineering encompasses fi ve activities:
Communication. Before any technical work can commence, it is critically im-
portant to communicate and collaborate with the customer (and other stake-
holders).
3 The intent is to understand stakeholders’ objectives for the project and
to gather requirements that help defi ne software features and functions.
Planning. Any complicated journey can be simplifi ed if a map exists. A software
project is a complicated journey, and the planning activity creates a “map” that
helps guide the team as it makes the journey. The map—called a software project
plan—defi nes the software engineering work by describing the technical tasks to
be conducted, the risks that are likely, the resources that will be required, the
work products to be produced, and a work schedule.
Modeling. Whether you’re a landscaper, a bridge builder, an aeronautical engi-
neer, a carpenter, or an architect, you work with models every day. You create a
“sketch” of the thing so that you’ll understand the big picture—what it will look
like architecturally, how the constituent parts fi t together, and many other char-
acteristics. If required, you refi ne the sketch into greater and greater detail in
an effort to better understand the problem and how you’re going to solve it. A
software engineer does the same thing by creating models to better understand
software requirements and the design that will achieve those requirements.
Construction. What you design must be built. This activity combines code gen-
eration (either manual or automated) and the testing that is required to uncover
errors in the code.
Deployment. The software (as a complete entity or as a partially completed in-
crement) is delivered to the customer who evaluates the delivered product and
provides feedback based on the evaluation.
These fi ve generic framework activities can be used during the development of
small, simple programs, the creation of Web applications, and for the engineering
What are
the fi ve
generic process
framework
activities?
?
3 A stakeholder is anyone who has a stake in the successful outcome of the project—business
managers, end users, software engineers, support people, etc. Rob Thomsett jokes that, “a
stakeholder is a person holding a large and sharp stake ... If you don’t look after your stake-
holders, you know where the stake will end up.”
uote:
“Einstein argued
that there must
be a simplifi ed
explanation of
nature, because
God is not
capricious or
arbitrary. No such
faith comforts
the software
engineer. Much
of the complexity
that he must
master is arbitrary
complexity.”
Fred Brooks
pre22126_ch02_014-028.indd 17pre22126_ch02_014-028.indd 17 13/12/13 6:10 PM13/12/13 6:10 PM
pf2

Partial preview of the text

Download Process framework (Generic phases) and more Study notes Software Engineering in PDF only on Docsity!

CHAPTER 2 SOFTWARE ENGINEERING 17

2.2.1 The Process Framework

A process framework establishes the foundation for a complete software engi- neering process by identifying a small number of framework activities that are applicable to all software projects, regardless of their size or complexity. In ad- dition, the process framework encompasses a set of umbrella activities that are applicable across the entire software process. A generic process framework for software engineering encompasses five activities:

Communication. Before any technical work can commence, it is critically im- portant to communicate and collaborate with the customer (and other stake- holders). 3 The intent is to understand stakeholders’ objectives for the project and to gather requirements that help define software features and functions.

Planning. Any complicated journey can be simplified if a map exists. A software project is a complicated journey, and the planning activity creates a “map” that helps guide the team as it makes the journey. The map—called a software project plan—defi nes the software engineering work by describing the technical tasks to be conducted, the risks that are likely, the resources that will be required, the work products to be produced, and a work schedule.

Modeling. Whether you’re a landscaper, a bridge builder, an aeronautical engi- neer, a carpenter, or an architect, you work with models every day. You create a “sketch” of the thing so that you’ll understand the big picture—what it will look like architecturally, how the constituent parts fit together, and many other char- acteristics. If required, you refine the sketch into greater and greater detail in an effort to better understand the problem and how you’re going to solve it. A software engineer does the same thing by creating models to better understand software requirements and the design that will achieve those requirements.

Construction. What you design must be built. This activity combines code gen- eration (either manual or automated) and the testing that is required to uncover errors in the code.

Deployment. The software (as a complete entity or as a partially completed in- crement) is delivered to the customer who evaluates the delivered product and provides feedback based on the evaluation. These five generic framework activities can be used during the development of small, simple programs, the creation of Web applications, and for the engineering

What are the five generic process framework activities?

3 A stakeholder is anyone who has a stake in the successful outcome of the project—business managers, end users, software engineers, support people, etc. Rob Thomsett jokes that, “a stakeholder is a person holding a large and sharp stake... If you don’t look after your stake- holders, you know where the stake will end up.”

uote:

“Einstein argued that there must be a simplified explanation of nature, because God is not capricious or arbitrary. No such faith comforts the software engineer. Much of the complexity that he must master is arbitrary complexity.”

Fred Brooks

18 CHAPTER 2 SOFTWARE ENGINEERING

of large, complex computer-based systems. The details of the software process will be quite different in each case, but the framework activities remain the same. For many software projects, framework activities are applied iteratively as a project progresses. That is, communication, planning, modeling, construction, and deployment are applied repeatedly through a number of project iterations. Each iteration produces a software increment that provides stakeholders with a subset of overall software features and functionality. As each increment is pro- duced, the software becomes more and more complete.

2.2.2 Umbrella Activities

Software engineering process framework activities are complemented by a num- ber of umbrella activities. In general, umbrella activities are applied throughout a software project and help a software team manage and control progress, qual- ity, change, and risk. Typical umbrella activities include:

Software project tracking and control —allows the software team to assess progress against the project plan and take any necessary action to maintain the schedule.

Risk management —assesses risks that may affect the outcome of the project or the quality of the product.

Software quality assurance —defines and conducts the activities required to ensure software quality.

Technical reviews —assess software engineering work products in an effort to uncover and remove errors before they are propagated to the next activity.

Measurement —defines and collects process, project, and product measures that assist the team in delivering software that meets stakeholders’ needs; can be used in conjunction with all other framework and umbrella activities. Software configuration management —manages the effects of change throughout the software process. Reusability management —defines criteria for work product reuse (includ- ing software components) and establishes mechanisms to achieve reusable components.

Work product preparation and production —encompass the activities re- quired to create work products such as models, documents, logs, forms, and lists.

Each of these umbrella activities is discussed in detail later in this book.

2.2.3 Process Adaptation

Previously in this section, we noted that the software engineering process is not a rigid prescription that must be followed dogmatically by a software team. Rather, it should be agile and adaptable (to the problem, to the project, to the team,

Umbrella activities occur throughout the software process and focus primarily on project management, tracking, and control.

Software process adaptation is essential for project success.