An Overview of IEEE Software Engineering Standards and

advertisement
Paul R. Croll
Chair, IEEE SESC
Computer Sciences Corporation
pcroll@csc.com
An Overview of IEEE Software
Engineering Standards and
Knowledge Products
Objectives
l
l
Provide an introduction to The IEEE Software Engineering
Standards Committee (SESC)
Provide an overview of the current state and future direction
of IEEE Software Engineering Standards and knowledge
products
u
u
u
l
IEEE Software Engineering Standards Collection
Software Engineering Competency Recognition Program
Standards-Based Training
Discuss how you can participate in software engineering
standardization efforts
ASQ Section 509 SSIG Meeting, 8 November 2000
Paul R. Croll - 2
The IEEE
Software Engineering Standards
Committee
(SESC)
http://computer.org/standard/sesc/
ASQ Section 509 SSIG Meeting, 8 November 2000
Paul R. Croll - 3
The SESC Vision
l
The leading supplier and promoter of a fam ily
of software engineering standards and related
products and services.
ASQ Section 509 SSIG Meeting, 8 November 2000
Paul R. Croll - 4
Software Engineering:
An Object View
Source: [SESC95]
ASQ Section 509 SSIG Meeting, 8 November 2000
Paul R. Croll - 5
SESC in the IEEE Structure
IEEE
IEEE
Computer Society
IEEE
Standards Board
Software Engineering Standards Committee
Executive Committee &
Management Board
Working Group
Study Group
ASQ Section 509 SSIG Meeting, 8 November 2000
Planning Group
Conferences
Paul R. Croll - 6
SESC Strategic Program Model
ISO and IEC
Standards
IEEE SESC
Standards Program
Terminology
Terminology
Overall Guide
Quality
Management
Software
Engineering
Customer Resource
Process
Product
Principles or Policies
Element Standards
Application Guides
“Toolbox” of
Technique Standards
System
Disciplines
Source: [SESC95]
ASQ Section 509 SSIG Meeting, 8 November 2000
Paul R. Croll - 7
The IEEE
Software Engineering Standards
Collection
http://standards.ieee.org/catalog/softwareset.html
ASQ Section 509 SSIG Meeting, 8 November 2000
Paul R. Croll - 8
The 2000 Software Engineering
Standards Collection
l
Forty-six Standards
u
u
u
u
l
Customer & Terminology
Process
Product
Resource & Technique
Overall guide
u
u
Several “views”
n Context
n Object
n Normative intent
n Provider and subject
Relationships among
standards
ASQ Section 509 SSIG Meeting, 8 November 2000
Source: [Moore97]
Paul R. Croll - 9
IEEE/EIA 12207: The Life
Cycle Process Framework
l
IEEE/EIA 12207, Standard for Information
Technology – Software Life Cycle Processes
u
u
u
Addresses the complete software engineering life cycle,
from acquisition and supply, through development, to
operations and maintenance
Provides a process framework upon which an organization
can build its enterprise-level life cycle processes
These enterprise-level processes are then tailored into
projects, in order to meet specific project-level
requirements.
ASQ Section 509 SSIG Meeting, 8 November 2000
Paul R. Croll - 10
IEEE/EIA 12207 Process Tree
ACQUISITION
SUPPLY
DEVELOPMENT
OPERATION
MAINTENANCE
PRIMARY
LIFE CYCLE
SUPPORTING
DOCUMENTATION
CONFIGURATION MANAGEMENT
QUALITY ASSURANCE
VERIFICATION
VALIDATION
JOINT REVIEW
AUDIT
PROBLEM RESOLUTION
ORGANIZATIONAL
MANAGEMENT
INFRASTRUCTURE
IMPROVEMENT
TRAINING
Source: [Singh97]
TAILORING
ASQ Section 509 SSIG Meeting, 8 November 2000
Paul R. Croll - 11
Unit 2: IEEE/EIA 12207 Overview - Process Interactions
12207 Process Flow
ORGANIZATION
MANAGEMENT
M
F
IMPROVEMENT
INFRASTRUCTURE
TRAINING
F
PROJECT
F
OPERATION
F
E: 3
F
T
ACQUISITION
U: 4
P
U: 4
JOINT
REVIEW
E
E
AUDIT
P
E
1
DOCUMENTATION
Source: [Singh97]
E
(I)V&V
E: 3
E
QA
E: 2,3
U
DEVELOPMENT
E: 3
E: 3
(T)E
T
E
E: ACQ E
T: SUB
E: 3
U
MAINTENANCE
SUPPLY
T
E: 1,2,3
V&V
E: 3
2
3
CM
PROBLEM
RESOLUTION
4
TAILORING
ACQ - ACQUISITION. SUB - SUBCONTRACTOR E - EXECUTE
F - FEEDBACK. M - MANAGE. P - PARTICIPATE. T - TASK. U USE
E:N - EXECUTE THE PROCESS NUMBERED N
ASQ Section 509 SSIG Meeting, 8 November 2000
PDCA
Paul R. Croll - 12
Unit 2: IEEE/EIA 12207 Overview - Primary Process Flow
Primary Process Flow
OPERATION
T
ACQUISITION
MAINTENANCE
SUPPLY
E/T
T
U
E = EXECUTE
T =TASK
U =USE
DEVELOPMENT
Source: [Singh97]
PLAN, DO, CHECK & ACT
ASQ Section 509 SSIG Meeting, 8 November 2000
Paul R. Croll - 13
Unit 2: IEEE/EIA 12207 Overview - Supporting Process Flow
Supporting Process Flow
QUALITY
ASSURANCE
ACQUISITION
VERIFICATION
SUPPLY
VALIDATION
DOCUMENTATION
DEVELOPMENT
JOINT
REVIEW
AUDIT
OPERATION
CONFIGURATION
MANAGEMENT
MAINTENANCE
PROBLEM
RESOLUTION
Source: [Singh97]
ASQ Section 509 SSIG Meeting, 8 November 2000
Paul R. Croll - 14
Unit 2: IEEE/EIA 12207 Overview - Organizational Process
Flow
Organizational Process Flow
MANAGEMENT
PROCESS
PRIMARY
PROCESS
SUPPORTING
PROCESS
INFRASTRUCTURE
PROCESS
IMPROVEMENT
PROCESS
TRAINING
PROCESS
Source: [Singh97]
ASQ Section 509 SSIG Meeting, 8 November 2000
Paul R. Croll - 15
Unit 2: IEEE/EIA 12207 Overview - Process Roles
12207 Process Roles
Role
ACQUISITION
ROLE
ACQUIRER
ACQUISITION PROCESS
employ
contract
SUPPLY
ROLE
employ
OPERATING
ROLE
• OPERATOR
• USER
employ
SUPPLY PROCESS
SUPPLIER
employ
employ
OPERATION PROCESS
employ
use
ENGINEERING
ROLE
• DEVELOPER
• MAINTAINER
SUPPORTING
ROLE
EMPLOYER
OF
SUPPORTING
PROCESSES
ORGANIZATIONAL
ROLE
MANAGER
MAINTENANCE
PROCESS
use
DEVELOPMENT
PROCESS
• Documentation
• Configuration management
• Quality assurance
• Verification
employ
• Validation
• Joint review
• Audit
• Problem resolution
S
U
P
P
O
R
T
I
N
G
P
R
O
C
E
S
S
E
S
ORGANIZATIONAL
PROCESSES
•
Management • Infrastructure • Improvement • Training
Source: [Singh97]
ASQ Section 509 SSIG Meeting, 8 November 2000
Paul R. Croll - 16
Unit 2: IEEE/EIA 12207 Overview - Process Roles
Role Definitions
l
Acquirer:
u
l
Supplier:
u
l
an organization that acquires or procures a system,
software product or software service from a
supplier
an organization that enters into a contract with the
acquirer for the supply of a system, software
product or software service under the terms of the
contract
Operator:
u
an organization that operates the system
ASQ Section 509 SSIG Meeting, 8 November 2000
Paul R. Croll - 17
Unit 2: IEEE/EIA 12207 Overview - Process Roles
Role Definitions - 2
l
Developer:
u
l
Maintainer:
u
l
an organization that performs development
activities (including requirements analysis, design,
testing through acceptance) during the software life
cycle process
an organization that performs maintenance
activities
Supporting Process Performer and Manager
are undefined
ASQ Section 509 SSIG Meeting, 8 November 2000
Paul R. Croll - 18
Unit 2: IEEE/EIA 12207 Overview - Structure
IEEE/EIA 12207 Document
Structure
l
IEEE/EIA 12207.0-1996, Software Life Cycle
Processes
u
l
IEEE/EIA 12207.1-1997, Life Cycle Data
u
l
Industry adoption of ISO/IEC 12207-1995
Industry guide to life cycle data
IEEE/EIA 12207.2-1997, Implementation
Considerations
u
Industry guide to implementation of the life cycle
processes contained in 12207.0
ASQ Section 509 SSIG Meeting, 8 November 2000
Paul R. Croll - 19
Unit 2: IEEE/EIA 12207 Overview - Structure
IEEE/EIA 12207.0
Document Structure
l
l
Foreword to IEEE/EIA 12207.0-1996
ISO/IEC 12207-1995
u Introduction
u Foreword
u Clause 1 - Scope
u Clause 2 - Normative references
u Clause 3 - Definitions
u Clause 4 - Application of this International Standard
u Clause 5 - Primary life cycle processes
u Clause 6 - Supporting processes
u Clause 7 - Organizational life cycle processes
ASQ Section 509 SSIG Meeting, 8 November 2000
Paul R. Croll - 20
Unit 2: IEEE/EIA 12207 Overview - Structure
IEEE/EIA 12207.0 Annexes
l
l
ISO/IEC 12207-1995 Annexes
u A - Tailoring process
u B - Guidance on tailoring
u C - Guidance on processes and organizations
u D - Bibliography
Additional IEEE/EIA 12207.0 Annexes
u E - Basic concepts of ISO/IEC 12207
u F - Compliance
u G - Life cycle processes objectives
u H - Life cycle data objectives
u I - Relationships
u J - Errata
ASQ Section 509 SSIG Meeting, 8 November 2000
Paul R. Croll - 21
Unit 2: IEEE/EIA 12207 Overview - Structure
IEEE/EIA 12207.1
Document Structure
u
Introduction
Clause 1 - Scope
Clause 2 - Normative references
Clause 3 - Definitions
Clause 4 - Life cycle data
n Clause 4.1 Overview
n Clause 4.2 Life cycle data objectives
n Clause 4.3 Information item matrix
n Clause 4.4 Compliance
Clause 5 - Generic information item content guidelines
Clause 6 - Specific information item content guidelines
u
Annex A - References
u
u
u
u
u
u
ASQ Section 509 SSIG Meeting, 8 November 2000
Paul R. Croll - 22
Unit 2: IEEE/EIA 12207 Overview - Structure
IEEE/EIA 12207.2
Document Structure
l
l
l
l
l
l
l
l
l
Foreword
Introduction
Clause 1 - Scope
Clause 2 - Normative references
Clause 3 - Definitions
Clause 4 - Application
Clause 5 - Primary life cycle processes
Clause 6 - Supporting processes
Clause 7 - Organizational life cycle processes
ASQ Section 509 SSIG Meeting, 8 November 2000
Paul R. Croll - 23
Unit 2: IEEE/EIA 12207 Overview - Structure
IEEE/EIA 12207.2 Annexes
l
IEEE/EIA 12207 Annexes
u
u
u
u
u
A - IEEE/EIA 12207.0 Annex A - Tailoring
process
B - IEEE/EIA 12207.0 Annex F - Compliance
C - IEEE/EIA 12207.0 Annex G - Life cycle
processes objectives
D - IEEE/EIA 12207.0 Annex H - Life cycle data
objectives
E - IEEE/EIA 12207.0 Annex J - Errata
ASQ Section 509 SSIG Meeting, 8 November 2000
Paul R. Croll - 24
Unit 2: IEEE/EIA 12207 Overview - Structure
IEEE/EIA 12207.2 Annexes - 2
l
Additional IEEE/EIA 12207.2 Annexes
u F - Use of reusable software products
u G - Candidate joint management reviews
u H - Software measurement categories
u I - Guidance on development strategies and build planning
u J - Category and priority classifications for problem reporting
u K - Software product evaluations
u L - Risk management
u M - Life cycle processes references
ASQ Section 509 SSIG Meeting, 8 November 2000
Paul R. Croll - 25
Supporting Standards for
High Integrity Software
l
l
IEEE/EIA 12207 relies upon other standards to fill in
the details regarding the activities supporting life
cycle processes.
In the case of high integrity software, several
additional software engineering standards are of
interest.
ASQ Section 509 SSIG Meeting, 8 November 2000
Paul R. Croll - 26
Customer and Terminology
l
l
l
l
l
l
l
l
l
610.12, Standard Glossary of Software Engineering Terminology
1062, Recommended Practice for Software Acquisition
1220, Standard for Application and Management of the
Systems Engineering Process
1228, Standard for Software Safety Plans
1233, Guide for Developing System Requirements
Specifications
1362, Guide for Concept of Operations Document
12207, Software Life Cycle Processes
12207.1, Guide to Software Life Cycle Processes—Life Cycle
Data
12207.2, Guide to Software Life Cycle
Processes—Implementation Considerations
n = High Integrity Systems Related
ASQ Section 509 SSIG Meeting, 8 November 2000
Paul R. Croll - 27
Process
l
l
l
l
l
l
l
l
l
l
l
l
l
l
730, Standard for Software Quality Assurance Plans
730.1, Guide for Software Quality Assurance Planning
828, Standard for Software Configuration Management Plans
1008, Standard for Software Unit Testing
1012, Standard for Software Verification and Validation
1012a, Software Verification and Validation Content Map to IEEE/EIA 12207.1
1028, Standard for Software Reviews
1042, Guide to Software Configuration Management
1045, Standard for Software Productivity Metrics
1058, Standard for Software Project Management Plans
1059, Guide for Software Verification and Validation Plans
1074, Standard for Developing Software Life Cycle Processes
1219, Standard for Software Maintenance
1490, A Guide to the Program Management Body of Knowledge
n = High Integrity Systems Related
ASQ Section 509 SSIG Meeting, 8 November 2000
Paul R. Croll - 28
Process - 2
l
l
l
J-STD-016-1995, (EIA/IEEE) Interim Standard for Information
Technology - Software Life Cycle Processes - Software
Development - Acquirer-Supplier Agreement
1517-1999, Standard for Information Technology - Software Life
Cycle Processes - Reuse Processes
P1540, D7.0, Draft Standard for Software Life Cycle
Processes - Risk Management
n = High Integrity Systems Related
ASQ Section 509 SSIG Meeting, 8 November 2000
Paul R. Croll - 29
Product
l
l
l
l
l
l
982.1, Standard Dictionary of Measures to Produce Reliable
Software
982.2, Guide for the Use of Standard Dictionary of Measures
to Produce Reliable Software
1061, Standard for a Software Quality Metrics Methodology
1063, Standard for Software User Documentation
1465, IEEE Standard Adoption of ISO/IEC 12119: 1994 (E)
International Standard--Information Technology - Software
Packages - Quality Requirements and Testing
14143.1, Approved Draft - Standard Adoption of ISO/IEC 14431:1998 - Information Technology - Software Measurement Functional Size Measurement - Part 1: Definition of Concepts
n = High Integrity Systems Related
ASQ Section 509 SSIG Meeting, 8 November 2000
Paul R. Croll - 30
Resource and Technique
l
l
l
l
l
l
l
l
l
l
l
829, Standard for Software Test Documentation
830, Recommended Practice for Software Requirements Specifications
1016, Recommended Practice for Software Design Descriptions
1044, Standard Classification for Software Anomalies
1044.1, Guide to Classification for Software Anomalies
1320.1, Syntax and Semantics for IDEF0
1320.2, Syntax and Semantics for IDEF1X97 (IDEFObject)
1348, Recommended Practice for the Adoption of CASE Tool
1420.1, Software Reuse—Data Model for Reuse Library Interoperability:
Basic Interoperability Data Model
1420.1a, Software Reuse—Data Model for Reuse Library Interoperability:
Asset Certification Framework
1420.1b-1999, Trial Use Supplement - Software Reuse—Data Model for
Reuse Library Interoperability: Data Model for Reuse Library Interoperability:
Intellectual Property Rights Framework
n = High Integrity Systems Related
ASQ Section 509 SSIG Meeting, 8 November 2000
Paul R. Croll - 31
Resource and Technique - 2
l
l
l
1430, Guide for Software Reuse - Concept of Operations for
Interoperating Reuse Libraries
1462, Guide for the Evaluation and Selection of CASE Tools
P1471, Recommended Practice For Architectural Description of
Software Intensive Systems
n = High Integrity Systems Related
ASQ Section 509 SSIG Meeting, 8 November 2000
Paul R. Croll - 32
IEEE 1540: Software Risk
Management - Process Model
ASQ Section 509 SSIG Meeting, 8 November 2000
Paul R. Croll - 33
IEEE 1471: Recommended Practice for
Architectural Description of SoftwareIntensive Systems - Conceptual Model
ASQ Section 509 SSIG Meeting, 8 November 2000
Paul R. Croll - 34
Software Engineering Competency:
Professionalizing
Software Engineering
ASQ Section 509 SSIG Meeting, 8 November 2000
Paul R. Croll - 35
The Three Components of
Engineering Competency
l
l
l
A defined Body of Knowledge
A Code of Practice
Competency recognition
ASQ Section 509 SSIG Meeting, 8 November 2000
Paul R. Croll - 36
Guide to the Software Engineering
Body of Knowledge
l
Objectives
u
u
Better characterize the discipline of Software
Engineering
Provide a consistent view Software Engineering as
an engineering discipline
http://www.swebok.org
ASQ Section 509 SSIG Meeting, 8 November 2000
Paul R. Croll - 37
IEEE Software Engineering
Competency Recognition Program
l
Goals
u
u
u
u
u
u
Identify qualified professionals
Ensure recognition of expertise
Assist in professional development
Establish professional practice standards
Protect public
Enable professionals to stay current
Source: [IEEE99]
ASQ Section 509 SSIG Meeting, 8 November 2000
Paul R. Croll - 38
IEEE Software Engineering
Competency Recognition Program - 2
l
Roles
u
u
u
u
software engineering practitioner
software project manager
software systems architect
supporter (e.g. CM, QA, etc.)
ASQ Section 509 SSIG Meeting, 8 November 2000
Paul R. Croll - 39
Standards-Based Training
l
Skills training in the “Code of Practice”
u
u
l
Pilot training program
u
u
u
l
l
tailorable course outlines
completion certificates
State of California
New York City Transit Authority
Delta Airlines
Twenty-three courses were delivered last year
to 500 attendees
Five universities contracted to teach courses
ASQ Section 509 SSIG Meeting, 8 November 2000
Paul R. Croll - 40
IEEE
Software Engineering Standards
Committee
Our Future
and
Yours
ASQ Section 509 SSIG Meeting, 8 November 2000
Paul R. Croll - 41
SESC objectives for the New
Millenium
l
l
l
l
A consistent collection of Software Engineering
Standards to support process definition and product
development, that improve the quality of delivered
software and software-intensive systems
Development and delivery of Standards-based training
to improve skills
Feedback mechanisms to capture experience in
standards usage
A conformance program for the organizational
implementation of SESC standards
ASQ Section 509 SSIG Meeting, 8 November 2000
Paul R. Croll - 42
How You Can Participate
l
l
Join the IEEE Computer Society
(at http://www.computer.org)
Join the IEEE Software Engineering Standards
Committee (at http://www.tcse.org)
u
u
u
u
Lead or participate in Working Groups developing
or revising Standards
Lead or participate in Study Groups investigating
new areas for standardization
Participate in SESC special projects
Become part of the SESC balloting pool (IEEE
Standards Association membership required)
ASQ Section 509 SSIG Meeting, 8 November 2000
Paul R. Croll - 43
Questions
ASQ Section 509 SSIG Meeting, 8 November 2000
Paul R. Croll - 44
For more information . . .
Paul R. Croll
Computer Sciences Corporation
5166 Potomac Drive
King George, VA 22485-5824
Phone:
Fax:
e-mail:
+1 540.663.9251
+1 540.663.0276
pcroll@csc.com
ASQ Section 509 SSIG Meeting, 8 November 2000
Paul R. Croll - 45
References
[IEEE99] IEEE Computer Society, “Business Plan for the Software
Engineering Competency Recognition Program”, May1999
[Moore97] James W. Moore, Software Engineering Standards: A
User's Road Map, IEEE Computer Society Press, Los Alamitos,
CA, 1997.
[SESC95] SESC Business Planning Group, “Vision 2000 Strategy
Statement (Final Draft),” v0.9, SESC/BPG-002, August 20,
1995.
[Singh97] Raghu Singh, An Introduction to International Standards
ISO/IEC 12207, Software Life Cycle Processes, 1997.
ASQ Section 509 SSIG Meeting, 8 November 2000
Paul R. Croll - 46
Download