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

Software Process

Chapter 2 discusses the software process, which is a set of activities leading to software production, either from scratch or by modifying existing systems. It outlines various process flows, including linear, iterative, evolutionary, and parallel, and emphasizes the importance of a structured approach to ensure high-quality software development. Additionally, it introduces concepts like framework activities, task sets, and process patterns that help define and organize the necessary actions and tasks in software engineering.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
3 views

Software Process

Chapter 2 discusses the software process, which is a set of activities leading to software production, either from scratch or by modifying existing systems. It outlines various process flows, including linear, iterative, evolutionary, and parallel, and emphasizes the importance of a structured approach to ensure high-quality software development. Additionally, it introduces concepts like framework activities, task sets, and process patterns that help define and organize the necessary actions and tasks in software engineering.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
You are on page 1/ 15

Chapter 2

The Software Process

1
A Generic Process Model
•A software process (also knows as software
methodology) is a set of related activities that
leads to the production of the software.
•These activities may involve the development of
the software from the scratch, or, modifying an
existing system.

2
• When you build a product or system, its
important to go through a series of predictable
steps- a road map that helps you create a
timely, high quality result.
• The road map that you follow is called Software
Process.
• A software process as a framework for the tasks
that are required to build a high quality
software.

3
4
Process flow —
 Describes how the framework activities and the actions and
tasks that occur within each framework activity are organized with
respect to sequence and time.
a) A linear process flow executes each of the five framework
activities in sequence, beginning with communication and
culminating with deployment.
b) An iterative process flow repeats one or more of the activities
before proceeding to the next.
c) An evolutionary process flow executes the activities in a
“circular” manner. Each circuit through the five activities leads to
a more complete version of the software

5
d) A parallel process flow executes one or more
activities in parallel with other activities (e.g., modeling
for one aspect of the software might be executed in
parallel with construction of another aspect of the
software).

6
7
8
1 Defining a Framework Activity
What actions are appropriate for a framework activity,
given
The nature of the problem to be solved,
The characteristics of the people doing the work, and
The stakeholders who are sponsoring the project?

9
For a small software project requested by one person (at a
remote location) with simple, straightforward requirements, the
communication activity might encompass little more than a phone
call with the appropriate stakeholder.

Therefore, the only necessary action is phone conversation, and


the work tasks (the task set) that this action encompasses are:

1. Make contact with stakeholder via telephone.


2. Discuss requirements and take notes.
3. Organize notes into a brief written statement of requirements.
4. E-mail to stakeholder for review and approval.

10
• If the project was considerably more complex with many
stakeholders, each with a different set of (sometime conflicting)
requirements, the communication activity might have six
distinct actions
• Inception,
• Elicitation,
• Elaboration,
• Negotiation,
• Specification, and
• Validation.
Each of these software engineering actions would have many work
tasks and a number of distinct work products.

11
2. Identifying a Task Set
•Each software engineering action (e.g., elicitation, an
action associated with the communication activity) can be
represented by a number of different task sets —each a
collection of software engineering work tasks, related
work products, quality assurance points, and project
milestones.

12
3) Process Patterns

• Process patterns define a set of activities, actions, work tasks, work


products and/or related behaviors
• A template is used to define a pattern
• Typical examples:
– Customer communication (a process activity)
– Analysis (an action)
– Requirements gathering (a process task)
– Reviewing a work product (a process task)
– Design model (a work product)

13
• Ambler has proposed the following for describing a process
pattern:
1. Pattern Name: Ex: Customer Communication
2. Intent : To establish a collaborative relationship with the
customer in an effort to define project scope, business
requirements and other project constraints.
3. Type :  Task Pattern: Requirements Gathering
 Stage Pattern – Communication-Requirements
Gathering
 Phase Pattern – Spiral Model
4. Initial Context : The Conditions under which the pattern applies
are described.
5. Problem – Problem to be solved by the pattern is described.
6.Solution – Implementation of the pattern is described. 14
7.Resulting Context: The conditions that will result once the
pattern has been successfully implemented are described.
8. Related Patterns: A list of all process patterns that are directly
related to this one are provided as a hierarchy/ in some other
diagrammatically form.
9. Known uses/Examples

15

You might also like