Transcription

Paul R. CrollChair, IEEE SESCComputer Sciences [email protected] Overview of IEEE SoftwareEngineering Standards andKnowledge Products

ObjectivesllProvide an introduction to The IEEE Software EngineeringStandards Committee (SESC)Provide an overview of the current state and future directionof IEEE Software Engineering Standards and knowledgeproductsuuulIEEE Software Engineering Standards CollectionSoftware Engineering Competency Recognition ProgramStandards-Based TrainingDiscuss how you can participate in software engineeringstandardization effortsASQ Section 509 SSIG Meeting, 8 November 2000Paul R. Croll - 2

The IEEESoftware Engineering rd/sesc/ASQ Section 509 SSIG Meeting, 8 November 2000Paul R. Croll - 3

The SESC VisionlThe leading supplier and promoter of a fam ilyof software engineering standards and relatedproducts and services.ASQ Section 509 SSIG Meeting, 8 November 2000Paul R. Croll - 4

Software Engineering:An Object ViewSource: [SESC95]ASQ Section 509 SSIG Meeting, 8 November 2000Paul R. Croll - 5

SESC in the IEEE StructureIEEEIEEEComputer SocietyIEEEStandards BoardSoftware Engineering Standards CommitteeExecutive Committee &Management BoardWorking GroupStudy GroupASQ Section 509 SSIG Meeting, 8 November 2000Planning GroupConferencesPaul R. Croll - 6

SESC Strategic Program ModelISO and IECStandardsIEEE SESCStandards ProgramTerminologyTerminologyOverall GuideQualityManagementSoftwareEngineeringCustomer ResourceProcessProductPrinciples or PoliciesElement StandardsApplication Guides“Toolbox” ofTechnique StandardsSystemDisciplinesSource: [SESC95]ASQ Section 509 SSIG Meeting, 8 November 2000Paul R. Croll - 7

The IEEESoftware Engineering og/softwareset.htmlASQ Section 509 SSIG Meeting, 8 November 2000Paul R. Croll - 8

The 2000 Software EngineeringStandards CollectionlForty-six StandardsuuuulCustomer & TerminologyProcessProductResource & TechniqueOverall guideuuSeveral “views”n Contextn Objectn Normative intentn Provider and subjectRelationships amongstandardsASQ Section 509 SSIG Meeting, 8 November 2000Source: [Moore97]Paul R. Croll - 9

IEEE/EIA 12207: The LifeCycle Process FrameworklIEEE/EIA 12207, Standard for InformationTechnology – Software Life Cycle ProcessesuuuAddresses the complete software engineering life cycle,from acquisition and supply, through development, tooperations and maintenanceProvides a process framework upon which an organizationcan build its enterprise-level life cycle processesThese enterprise-level processes are then tailored intoprojects, in order to meet specific project-levelrequirements.ASQ Section 509 SSIG Meeting, 8 November 2000Paul R. Croll - 10

IEEE/EIA 12207 Process CEPRIMARYLIFE CYCLESUPPORTINGDOCUMENTATIONCONFIGURATION MANAGEMENTQUALITY ASSURANCEVERIFICATIONVALIDATIONJOINT REVIEWAUDITPROBLEM PROVEMENTTRAININGSource: [Singh97]TAILORINGASQ Section 509 SSIG Meeting, 8 November 2000Paul R. Croll - 11

Unit 2: IEEE/EIA 12207 Overview - Process Interactions12207 Process URETRAININGFPROJECTFOPERATIONFE: 3FTACQUISITIONU: 4PU: 4JOINTREVIEWEEAUDITPE1DOCUMENTATIONSource: [Singh97]E(I)V&VE: 3EQAE: 2,3UDEVELOPMENTE: 3E: 3(T)ETEE: ACQ ET: SUBE: 3UMAINTENANCESUPPLYTE: 1,2,3V&VE: 323CMPROBLEMRESOLUTION4TAILORINGACQ - ACQUISITION. SUB - SUBCONTRACTOR E - EXECUTEF - FEEDBACK. M - MANAGE. P - PARTICIPATE. T - TASK. U USEE:N - EXECUTE THE PROCESS NUMBERED NASQ Section 509 SSIG Meeting, 8 November 2000PDCAPaul R. Croll - 12

Unit 2: IEEE/EIA 12207 Overview - Primary Process FlowPrimary Process FlowOPERATIONTACQUISITIONMAINTENANCESUPPLYE/TTUE EXECUTET TASKU USEDEVELOPMENTSource: [Singh97]PLAN, DO, CHECK & ACTASQ Section 509 SSIG Meeting, 8 November 2000Paul R. Croll - 13

Unit 2: IEEE/EIA 12207 Overview - Supporting Process FlowSupporting Process ESOLUTIONSource: [Singh97]ASQ Section 509 SSIG Meeting, 8 November 2000Paul R. Croll - 14

