introduction to the swebok guide and...

32
1 www.swebok.org 1 Introduction to the SWEBOK Introduction to the SWEBOK Guide and Project Guide and Project Pierre Bourque Pierre Bourque Internet Seminar given to 3IL Students Internet Seminar given to 3IL Students 20 March 2007 20 March 2007 S W E B O K ÉTS © IEEE www.swebok.org 2 Project managed by: Corporate Support by:

Upload: others

Post on 28-Jul-2020

15 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Introduction to the SWEBOK Guide and Projectprofs.etsmtl.ca/claporte/English/Enseignement/CMU_SQA/... · 2008-06-21 · ~Institute of Electrical and Electronics Engineers: 360,000

1

© IEEE www.swebok.org1

Introduction to the SWEBOK Introduction to the SWEBOK Guide and ProjectGuide and Project

Pierre BourquePierre Bourque

Internet Seminar given to 3IL StudentsInternet Seminar given to 3IL Students20 March 200720 March 2007SW

EBO

K

ÉTS

© IEEE www.swebok.org2

Project managed by:

Corporate Support by:

Page 2: Introduction to the SWEBOK Guide and Projectprofs.etsmtl.ca/claporte/English/Enseignement/CMU_SQA/... · 2008-06-21 · ~Institute of Electrical and Electronics Engineers: 360,000

2

© IEEE www.swebok.org3

IEEE Computer SocietyIEEE Computer Society

Institute of Electrical and Electronics Engineers:

360,000 members in 175 countries.

Publishes 30% of the world’s technical literature within its scope of interest.

The Computer Society is the largest of IEEE’s 37 technical societies:

100,000 members, 40% outside the US.

Founded in 1946, the world’s oldest and largest association of computing professionals.

© IEEE www.swebok.org4

Trial Version (2001)Trial Version (2001)

Page 3: Introduction to the SWEBOK Guide and Projectprofs.etsmtl.ca/claporte/English/Enseignement/CMU_SQA/... · 2008-06-21 · ~Institute of Electrical and Electronics Engineers: 360,000

3

© IEEE www.swebok.org5

2004 Version2004 Version

© IEEE www.swebok.org6

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

Began as a collaboration among IEEE CS, ACM and the Université du Québec à MontréalInternational participation from industry, professional societies, standards bodies, academia, authorsOver 500 hundred software engineering professionals have touched the documentRelease of Trial Version in 2001

® Registered in U.S. Patent Office

Page 4: Introduction to the SWEBOK Guide and Projectprofs.etsmtl.ca/claporte/English/Enseignement/CMU_SQA/... · 2008-06-21 · ~Institute of Electrical and Electronics Engineers: 360,000

4

© IEEE www.swebok.org7

2004 SWEBOK Guide2004 SWEBOK GuideAvailable on www.swebok.orgThe 2004 Version was endorsed by the project’s Industrial Advisory Board in January 2004 and approved by the IEEE Computer Society Board of Governors in February 2004Also published in book form by the IEEE Computer Society Press and in Japanese by OhmshaAlso published as ISO Technical Report 19759Current draft versions in Arabic, French and Spanish

© IEEE www.swebok.org8

List of Knowledge AreasList of Knowledge AreasSoftware RequirementsSoftware DesignSoftware ConstructionSoftware TestingSoftware MaintenanceSoftware Configuration ManagementSoftware QualitySoftware Engineering Tools & MethodsSoftware Engineering ProcessSoftware Engineering Management

Page 5: Introduction to the SWEBOK Guide and Projectprofs.etsmtl.ca/claporte/English/Enseignement/CMU_SQA/... · 2008-06-21 · ~Institute of Electrical and Electronics Engineers: 360,000

5

© IEEE www.swebok.org9

Presentation ObjectivesPresentation Objectives

Give an overview of the emerging international consensus on the “core body of knowledge” of software engineeringBriefly present the development process used to reach this emerging consensus

© IEEE www.swebok.org10

Presentation PlanPresentation Plan

