Introduction to software engineering course Lecture 2 - Process Models, Slides of Introduction to Software Engineering

Software Process What is the work product? A Generic Process Model Process Flow Waterfall Model V Model Spiral Model

Typology: Slides

2021/2022

Available from 11/23/2022

razaroghani
razaroghani 🇵🇰

4.5

(4)

151 documents

1 / 42

Toggle sidebar

This page cannot be seen from the preview

Don't miss anything!

bg1
Lecture 02
Process Models
1
These slides are designed to accompany Software
Engineering: A Practitioner’s Approach, 7/e (McGraw-Hill
2009).
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18
pf19
pf1a
pf1b
pf1c
pf1d
pf1e
pf1f
pf20
pf21
pf22
pf23
pf24
pf25
pf26
pf27
pf28
pf29
pf2a

Partial preview of the text

Download Introduction to software engineering course Lecture 2 - Process Models and more Slides Introduction to Software Engineering in PDF only on Docsity!

Lecture 02

Process Models

1

These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e (McGraw-Hill 2009).

Software Process

■ Software Process is a framework for the activities, actions, and tasks that are required to build high-quality software.

■ 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.

2

Why is it important?

■ Because it provides stability, control, and organization to an activity that can, if left uncontrolled, become quite chaotic.

■ However, a modern software engineering approach must be “agile.” It must demand only those activities, controls, and work products that are appropriate for the project team and the product that is to be produced.

4

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.

5

A Generic Process Model

(cont…)

■ Referring to last figure, each framework activity is populated by a set of software engineering actions.

■ Each software engineering action is defined by a task set that identifies the work tasks that are to be completed, the work products that will be produced, the quality assurance points that will be required, and the milestones that will be used to indicate progress.

7

A Generic Process Model

(cont…)

■ A generic process framework for software engineering defines five framework activities;

communication, planning, modeling, construction, and deployment.

■ In addition, a set of umbrella activities such as project tracking and control, risk management, quality assurance, configuration management, technical reviews, and others are applied throughout the process.

8

Process Flow

10

Process Flow

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.

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 11

Identifying a Task Set

(Cont…)

■ 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 functions required.
  4. Discuss requirements and build a final list.
  5. Prioritize requirements.
  6. Note areas of uncertainty

13

Process Patterns

■ A process pattern

  • describes a process-related problem that is encountered during software engineering work,
  • identifies the environment in which the problem has been encountered, and
  • suggests one or more proven solutions to the problem.

■ Stated in more general terms, a process pattern provides you with a template [Amb98]—a consistent method for describing problem solutions within the context of the software process.

■ Will be discussed in later chapters. (^14)

Brief History of

Development

Methodologies

WATERFALL (Royce)

Communication, Planning Modeling, Construction & Deployment

1970 1980 1985 1991

V-MODEL (Anon) Aligns testing to Waterfall development

SPIRAL MODEL (Barry Boehm)

Incremental

Iterative

AGILE e.g. XP (Kent Beck) Incremental, user driven, low process

1999

Waterfall

V-Model

Spiral Model

Increment al

Agil e

Waterfall Model

17

Waterfall Model (Cont…)

■ Waterfall model is the earliest SDLC approach that was used for software development.

■ The whole process of software development is divided into separate phases.

■ The outcome of one phase acts as the input for the next phase sequentially. This means that any phase in the development process begins only if the previous phase is complete. (^19)

V Model

■ V - Model is an extension of the waterfall model and is based on association of a testing phase for each corresponding development stage. This means that for every single phase in the development cycle there is a directly associated testing phase. This is a highly disciplined model and next phase starts only after completion of the previous phase.