PSP in Software Development: Overview of Cyclic Processes and Scalability, Slides of Computer Science

An overview of the personal software process (psp) in software development, focusing on cyclic processes and scalability stages. The psp is a disciplined personal framework designed to help engineers produce zero-defect products on schedule and within planned costs. The evolution of psp, the concept of scalability, and the different stages of psp, from small programs to large multi-component systems.

Typology: Slides

2010/2011

Uploaded on 10/31/2011

naachiz
naachiz 🇵🇰

4.5

(24)

34 documents

1 / 23

Toggle sidebar

This page cannot be seen from the preview

Don't miss anything!

bg1
Department of Computer & Information Sciences
Pakistan Institute of Engineering and Applied Sciences
Department of Computer & Information Sciences
Pakistan Institute of Engineering and Applied Sciences
Software Quality
Lecture 8
Lecture
8
Cyclic Personal Process
Umar Faiz
http://www.pieas.edu.pk/umarfaiz/cis441
Software Quality
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17

Partial preview of the text

Download PSP in Software Development: Overview of Cyclic Processes and Scalability and more Slides Computer Science in PDF only on Docsity!

Department of Computer & Information Sciences Department of Computer & Information SciencesPakistan Institute of Engineering and Applied SciencesPakistan Institute of Engineering and Applied Sciences

Software Quality

Lecture 8Lecture 8

Cyclic Personal Process

Umar Faiz

http://www.pieas.edu.pk/umarfaiz/cis

Software Quality

Personal

Software

Process

(PSP)

PSP

Evolution

Cyclic Personal Process

TSPCyclic development

PSP2.1D

i^

t^

l t

Personal Quality Management

PSP2Code reviewsDesign reviews

Design templates

Personal Planning Process

PSP

PSP1.1Task planningSchedule planning

Personal

Planning Process

Size estimatingTest report

p^

g

Baseline Personal Process

PSP0Current processTime recording

PSP0.1Coding standardSize measurementProcess improvementproposal (PIP)

http://www.pieas.edu.pk/umarfaiz/cis

Time

recording

Defect recordingDefect type standard

proposal (PIP)

Personal

Software

Process

(PSP)

  • Scalable

Systems

A SW system is scalable if:

A

SW

system

is

scalable

if:

It

can

be

disintegrated

into

smaller

components

The smaller components can be developedThe

smaller

components

can

be

developed

The

system

can

be

reintegrated

(without

modifying

the

components

during

integration)

It

has

an

essence

conceptual

integrity

http://www.pieas.edu.pk/umarfaiz/cis

Personal

Software

Process

(PSP)

  • Scalability

Stages

http://www.pieas.edu.pk/umarfaiz/cis

Personal

Software

Process

(PSP)

  • Cyclic

Processes

Stage 0

Stage

Stage

is

the

basic

construct

level.

It concerns the construction of loops case statements etcIt

concerns

the

construction

of

loops

,^

case

statements

,^

etc

Stage

is

the

principal

focus

of

initial

programming

courses.

At

stage

you

consciously

design

each

programming

construct.

When

your

thinking

is

preoccupied

with

these

details,

it

is

hard

to

visualize

larger

constructs.

http://www.pieas.edu.pk/umarfaiz/cis

Personal

Software

Process

(PSP)

  • Stage

The

Program

or

Module

Stage 1 concerns small programs of up to several hundred

Stage

concerns

small

programs

of

up

to

several

hundred

LOC.

Movement

from

stage

to

stage

naturally

occurs

with

g

g

y

language

fluency.

You

now

think

of

small

programs

as

entities

without

i^

l^

d

i^

i^

th i d t il d

t^

t

consciously

d

esigning

th

eir

d

etailed

constructs.

As

you

gain

experience

at

stage

you

build

a

vocabulary

of small program functions which you understand and canof

small

program

functions

which

you

understand

and

can

use

with

confidence.

http://www.pieas.edu.pk/umarfaiz/cis

Personal

Software

Process

(PSP)

  • Stage

3:The

System

Work with large multi component systems

Work

with

large

multi

‐component

systems

Understand

the

external

interfaces

of

these

components,

but

not

their

inner

workings.

g

Problems:

Hiding

functional

complexity

from

users

so

they

are

not

g

p

y

(^

y

overwhelmed

with

the

multitude

of

capabilities).

Maintaining

component

quality:

integration

is

difficult

if

not

impossible with low quality componentsimpossible

with

low

quality

components

Your

PSP

could

totally

change,

or

become

totally

focused

on

a

small

part

of

the

overall

process.

