We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF or read online on Scribd
You are on page 1/ 13
Software Process: A Generic View
Software Process : Overview
What? A software process is a series of predictable
steps that leads to a timely, high-quality product.
Who? Managers, software engineers, and
customers.
Why? Provides stability, control, and organization to
an otherwise chaotic acti"
Steps? A handful of activities are common to all
software processes, details vary.
Work product? Programs, documents, and data.
Correct process? Assessment, quality deliverable.Software Engineering
* Software Engineering —A Layered TechnologyProcess
A software process is the set of activities and associated results that
are involved in developing software products.
Foundation for software engineering.
A software process defines a framework that must be established
for effective delivery of software engineering technology.
‘A software process is a framework for the tasks that are required to
build high-quality software.
Software process forms the basis for management control of
software projects, establishes the context in which technical
methods are applied, work products are produced, milestones are
established, quality is ensured, and change is properly managed.Methods
A software engineering method is a structured approach
to software development whose aim is to facilitate the
production of high-quality software in a cost-effective
way.
Software engineering methods provide the technical
“how to’s” for building software.
Methods are organized ways of producing software.
Methods encompass a broad array of tasks —
— Communication
— Requirements analysis
— Design
— Program construction
— Testing
= SupportTools
* Provide support for the process & methods
* Automation/semi-automation
* Computer-aided software engineering (CASE)[Process Framework
Process FrameworkA Process Framework
* A process framework establishes the foundation for a
complete software process by identifying a small
number of framework activities that are applicable to
all software projects, regardless of size/complexity.
* In addition, the process framework encompasses a
set of umbrella activities that are applicable across
the entire software process.Generic Process Framework Activities
= Five generic process framework activities
are:
1)
2)
3)
4)
5)
Communication
Planning
Modeling
Construction
DeploymentGeneric Process Framework Activities
= 1. Communication
— Involves heavy communication and collaboration
with the customer and other stakeholders
— Encompasses requirements gathering and other
related activiti.
= 2. Planning
— Establishes a plan for the software engineering
work that follows
— Describes technical tasks, risks, resources, work
product, and work scheduleGeneric Process Framework Activities
= 3. Modeling:
— Encompasses the creation of models that allow
the developer and customer to better understand
software requirements and the design that will
achieve those requirements
— Analysis of Requirements
— Design
" 4. Construction:
—Code generation
—Testing
= 5. Deployment:
— Software is delivered to customer who evaluates
the delivered product and provides feedback.Umbrella Activities
* The generic process framework activities are
complemented by a set of umbrella activities that
persist across the entire software process.
* Each of these umbrella activities is defined by a set
of tasks that are adapted to the project type and
degree of rigor with which software engineering is to
be applied.
Umbrella activities occur throughout the software
process and focus primarily on project management,
tracking and control.What are the Umbrella Activities ?
* Umbrella Activities —
— Software project management
— Formal technical reviews
— Software quality assurance
— Software configuration management
— Work product preparation and production
— Reusability management
— Measurement
— Risk managementThe Process Model: Adaptability
= The framework activities will always be applied on every
project ... BUT different projects demand different task sets.
.
The tasks (and degree of rigor) for each activity will vary
based on:
— the type of project
— characteristics of the project
— common sense judgment
— concurrence of the project team
= Software process adaptation is essential for project success.
= Software team chooses the task set based on problem and
project characteristics.