Top Banner
www.swebok.org 1 An international Consensus on the Software Engineering Body of Knowledge Alain Abran P. Bourque, R. Dupuis, J. W. Moore, L. Tripp IWSS 2004 Istanbul, Turkey September 6, 2004 ÉTS
68

An international Consensus on the Software …ce.sharif.edu/.../SoftwareEngineeringBodyofKnowledge.pdfAn international Consensus on the Software Engineering Body of Knowledge Alain

May 22, 2018

Download

Documents

truongxuyen
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: An international Consensus on the Software …ce.sharif.edu/.../SoftwareEngineeringBodyofKnowledge.pdfAn international Consensus on the Software Engineering Body of Knowledge Alain

© IEEE www.swebok.org

1

An international Consensus on the Software Engineering Body

of Knowledge

Alain Abran P. Bourque, R. Dupuis, J. W. Moore, L. Tripp

IWSS 2004

Istanbul, Turkey September 6, 2004

ÉTS

Page 2: An international Consensus on the Software …ce.sharif.edu/.../SoftwareEngineeringBodyofKnowledge.pdfAn international Consensus on the Software Engineering Body of Knowledge Alain

© IEEE www.swebok.org

2

Presentation Objectives Give an overview of this international

consensus on the “core body of knowledge” of software engineering

Briefly present the development process used to reach this consensus

Briefly present usages of SWEBOK Guide Next steps

Including links to System Engineering

Page 3: An international Consensus on the Software …ce.sharif.edu/.../SoftwareEngineeringBodyofKnowledge.pdfAn international Consensus on the Software Engineering Body of Knowledge Alain

© IEEE www.swebok.org

3

Presentation Plan

Project background Project development process Contents of the Guide Usages of the Guide in organizations Next steps

Page 4: An international Consensus on the Software …ce.sharif.edu/.../SoftwareEngineeringBodyofKnowledge.pdfAn international Consensus on the Software Engineering Body of Knowledge Alain

© IEEE www.swebok.org

4

Guide to the Software Engineering Body of Knowledge (SWEBOK®)

Project initiated by the IEEE CS International participation from industry,

professional societies, standards bodies, academia, authors

Over 500 hundred software engineering professionals have been involved

Release of Ironman Version in 2004 ® Registered in U.S. Patent Office

Page 5: An international Consensus on the Software …ce.sharif.edu/.../SoftwareEngineeringBodyofKnowledge.pdfAn international Consensus on the Software Engineering Body of Knowledge Alain

© IEEE www.swebok.org

5

Project managed by:

Corporate Support by:

Page 6: An international Consensus on the Software …ce.sharif.edu/.../SoftwareEngineeringBodyofKnowledge.pdfAn international Consensus on the Software Engineering Body of Knowledge Alain

© IEEE www.swebok.org

6

2004 SWEBOK Guide Endorsed by the project’s Industrial

Advisory Board Approved by the IEEE Computer Society

Board of Governors Adopted as ISO Technical Report 19759

Available on www.swebok.org To be published in book format by the IEEE

Computer Society Press

Page 7: An international Consensus on the Software …ce.sharif.edu/.../SoftwareEngineeringBodyofKnowledge.pdfAn international Consensus on the Software Engineering Body of Knowledge Alain

© IEEE www.swebok.org

7

SWEBOK Guide = 10 Knowledge Areas Mapped TO ISO/IEC 12207:1995 processes

Software Quality

Software Engineering Tools and Methods

Software Engineering Process

Software Engineering Management Software Configuration Management

Maintenance Testing Construction Design Requirements

Primary Processes Supporting Processes

Page 8: An international Consensus on the Software …ce.sharif.edu/.../SoftwareEngineeringBodyofKnowledge.pdfAn international Consensus on the Software Engineering Body of Knowledge Alain

© IEEE www.swebok.org

8

What is Software Engineering?

IEEE 610.12: “(1) The application of a systematic,

disciplined, quantifiable approach to the development, operation, and maintenance of software; that is, the application of engineering to software.

(2) The study of approaches as in (1).”

Page 9: An international Consensus on the Software …ce.sharif.edu/.../SoftwareEngineeringBodyofKnowledge.pdfAn international Consensus on the Software Engineering Body of Knowledge Alain

© IEEE www.swebok.org

9

Recognized Profession?

Starr*: Knowledge and competence validated by

the community of peers Consensually validated knowledge rests

on rational, scientific grounds Judgment and advice oriented toward a

set of substantive values * P. Starr, The Social Transformation of American Medicine:

BasicBooks, 1982.

Page 10: An international Consensus on the Software …ce.sharif.edu/.../SoftwareEngineeringBodyofKnowledge.pdfAn international Consensus on the Software Engineering Body of Knowledge Alain

© IEEE www.swebok.org

10

Development of a Profession

Initial professional education

Skills Development

One or both

Full Professional

Status

Certification Licensing

Accreditation

Professional development

Code of ethics

Professional societies

Adapted from Steve McConnell, After the Gold Rush, Microsoft Press, 1999, p. 93