http://www.pieas.edu.pk/umarfaiz/cis

Personal

Software

Process

(PSP)

  • Stage

3:The

System

Moving 3 >

Moving

Reduce

centralized

control,

because:

-^

No

one

could

p

ossibly

track

all

the

activities.

p

y

-^

No

one

could

understand

all

the

components.

-^

Too

many

communication

paths

would

be

necessary.

-^

Data to central control would be late & incomplete, and would thus lead toData

to

central

control

would

be

late

&

incomplete,

and

would

thus

lead

to

poor

decision

‐making.

-^

Centralized

control

de

‐motivates

the

people

at

the

bottom,

who

need

to

take

effective

action

on

their

own

http://www.pieas.edu.pk/umarfaiz/cis

Personal

Software

Process

(PSP)

The

Scope

of

Scalability

Large Project

Product Z

MediumP

j^

t^

Component X

Component Y

Projects

Component X

Component Y

Module B

Module A

Module E

Module D

Module H

Module G

Module K

Module

J

Module N

Module M

SmallP

j^

t

Module C

Module F

Module I

Module

L

Module O

http://www.pieas.edu.pk/umarfaiz/cis

P

rojects

Personal

Software

Process

(PSP)

Requirements& Planning

Specifications

SpecifyCycle

High-levelDesign

Detailed Design &Design Review

HLDReview

Test Developmentand Review

CyclicDevelopment

Implementationand Code Review

Post-mortem

Compile

IntegrationSystem test

Product

Test Reassess

http://www.pieas.edu.pk/umarfaiz/cis

Reassess and Recycle

Cyclic PSP Flow

Personal

Software

Process

(PSP)

  • The

Development

Strategy

Several strategies:

Several

strategies:

Progressive

(“pipeline”)

-^

System

p

rocesses

information

in

a

sequential

manner

y^

p^

q

Functional

Enhancement

-^

Kernel

enhancements,

see

working

system

earliest

F

t P th E h

t

F

ast

‐P

ath

E

nhancement

-^

Demonstrate

key

timing/system

problems

as

early

as

possible

Dummy

-^

Top

‐down,

layered,

good

for

kernel

of

enhancement

approaches^ http://www.pieas.edu.pk/umarfaiz/cis

Personal

Software

Process

(PSP)

  • The

Overall

Approach

Plan conceptual design estimate size plan development

Plan

conceptual

design

,^

estimate

size

,^

plan

development

work

High

level

design

subdivides

work

g

g

These

will

define

activities

for

subsequent

cycles

‐^300

LOC

(new

changed)

per

cycle

For

each

cycle

Establish

spec’s

for

current

cycle

Follow

regular

development

process

for

the

current

sub

‐system

Be

especially

attentive

to

quality

(thorough

reviews,

defect

prevention removal) since subsequent cycles will use this codeprevention

,^

removal)

since

subsequent

cycles

will

use

this

code

http://www.pieas.edu.pk/umarfaiz/cis

Personal

Software

Process

(PSP)

Benefits

of

PSP

Insight into your talents and abilities

Insight

into

your

talents

and

abilities

you

will

better

understand

your

strengths

and

weaknesses

you will be better able to maximize your assetsyou

will

be

better

able

to

maximize

your

assets

the

PSP

will

help

you

to

objectively

deal

with

your

weaknesses.

Improvement

ideas

by

defining

your

process,

you

assert

control

over

it

you

will

unconsciously

observe

your

working

self

you

will

see

many

ways

to

improve

your

process

and

your

performance.

Improvement frameworkImprovement

framework

you

can

better

see

how

the

process

parts

relate

you

can

better

focus

on

p

riority

areas

for

improvement.

http://www.pieas.edu.pk/umarfaiz/cis

y^

p

y

p

Personal

Software

Process

(PSP)

Benefits

of

PSP

Personal control

Personal

control

you

will

have

a

planning

framework

you will have the data on which to base your plansyou

will

have

the

data

on

which

to

base

your

plans

your

plans

will

be

more

reliable

you

will

be

better

able

to

track

your

status

you

will

be

better

able

to

manage

your

work.

Accomplishments

and

personal

bests

you

will

recognize

your

personal

bests

you

will

better

understand

how

to

repeat

and

to

surpass

them

you will see where and how you have improved ƒ

you

will

see

where

and

how

you

have

improved

you

will

have

your

own

personal

improvement

goals

you

will

have

the

satisfaction

that

comes

with

knowing

y

ou

are

http://www.pieas.edu.pk/umarfaiz/cis

y^

g y

doing

superior

work.