Project backgroundProject backgroundProject scope, objectives, audience and development processContents of the GuideEvolution of the GuideConclusionAppendix: Breakdown of topics

Page 6: Introduction to the SWEBOK Guide and Projectprofs.etsmtl.ca/claporte/English/Enseignement/CMU_SQA/... · 2008-06-21 · ~Institute of Electrical and Electronics Engineers: 360,000

6

© IEEE www.swebok.org11

What is Software What is Software Engineering?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).”

© IEEE www.swebok.org12

Recognized Profession?Recognized Profession?

Starr*:Knowledge and competence validated by the community of peersConsensually validated knowledge rests on rational, scientific groundsJudgment and advice oriented toward a set of substantive values

* P. Starr, The Social Transformation of American Medicine: BasicBooks, 1982.

Page 7: Introduction to the SWEBOK Guide and Projectprofs.etsmtl.ca/claporte/English/Enseignement/CMU_SQA/... · 2008-06-21 · ~Institute of Electrical and Electronics Engineers: 360,000

7

© IEEE www.swebok.org13

Development of a ProfessionDevelopment 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

© IEEE www.swebok.org14

Presentation PlanPresentation Plan

Project background

Project scope, objectives, audience Project scope, objectives, audience and development processand development processContents of the GuideHow you can leverage the Guide within your organizationEvolution of the GuideConclusionBreakdown of topics

Page 8: Introduction to the SWEBOK Guide and Projectprofs.etsmtl.ca/claporte/English/Enseignement/CMU_SQA/... · 2008-06-21 · ~Institute of Electrical and Electronics Engineers: 360,000

8

© IEEE www.swebok.org15

Project ObjectivesProject Objectives

Characterize the contents of the Software Engineering Body of KnowledgeProvide a topical access to the Software Engineering Body of KnowledgePromote a consistent view of software engineering worldwide

© IEEE www.swebok.org16

Project ObjectivesProject ObjectivesClarify 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 9: Introduction to the SWEBOK Guide and Projectprofs.etsmtl.ca/claporte/English/Enseignement/CMU_SQA/... · 2008-06-21 · ~Institute of Electrical and Electronics Engineers: 360,000

9

© IEEE www.swebok.org17

Intended AudienceIntended Audience

Public and private organizationsPracticing software engineersMakers of public policyProfessional societiesSoftware engineering studentsEducators and trainers

© IEEE www.swebok.org18

What Are we Not Trying What Are we Not Trying to Accomplish?to Accomplish?

Not a curriculum development effort!Not an all-inclusive description of the sum of knowledge in the fieldNot all categories of knowledge

Page 10: Introduction to the SWEBOK Guide and Projectprofs.etsmtl.ca/claporte/English/Enseignement/CMU_SQA/... · 2008-06-21 · ~Institute of Electrical and Electronics Engineers: 360,000

10

© IEEE www.swebok.org19

Categories of Knowledge Categories of Knowledge in the SWEBOKin 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

© IEEE www.swebok.org20

Maths

Applicationdomain

knowledgeAdvanced

SEKnowledge

Guide to theSWEBOKStoneman

C.S.

...

Knowledgeof a

SoftwareEngineer

SpecializedSE

Knowledge

Page 11: Introduction to the SWEBOK Guide and Projectprofs.etsmtl.ca/claporte/English/Enseignement/CMU_SQA/... · 2008-06-21 · ~Institute of Electrical and Electronics Engineers: 360,000

11

© IEEE www.swebok.org21

Three Underlying Principles Three Underlying Principles of the Projectof the Project

Transparency: the development process is itself published and fully documentedConsensus-building: the development process is designed to build, over time, consensus in industry, among professional societies and standards-setting bodies and in academiaAvailable free on the web

© IEEE www.swebok.org22

Project TeamProject Team

Editorial Team of the GuideIndustrial Advisory BoardAssociate Editors of the Knowledge AreasReviewers

Page 12: Introduction to the SWEBOK Guide and Projectprofs.etsmtl.ca/claporte/English/Enseignement/CMU_SQA/... · 2008-06-21 · ~Institute of Electrical and Electronics Engineers: 360,000

