0% found this document useful (0 votes)
17 views

1.software Process

The document discusses software processes and their importance in software engineering projects. It states that processes form the core of software engineering as they help people achieve high quality and productivity. There are three main components of a software process: the development process, project management process, and configuration management process. The development process specifies engineering activities while the project management process plans and controls those activities. Processes are important for software engineering to deliver high quality software on time and on budget.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
17 views

1.software Process

The document discusses software processes and their importance in software engineering projects. It states that processes form the core of software engineering as they help people achieve high quality and productivity. There are three main components of a software process: the development process, project management process, and configuration management process. The development process specifies engineering activities while the project management process plans and controls those activities. Processes are important for software engineering to deliver high quality software on time and on budget.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 13

SOFTWARE PROCESS

While delivering software, high quality, low cost, and low cycle time are also goals
which software engineering must achieve.

In other words, the systematic approach must help achieve a high quality and
productivity(Q&P)

In software, the three main factors that influence Q&P are people, processes, and
technology. That is, the final quality delivered and productivity achieved depends
on the skills of the people involved in the software project, the processes people use
to perform the different tasks in the project, and the tools they use.
People who ultimately develop and deliver (and productivity is measured with
respect to people’s effort as the basic input), the main job of processes is to help
people achieve higher Q&P by specifying what tasks to do and how to do them.
Tools are aids that help people perform some of the tasks more efficiently and
with fewer errors. It should therefore be clear that to satisfy the objective of
delivering software with high Q&P, processes form the core.

The focus is primarily on processes, which are referred to as the systematic


approach

Software engineering focuses on the process for producing the products


Processes form the heart of software engineering, with tools and technology
providing support to efficiently execute the processes.

- Role of a process and a process model in a project.


– Various component processes in the software process and the key role of the
development process and the project management process.
– Various models for the development process—waterfall, prototyping, iterative,
RUP, time boxing, and XP.
– The overall structure of the project management process and its key phases.
SOFTWARE PROCESS & PROJECT
A process is a sequence of steps performed for a given purpose

While developing (industrial strength) software, the main purpose is to develop


software to satisfy the needs of some users or clients

A software project is one instance of this problem, and the development process
is what is used to achieve this purpose
For a project its development process plays a key role—it is by following the process
the desired end goal of delivering the software is achieved. However, as discussed
earlier, it is not sufficient to just reach the final goal of having the desired software,
but we want that the project be done at low cost and in low cycle time, and deliver
high-quality software

The role of process increases due to these additional goals, and though many
processes can achieve the basic goal of developing software, to achieve high Q&P
we need some “optimum” process. It is this goal that makes designing a process a
challenge
PROCESS AND PROJECT SPECIFICATION OR DESCRIPTION
PROJECT SPECIFICATION OR
PROCESS
DESCRIPTION

A process is a dynamic entity Process specification, on the


which captures the actions other hand, is a description of
performed process which presumably can
be followed in some project to
achieve the goal for which the
process is designed
In a project, a process specification may be used as the process the project plans to
follow. The actual process is what is actually done in the project. Note that the actual
process can be different from the planned process, and ensuring that the specified
process is being followed is a nontrivial problem.

A process model specifies a general process, which is “optimum” for a class of projects.
That is, in the situations for which the model is applicable, using the process model as
the project’s process will lead to the goal of developing software with high Q&P. A
process model is essentially a compilation of best practices into a “recipe” for success in
the project. In other words, a process is a means to reach the goals of high quality, low
cost, and low cycle time, and a process model provides a process structure that is well
suited for a class of projects.
A process is the sequence of steps executed to achieve a goal. Since many different
goals may have to be satisfied while developing software, multiple processes are
needed. Many of these do not concern software engineering, though they do impact
software development. These could be considered non-software process.
 Business processes,
 Social processes, and
 Training processes are all examples of processes.
These processes also affect the software development activity but are beyond the
purview of software engineering

The processes that deal with the technical and management issues of software
development are collectively called the software process
Software project will have to engineer a solution and properly manage the
project, there are clearly two major components in a software process—
 a development process and
 a project management process
 Software Configuration Control process

The development process specifies all the engineering activities that need to be
performed.

The management process specifies how to plan and control these activities so that
cost, schedule, quality, and other objectives are met.

During the project many products are produced which are typically composed of
many items (for example, the final source code may be composed of many source
files). These items keep evolving as the project proceeds, creating many versions on
the way.
The basic objective of the process management process is to improve the software
process. By improvement, we mean that the capability of the process to produce
quality goods at low cost is improved
These component processes are distinct not only in the type of activities performed
in them, but typically also in the people who perform the activities specified by the
process

In a typical project,
 Development activities are performed by programmers, designers, testers, etc.;
 The project management process activities are performed by the project
management;
 Configuration control process activities are performed by a group generally
called the configuration controller; and the
 Process management process activities are performed by the software
engineering process group (SEPG)
These three constituent processes focus on the projects and the products and can be
considered as comprising the product engineering processes, as their main objective is
to produce the desired product

If the software process can be viewed as a static entity, then these three component
processes will suffice. However, a software process itself is a dynamic entity, as it
must change to adapt to our increased understanding about software development
and availability of newer technologies and tools. Due to this, a process to manage the
software process is needed

You might also like