software system engineering

20
1998-05 Fayad SJSU -- CmpE Software System Engineering Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College of Engineering San José State University One Washington Square San José, CA 95192-0180 http://www.engr.sjsu.edu/~fayad, [email protected]

Upload: cameron-adams

Post on 30-Dec-2015

29 views

Category:

Documents


0 download

DESCRIPTION

Software System Engineering. Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College of Engineering San José State University One Washington Square San José, CA 95192-0180 http://www.engr.sjsu.edu/~fayad, [email protected]. Lecture 2a: Defining & Documenting - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Software System Engineering

1998-05 Fayad SJSU -- CmpE

Software System Engineering

Dr. M.E. Fayad, ProfessorComputer Engineering Department, Room #283I College of EngineeringSan José State UniversityOne Washington SquareSan José, CA 95192-0180 http://www.engr.sjsu.edu/~fayad, [email protected]

Page 2: Software System Engineering

1998-05 Fayad SJSU -- CmpE M.E. Fayad L2a-S2 Chapter 13

2

Lecture 2a:Defining & Documenting

Software Processes

Page 3: Software System Engineering

1998-05 Fayad SJSU -- CmpE M.E. Fayad L2a-S3 Chapter 13

Lesson Objectives

Objectives

3

The Manager’s Roles and Responsibilities in

Software Process Measure Processes Rather than People Five Top Excuses for No Process Documentation Where to Start and How? The Trouble with Process Assessment:

+ Process Improvement Models

+ Problems with Assessment

+ Process Paralysis How to Use Processes as a Baseline for

Improvement

Page 4: Software System Engineering

1998-05 Fayad SJSU -- CmpE M.E. Fayad L2a-S4 Chapter 13

Specify who, what, when, how, and ignore the why?

Practical

Concrete Actions

Measurable

Tailorable

Hierarchical

Repeatable

Simple

4

Process Properties

Page 5: Software System Engineering

1998-05 Fayad SJSU -- CmpE M.E. Fayad L2a-S5 Chapter 13

Management must:

– support the move to process-oriented development.

– Show how processes will help achieve the overall goals of the organization.

– Show how each team and its members fit into the big picture.

5

The Manager’s Roles & Responsibilities

Page 6: Software System Engineering

1998-05 Fayad SJSU -- CmpE M.E. Fayad L2a-S6 Chapter 13

6

Measure Processes Rather than People

Measuring processes is an excellent measure of management itself.

Page 7: Software System Engineering

1998-05 Fayad SJSU -- CmpE M.E. Fayad L2a-S7 Chapter 13

Top Five Excuses for No Process Documentation

My team is smart, they've beenprogramming for years

We're too busy, no time for processes

Maybe on a new start, but my programhas been around for years

Processes are busywork that no oneever reads

Software is a creative process, notan assembly line

1

2

3

4

5

7

Page 8: Software System Engineering

1998-05 Fayad SJSU -- CmpE M.E. Fayad L2a-S8 Chapter 13

Where to Start and How?

In many organizations, especially those trying to conform to SEI’s CMM, turning everything into a process has become goal in itself.

Wrong, Why?

8

Page 9: Software System Engineering

1998-05 Fayad SJSU -- CmpE M.E. Fayad L2a-S9 Chapter 13

Software Process Assessments - 1 Software process improvement begin with an

assessment. Gives an organization a sense of where it

stands in terms of software production skills. The organization evaluates its development

capability against a set of best practices that are supposed to be found in effective organizations

9

Page 10: Software System Engineering

1998-05 Fayad SJSU -- CmpE M.E. Fayad L2a-S10 Chapter 13

Software Process Assessments - 2 The number of practices, their mastery, and their

level of integration into the development determine the organization’s assessment score.

Best known process improvement initiatives:– SEI’s CMM– SPICE– DOD’s SDCE– ISO 9000– ISO/IEC 12207

Some initiatives allow self-assessment while others require outside certification. 10

Page 11: Software System Engineering

1998-05 Fayad SJSU -- CmpE M.E. Fayad L2a-S11 Chapter 13

Software Process Improvement Models

SEI’s CMMSPICEDOD’s SDCE ISO 9000 ISO/IEC 12207

11

Page 12: Software System Engineering

1998-05 Fayad SJSU -- CmpE M.E. Fayad L2a-S12 Chapter 13

SEI’s CMM Best known and most widely discussed SPI model. Defines 5 level of organizational maturity, from initial

or chaotic to optimizing. Starting with level 2 on, has associated with it a set of

key process areas– Level 2: requirements management and project planning– Level 3: training and peer reviews– Level 4 & 5: software quality management and defect

prevention

Each level includes the process areas of its lower levels

12

Page 13: Software System Engineering

1998-05 Fayad SJSU -- CmpE M.E. Fayad L2a-S13 Chapter 13

SPICE

Developed as an international metastandard under ISO/IEC. Doesn’t aim to replace other standards. Provide a benchmark for current and future process

