SWEBOK

advertisement
SWEBOK
The Emerging Consensus on the
Software Engineering Body of
Knowledge
A. Abran,
P. Bourque, R. Dupuis, J. W. Moore, L. Tripp
CUSE
Montréal, 7 Mars, 2002
ÉTS
© IEEE
www.swebok.org
1
Corporate Support by:
Project managed by:
© IEEE
www.swebok.org
2
Presentation Plan
¤ Project background
¤
Project objectives, audiences and plan
¤
Content of the Guide
¤ Next steps
¤ Research Issues
© IEEE
www.swebok.org
3
Key Issues
¤
Groups and individuals:
Ø Different views of software engineering
¤
Universities:
Ø Offering undergraduate degrees in Software
Engineering, outside of traditional Engineering
Departments
Ø Limited consistency across curriculum
Ø Different accreditation groups (Canada:CIPS and
CCPE)
¤
© IEEE
Increased interest in the establishment of a
profession
www.swebok.org
4
Market Trends - Examples
Texas Board of Engineers:
v Decision to license software engineers: a
strategy with significant impact on:
Ø industry (e.g. mobility of staff & training)
Ø universities
Ø policy bodies
Ø individuals
(+ engineering boards in Canada and universities)
© IEEE
www.swebok.org
5
What is Software
Engineering?
¤
IEEE 610.12:
v “(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.
v (2) The study of approaches as in (1).”
© IEEE
www.swebok.org
6
Key Interrelationships for a
Core Body of Knowledge
Development of
Certification /
Licensing Criteria and
Exams
© IEEE
Consensus on
a Core Body of
Knowledge
Influences
www.swebok.org
s
nce
ue
Infl
Infl
uen
ces
Development of
Software
Engineering
Curricula
Development of
University Program
Accreditation Criteria
7
Presentation Plan
¤
Project background
¤ Project
objectives,
audiences and plan
© IEEE
¤
Content of the Guide
¤
Next steps
¤
Research issues
www.swebok.org
8
Project Objectives
© IEEE
¤
Promote a consistent view of software engineering
worldwide
¤
Clarify the place of, and set the boundary of, software
engineering with respect to other disciplines
¤
Characterize the contents of the Software Engineering
Body of Knowledge - SWEBOK
¤
Provide a topical access to the Software Engineering
Body of Knowledge
¤
Provide a foundation for curriculum development and
individual certification and licensing material
www.swebok.org
9
Intended Audiences
© IEEE
¤
Public and private organizations
¤
Practicing software engineers
¤
Makers of public policy
¤
Professional societies
¤
Software engineering students
¤
Educators and trainers
www.swebok.org
10
What Are we Not Trying
to Accomplish?
© IEEE
¤
Not an all-inclusive description of the
sum of knowledge in the field
¤
Not all categories of knowledge
¤
Not a curriculum development effort
www.swebok.org
11
Specialized
Categories of Knowledge
in the SWEBOK
© IEEE
Generally
Accepted
Focus of the
SWEBOK Guide
Advanced
and
Research
www.swebok.org
12
Generally Accepted
¤
«Applies to most projects, most of the
time, and widespread consensus
validates its value and effectiveness»
Ø Project Management Institute
¤
© IEEE
Bachelor + 4 years of experience
www.swebok.org
13
IEEE and ACM strategies
¤
IEEE-CS:
Ø initial focus on generally accepted
Ø strategy with intermediate deliverables
Ø contributions to the maturation and
consensus building
¤
ACM:
Ø opposition to licensing
– withdrawal from joint efforts with IEEE-CS
– concerns: limited to specialized knowledge
© IEEE
www.swebok.org
14
Three Underlying Principles
of the Project
¤
Transparency: the development process is
itself published and fully documented
¤
Consensus-building: the development
process is designed to build, over time,
consensus in industry, among professional
societies and standards-setting bodies and
in academia
Ø Consensus does not equal Unanimity!
¤
© IEEE
Available free on the web
www.swebok.org
15
A Three-Phase Approach for
Developing the Guide to the SWEBOK
Straw Man
Straw Man
Version
Version
Stone Man Phase
Stone Man Phase
(Trial Version)
(Trial Version)
Iron Man Version
Iron Man Version
(Sub-phase 1)
(Sub-phase 1)
1998
© IEEE
1999
2000
2001
www.swebok.org
2002
2003
16
Project Team
© IEEE
¤
Editorial team
¤
Industrial Advisory Board
¤
Knowledge Area Specialists
¤
A very large international group of
Reviewers
www.swebok.org
17
Editorial Team
¤
Project “Champion”:
v Leonard Tripp, 1999 President,
IEEE Computer Society
¤
Executive Editors:
v Alain Abran, UQAM
v James W. Moore, The MITRE Corp.
¤
Editors:
v Pierre Bourque, UQAM
v Robert Dupuis, UQAM
© IEEE
www.swebok.org
18
A Three-Phase Approach for
Developing the Guide to the SWEBOK
Straw Man
Version
Stone Man Version
Iron Man Version
(Sub-phase 1)
Iron Man Version
(Sub-phase 2)
1998
© IEEE
1999
2000
2001
www.swebok.org
2002
2003
19
Strawman: Process
Undergrad.
SE curricula
Graduate
Admission
Criteria
Body of SE
Standards
Preliminary
list of related
disciplines
Graduate SE
Curricula
Text Books in
SE Textbooks
List of
related
disciplines
Prel. list of SE
Knowledge
Areas
Proposed SE
Knowledge
Areas
ISO/IEC
12207
Proposed
related
disciplines
and SE KAs
Must be discussed in
general SE textbooks
Must be specifically
adapted to SE
© IEEE
www.swebok.org
20
Knowledge Area Specialists
© IEEE
¤
Bertolino, Istituto Elaborazione Informazione, CNR, Italy
¤
Bollinger, MITRE, USA, Martin & Gabrini, UQAM
¤
Carrington, Queensland University, Australia
¤
El Emam, National Research Council, Canada
¤
MacDonell, University of Otago, New-Zealand
¤
Sawyer & Kotonya, Lancaster University, UK
¤
Scott, Lawrence Livermore National Lab., USA
¤
Tremblay, UQAM, Canada
¤
Pigoski, USA
¤
Wallace & Reeker, NIST, USA
www.swebok.org
21
A Three-Phase Approach for
Developing the Guide to the SWEBOK
Straw Man
Straw Man
Version
Version
Stone Man Phase
Stone Man Phase
(Trial Version)
(Trial Version)
Iron Man Version
Iron Man Version
(Sub-phase 1)
(Sub-phase 1)
1998
© IEEE
1999
2000
2001
www.swebok.org
2002
2003
22
Phase 2: Stone Man Review Process
Version 0.1
Limited number of domain experts
Review
Cycle 1
Version 0.5
Selected users
Review
cycle 2
Community
Version 0.7
Review
Cycle 3
Version 0.9
© IEEE
www.swebok.org
23
Stone Man Review Process
¤
Transparency and consensus-building
v All intermediate versions of documents
are published and archived on
www.swebok.org
v All comments are made public as well as
the identity of the reviewers
v Detailed comment disposition reports are
produced for Review Cycle 2 and 3
© IEEE
www.swebok.org
24
Data on reviewers
¤
Version 0,1: 33
¤
Version 0,5: 195
¤
Version 0,7: 378
v + ISO reviews from 5 countries
© IEEE
www.swebok.org
25
Geographic Distribution of
Reviewers
¤
USA:
¤
Europe: 18%
55%
v 90 reviewers from 25 countries
© IEEE
¤
Canada: 10%
¤
Australia: 5%
¤
Asia:
¤
Latin America: 4%
5%
www.swebok.org
26
Education of Reviewers
3%
24%
34%
Doctorat
Master
Bachelor
Other
39%
© IEEE
www.swebok.org
27
Organizations of Reviewers
(no. of employees)
31%
37%
0-50
50-500
500 more
32%
© IEEE
www.swebok.org
28
Project Overview
Presentation Plan
¤
Project background
¤
Project scope, objectives, audience and plan
¤ Contents
© IEEE
of the Guide
¤
How you can leverage the Guide within your
organization
¤
Conclusion
www.swebok.org
29
Stone Man Deliverables:
© IEEE
¤
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
www.swebok.org
30
Guide to the Softw are Engineering Body of Knowledge
(Version 0.95)
Software
Requirements
Software Design
Software
Construction
Software Testing
Software
Maintenance
Requirement
Engineering
Process
Software Design
Basic Concepts
Reduction in
Complexity
Testing Basic
Concepts and
Definitions
Basic Concepts
Requirements
Elicitation
Key Issues in
Software Design
Anticipation of
Diversity
Requirement
Analysis
Software Structure
and Architecture
Structuring for
Validation
Test Levels
Maintenance
Process
Key Issues in
Software
Maintenance
Test Techniques
Techniques for
Maintenance
© IEEE
Requirements
Specification
Software Design
Quality Analysis
and Evaluation
Requirements
Validation
Software Design
Notations
Requirements
Management
Software Design
Strategies and
Methods
(a)
(b)
Use of External
Standards
Test-Related
Measures
Managing the Test
Process
(c)
www.swebok.org
(d)
(e)
31
Guide to the Softw are Engineering Body of Knowledge
(Version 0.95)
Software
Configuration
Management
Software
Engineering
Management
Software
Engineering
Process
Software
Engineering Tools
and Methods
Software Quality
Management of
the SCM Process
Organizational
Management
Software
Engineering
Process Concepts
Software Tools
Software Quality
Concepts
Software
Configuration
Identification
Software
Configuration
Control
Process/Project
Management
Software
Engineering
Measurement
Software Requirements
Tools
Process
Infrastructure
Software Design Tools
Software Construction
Tools
Process
Measurement
Software Testing Tools
Definition &
Planning for Quality
Techniques
Requiring Two or
More People
Software Maintenance
Tools
Software
Configuration
Status Accounting
Software
Configuration
Auditing
Process Definition
Software Engineering
Process Tools
Qualitative Process
Analysis
Software Quality Tools
Process
Implementation
and Change
Software Engineering
Management Tools
Software Configuration
Management Tools
Infrastructure Support
Tools
Miscellaneous Tool
Issues
Software Release
Management and
Delivery
Support to Other
Techniques
Testing Special to
SQA or V&V
Defect Finding
Techniques
Measurement in
Software Quality
Analysis
Software Methods
Heuristic Methods
Formal Methods
Prototyping Methods
Miscellaneous Method
Issues
© IEEE
(f)
(g)
(h)
www.swebok.org
(d)
(i)
(j)
32
Software Requirements
Software Requirements
Requirements
Engineering
Process
Requirements
Elicitation
Requirements
Analysis
Requirement
Specification
Requirements
Validation
Requirements
Management
Process Models
Requirements
Sources
Requirements
Classification
Requirements
Definition
Document
Conduct of
Requirements
Reviews
Change
Management
Process Actors
Elicitation
Techniques
Conceptual
Modeling
Software
Requirements
Specification (SRS)
Prototyping
Requirements
Attributes
Process Support
and Management
Architectural
Design and
Requirements
Allocation
Document
Structure and
Standards
Model Validation
Requirements
Tracing
Process Quality
and Improvement
Requirements
Negotiation
Document Quality
Acceptance tests
© IEEE
www.swebok.org
33
Software Design
Software Design
I. Software Design
Basic Concepts
II. Key Issues in
Software Design
General design
concepts
Concurrency
The context of
software design
Control and
handling of events
The software
design process
Distribution
Enabling
techniques for
software design
Exception handling
III. Software
Structure and
Architecture
Architectural
structures and
viewpoints
Architectural styles
and patterns
(macroarchitecture)
Design patterns
(micro-architecture)
Interactive systems
Persistence
Design of families
of programs and
frameworks
IV. Software
Design Quality
Analysis and
Evaluation
Quality attributes
Quality analysis
and evaluation
tools
Software design
reviews
V. Design
Notations
Structural
descriptions
(static view)
Behavior
descriptions
(dynamic view)
VI. Software
Design Strategies
and Methods
General Strategies
Function-oriented
design
Object-oriented
design
Static analysis
Data-structrure
centered design
Simulation and
prototyping
Other methods
Measures
Function-oriented
(structured) design
measures
Object-oriented design
measures
© IEEE
www.swebok.org
34
Knowledge Area Description
Classification
of Topics
Topic
Descriptions
© IEEE
Matrix of Topics
& References
Classification
by Vincenti’s
Taxonomy
Classification
by Bloom’s
Taxonomy
References
References
to Related
Disciplines
Not implemented in Stoneman
www.swebok.org
35
Related Disciplines
¤
Software Requirements
¤
Software Design
¤
¤
¤
¤
¤
¤
¤
¤
© IEEE
Related Disciplines
• Computer Science
(CC2001)
Software Construction
• Mathematics (CC2001)
Software Testing
• Project Management
Software Maintenance
(PMBOK)
Software Configuration Management • Computer Engineering
Software Eng. Management
• Cognitive Sciences and
Human Factors
Software Eng. Tools & Methods
• Systems Engineering
Software Engineering Process
• Management and
Software Quality
Management Science
www.swebok.org
36
Project Overview
Presentation Plan
¤
Project background
¤
Project scope, objectives, audience and plan
¤
Contents of the Guide
¤ Next
¤
© IEEE
steps
Research Issues
www.swebok.org
37
A Three-Phase Approach for
Developing the Guide to the SWEBOK
Straw Man
Straw Man
Version
Version
Stone Man Version
Stone Man Version
Iron Man Version
Iron Man Version
(Sub-phase 1)
(Sub-phase 1)
Iron Man
Iron Man
Version
Version
(Sub(Subphase 2)
phase 2)
1998
© IEEE
1999
2000
2001
www.swebok.org
2002
2003
38
Collection of feedback from:
¤
Education:
v Curriculum design/evaluation
v Program accreditation
v Course design/evaluation
v Internal training, corporate universities
© IEEE
www.swebok.org
39
Collection of feedback from:
¤
Industry & Government
v job description
v hiring
v staffing of projects
v career planning
v contracting
© IEEE
www.swebok.org
40
Collection of feedback from:
¤
Policy organisations
v Licensing & Certification
Ø licensing exam questions
Ø study material
Ø in software engineering and other IT fields
Ø could be on subsets of Knowledge Areas
v R & D agencies: strategies for increasing
engineering maturity of the domain
© IEEE
www.swebok.org
41
A Three-Phase Approach for
Developing the Guide to the SWEBOK
Straw Man
Straw Man
Version
Version
Stone Man Version
Stone Man Version
Iron Man Version
Iron Man Version
(Sub-phase 1)
(Sub-phase 1)
Iron Man
Iron Man
Version
Version
(Sub(Subphase 2)
phase 2)
1998
© IEEE
1999
2000
2001
www.swebok.org
2002
2003
42
Project Overview
Presentation Plan
¤
Project background
¤
Project scope, objectives, audience and plan
¤
Contents of the Guide
¤
Next steps
¤ Research
© IEEE
Areas
www.swebok.org
43
SWEBOK & Research Issues
¤
The Engineering of:
v Software Requirements
v Software Design
v Software Construction
v Software Testing
v Software Maintenance
v Software Quality
v Software Eng. Management
v Software Eng. Tools & Methods
v Software Engineering Process
v Software Configuration Management
© IEEE
www.swebok.org
44
Concluding Remarks
Ø Software Engineering: The application of a
systematic, disciplined, quantifiable approach to
the development, operation, and maintenance of
software; that is, the application of engineering to
software
– IEEE 610.12
vStrengthening the Engineering
Knowledge within this new discipline is
required for a rapid maturation, and
significant contribution to the Canadian
software industry
© IEEE
www.swebok.org
45
www.swebok.org
© IEEE
www.swebok.org
46
Download