19
CSSE 372 Software Project Management: Software Process Standards and Guests Shawn Bohner Office: Moench Room F212 Phone: (812) 877-8685 Email: [email protected]

CSSE 372 Software Project Management: Software Process ... · ISO 12207: Tailoring Process (12207.0 Annex A) 1. Identify project environment " Strategy, activity, requirements 2

  • Upload
    others

  • View
    7

  • Download
    0

Embed Size (px)

Citation preview

Page 1: CSSE 372 Software Project Management: Software Process ... · ISO 12207: Tailoring Process (12207.0 Annex A) 1. Identify project environment " Strategy, activity, requirements 2

CSSE 372 Software Project Management:

Software Process Standards and Guests

Shawn Bohner Office: Moench Room F212 Phone: (812) 877-8685 Email: [email protected]

Page 2: CSSE 372 Software Project Management: Software Process ... · ISO 12207: Tailoring Process (12207.0 Annex A) 1. Identify project environment " Strategy, activity, requirements 2

Evolution of Software Process: The Early Days

Page 3: CSSE 372 Software Project Management: Software Process ... · ISO 12207: Tailoring Process (12207.0 Annex A) 1. Identify project environment " Strategy, activity, requirements 2

Evolution of Software Process: Tailored Waterfall…

Page 4: CSSE 372 Software Project Management: Software Process ... · ISO 12207: Tailoring Process (12207.0 Annex A) 1. Identify project environment " Strategy, activity, requirements 2

Evolution of Software Process: Game Development Process…

Page 5: CSSE 372 Software Project Management: Software Process ... · ISO 12207: Tailoring Process (12207.0 Annex A) 1. Identify project environment " Strategy, activity, requirements 2

Learning Outcomes: Life Cycle

Explain and employ contemporary software life cycle processes, activities, and work products n  Examine software

life cycle standards n  Outline context for selecting and

tailoring software processes n  Discuss Cleanroom Software

Engineering

Page 6: CSSE 372 Software Project Management: Software Process ... · ISO 12207: Tailoring Process (12207.0 Annex A) 1. Identify project environment " Strategy, activity, requirements 2

Software Process Standards 1/2

n  The wonderful thing about standards is that there are so many to choose from…

n  Standards save time and money ¨  When leveraged correctly, they simplify the

process & management of a software project

n  Reasonable starting point ¨  Remember to tailor it for your situation…

n  Examples: ¨  ISO 12207 Software Life Cycle Standard ¨  MIL-STD-498/IEEE 1498 – Software Development Life Cycle ¨  IEEE Software Related standards

n  http://standards.ieee.org/reading/ieee/std_public/description/se/

Q1

Page 7: CSSE 372 Software Project Management: Software Process ... · ISO 12207: Tailoring Process (12207.0 Annex A) 1. Identify project environment " Strategy, activity, requirements 2

Software Process Standards 2/2 Evolution of Software Process Standards

Time

Page 8: CSSE 372 Software Project Management: Software Process ... · ISO 12207: Tailoring Process (12207.0 Annex A) 1. Identify project environment " Strategy, activity, requirements 2

Sample IEEE 1498/MIL-STD-498 Life Cycle

System Design

System Reqts.

Analysis

Sys Qual Test

SW/HW Item

Integ/Test

Prepare for Soft- ware Use

Prepare for SW Transition

Hardware item(s) (not covered by this standard)

Software Item 1:

Software Item 2:

Software Item

Qual Test Unit

Integ/ Test

Software Impl. &

Unit Test Soft- ware

Design Software

Reqts. Analysis

SRS/IRS SDD/IDD/DBDD

STD STR

OCD SSS/IRS

SSDD/IDD STR

STD

Executable SW SVDs User/op manual

Executable SW Source files SVDs SPSs Updated SSDDs Maint. manuals

Project planning and oversight SDP SIP/STrP STP

Software Item

Qual Test Unit

Integ/ Test

Software Impl. &

Unit Test Soft- ware

Design Software

Reqts. Analysis

SRS/IRS SDD/IDD/DBDD

STD STR

Other ongoing activities: SQA, SCM, Reviews, Risk Management, Process Improvement, etc.

Q3

Page 9: CSSE 372 Software Project Management: Software Process ... · ISO 12207: Tailoring Process (12207.0 Annex A) 1. Identify project environment " Strategy, activity, requirements 2

Acronym City… Planning

Software Development Plan (SDP) Software Test Plan (STP) Software Installation Plan (SIP) Software Transition Plan STrP)

Concept and Requirements Operational Concept Descr. (OCD) System/Subsystem Spec. (SSS) Interface Requirements Spec. (IRS) Software Requirements Spec. (SRS)

Design System/Subsys. Design Descr. (SSDD) Interface Design Description (IDD) Database Design Description (DBDD) Software Design Description (SDD)

Qualification Testing Software Test Description (STD) Software Test Report (STR)

Maintenance Software Product Specification (SPS) Software Version Description (SVD) Computer Programming Manual (CPM) Firmware Support Manual (FSM)

User/Operator Software User Manual (SUM) Software Input/Output Manual (SIOM) Software Center Operator Manual (SCOM) Computer Operation Manual (COM)

Page 10: CSSE 372 Software Project Management: Software Process ... · ISO 12207: Tailoring Process (12207.0 Annex A) 1. Identify project environment " Strategy, activity, requirements 2

Sample ISO 12207 Development Process Process Implementation Activity