improvement initiatives. Recognizes two categories of SE practices: best practices

(specific Process) and generic practices (any process) List five process areas: customer-Supplier, engineering,

project management, support, and organization Capability levels range from 0 (not performed) to 5

(continuously improving) 13

Page 14: Software System Engineering

1998-05 Fayad SJSU -- CmpE M.E. Fayad L2a-S14 Chapter 13

14

Defined Processes are Baseline for Improvements

Can’t improve anything that you can’t repeat

.

Planned vs. Actual Budget

500

1000

1500

2000

2500

3000

3500

Hou

rs

J an Feb Mar Apr M ay J un J ul Aug Sep

Planned

Ac tual

Automated Testing Process

Improved Processes Metric Feedback

Tem per at ureTr ansducer s

M odel3. 2.1. 4. 11

Tem perat ur eTr ansducers

I nter face3. 2.2. 9

I ce Det ectorM odel

3. 2.1. 4.14

Ai r Dat a U nitM odel

3. 2.1. 4.1

Modify_OAT_WAT_Diff

OAT_WAT_Dif f

U p da t e_ T e mp _T r nd c rs

Mach_NumberS ta t ic _ P re s su r e

Measured_OAT_WAT_Diff

Measur ed_OAT_WAT_Diff

Updat e_I ce_Detect or

OAT_WAT_Dif f_Voltage

Temp_Tr ndcrs_BIT_State

T e m p _ Tr n dc r s_ S t at e

Measur ed_St at ic_Pressur e

Measur ed_St at ic_Pressur e

O bje c t In te rac tio n D iagr am ( O ID )

Technology Infusion

Process Improvements

SoftwareDevelopmentProcesses

UPDATED

SoftwareDevelopmentProcesses

Page 15: Software System Engineering

1998-05 Fayad SJSU -- CmpE M.E. Fayad L2a-S15 Chapter 13

15

Software Process Hierarchy

.

Projects

Software Pro cess

Software Pro cess

Pro

jec

t 2

Software Pro cess

Pro

jec

t 3

Pro

jec

t 2

Pro

jec

t 1

3

XYZ Company

SoftwareEngineeringGuidebooksManual

Company2Industry /Government1

Software Engineering Institute

CapabilityMaturity Modelfor Software

FEDERALSTANDARD

FAA - 178A

DoD-STD-2167A

MILITARYSTANDARD

Page 16: Software System Engineering

1998-05 Fayad SJSU -- CmpE M.E. Fayad L2a-S16 Chapter 13

16

General Processes Must be Tailored to Your Projects

SQAReviewer

Reader

Designer

PreliminaryDesign

Reviewer

Moderator

S/W TechLead

ReworkPerfor m furt her r ework of th e

deta iled design. Prese nt minorrewor k to SQA Reviewer and

major rewor k to S/ W Tech Lea d.

Are allminor defects

reworked?

Are al lmajor defects

reworked ?

Follow-UpInfo rm de signer that de taileddesign passed in spection.Add specificat io n units int o

curr ent CM S libr ary.

Yes

Yes

No

No

SoftwareEngineeringPracticesManual

Detailed ProcessesDependent on:

General

Specific

Application Area Methods Tools Language

Software Inspection Process

Page 17: Software System Engineering

1998-05 Fayad SJSU -- CmpE M.E. Fayad L2a-S17 Chapter 13

17

Identifying Appropriate Process Details

Cost effective range– depends upon environment– specifies “who”, “what”, “when”– reference “how”

Too Much• not cost effective

• typically too much “why”

Not Enough• useless

• typically only “what”

Page 18: Software System Engineering

1998-05 Fayad SJSU -- CmpE M.E. Fayad L2a-S18 Chapter 13

What are the differences between macro-development process and mini-development process?

What are the differences between mini-development process and micro-development process?

T/F

– SPICE is software development lifecycles

– Process specifies who, when, what, and how and ignore the how.

Define:

– Process, Process assessment, SPI Models 18

Discussion Questions

Page 19: Software System Engineering

1998-05 Fayad SJSU -- CmpE M.E. Fayad L2a-S19 Chapter 13

Problem with assessments

Process Paralysis

How to document the processes

How to tailor general processes to your project

Recommendations for documenting S/W processes

Process documentation

19

Questions for the Next Lecture

Page 20: Software System Engineering

1998-05 Fayad SJSU -- CmpE M.E. Fayad L2a-S20 Chapter 13

Task 1: Select your assignments on course web site. This is due on the Third week of the semester.

Task 2: Select your team project on the course web site. This is due on the Third week of the semester.

Task 3: Identify the team members of your team. E – Mail me their names, e-mails, phone numbers.

Task 4: Read chapter 13 – Fayad – Sections 6 to 7

Please note that all deliverables must be submitted electronically as MS Word format. 20

Tasks for Next Lecture