12

© IEEE www.swebok.org23

Roles of the Industrial Roles of the Industrial Advisory BoardAdvisory Board

Provide input to ensure relevance to various audiencesReview and approve strategy and deliverablesOversee development processAssist in promoting the Guide to the Software Engineering Body of KnowledgeLend credibility to the project

© IEEE www.swebok.org24

A ThreeA Three--Phase Approach for Phase Approach for Developing the GuideDeveloping the Guide

1998 1999 2000 2001 2002 2003

Straw ManPhase

Stone Man Phase

Iron Man Phase(Sub-phase 1)

Iron ManPhase(Sub-phase 2)

2004Version

2004Version

TrialVersion

TrialVersion

Page 13: Introduction to the SWEBOK Guide and Projectprofs.etsmtl.ca/claporte/English/Enseignement/CMU_SQA/... · 2008-06-21 · ~Institute of Electrical and Electronics Engineers: 360,000

13

© IEEE www.swebok.org25

Formal resolutionsFormal resolutionsIndustrial 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

Official recognition as ISO Technical Report 19759

© IEEE www.swebok.org26

Trial Version Review ProcessTrial Version Review ProcessVersion 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 14: Introduction to the SWEBOK Guide and Projectprofs.etsmtl.ca/claporte/English/Enseignement/CMU_SQA/... · 2008-06-21 · ~Institute of Electrical and Electronics Engineers: 360,000

14

© IEEE www.swebok.org27

Trial Version Review ProcessTrial Version Review Process

Transparency and consensus-buildingAll intermediate versions of documents are published and archived on www.swebok.orgAll comments are made public as well as the identity of the reviewersDetailed comment disposition reports are produced for Review Cycle 2 and 3

© IEEE www.swebok.org28

Page 15: Introduction to the SWEBOK Guide and Projectprofs.etsmtl.ca/claporte/English/Enseignement/CMU_SQA/... · 2008-06-21 · ~Institute of Electrical and Electronics Engineers: 360,000

15

© IEEE www.swebok.org29

Comment ResolutionComment Resolution

© IEEE www.swebok.org30

Data on reviewersData on reviewersTrial VersionTrial Version

Version 0,1: 33

Version 0,5: 195

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

Page 16: Introduction to the SWEBOK Guide and Projectprofs.etsmtl.ca/claporte/English/Enseignement/CMU_SQA/... · 2008-06-21 · ~Institute of Electrical and Electronics Engineers: 360,000

16

© IEEE www.swebok.org31

GeographicGeographic Distribution of Distribution of ReviewersReviewersTrial VersionTrial Version

USA: 55%Europe: 18%

90 reviewers from 25 countries

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

© IEEE www.swebok.org32

Education level of reviewers Education level of reviewers (Version 0,7)(Version 0,7)

34%

39%

24% 3%Ph.D.MastersBachOther

Page 17: Introduction to the SWEBOK Guide and Projectprofs.etsmtl.ca/claporte/English/Enseignement/CMU_SQA/... · 2008-06-21 · ~Institute of Electrical and Electronics Engineers: 360,000

17

© IEEE www.swebok.org33

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

37%

32%

31%0-5050-500Over 500

© IEEE www.swebok.org34

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

32%

38%

21%

9%

0-9

10-19

20-29

Page 18: Introduction to the SWEBOK Guide and Projectprofs.etsmtl.ca/claporte/English/Enseignement/CMU_SQA/... · 2008-06-21 · ~Institute of Electrical and Electronics Engineers: 360,000

18

© IEEE www.swebok.org35

A ThreeA Three--Phase Approach for Phase Approach for Developing the GuideDeveloping the Guide

1998 1999 2000 2001 2002 2003

Straw ManPhase

Stone Man Phase

Iron Man Phase(Sub-phase 1)

Iron ManPhase(Sub-phase 2)

Trial VersionTrial Version

Revision

Experimentation and Trial Usage

2004Version

2004Version