Unit 2: IEEE/EIA 12207 Overview - Organizational ProcessFlowOrganizational Process ROCESSSource: [Singh97]ASQ Section 509 SSIG Meeting, 8 November 2000Paul R. Croll - 15

Unit 2: IEEE/EIA 12207 Overview - Process Roles12207 Process RolesRoleACQUISITIONROLEACQUIRERACQUISITION PROCESSemploycontractSUPPLYROLEemployOPERATINGROLE OPERATOR USERemploySUPPLY PROCESSSUPPLIERemployemployOPERATION PROCESSemployuseENGINEERINGROLE DEVELOPER EVELOPMENTPROCESS Documentation Configuration management Quality assurance Verificationemploy Validation Joint review Audit Problem ES Management Infrastructure Improvement TrainingSource: [Singh97]ASQ Section 509 SSIG Meeting, 8 November 2000Paul R. Croll - 16

Unit 2: IEEE/EIA 12207 Overview - Process RolesRole DefinitionslAcquirer:ulSupplier:ulan organization that acquires or procures a system,software product or software service from asupplieran organization that enters into a contract with theacquirer for the supply of a system, softwareproduct or software service under the terms of thecontractOperator:uan organization that operates the systemASQ Section 509 SSIG Meeting, 8 November 2000Paul R. Croll - 17

Unit 2: IEEE/EIA 12207 Overview - Process RolesRole Definitions - 2lDeveloper:ulMaintainer:ulan organization that performs developmentactivities (including requirements analysis, design,testing through acceptance) during the software lifecycle processan organization that performs maintenanceactivitiesSupporting Process Performer and Managerare undefinedASQ Section 509 SSIG Meeting, 8 November 2000Paul R. Croll - 18

Unit 2: IEEE/EIA 12207 Overview - StructureIEEE/EIA 12207 DocumentStructurelIEEE/EIA 12207.0-1996, Software Life CycleProcessesulIEEE/EIA 12207.1-1997, Life Cycle DataulIndustry adoption of ISO/IEC 12207-1995Industry guide to life cycle dataIEEE/EIA 12207.2-1997, ImplementationConsiderationsuIndustry guide to implementation of the life cycleprocesses contained in 12207.0ASQ Section 509 SSIG Meeting, 8 November 2000Paul R. Croll - 19

Unit 2: IEEE/EIA 12207 Overview - StructureIEEE/EIA 12207.0Document StructurellForeword to IEEE/EIA 12207.0-1996ISO/IEC 12207-1995u Introductionu Forewordu Clause 1 - Scopeu Clause 2 - Normative referencesu Clause 3 - Definitionsu Clause 4 - Application of this International Standardu Clause 5 - Primary life cycle processesu Clause 6 - Supporting processesu Clause 7 - Organizational life cycle processesASQ Section 509 SSIG Meeting, 8 November 2000Paul R. Croll - 20

Unit 2: IEEE/EIA 12207 Overview - StructureIEEE/EIA 12207.0 AnnexesllISO/IEC 12207-1995 Annexesu A - Tailoring processu B - Guidance on tailoringu C - Guidance on processes and organizationsu D - BibliographyAdditional IEEE/EIA 12207.0 Annexesu E - Basic concepts of ISO/IEC 12207u F - Complianceu G - Life cycle processes objectivesu H - Life cycle data objectivesu I - Relationshipsu J - ErrataASQ Section 509 SSIG Meeting, 8 November 2000Paul R. Croll - 21

Unit 2: IEEE/EIA 12207 Overview - StructureIEEE/EIA 12207.1Document StructureuIntroductionClause 1 - ScopeClause 2 - Normative referencesClause 3 - DefinitionsClause 4 - Life cycle datan Clause 4.1 Overviewn Clause 4.2 Life cycle data objectivesn Clause 4.3 Information item matrixn Clause 4.4 ComplianceClause 5 - Generic information item content guidelinesClause 6 - Specific information item content guidelinesuAnnex A - ReferencesuuuuuuASQ Section 509 SSIG Meeting, 8 November 2000Paul R. Croll - 22

Unit 2: IEEE/EIA 12207 Overview - StructureIEEE/EIA 12207.2Document StructurelllllllllForewordIntroductionClause 1 - ScopeClause 2 - Normative referencesClause 3 - DefinitionsClause 4 - ApplicationClause 5 - Primary life cycle processesClause 6 - Supporting processesClause 7 - Organizational life cycle processesASQ Section 509 SSIG Meeting, 8 November 2000Paul R. Croll - 23