Page 11: An international Consensus on the Software …ce.sharif.edu/.../SoftwareEngineeringBodyofKnowledge.pdfAn international Consensus on the Software Engineering Body of Knowledge Alain

© IEEE www.swebok.org

11

Presentation Plan

Project background

Project development process Contents of the Guide Applications of the Guide in

organizations Next steps

Page 12: An international Consensus on the Software …ce.sharif.edu/.../SoftwareEngineeringBodyofKnowledge.pdfAn international Consensus on the Software Engineering Body of Knowledge Alain

© IEEE www.swebok.org

12

Project Objectives

Characterize the contents of the Software Engineering Body of Knowledge

Provide a topical access to the Software Engineering Body of Knowledge

Promote a consistent view of software engineering worldwide

Page 13: An international Consensus on the Software …ce.sharif.edu/.../SoftwareEngineeringBodyofKnowledge.pdfAn international Consensus on the Software Engineering Body of Knowledge Alain

© IEEE www.swebok.org

13

Project Objectives Clarify the place of, and set the boundary

of, software engineering with respect to other disciplines (computer science, project management, computer engineering, mathematics, etc.)

Provide a foundation for curriculum development and individual certification and licensing material

Page 14: An international Consensus on the Software …ce.sharif.edu/.../SoftwareEngineeringBodyofKnowledge.pdfAn international Consensus on the Software Engineering Body of Knowledge Alain

© IEEE www.swebok.org

14

Intended Audience

Public and private organizations Practicing software engineers Makers of public policy Professional societies Software engineering students Educators and trainers

Page 15: An international Consensus on the Software …ce.sharif.edu/.../SoftwareEngineeringBodyofKnowledge.pdfAn international Consensus on the Software Engineering Body of Knowledge Alain

© IEEE www.swebok.org

15

What was out of scope?

Not a curriculum development effort Not an all-inclusive description of the

sum of knowledge in the field Not all categories of knowledge

Page 16: An international Consensus on the Software …ce.sharif.edu/.../SoftwareEngineeringBodyofKnowledge.pdfAn international Consensus on the Software Engineering Body of Knowledge Alain

© IEEE www.swebok.org

16

Categories of Knowledge in the SWEBOK

GenerallyAcceptedAdvanced

Spec

ializ

ed

andResearch

Target of the SWEBOK Guide

«Applicable to most projects, most of the time, and widespread consensus about their value and usefulness»

Project Management Institute - PMI

North American Bachelor’s degree + 4 years of experience

Page 17: An international Consensus on the Software …ce.sharif.edu/.../SoftwareEngineeringBodyofKnowledge.pdfAn international Consensus on the Software Engineering Body of Knowledge Alain

© IEEE www.swebok.org

17

Maths

Applicationdomain

knowledgeAdvanced

SEKnowledge

Guide to theSWEBOKStoneman

C.S.

...

Knowledgeof a

SoftwareEngineer

SpecializedSE

Knowledge

Page 18: An international Consensus on the Software …ce.sharif.edu/.../SoftwareEngineeringBodyofKnowledge.pdfAn international Consensus on the Software Engineering Body of Knowledge Alain

© IEEE www.swebok.org

18

Three Underlying Principles of the Project

Transparency: the development process is itself published and fully documented

Consensus-building: the development process was designed to build, over time, consensus in industry, among professional societies and standards-setting bodies and in academia

Available free on the web

Page 19: An international Consensus on the Software …ce.sharif.edu/.../SoftwareEngineeringBodyofKnowledge.pdfAn international Consensus on the Software Engineering Body of Knowledge Alain

© IEEE www.swebok.org

19

Project Team

Editorial Team of the Guide Industrial Advisory Board Associate Editors of the Knowledge

Areas Reviewers

Page 20: An international Consensus on the Software …ce.sharif.edu/.../SoftwareEngineeringBodyofKnowledge.pdfAn international Consensus on the Software Engineering Body of Knowledge Alain

© IEEE www.swebok.org

20

Roles of the Industrial Advisory Board

Provide input to ensure relevance to various audiences

Review and approve strategy and deliverables

Oversee development process Assist in promoting the Guide to the

Software Engineering Body of Knowledge Lend credibility to the project

Page 21: An international Consensus on the Software …ce.sharif.edu/.../SoftwareEngineeringBodyofKnowledge.pdfAn international Consensus on the Software Engineering Body of Knowledge Alain

© IEEE www.swebok.org

21

A Three-Phase Approach for Developing the Guide

1998 1999 2000 2001 2002 2003

Straw Man Phase

Stone Man Phase

Iron Man Phase (Sub-phase 1)

Iron Man Phase (Sub- phase 2)

Trial Version

Revision

Experimentation and Trial Usage

2004 Version

Page 22: An international Consensus on the Software …ce.sharif.edu/.../SoftwareEngineeringBodyofKnowledge.pdfAn international Consensus on the Software Engineering Body of Knowledge Alain

© IEEE www.swebok.org

22

Version Review Process

Transparency and consensus-building All intermediate versions of documents