© IEEE www.swebok.org36

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

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 19: Introduction to the SWEBOK Guide and Projectprofs.etsmtl.ca/claporte/English/Enseignement/CMU_SQA/... · 2008-06-21 · ~Institute of Electrical and Electronics Engineers: 360,000

19

© IEEE www.swebok.org37

Project OverviewProject OverviewPresentation PlanPresentation Plan

Project backgroundProject scope, objectives, audience and development process

Contents of the GuideContents of the GuideEvolution of the GuideConclusionAppendix: Breakdown of topics

© IEEE www.swebok.org38

Deliverables:Deliverables:Consensus on a list of Knowledge AreasConsensus on a list of topics and relevant reference materials for each Knowledge AreaConsensus on a list of Related Disciplines

Page 20: Introduction to the SWEBOK Guide and Projectprofs.etsmtl.ca/claporte/English/Enseignement/CMU_SQA/... · 2008-06-21 · ~Institute of Electrical and Electronics Engineers: 360,000

20

© IEEE www.swebok.org39

Knowledge Areas and Knowledge Areas and Related DisciplinesRelated 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

© IEEE www.swebok.org40

Knowledge Area DescriptionKnowledge Area DescriptionClassification

of TopicsMatrix of Topics

& ReferencesReferences

Topic Descriptions

Classification by Vincenti’s

Taxonomy

Classification by Bloom’s Taxonomy

References to Related Disciplines

Not implemented

Page 21: Introduction to the SWEBOK Guide and Projectprofs.etsmtl.ca/claporte/English/Enseignement/CMU_SQA/... · 2008-06-21 · ~Institute of Electrical and Electronics Engineers: 360,000

21

© IEEE www.swebok.org41

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

© IEEE www.swebok.org42

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 22: Introduction to the SWEBOK Guide and Projectprofs.etsmtl.ca/claporte/English/Enseignement/CMU_SQA/... · 2008-06-21 · ~Institute of Electrical and Electronics Engineers: 360,000

22

© IEEE www.swebok.org43

© IEEE www.swebok.org44

Summary of changes Summary of changes in 2004 Versionin 2004 Version

Standardization of the contents of the chapters in terms of table of contents, topic breakdown, terminology, reference citations and writing styleStructural improvements in breakdown of topics: Software Construction, Software Engineering Management, Software Quality, Software Engineering ProcessBetter representation of text in topic breakdown : Software Requirements, Software Testing, Software Maintenance

Page 23: Introduction to the SWEBOK Guide and Projectprofs.etsmtl.ca/claporte/English/Enseignement/CMU_SQA/... · 2008-06-21 · ~Institute of Electrical and Electronics Engineers: 360,000

23

© IEEE www.swebok.org45

Summary of changes Summary of changes in 2004 Versionin 2004 Version

New chapter on Related Disciplines (instead of an appendix)Better representation of standards in chapters and a new Appendix devoted to standardsUpdating of reference materialHandling of trial usage feedbackHandling of reviewer comments

© IEEE www.swebok.org46

Presentation PlanPresentation Plan

Project backgroundProject backgroundProject scope, objectives, audience and development processContents of the Guide

Evolution of the GuideConclusionAppendix: Breakdown of topics

Page 24: Introduction to the SWEBOK Guide and Projectprofs.etsmtl.ca/claporte/English/Enseignement/CMU_SQA/... · 2008-06-21 · ~Institute of Electrical and Electronics Engineers: 360,000

24

© IEEE www.swebok.org47

Evolution of the SWEBOK Evolution of the SWEBOK GuideGuide

Next planned version is 2009Main focus of changes

Harmonization of IEEE software engineering professional products with the SWEBOK Guide as the cornerstone

Time-boxed block updatesTo ensure currencyTo permit structural evolution while ensuring internal consistencyTo permit synchronization with coordinated effortsTo allow “follower” efforts to perform their own planning

© IEEE www.swebok.org48

Evolution of the SWEBOK Evolution of the SWEBOK GuideGuide

Involvement with stakeholder groupsTo support existing audiences

Openness and transparencyTo appeal to new audiencesTo give credibility to the product

Technical excellence

