Software Process
Software Process
INTRODUCTION TO
SOFTWARE ENGINEERING
Process Models
What is it? Process Model
• When you work to build a product or system, it’s 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 a “software process.”
Who does it?
Software engineers and their managers adapt the process to their needs and then
follow it.
In addition, the people who have requested the software have a role to play in the
process of defining, building, and testing it.
Process Models
Process
A process is a collection of work activities, actions, and tasks that are
performed when some work product is to be created.
Software Process
• a software process is a framework for the activities, actions, and tasks that are
required to build high-quality software.
• A software process defines the approach that is taken as software is engineered
Why is it important?
It provides stability, control, and organization to an activity that
can, if left uncontrolled, become quite chaotic.
It must apply only those activities, controls, and work products that are appropriate
for the project team and the product that is to be produced.
• What is the work product?
• • From the point of view of a software engineer, the work products are the
programs, documents, and data that are produced as a consequence of the
activities and tasks defined by the process.
• • How do I ensure that I’ve done it right?
• The quality, timeliness, and long-term viability of the product you build are the
best
• indicators of the efficacy of the process that you use
What is the work product?
• From the point of view of a software engineer, the work products are the
programs, documents, and data that are produced as a consequence of the
activities and tasks defined by the process.
• 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,
• elabo- ration,
• negotiation,
• specification
• validation
Identifying a Task Set
• Each task set is a collection of
• software engineering work tasks,
• related work products,
• quality assurance points
• project milestones.
• Choose a task set that best accommodates the needs of the
project and the characteristics of your team.
• Software engineering action can be adapted to the spe- cific
needs of the software project and the characteristics of the
project team.
Example of Task Set
• For a small, relatively simple project, the task set for requirements gathering
might look like this:
1. Make a list of stakeholders for the project.
2. Invite all stakeholders to an informal meeting.
3. Ask each stakeholder to make a list of features and
4. functions required.
5. Discuss requirements and build a final list.
6. Prioritize requirements.
7. Note areas of uncertainty.
.