Unit 2: IEEE/EIA 12207 Overview - StructureIEEE/EIA 12207.2 AnnexeslIEEE/EIA 12207 AnnexesuuuuuA - IEEE/EIA 12207.0 Annex A - TailoringprocessB - IEEE/EIA 12207.0 Annex F - ComplianceC - IEEE/EIA 12207.0 Annex G - Life cycleprocesses objectivesD - IEEE/EIA 12207.0 Annex H - Life cycle dataobjectivesE - IEEE/EIA 12207.0 Annex J - ErrataASQ Section 509 SSIG Meeting, 8 November 2000Paul R. Croll - 24

Unit 2: IEEE/EIA 12207 Overview - StructureIEEE/EIA 12207.2 Annexes - 2lAdditional IEEE/EIA 12207.2 Annexesu F - Use of reusable software productsu G - Candidate joint management reviewsu H - Software measurement categoriesu I - Guidance on development strategies and build planningu J - Category and priority classifications for problem reportingu K - Software product evaluationsu L - Risk managementu M - Life cycle processes referencesASQ Section 509 SSIG Meeting, 8 November 2000Paul R. Croll - 25

Supporting Standards forHigh Integrity SoftwarellIEEE/EIA 12207 relies upon other standards to fill inthe details regarding the activities supporting lifecycle processes.In the case of high integrity software, severaladditional software engineering standards are ofinterest.ASQ Section 509 SSIG Meeting, 8 November 2000Paul R. Croll - 26

Customer and Terminologylllllllll610.12, Standard Glossary of Software Engineering Terminology1062, Recommended Practice for Software Acquisition1220, Standard for Application and Management of theSystems Engineering Process1228, Standard for Software Safety Plans1233, Guide for Developing System RequirementsSpecifications1362, Guide for Concept of Operations Document12207, Software Life Cycle Processes12207.1, Guide to Software Life Cycle Processes—Life CycleData12207.2, Guide to Software Life CycleProcesses—Implementation Considerationsn High Integrity Systems RelatedASQ Section 509 SSIG Meeting, 8 November 2000Paul R. Croll - 27

Processllllllllllllll730, Standard for Software Quality Assurance Plans730.1, Guide for Software Quality Assurance Planning828, Standard for Software Configuration Management Plans1008, Standard for Software Unit Testing1012, Standard for Software Verification and Validation1012a, Software Verification and Validation Content Map to IEEE/EIA 12207.11028, Standard for Software Reviews1042, Guide to Software Configuration Management1045, Standard for Software Productivity Metrics1058, Standard for Software Project Management Plans1059, Guide for Software Verification and Validation Plans1074, Standard for Developing Software Life Cycle Processes1219, Standard for Software Maintenance1490, A Guide to the Program Management Body of Knowledgen High Integrity Systems RelatedASQ Section 509 SSIG Meeting, 8 November 2000Paul R. Croll - 28

Process - 2lllJ-STD-016-1995, (EIA/IEEE) Interim Standard for InformationTechnology - Software Life Cycle Processes - SoftwareDevelopment - Acquirer-Supplier Agreement1517-1999, Standard for Information Technology - Software LifeCycle Processes - Reuse ProcessesP1540, D7.0, Draft Standard for Software Life CycleProcesses - Risk Managementn High Integrity Systems RelatedASQ Section 509 SSIG Meeting, 8 November 2000Paul R. Croll - 29

Productllllll982.1, Standard Dictionary of Measures to Produce ReliableSoftware982.2, Guide for the Use of Standard Dictionary of Measuresto Produce Reliable Software1061, Standard for a Software Quality Metrics Methodology1063, Standard for Software User Documentation1465, IEEE Standard Adoption of ISO/IEC 12119: 1994 (E)International Standard--Information Technology - SoftwarePackages - Quality Requirements and Testing14143.1, Approved Draft - Standard Adoption of ISO/IEC 14431:1998 - Information Technology - Software Measurement Functional Size Measurement - Part 1: Definition of Conceptsn High Integrity Systems RelatedASQ Section 509 SSIG Meeting, 8 November 2000Paul R. Croll - 30

Resource and Techniquelllllllllll829, Standard for Software Test Documentation830, Recommended Practice for Software Requirements Specifications1016, Recommended Practice for Software Design Descriptions1044, Standard Classification for Software Anomalies1044.1, Guide to Classification for Software Anomalies1320.1, Syntax and Semantics for IDEF01320.2, Syntax and Semantics for IDEF1X97 (IDEFObject)1348, Recommended Practice for the Adoption of CASE Tool1420.1, Software Reuse—Data Model for Reuse Library Interoperability:Basic Interoperability Data Model1420.1a, Software Reuse—Data Model for Reuse Library Interoperability:Asset Certification Framework1420.1b-1999, Trial Use Supplement - Software Reuse—Data Model forReuse Library Interoperability: Data Model for Reuse Library Interoperability:Intellectual Property Rights Frameworkn High Integrity Systems RelatedASQ Section 509 SSIG Meeting, 8 November 2000Paul R. Croll - 31