Page 25: Introduction to the SWEBOK Guide and Projectprofs.etsmtl.ca/claporte/English/Enseignement/CMU_SQA/... · 2008-06-21 · ~Institute of Electrical and Electronics Engineers: 360,000

25

© IEEE www.swebok.org49

Presentation PlanPresentation Plan

Project backgroundProject backgroundProject scope, objectives, audience and development processContents of the GuideHow you can leverage the Guide within your organizationEvolution of the Guide

ConclusionAppendix: Breakdown of topics

© IEEE www.swebok.org50

Concluding RemarksConcluding Remarks

Consensus on the core body of knowledge is key in all disciplines and pivotal for the evolution toward a professional status

Page 26: Introduction to the SWEBOK Guide and Projectprofs.etsmtl.ca/claporte/English/Enseignement/CMU_SQA/... · 2008-06-21 · ~Institute of Electrical and Electronics Engineers: 360,000

26

© IEEE www.swebok.org51

www.swebok.orgwww.swebok.org

© IEEE www.swebok.org52

Presentation PlanPresentation Plan

Project backgroundProject backgroundProject scope, objectives, audience and development processContents of the GuideHow you can leverage the Guide within your organizationEvolution of the GuideConclusion

Appendix: Breakdown of topics

Page 27: Introduction to the SWEBOK Guide and Projectprofs.etsmtl.ca/claporte/English/Enseignement/CMU_SQA/... · 2008-06-21 · ~Institute of Electrical and Electronics Engineers: 360,000

27

© IEEE www.swebok.org53

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

© IEEE www.swebok.org54

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 28: Introduction to the SWEBOK Guide and Projectprofs.etsmtl.ca/claporte/English/Enseignement/CMU_SQA/... · 2008-06-21 · ~Institute of Electrical and Electronics Engineers: 360,000

28

© IEEE www.swebok.org55

© IEEE www.swebok.org56

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-oriented

design

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 29: Introduction to the SWEBOK Guide and Projectprofs.etsmtl.ca/claporte/English/Enseignement/CMU_SQA/... · 2008-06-21 · ~Institute of Electrical and Electronics Engineers: 360,000

29

© IEEE www.swebok.org57

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.

© IEEE www.swebok.org58

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 30: Introduction to the SWEBOK Guide and Projectprofs.etsmtl.ca/claporte/English/Enseignement/CMU_SQA/... · 2008-06-21 · ~Institute of Electrical and Electronics Engineers: 360,000

30

© IEEE www.swebok.org59

Software Maintenance

Fundamen talsKey Issu es in

SoftwareMainten ance

Main ten anceProcess

Techn iqu es forMain ten ance

Definitions andTerm inology

Nature ofM aintenance

Need for Maintenance

M ajority ofM aintenance Costs

Evolution of Soffware

C ategories ofM aintenance

Technical

M anagem ent

M aintenance C ost andM aintenance C ostEstim ation

S oftware M aintenanceM easurement

M aintenance P rocessM odels

M aintenance Activities

P rogram C om prehension

Re-engineering

Reverse Engineering

Impact Analysis

© IEEE www.swebok.org60

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. SoftwareConfigurationManagement

Fundamentals

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 31: Introduction to the SWEBOK Guide and Projectprofs.etsmtl.ca/claporte/English/Enseignement/CMU_SQA/... · 2008-06-21 · ~Institute of Electrical and Electronics Engineers: 360,000

31

© IEEE www.swebok.org61

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

© IEEE www.swebok.org62

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 32: Introduction to the SWEBOK Guide and Projectprofs.etsmtl.ca/claporte/English/Enseignement/CMU_SQA/... · 2008-06-21 · ~Institute of Electrical and Electronics Engineers: 360,000

32

© IEEE www.swebok.org63

Software Software EngineeringEngineeringTools and Tools and

MethodsMethods

Software Engineering Tools and Methods

I. Software Tools II. Software Methods

Software RequirementsTools

Heuristic Methods

Software Design Tools

Software ConstructionTools

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

Inspection

Software 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

© IEEE www.swebok.org64

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