0% found this document useful (0 votes)
33 views35 pages

02 Software Engineering Process Model Infrastructure and Improvement 28092020 054722pm

The document outlines the software engineering process models, emphasizing the importance of structured approaches to software development for achieving high-quality results. It discusses various models such as Waterfall, V-Model, Incremental, and Evolutionary models, along with the significance of software process improvement (SPI) and infrastructure. Key elements include assessment, education, selection, installation, evaluation, and risk management to enhance software processes and product quality.

Uploaded by

syedabushranaqvi
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
33 views35 pages

02 Software Engineering Process Model Infrastructure and Improvement 28092020 054722pm

The document outlines the software engineering process models, emphasizing the importance of structured approaches to software development for achieving high-quality results. It discusses various models such as Waterfall, V-Model, Incremental, and Evolutionary models, along with the significance of software process improvement (SPI) and infrastructure. Key elements include assessment, education, selection, installation, evaluation, and risk management to enhance software processes and product quality.

Uploaded by

syedabushranaqvi
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 35

Software

Construction

Software Engineering Process Model,


Infrastructure and Improvement
Overview
• Software Development Process
• Software Engineering process Infrastructure
• Software Engineering Process Improvement
What / who / why/ how is Process
Models?
What: Go through a series of predictable steps--- a road
map that helps you create a timely, high-quality results.
Who: Software engineers and their managers, clients
also. People adapt the process to their needs and follow
it.
Why: Provides stability, control, and organization to an
activity that can if left uncontrolled, become quite
disordered. However, modern software engineering
approaches must be agile and demand ONLY those
activities, controls and work products that are
appropriate.
Cont…
What Work products: Programs, documents, and data
What are the steps: The process you adopt depends
on the software that you are building. One process might
be good for aircraft avionic system, while an entirely
different process would be used for website creation.
How to ensure right: A number of software process
assessment mechanisms that enable us to determine the
maturity of the software process. However, the quality,
timeliness and long-term viability of the software are the
best indicators of the efficacy of the process you use.
Definition of Software Process
• A framework for the activities, actions, and tasks that
are required to build high-quality software.
• SP defines the approach that is taken as software is
engineered.
A Generic
Process Model
A Generic Process Model
As we discussed before, a generic process framework for
software engineering defines five framework activities-
communication, planning, modeling, construction, and
deployment.
In addition, a set of umbrella activities- project tracking and
control, risk management, quality assurance, configuration
management, technical reviews, and others are applied
throughout the process.
Process Flow
Process Flow
Linear process flow executes each of the five activities in sequence.
An iterative process flow repeats one or more of the activities before
proceeding to the next.
An evolutionary process flow executes the activities in a circular
manner. Each circuit leads to a more complete version of the software.
A parallel process flow executes one or more activities in parallel with
other activities ( modeling for one aspect of the software in parallel
with construction of another aspect of the software.
The Waterfall Model

• It is the oldest paradigm for


SE. When requirements are
well defined and reasonably
stable, it leads to a linear
fashion.
• The classic life cycle
suggests a systematic,
sequential approach to
software development.
The V-Model

• A variation of waterfall model depicts the


relationship of quality assurance actions to
the actions associated with
communication, modeling and early code
construction activates.

• Team first moves down the left side of the


V to refine the problem requirements.
Once code is generated, the team moves
up the right side of the V, performing a
series of tests that validate each of the
models created as the team moved down
the left side.
The Incremental Model

• It combines elements of linear and


parallel process flows. Each linear
sequence produces deliverable
increments of the software.
• The first increment is often a core
product with many supplementary
features. Users use it and evaluate
it with more modifications to better
meet the needs.
Evolutionary Models
• Software system evolves over time as requirements often change as development
proceeds. Thus, a straight line to a complete end product is not possible. However, a
limited version must be delivered to meet competitive pressure.
• Usually a set of core product or system requirements is well understood, but the
details and extension have yet to be defined.
• You need a process model that has been explicitly designed to accommodate a
product that evolved over time.
• It is iterative that enables you to develop increasingly more complete version of the
software.
• Two types are introduced, namely Prototyping and Spiral models.
Quick
plan
communication
Modeling
Quick design

Evolutionary
Models:
Prototyping
Deployment
delivery &
feedback Construction
of prototype
Evolutionary
Models: The
Spiral
Software Process Improvement
SPI
• Software process improvement is a set of activities that
will lead to a better software process and in result higher
quality software delivered in a more timely manner.
• The people who champion SPI come from three groups:
technical managers, software engineers and individuals
who have quality assurance responsibility.
Cont..
• The approach to SPI is iterative and continuous, but it can be
viewed in five QUICK LOOK steps:
1. Assessment of the current software process
2. Education and training of practitioners and managers
3. Selection and justification of process elements, software
engineering methods, and tools
4. Implementation of the SPI plan,
5. Evaluation and tuning based on the results of the plan
Assessment and Gap Analysis in SPI
• Assessment allows you to analyse the current working
process, you find out the strengths and weaknesses of
the current process in the assessment phase.
• The difference between local application and best
practice represents a “gap” that offers opportunities for
improvement.
Education in SPI
• When and SPI framework is introduced. It follows that a key
element of any SPI strategy is education and training for
practitioners, technical managers and more senior managers
who have direct contact with the software organization. Three
types of education and training should be conducted:
• Generic concepts and methods. Directed toward both
managers and practitioners, this category stresses both process
and practice.
Cont..
• Specific technology and tools. Directed primarily toward
practitioners, this category stresses technologies and tools that have
been adopted for local use. For example, if UML has been chosen for
analysis and design modelling, a training curriculum for software
engineering using UML would e established.
• Business communication and quality related topics. Directed
toward al stakeholders, this category focuses on soft topics that help
enable better communication among stakeholders and foster a greater
quality focus.
Selection and Justification in SPI
• First, you should choose the process model that best fits
organization, its stakeholders and the software that you
build.

• Secondly, if you choose something you should have a


proper justification for choosing with authentic
arguments.
Installation/ Migration in SPI
• Installation is the 1st place where we see the impact of the
SPI we have implemented.
• Sometimes changes do not work the way we want, so we
have to change the whole SPI.
• Sometimes we don’t have any need to change the whole
SPI but minor changes are required such changes are often
referred to as process migration.
Evaluation in SPI
• At this stage we evaluate the changes, this impact of the
changes the quality in software product

All in all at this stage we evaluate all the changed we got


after implementing the SPI to any process
Risk Management for SPI
• There are three points at with risk management is
important in SPI
1. Before staring the SPI
2. During SPI (Education, Installation and assessment)
3. At the time of evaluation

• Risk can be of any type it can be of budget or schedule


Success factor of SPI
Critical Success Factors
1. Management Commitment and Support
2. Staff involvement
3. Process integration and understanding
4. A customized SPI strategy
5. Solid management of SPI project
Software Process Infrastructure
Software Process Infrastructure
• an underlying base or foundation of an organization’s
process environment to meet working conditions and
ensure that there is a complete set of options available to
perform every process effectively within the environment.
• IT systems and software, physical hardware, human
resources, tools and equipment, employee skills are some
of the components of a typical process infrastructure.
Cont..
• Software process infrastructure varies, depending on the
size and complexity of the organization and the projects
undertaken within the organization.
Control levels
• A software process infrastructure may provide funding, tools,
training, and staff members who have been assigned responsibilities
for establishing and maintaining the software process infrastructure.
• To oversee implementation and improvement of the software
processes essentially, there are three control levels, such as:
1. Steering Committee
2. Management Team
3. Working groups
Steering Committee
• Includes executives or high-level managers
• Committee members oversee infrastructure elements,
review progress of process improvement projects,
develop strategic objectives, and make major decisions
regarding development direction of existing processes.
Management Team
• Consists of middle managers who provide supervision and
control of existing processes.
• Group members receive advice and guidance from senior
managers of the steering committee.
• The team takes care of process improvements, organizational
changes, team collaboration, team communications,
performance tracking, and configuration management.
Working Groups
• are formed from various specialists who solve specific
problems and develop solutions identified by the
management team.
• Each working group is an organized team that has a
range of objectives and goals to be addressed to solve a
process problem and develop a process improvement
solution.
Misperception
• Establishinga software process infrastructure and implementing
repeatable software processes will add time and cost to software
development and maintenance.
• There is a cost associated with introducing or improving a software
process.
• Experience has shown that implementing systematic improvement of
software processes tends to result in lower cost through improved
efficiency, avoidance of rework, and more reliable and affordable software.
Process performance thus influences software product quality.
Book
• Source Wikipedia. (2013). Software Development
Process: Waterfall Model, Computer Programming,
Extreme Programming,... University-Press Org.
• Software Engineering Processes: Principles and
Applications by Yingxu Wang, Graham King - 2000

You might also like