published and archived on www.swebok.org

All comments made public as well as the identity of the reviewers

Detailed comment disposition reports

Page 23: An international Consensus on the Software …ce.sharif.edu/.../SoftwareEngineeringBodyofKnowledge.pdfAn international Consensus on the Software Engineering Body of Knowledge Alain

© IEEE www.swebok.org

23

Data on reviewers Trial Version

Version 0,1: 33

Version 0,5: 195

Version 0,7: 378 + ISO reviews from 5 countries

Page 24: An international Consensus on the Software …ce.sharif.edu/.../SoftwareEngineeringBodyofKnowledge.pdfAn international Consensus on the Software Engineering Body of Knowledge Alain

© IEEE www.swebok.org

24

Reviewers (2004 Version) Registered reviewers: 573 Number of countries: 55 Number of comments: 1020 Number of reviewers submitting

comments: 124 Number of represented

countries: 21 + 7 countries submitted

comments through ISO voting process

Adopted by + 25 ISO participating countries

4741

28

8

05

101520253035404550

0-9 years 10-19 years 20-29 years 30-39 years

Num

ber o

f Rev

iew

ers

17

48 44

132

0

10

20

30

40

50

60

0-9 years 10-19 years 20-29 years 30-39 years 40-49 years

Num

ber o

f Rev

iew

ers

Years in the field

Years in industry

Page 25: An international Consensus on the Software …ce.sharif.edu/.../SoftwareEngineeringBodyofKnowledge.pdfAn international Consensus on the Software Engineering Body of Knowledge Alain

© IEEE www.swebok.org

25

Project Overview Presentation Plan

Project background Project development process

Contents of the Guide Applications of the Guide Next steps

Page 26: An international Consensus on the Software …ce.sharif.edu/.../SoftwareEngineeringBodyofKnowledge.pdfAn international Consensus on the Software Engineering Body of Knowledge Alain

© IEEE www.swebok.org

26

Deliverables: Consensus on a list of Knowledge Areas Consensus on a list of topics and

relevant reference materials for each Knowledge Area

Consensus on a list of Related Disciplines

Page 27: An international Consensus on the Software …ce.sharif.edu/.../SoftwareEngineeringBodyofKnowledge.pdfAn international Consensus on the Software Engineering Body of Knowledge Alain

© IEEE www.swebok.org

27

Knowledge Areas and Related Disciplines

Software Requirements

Software Design

Software Construction

Software Testing

Software Maintenance

Software Configuration Management

Software Eng. Management

Software Eng. Tools & Methods

Software Engineering Process

Software Quality

• Computer Engineering • Computer Science • Mathematics • Project Management • Management • Quality Management • Software Ergonomics • Systems Engineering

Related Disciplines

Page 28: An international Consensus on the Software …ce.sharif.edu/.../SoftwareEngineeringBodyofKnowledge.pdfAn international Consensus on the Software Engineering Body of Knowledge Alain

© IEEE www.swebok.org

28

Knowledge Area Description Classification

of Topics Matrix of Topics

& References References

Topic Descriptions

Classification by Vincenti’s

Taxonomy

Classification by Bloom’s Taxonomy

References to Related Disciplines

Not implemented in Trial Version

Page 29: An international Consensus on the Software …ce.sharif.edu/.../SoftwareEngineeringBodyofKnowledge.pdfAn international Consensus on the Software Engineering Body of Knowledge Alain

© IEEE www.swebok.org

29

Guide to the Software Engineering Body of Knowledge2004 Version

SoftwareConstruction

SoftwareMaintenanceSoftware Testing

Basic Conceptsof Construction

ManagingConstruction

SoftwareMaintenance

Fundamentals

Key Issues inSoftware

Maintenance

Techniques forMaintenance

SofwareTesting

Fundamentals

Test Levels

Test Techniques

Test RelatedMeasures

TestProcess

Software Design

Software DesignFundamentals

Key Issues inSoftware Design

Software Structureand Architecture

Software DesignQuality Analysisand Evaluation

Software DesignNotations

SoftwareRequirements

SoftwareRequirementsFundamentals

RequirementsProcess

RequirementsElicitation

RequirementsSpecification

RequirementsValidation

RequirementsAnalysis

Software DesignStrategies and

Methods

PracticalConsiderations

PracticalConsiderations

MaintenanceProcess

Page 30: An international Consensus on the Software …ce.sharif.edu/.../SoftwareEngineeringBodyofKnowledge.pdfAn international Consensus on the Software Engineering Body of Knowledge Alain

© IEEE www.swebok.org

30

RelatedDisciplines

ComputerScience

Management

Mathematics

Projectmanagement

Qualitymanagement

SoftwareErgonomics

Systemsengineering

Closure

ProcessAssessment

Software Design Tools

Guide to the Software Engineering Body of Knowledge

(2004 Version)

SoftwareConfigurationManagement

SoftwareEngineering Tools

and Methods

SoftwareEngineering

ProcessSoftware Quality

SoftwareConfigurationManagementFundamentals

KeysIssues in