Resource and Technique - 2lll1430, Guide for Software Reuse - Concept of Operations forInteroperating Reuse Libraries1462, Guide for the Evaluation and Selection of CASE ToolsP1471, Recommended Practice For Architectural Description ofSoftware Intensive Systemsn High Integrity Systems RelatedASQ Section 509 SSIG Meeting, 8 November 2000Paul R. Croll - 32

IEEE 1540: Software RiskManagement - Process ModelASQ Section 509 SSIG Meeting, 8 November 2000Paul R. Croll - 33

IEEE 1471: Recommended Practice forArchitectural Description of SoftwareIntensive Systems - Conceptual ModelASQ Section 509 SSIG Meeting, 8 November 2000Paul R. Croll - 34

Software Engineering Competency:ProfessionalizingSoftware EngineeringASQ Section 509 SSIG Meeting, 8 November 2000Paul R. Croll - 35

The Three Components ofEngineering CompetencylllA defined Body of KnowledgeA Code of PracticeCompetency recognitionASQ Section 509 SSIG Meeting, 8 November 2000Paul R. Croll - 36

Guide to the Software EngineeringBody of KnowledgelObjectivesuuBetter characterize the discipline of SoftwareEngineeringProvide a consistent view Software Engineering asan engineering disciplinehttp://www.swebok.orgASQ Section 509 SSIG Meeting, 8 November 2000Paul R. Croll - 37

IEEE Software EngineeringCompetency Recognition ProgramlGoalsuuuuuuIdentify qualified professionalsEnsure recognition of expertiseAssist in professional developmentEstablish professional practice standardsProtect publicEnable professionals to stay currentSource: [IEEE99]ASQ Section 509 SSIG Meeting, 8 November 2000Paul R. Croll - 38

IEEE Software EngineeringCompetency Recognition Program - 2lRolesuuuusoftware engineering practitionersoftware project managersoftware systems architectsupporter (e.g. CM, QA, etc.)ASQ Section 509 SSIG Meeting, 8 November 2000Paul R. Croll - 39

Standards-Based TraininglSkills training in the “Code of Practice”uulPilot training programuuulltailorable course outlinescompletion certificatesState of CaliforniaNew York City Transit AuthorityDelta AirlinesTwenty-three courses were delivered last yearto 500 attendeesFive universities contracted to teach coursesASQ Section 509 SSIG Meeting, 8 November 2000Paul R. Croll - 40

IEEESoftware Engineering StandardsCommitteeOur FutureandYoursASQ Section 509 SSIG Meeting, 8 November 2000Paul R. Croll - 41

SESC objectives for the NewMilleniumllllA consistent collection of Software EngineeringStandards to support process definition and productdevelopment, that improve the quality of deliveredsoftware and software-intensive systemsDevelopment and delivery of Standards-based trainingto improve skillsFeedback mechanisms to capture experience instandards usageA conformance program for the organizationalimplementation of SESC standardsASQ Section 509 SSIG Meeting, 8 November 2000Paul R. Croll - 42

How You Can ParticipatellJoin the IEEE Computer Society(at http://www.computer.org)Join the IEEE Software Engineering StandardsCommittee (at http://www.tcse.org)uuuuLead or participate in Working Groups developingor revising StandardsLead or participate in Study Groups investigatingnew areas for standardizationParticipate in SESC special projectsBecome part of the SESC balloting pool (IEEEStandards Association membership required)ASQ Section 509 SSIG Meeting, 8 November 2000Paul R. Croll - 43

QuestionsASQ Section 509 SSIG Meeting, 8 November 2000Paul R. Croll - 44

For more information . . .Paul R. CrollComputer Sciences Corporation5166 Potomac DriveKing George, VA 22485-5824Phone:Fax:e-mail: 1 540.663.9251 1 [email protected] Section 509 SSIG Meeting, 8 November 2000Paul R. Croll - 45

References[IEEE99] IEEE Computer Society, “Business Plan for the SoftwareEngineering Competency Recognition Program”, May1999[Moore97] James W. Moore, Software Engineering Standards: AUser's Road Map, IEEE Computer Society Press, Los Alamitos,CA, 1997.[SESC95] SESC Business Planning Group, “Vision 2000 StrategyStatement (Final Draft),” v0.9, SESC/BPG-002, August 20,1995.[Singh97] Raghu Singh, An Introduction to International StandardsISO/IEC 12207, Software Life Cycle Processes, 1997.ASQ Section 509 SSIG Meeting, 8 November 2000Paul R. Croll - 46

l 610.12, Standard Glossary of Software Engineering Terminology l 1062, Recommended Practice for Software Acquisition l 1220, Standard for Application and Management of the Systems Engineering Process l 1228, Standard for Software Safety Plans l 1233, Guide for Developing System Req