Software Process and Their Characterstics
Software Process and Their Characterstics
BCA-303
Ms. Sunidhi Shrivastava
Assistant Professor
CSA Dept.
ITM University Gwalior
Software Process and Their Characteristics
Content
• Introduction
• Five Activities of a Generic Process framework
• Umbrella Activities
• Adapting a Process Model
• Prescriptive and Agile Process Models
• Adapting a Process Model
• The Essence of Practice
• Understand the Problem
• Plan the Solution
• Carry Out the Plan
• Software Myths
• Case studies
Introduction
• A process is a collection of activities, actions and tasks that are performed
when some work product is to be created. It is not a rigid prescription for
how to build computer software. Rather, it is an adaptable approach that
enables the people doing the work to pick and choose the appropriate set
of work actions and tasks.
• Purpose of process is to deliver software in a timely manner and with
sufficient quality to satisfy those who have sponsored its creation and those
who will use it.
Five Activities of a Generic Process
framework
• Communication: communicate with customer to understand objectives and gather
requirements
• Planning: creates a “map” defines the work by describing the tasks, risks and resources,
work products and work schedule.
• Modeling: create a “sketch”, what it looks like architecturally, how the constituent parts
fit together and other characteristics.
• Construction: code generation and the testing.
• Deployment: delivered to the customer who evaluates the products and provides
feedback based on the evaluation.
• These five framework activities can be used to all software development regardless of the
application domain, size of the project, complexity of the efforts etc, though the details
will be different in each case.
• For many software projects, these framework activities are applied iteratively as a
project progresses. Each iteration produces a software increment that provides a subset of
overall software features and functionality.
Umbrella Activities
Complement the five process framework activities and help team manage and control
progress, quality, change, and risk.
• Software project tracking and control: assess progress against the plan and take
actions to maintain the schedule.
• Risk management: assesses risks that may affect the outcome and quality.
• Software quality assurance: defines and conduct activities to ensure quality.
• Technical reviews: assesses work products to uncover and remove errors before
going to the next activity.
• Measurement: define and collects process, project, and product measures to
ensure stakeholder’s needs are met.
• Software configuration management: manage the effects of change throughout
the software process.
• Reusability management: defines criteria for work product reuse and establishes
mechanism to achieve reusable components.
• Work product preparation and production: create work products such as models,
documents, logs, forms and lists.
Adapting a Process Model
The process should be agile and adaptable to problems. Process adopted for one
project might be significantly different than a process adopted from another project.
(to the problem, the project, the team, organizational culture). Among the differences
are:
–the overall flow of activities, actions, and tasks and the interdependencies among
them
–the degree to which actions and tasks are defined within each framework activity
–the degree to which work products are identified and required
–the manner which quality assurance activities are applied
–the manner in which project tracking and control activities are applied
–the overall degree of detail and rigor with which the process is described
–the degree to which the customer and other stakeholders are involved with the
project
–the level of autonomy given to the software team
–the degree to which team organization and roles are prescribed
7
Prescriptive and Agile Process Models
• Myth 2: Until I get the program running, I have no way of assessing its
quality.
Reality: technical review are a quality filter that can be used to find certain
classes of software defects from the inception of a project.
Cont..
• Myth 3: software engineering will make us create voluminous and
unnecessary documentation and will invariably slow us down.
Reality: it is not about creating documents. It is about creating a quality
product. Better quality leads to a reduced rework. Reduced work results in
faster delivery times.
a. Software myths
b. Scientific Product
c. Software Evolution
d. None of the above
• Which one of the following is not an Umbrella Activity that
complements the five process framework activities and help team
manage and control progress, quality, change, and risk.
a) Reusability management
b) Risk management
c) Measurement
d) User Reviews
a) True
b) False
[email protected]