SCM

SoftwareConfiguration

Control

SoftwareConfiguration

Status Accounting

SoftwareConfiguration

Auditing

Software ReleaseManagement and

Delivery Software Methods

Software ToolsProcess

Implementationand Change

Process andProduct

Measurement

Software QualityFundamentals

Software QualityManagement

Processes

Heuristic Methods

Formal Methods

Prototyping Methods

Software RequirementsTools

Software Testing Tools

Software MaintenanceTools

Software EngineeringProcess Tools

ProcessDefinition

PracticalConsiderations

Software ConstructionTools

Software Quality Tools

Software ConfigurationManagement Tools

Software EngineeringManagement Tools

Infrastructure SupportTools

Miscellaneous ToolIssues

Miscellaneous MethodIssues

SoftwareEngineeringManagement

Initiation andScope

Definition

SoftwareProject

Planning

Software ProjectEnactment

Review andEvaluation

SW EngineeringMeasurement

ComputerEngineering

Page 31: An international Consensus on the Software …ce.sharif.edu/.../SoftwareEngineeringBodyofKnowledge.pdfAn international Consensus on the Software Engineering Body of Knowledge Alain

© IEEE www.swebok.org

31

SoftwareRequirements

RequirementsElicitation

SoftwareRequirementsFundamentals

Definition ofSoftwareRequirement

Product andProcessRequirements

Functional andNon-functionalRequirements

EmergentProperties

QuantifiableRequirements

SystemRequirementsand SoftwareRequirements

RequirementsProcess

Process Models

Process Actors

Process Supportand Management

Process Qualityand Improvement

RequirementsSources

ElicitationTechniques

RequirementsClassification

ConceptualModeling

ArchitecturalDesign andRequirementsAllocation

RequirementsNegotiation

RequirementsSpecification

SystemDefinitionDocument

SystemsRequirementsSpecification

PracticalConsideration

RequirementsValidation

RequirementsReviews

Prototyping

ModelValidation

AcceptanceTests

ChangeManagement

RequirementsAttributes

RequirementsTracing

SoftwareRequirementsSpecification

Iterative Natureof RequirementsProcess

MeasuringRequirements

RequirementsAnalysis

Page 32: An international Consensus on the Software …ce.sharif.edu/.../SoftwareEngineeringBodyofKnowledge.pdfAn international Consensus on the Software Engineering Body of Knowledge Alain

© IEEE www.swebok.org

32

Software EngineeringCulture and Ethics

Value and Costsof Quality

Quality Improvement

Verification andValidation

Software QualityAssurance

Software Quality

Software QualityFundamentals

Software QualityManagement

Processes

PracticalConsiderations

Models andQualityCharacteristics

Reviews andAudits

Application QualityRequirements

DefectCharacterization

Software QualityMeasurement

Software QualityManagementTechniques

Page 33: An international Consensus on the Software …ce.sharif.edu/.../SoftwareEngineeringBodyofKnowledge.pdfAn international Consensus on the Software Engineering Body of Knowledge Alain

© IEEE www.swebok.org

33

Summary of changes in 2004 Version

Structural improvements in breakdown of topics: Software Construction, Management, Quality, Process

Better representation of text in topic breakdown : Software Requirements, Testing, Maintenance

Standardization of the contents of the chapters: topic breakdown, terminology, reference

citations and writing style

Page 34: An international Consensus on the Software …ce.sharif.edu/.../SoftwareEngineeringBodyofKnowledge.pdfAn international Consensus on the Software Engineering Body of Knowledge Alain

© IEEE www.swebok.org

34

Summary of changes in 2004 Version

Better representation of standards in chapters and a new Appendix devoted to standards

Updating of reference material Handling of trial usage feedback Handling of reviewers comments New chapter on Related Disciplines (instead

of an appendix)

Page 35: An international Consensus on the Software …ce.sharif.edu/.../SoftwareEngineeringBodyofKnowledge.pdfAn international Consensus on the Software Engineering Body of Knowledge Alain

© IEEE www.swebok.org

35

Presentation Plan

Project background Project development process Contents of the Guide

Applications of the Guide in organizations

Next steps

Page 36: An international Consensus on the Software …ce.sharif.edu/.../SoftwareEngineeringBodyofKnowledge.pdfAn international Consensus on the Software Engineering Body of Knowledge Alain

© IEEE www.swebok.org

36

Applications of the Guide

Licensing & Certification IEEE CS CSDP exam and program Input in accreditation of software

engineering programs in engineering faculties - CCPE

Ordre des ingénieurs du Québec: Input to certify software engineers

Page 37: An international Consensus on the Software …ce.sharif.edu/.../SoftwareEngineeringBodyofKnowledge.pdfAn international Consensus on the Software Engineering Body of Knowledge Alain

© IEEE www.swebok.org

37

Example Usages in Education

Program Design/Assessment: National Technological University Monash University CRISTEL project

Course Design/Assessment: A large number of universities

École de technologie supérieure

