The Software Process
The Software Process
A process is a collection of activities, actions, and tasks that are performed when some
and is applied regardless of the application domain, size of the project, complexity of the effort,
An action encompasses a set of tasks that produce a major work product (e.g., an
A task focuses on a small, but well-defined objective (e.g., conducting a unit test) that
process by identifying a small number of framework activities that are applicable to all software
projects, regardless of their size or complexity. In addition, the process framework encompasses
a set of umbrella activities that are applicable across the entire software process.
communicate and collaborate with the customer. The intent is to understand stakeholders
objectives for the project and to gather requirements that help define software features
and functions.
2 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—defines 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.
3 Modeling. Creation of models to help developers and customers understand the requires
4 Construction. This activity combines code generation and the testing that is required to
5 Deployment. The software is delivered to the customer who evaluates the delivered
programs, the creation of large Web applications, and for the engineering of large, complex
Computer-based systems.
Umbrella Activities.
and help a software team manage and control progress, quality, change, and risk. Typical
a. 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.
b. Risk management—assesses risks that may affect the outcome of the project or the
software quality.
and remove errors before they are propagated to the next activity.
e. 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
software process.
create work products such as models, documents, logs, forms, and lists.