Supporting Processes: Documentation, CM, QA, Verification, Validation, Joint Review, Audit, Problem resolution

Organizational Processes: Management, Infrastructure, Improvement, Training

System Qual Test System

Integra-tion

Software Installation

Software Acceptance Support

Software Item 1:

Sys Arch Design

System Reqts

Analysis

Software Qual Test Software

Integra- tion Software

Code & Test Software

Detailed Design

Software Arch.

Design Software Reqts.

Analysis

SRS

SARAD SRD, UDD

SAD, SIDD, DBDD, T/VP SRD, UDD

EOCR, SCR,T/VPr, T/VRR

SIP,T/VPr

T/VPr T/VRR

T/VRR SCR

T/VRR SCR

SCR, T/VRR

DPP, SDSD

SCMP, SCMR, SCIR, SQAP, SQAR, SVRR, PR/PRR

Software Item 2:

Software Qual Test Software

Integra- tion Software

Code & Test Software

Detailed Design

Software Arch.

Design Software Reqts.

Analysis

Hardware items

Q4

Page 11: CSSE 372 Software Project Management: Software Process ... · ISO 12207: Tailoring Process (12207.0 Annex A) 1. Identify project environment " Strategy, activity, requirements 2

ISO 12207: Tailoring Considerations

n  Life cycle activity: Prototyping, maintenance

n  Software characteristics: Reuse, embedded firmware

n  Organizational policies: Languages, hardware culture

n  Acquisition strategy: Contract type, involvement

n  Life cycle strategy: Waterfall, Evolutionary, Spiral, etc.

Q5

Page 12: CSSE 372 Software Project Management: Software Process ... · ISO 12207: Tailoring Process (12207.0 Annex A) 1. Identify project environment " Strategy, activity, requirements 2

ISO 12207: Tailoring Process (12207.0 Annex A)

1.  Identify project environment ¨ Strategy, activity, requirements

2.  Solicit inputs from users, support team,

potential bidders

3.  Select processes, activities, documentation, and responsibilities

4.  Document tailoring decisions and rationale

Q5

Page 13: CSSE 372 Software Project Management: Software Process ... · ISO 12207: Tailoring Process (12207.0 Annex A) 1. Identify project environment " Strategy, activity, requirements 2

I wonder… is this me?

I’m speeding because I don’t want to forget where I’m going!

Page 14: CSSE 372 Software Project Management: Software Process ... · ISO 12207: Tailoring Process (12207.0 Annex A) 1. Identify project environment " Strategy, activity, requirements 2

Cleanroom Software Engineering: A Precursor to Agile?

n  Developed in the 1980’s to address software quality – Zero Defect Software ¨  Harlan Mills, Alan Hevner, and Richard Linger

n  Cleanroom involves integrated use of:

¨  Software engineering modeling ¨  Program verification ¨  Statistical software quality assurance

Page 15: CSSE 372 Software Project Management: Software Process ... · ISO 12207: Tailoring Process (12207.0 Annex A) 1. Identify project environment " Strategy, activity, requirements 2

Cleanroom is a Shift in Practice

From ¨  Individual

craftsmanship ¨ Sequential

development ¨  Individual unit testing ¨  Informal coverage

testing ¨ Unknown reliability ¨  Informal design

To þ Peer reviewed

engineering þ  Incremental development

þ Team correctness

verification þ Statistical usage testing

þ Measured reliability þ Disciplined engineering

specification and design

Focuses on defect avoidance rather than defect removal Q6

Page 16: CSSE 372 Software Project Management: Software Process ... · ISO 12207: Tailoring Process (12207.0 Annex A) 1. Identify project environment " Strategy, activity, requirements 2

Cleanroom Principles

n  Small teams ¨  Independent specification,

development, and certification sub-teams

n  Incremental development under statistical quality control ¨ Performance assessed during

each increment ¨ Feedback is used for process

improvement

Page 17: CSSE 372 Software Project Management: Software Process ... · ISO 12207: Tailoring Process (12207.0 Annex A) 1. Identify project environment " Strategy, activity, requirements 2

Cleanroom Process Teams

n  Specification team ¨ Develops and maintains the

system specification n  Development team

¨ Develops and verifies software ¨ Software is not compiled or

executes during verification n  Certification team

¨ Develops set of statistical tests to exercise software after development

¨ Reliability growth models used to assess reliability

Q7

Page 18: CSSE 372 Software Project Management: Software Process ... · ISO 12207: Tailoring Process (12207.0 Annex A) 1. Identify project environment " Strategy, activity, requirements 2

Likes Them Numbers Crunchy! n  Software development based

on mathematical principles ¨ Box principle used for specification & design ¨ Formal verification used to confirm correctness

of implementation of specification ¨ Program correctness is verified by team

reviews using questionnaires

n  Testing based on statistical principles ¨ Operational usage profiles needed ¨ Test cases randomly generated from usage model ¨ Failure data is interpreted using statistical models

Page 19: CSSE 372 Software Project Management: Software Process ... · ISO 12207: Tailoring Process (12207.0 Annex A) 1. Identify project environment " Strategy, activity, requirements 2

Homework and Reading Reminders n  Complete Homework 2 – Play SimSE Game

and report results according to assignment ¨ Due by 5pm, Tuesday, September 18th, 2012

n  Get a Head Start on COCOMO

¨ Look over COCOMO-II User Manual and Model Manual

¨ Download COCOMO-II Software (from Angel) or get Evaluation Copy of Costar