Page 38: An international Consensus on the Software …ce.sharif.edu/.../SoftwareEngineeringBodyofKnowledge.pdfAn international Consensus on the Software Engineering Body of Knowledge Alain

© IEEE www.swebok.org

38

Applications of the Guide

Industry & Government Job description

Bombardier Transportation

Career planning Construx

Input to Policy making Turkish Industry Survey

Page 39: An international Consensus on the Software …ce.sharif.edu/.../SoftwareEngineeringBodyofKnowledge.pdfAn international Consensus on the Software Engineering Body of Knowledge Alain

© IEEE www.swebok.org

39

Applications of the Guide

Professional development Security Industry Automation Corporation Construx

Dissiminations of standards Introducing standards in software

engineering curriculum

Page 40: An international Consensus on the Software …ce.sharif.edu/.../SoftwareEngineeringBodyofKnowledge.pdfAn international Consensus on the Software Engineering Body of Knowledge Alain

© IEEE www.swebok.org

40

Presentation Plan

Project background Project development process Contents of the Guide Usages of the Guide in organizations

Next steps

Page 41: An international Consensus on the Software …ce.sharif.edu/.../SoftwareEngineeringBodyofKnowledge.pdfAn international Consensus on the Software Engineering Body of Knowledge Alain

© IEEE www.swebok.org

41

Next steps:

Generally Accepted Advanced

Spec

ializ

ed

and Research

Target of the SWEBOK Guide

«Applicable to most projects, most of the time, and widespread consensus about their value and usefulness»

Project Management Institute - PMI

North American Bachelor’s degree + 4 years of experience

Page 42: An international Consensus on the Software …ce.sharif.edu/.../SoftwareEngineeringBodyofKnowledge.pdfAn international Consensus on the Software Engineering Body of Knowledge Alain

© IEEE www.swebok.org

42

Evolution process for the Guide

Copyright belongs to the IEEE Transition to self-supporting, volunteer-led

process—i.e. self-funded. Coordination with related IEEE-CS projects (internal

and external) Time-boxed block updates Involvement with stakeholder groups Openness and transparency Technical excellence

Page 43: An international Consensus on the Software …ce.sharif.edu/.../SoftwareEngineeringBodyofKnowledge.pdfAn international Consensus on the Software Engineering Body of Knowledge Alain

© IEEE www.swebok.org

43

Next Steps Research to strengthen the foundations of a body of

knowledge: Vincenti’s classification of engineering knowledge

Fundamental design principles Criteria and specifications Theoretical tools Quantitative data Practical considerations Design instrumentalities

Ontology of software engineering

Page 44: An international Consensus on the Software …ce.sharif.edu/.../SoftwareEngineeringBodyofKnowledge.pdfAn international Consensus on the Software Engineering Body of Knowledge Alain

© IEEE www.swebok.org

44

Next Steps

Being investigated at ISO level:

Certification of software engineers ISO standard on content of certification ISO recognized certifying bodies International portability of certification of

software engineers

Page 45: An international Consensus on the Software …ce.sharif.edu/.../SoftwareEngineeringBodyofKnowledge.pdfAn international Consensus on the Software Engineering Body of Knowledge Alain

© IEEE www.swebok.org

45

Next steps Consensus on the core body of

knowledge is key in all disciplines and pivotal for the evolution toward a professional status

INCOSE Building a System Engineering Body of

Knowledge - SEBOK

Page 46: An international Consensus on the Software …ce.sharif.edu/.../SoftwareEngineeringBodyofKnowledge.pdfAn international Consensus on the Software Engineering Body of Knowledge Alain

© IEEE www.swebok.org

46

www.swebok.org

Page 47: An international Consensus on the Software …ce.sharif.edu/.../SoftwareEngineeringBodyofKnowledge.pdfAn international Consensus on the Software Engineering Body of Knowledge Alain

© IEEE www.swebok.org

47

Presentation Plan

Project background Project development process Contents of the Guide Usages of the Guide in organizations Next steps

Appendix: Breakdown of topics

Page 48: An international Consensus on the Software …ce.sharif.edu/.../SoftwareEngineeringBodyofKnowledge.pdfAn international Consensus on the Software Engineering Body of Knowledge Alain

© IEEE www.swebok.org

48

Guide to the Software Engineering Body of Knowledge2004 Version

SoftwareConstruction

SoftwareMaintenanceSoftware Testing

Basic Conceptsof Construction

ManagingConstruction

SoftwareMaintenance

Fundamentals

Key Issues inSoftware

Maintenance

Techniques forMaintenance

SofwareTesting

Fundamentals

Test Levels

Test Techniques

Test RelatedMeasures

TestProcess

Software Design

Software DesignFundamentals

Key Issues inSoftware Design

Software Structureand Architecture

Software DesignQuality Analysisand Evaluation

Software DesignNotations

SoftwareRequirements

SoftwareRequirementsFundamentals

RequirementsProcess

RequirementsElicitation

RequirementsSpecification

RequirementsValidation

RequirementsAnalysis

Software DesignStrategies and

Methods

PracticalConsiderations

PracticalConsiderations

MaintenanceProcess

Page 49: An international Consensus on the Software …ce.sharif.edu/.../SoftwareEngineeringBodyofKnowledge.pdfAn international Consensus on the Software Engineering Body of Knowledge Alain

© IEEE www.swebok.org

49

RelatedDisciplines

ComputerScience

Management

Mathematics

Projectmanagement

Qualitymanagement

SoftwareErgonomics

Systemsengineering

Closure

ProcessAssessment

Software Design Tools

Guide to the Software Engineering Body of Knowledge

(2004 Version)

SoftwareConfigurationManagement

SoftwareEngineering Tools

and Methods

SoftwareEngineering

ProcessSoftware Quality

SoftwareConfigurationManagementFundamentals

KeysIssues in

SCM

SoftwareConfiguration

Control

SoftwareConfiguration

Status Accounting

SoftwareConfiguration

Auditing

Software ReleaseManagement and

Delivery Software Methods

Software ToolsProcess

Implementationand Change

Process andProduct

Measurement

Software QualityFundamentals

Software QualityManagement

Processes

Heuristic Methods

Formal Methods

Prototyping Methods

Software RequirementsTools

Software Testing Tools

Software MaintenanceTools

Software EngineeringProcess Tools

ProcessDefinition

PracticalConsiderations

Software ConstructionTools

Software Quality Tools

Software ConfigurationManagement Tools

Software EngineeringManagement Tools

Infrastructure SupportTools

Miscellaneous ToolIssues

Miscellaneous MethodIssues

SoftwareEngineeringManagement

Initiation andScope

Definition

SoftwareProject

Planning

Software ProjectEnactment

Review andEvaluation

SW EngineeringMeasurement

ComputerEngineering

Page 50: An international Consensus on the Software …ce.sharif.edu/.../SoftwareEngineeringBodyofKnowledge.pdfAn international Consensus on the Software Engineering Body of Knowledge Alain

© IEEE www.swebok.org

50

SoftwareRequirements

RequirementsElicitation

SoftwareRequirementsFundamentals

Definition ofSoftwareRequirement

Product andProcessRequirements

Functional andNon-functionalRequirements

EmergentProperties

QuantifiableRequirements

SystemRequirementsand SoftwareRequirements

RequirementsProcess

Process Models

Process Actors

Process Supportand Management

Process Qualityand Improvement

RequirementsSources

ElicitationTechniques

RequirementsClassification

ConceptualModeling

ArchitecturalDesign andRequirementsAllocation

RequirementsNegotiation

RequirementsSpecification

SystemDefinitionDocument

SystemsRequirementsSpecification

PracticalConsideration

RequirementsValidation

RequirementsReviews

Prototyping

ModelValidation

AcceptanceTests

ChangeManagement

RequirementsAttributes

RequirementsTracing

SoftwareRequirementsSpecification

Iterative Natureof RequirementsProcess

MeasuringRequirements

RequirementsAnalysis

Page 51: An international Consensus on the Software …ce.sharif.edu/.../SoftwareEngineeringBodyofKnowledge.pdfAn international Consensus on the Software Engineering Body of Knowledge Alain

© IEEE www.swebok.org

51

Software Design

1. Software DesignFundamentals

2. Key Issues inSoftware Design

3. Software Structureand Architecture

5. SoftwareDesign Notations

6. Software DesignStrategies and

Methods

General designconcepts Concurrency

The context ofsoftware design

Enabling techniques

The software designprocess

Control and handlingof events

Architecturalstructures and

viewpoints

Structuraldescriptions(static view)

General Strategies

Distribution ofcomponents

Interaction andpresentation

Error and exceptionhandline and fault

tolerance

Data persistence

Design patterns(microarchitectural

patterns)

Architectural styles(macroarchitectural

patterns)

Families of programsand frameworks

Behavior descriptions(dynamic view)

Object-orienteddesign

Function-oriented(structured) design

Data-structrurecentered design

4. Software DesignQuality Analysis and

Evaluation

Quality attributes

Measures

Quality analysis andevaluation techniques

Other methods

Figure 1 Breakdown of topics for the Software Design KA

Component-baseddesign (CBD)

Page 52: An international Consensus on the Software …ce.sharif.edu/.../SoftwareEngineeringBodyofKnowledge.pdfAn international Consensus on the Software Engineering Body of Knowledge Alain

© IEEE www.swebok.org

52

Reduction of Complexity

Software Construction

Basic Conceptsof Construction

ManagingConstruction

Constructing forValidation

Anticipation of Change

Role of Standards inConstruction

Construction Languages

Coding

PracticalConsiderations

Construction Quality

Construction Testing

Integration

Construction Tools

Construction Methods

ConstructionMeasurement

Construction Planning

Construction design

Figure 1. Breakdown of topics for the Software Construction KA.

Page 53: An international Consensus on the Software …ce.sharif.edu/.../SoftwareEngineeringBodyofKnowledge.pdfAn international Consensus on the Software Engineering Body of Knowledge Alain

© IEEE www.swebok.org

53

Software Testing

1. SoftwareTesting

Fundamentals2. Test Levels 3. Test

Techniques4. Test Related

Measures 5. Test Process

Testing-RelatedTerminology

Keys Issues

Relationships ofTesting to Other

Activities

The Target of theTest

Objectives ofTesting

Based on tester's intuitionand experience

Specification-based

Evaluation of theProgram Under

Test

Evaluation of theTests Performed

ManagementConcerns

Test Activities

Code-based

Usage-based

Fault-based

Based on natureof application

Selecting andCombiningTechniques

Page 54: An international Consensus on the Software …ce.sharif.edu/.../SoftwareEngineeringBodyofKnowledge.pdfAn international Consensus on the Software Engineering Body of Knowledge Alain

© IEEE www.swebok.org

54

Software Maintenance

FundamentalsKey Issues in

SoftwareMaintenance

MaintenanceProcess

Techniques forMaintenance

Definitions andTerminology

Nature ofMaintenance

Need for Maintenance

Majority ofMaintenance Costs

Evolution of Soffware

Categories ofMaintenance

Technical

Management

Maintenance Cost andMaintenance CostEstimation

Software MaintenanceMeasurement

Maintenance ProcessModels

Maintenance Activities

Program Comprehension

Re-engineering

Reverse Engineering

Impact Analysis

Page 55: An international Consensus on the Software …ce.sharif.edu/.../SoftwareEngineeringBodyofKnowledge.pdfAn international Consensus on the Software Engineering Body of Knowledge Alain

© IEEE www.swebok.org

55

Software Configuration Management

3. SoftwareConfiguration

Control

4. SoftwareConfiguration

StatusAccounting

5. SoftwareConfiguration

Auditing

6. SoftwareRelease

Managementand Delivery

In-ProcessAudits of SCM

Requesting,Evaluating and

ApprovingSoftwareChangesSoftware

ConfigurationControl Board

Software ChangeRequest Process

ImplementingSoftwareChanges

Deviations andWaivers

SoftwareConfiguration

StatusInformation

SoftwareConfiguration

StatusReporting

SoftwareFunctional

ConfigurationAudit

SoftwarePhysical

ConfigurationAudit

In-ProcessAudits of aSoftwareBaseline

SoftwareBuilding

SoftwareRelease

Management

1. SoftwareConfigurationManagementFundamentals

IdentifyingItems to beControlled

SoftwareConfiguration

SoftwareConfiguration

ItemsSoftware

ConfigurationItem

RelationshipsSoftwareVersions

BaselineAcquiringSoftware

ConfigurationItems

SoftwareLibrary

2. Keys Issuesin SCM

OrganizationalContext for

SCMConstraints and

Guidance forSCM

Planning forSCM

SoftwareConfigurationManagement

Plan

SCMOrganization andResponsibilities

SCM Resourcesand Schedules

Tool Selectionand

ImplementationVendor/

SubcontractorControl

Interface Control

Surveillance ofSoftware

ConfigurationManagementSCM Measures

andMeasurement

Page 56: An international Consensus on the Software …ce.sharif.edu/.../SoftwareEngineeringBodyofKnowledge.pdfAn international Consensus on the Software Engineering Body of Knowledge Alain

© IEEE www.swebok.org

56

Process Planning

DetermineDeliverables

Effort, Scheduleand CostEstimation

ResourceAllocation

Risk Management

QualityManagement

Plan Management

Software EngineeringManagement

Initiation andScope Definition

Determinationand Negotiationof Requirements

FeasibilityAnalysis

Process forRequirementsReview/Revision

Software ProjectEnactment

Implementationof Plans

Supplier ContractManagement

Implementationof MeasurementProcess

Monitor Process

Control Process

Reporting

Review andEvaluation

DeterminingSatisfaction ofRequirements

Reviewing andEvaluatingPerformance

Closure

DeterminingClosure

ClosureActivities

SW EngineeringMeasurement

Establish and SustainMeasurementCommitment

Plan theMeasurementProcess

Perform theMeasurementProcess

EvaluateMeasurement

Software ProjectPlanning

Page 57: An international Consensus on the Software …ce.sharif.edu/.../SoftwareEngineeringBodyofKnowledge.pdfAn international Consensus on the Software Engineering Body of Knowledge Alain

© IEEE www.swebok.org

57

Software EngineeringProcess

ProcessImplementation

and ChangeProcess

DefinitionProcess

Assessment

Process Infrastructure

Activities

Models for ProcessImplementation andChange

Practical Considerations

Life Cycle Models

Software Life CycleProcesses

Notations forProcess Definitions

Process Adaptation

Automation

Process AssessmentModels

Process AssessmentMethods

Process andProduct

Measurements

Process Measurement

Software ProductsMeasurement

Quality of MeasurementResults

Software InformationModels

Process MeasurementTechniques

Page 58: An international Consensus on the Software …ce.sharif.edu/.../SoftwareEngineeringBodyofKnowledge.pdfAn international Consensus on the Software Engineering Body of Knowledge Alain

© IEEE www.swebok.org

58

Software Engineering Tools and

Methods

Software Engineering Tools and Methods

I. Software Tools II. Software Methods

Software RequirementsTools

Heuristic Methods

Software Design ToolsSoftware Construction

Tools

Requirements modelingTraceability

Program editorsCompilersInterpretersDebuggers

Software Testing ToolsTest generators

Test execution frameworksTest evaluation

Test managementPerformance analysis

Software MaintenanceTools

ComprehensionRe-engineering

Software EngineeringProcess ToolsProcess modeling

Process managementIntegrated CASE environments

Process-centered softwareengineering environments

InspectionSoftware Quality Tools

Static analysisSoftware Configuration

Management ToolsDefect, enhancement, issue and

problem trackingVersion managmentRelease and build

Software EngineeringManagement Tools

Project planning and trackingRisk management

MeasurementInfrastructure Support

Tools

Miscellaneous ToolsIssues

Formal Methods

Interpersonal communicationInformation retrieval

System administrative andsupport

Tool integration techniquesMeta tools

Tool evaluation

Structured methods

Data-oriented methods

Object-oriented methods

Domain specific methods

Specification languages

Refinement

Verification

Prototyping Methods

Miscellaneous MethodIssues

StylesPrototyping target

Evaluation techniques

Method evaluation

Page 59: An international Consensus on the Software …ce.sharif.edu/.../SoftwareEngineeringBodyofKnowledge.pdfAn international Consensus on the Software Engineering Body of Knowledge Alain

© IEEE www.swebok.org

59

List of Knowledge Areas Software Requirements Software Design Software Construction Software Testing Software Maintenance Software Configuration Management Software Quality Software Engineering Tools & Methods Software Engineering Process Software Engineering Management

Page 60: An international Consensus on the Software …ce.sharif.edu/.../SoftwareEngineeringBodyofKnowledge.pdfAn international Consensus on the Software Engineering Body of Knowledge Alain

© IEEE www.swebok.org

60

Formal resolutions Industrial Advisory Board (2001) IEEE CS Board of Governors (2001)

"The Board of Governors of the IEEE Computer Society accepts the Guide to the Software Engineering Body of Knowledge (Trial Version) as fulfilling its development requirements and is ready for field trials for a period of two years“

IEEE CS Board of Governors (Feb. 2004) Officially approved the 2004 Version

ISO Technical Report 19759 (upcoming)

Page 61: An international Consensus on the Software …ce.sharif.edu/.../SoftwareEngineeringBodyofKnowledge.pdfAn international Consensus on the Software Engineering Body of Knowledge Alain

© IEEE www.swebok.org

61

Trial Version Review Process Version 0.1

ReviewCycle 1

Version 0.5

Reviewcycle 2

Version 0.7

ReviewCycle 3

Version 0.9

Limited number of domain experts

Selected users

Community

Page 62: An international Consensus on the Software …ce.sharif.edu/.../SoftwareEngineeringBodyofKnowledge.pdfAn international Consensus on the Software Engineering Body of Knowledge Alain

© IEEE www.swebok.org

62

Trial Version (2001)

Page 63: An international Consensus on the Software …ce.sharif.edu/.../SoftwareEngineeringBodyofKnowledge.pdfAn international Consensus on the Software Engineering Body of Knowledge Alain

© IEEE www.swebok.org

63

Page 64: An international Consensus on the Software …ce.sharif.edu/.../SoftwareEngineeringBodyofKnowledge.pdfAn international Consensus on the Software Engineering Body of Knowledge Alain

© IEEE www.swebok.org

64

Comment Resolution

Page 65: An international Consensus on the Software …ce.sharif.edu/.../SoftwareEngineeringBodyofKnowledge.pdfAn international Consensus on the Software Engineering Body of Knowledge Alain

© IEEE www.swebok.org

65

Geographic Distribution of Reviewers Trial Version

USA: 55% Europe: 18%

90 reviewers from 25 countries

Canada: 10% Australia: 5% Asia: 5% Latin America: 4%

Page 66: An international Consensus on the Software …ce.sharif.edu/.../SoftwareEngineeringBodyofKnowledge.pdfAn international Consensus on the Software Engineering Body of Knowledge Alain

© IEEE www.swebok.org

66

Education level of reviewers (Version 0,7)

34%

39%

24% 3%Ph.D.MastersBachOther

Page 67: An international Consensus on the Software …ce.sharif.edu/.../SoftwareEngineeringBodyofKnowledge.pdfAn international Consensus on the Software Engineering Body of Knowledge Alain

© IEEE www.swebok.org

67

Number of employees at reviewer location (Version 0,7)

37%

32%

31% 0-5050-500Over 500

Page 68: An international Consensus on the Software …ce.sharif.edu/.../SoftwareEngineeringBodyofKnowledge.pdfAn international Consensus on the Software Engineering Body of Knowledge Alain

© IEEE www.swebok.org

68

Number of years of practical experience (Version 0,7)

32%

38%

21%

9%

0-9

10-19

20-29