guide to the software engineering body of knowledge -...
TRANSCRIPT
www.swebok.org 1
Guide to the SoftwareGuide to the SoftwareEngineering Body of KnowledgeEngineering Body of Knowledge
Robert Robert DupuisDupuis, Pierre Bourque,, Pierre Bourque,Alain Alain AbranAbran, UQAM, UQAM
James W. Moore, The James W. Moore, The Mitre Mitre CorporationCorporationLeonard Leonard TrippTripp, Boeing, Boeing
ICSSEA’99’99ParisParis
December 8, 1999December 8, 1999
SW
EB
OK
www.swebok.org 2
Project managed by:
Corporate Support by:
www.swebok.org 3
Presentation ObjectivesPresentation Objectives
¤ Present the Status of the Guide tothe Software Engineering Body ofKnowledge project
¤ Recruit reviewers for the nextreview cycle
www.swebok.org 4
Project OverviewProject OverviewPresentation PlanPresentation Plan
¤¤Project backgroundProject background¤ Project scope, objectives and audience
¤ Description of current phase
¤ Concluding remarks
www.swebok.org 5
Software EngineeringSoftware Engineering
¤ Now 30 years old!
¤ Millions of pages on the subject!
¤ Hundreds of conferences andworkshops annually!
¤ Multiple university programs
¤ Millions of practitioners around theworld?
Is the field really mature?Is the field really mature?
www.swebok.org 6
Recognized Profession?Recognized Profession?
¤ Starr*:
vKnowledge and competence validated bythe community of peers
vConsensually validated knowledge restson rational, scientific grounds
v Judgment and advice oriented toward aset of substantive values
* P. Starr, The Social Transformation of American Medicine:BasicBooks, 1982.
www.swebok.org 7
Window of Opportunity?Window of Opportunity?
¤ Texas Board of Professional Engineers
¤ Computer Science Curriculum 2001
¤ Possible liability issues: Y2K, etc.
¤ Increased interest in the establishmentof a profession
www.swebok.org 8
IEEE-CS/ACM SoftwareIEEE-CS/ACM SoftwareEngineering CoordinatingEngineering Coordinating
CommitteeCommittee¤ Four task forces
vCode of ethics
vBody of knowledge
vEducation
vPerformance norms for softwareengineers
www.swebok.org 9
Key Interrelationships for a Core BodyKey Interrelationships for a Core Bodyof Knowledgeof Knowledge
Development ofSoftware
EngineeringCurricula
Development ofCertification /
Licensing Criteria andExams
Development ofUniversity Program
Accreditation Criteria
Consensus ona Core Body of
Knowledge
Influ
ence
s Influences
Influences
www.swebok.org 10
What is SoftwareWhat is SoftwareEngineering?Engineering?
¤ IEEE 610.12:
v “(1) The application of a systematic,disciplined, quantifiable approach to thedevelopment, operation, andmaintenance of software; that is, theapplication of engineering to software.
v (2) The study of approaches as in (1).”
www.swebok.org 11
Project OverviewProject OverviewPresentation PlanPresentation Plan
¤ Project background
¤¤Project scope, objectivesProject scope, objectivesand audienceand audience
¤ Description of current phase
¤ Concluding remarks
www.swebok.org 12
Project ObjectivesProject Objectives
¤ Characterize the contents of theSoftware Engineering Body ofKnowledge
¤ Provide a topical access to theSoftware Engineering Body ofKnowledge
¤ Promote a consistent view of softwareengineering worldwide
www.swebok.org 13
Project ObjectivesProject Objectives¤ Clarify the place of, and set the
boundary of, software engineering withrespect to other disciplines (computerscience, project management, computerengineering, mathematics, etc.)
¤ Provide a foundation for curriculumdevelopment and individual certificationand licensing material
www.swebok.org 14
Intended AudienceIntended Audience
¤ Public and private organizations
¤ Practicing software engineers
¤ Makers of public policy
¤ Professional societies
¤ Software engineering students
¤ Educators and trainers
www.swebok.org 15
What Are we Not Trying toWhat Are we Not Trying toAccomplish?Accomplish?
¤ Not a curriculum development effort!
¤ Not an all-inclusive description of thesum of knowledge in the field
¤ Not all categories of knowledge
www.swebok.org 16
Categories of Knowledge inCategories of Knowledge inthe SWEBOKthe SWEBOK
GenerallyAccepted
AdvancedS
pec
iali
zed
andResearch
www.swebok.org 17
Two Underlying PrinciplesTwo Underlying Principlesof the Projectof the Project
¤ Transparency: the developmentprocess is itself published and fullydocumented
¤ Consensus-building: thedevelopment process is designed tobuild, over time, consensus in industry,among professional societies andstandards-setting bodies and inacademia
www.swebok.org 18
Project OverviewProject OverviewPresentation PlanPresentation Plan
¤ Project background
¤ Project scope, objectives and audience
¤¤Description of currentDescription of currentphasephase
¤ Concluding remarks
www.swebok.org 19
A Three-Phase Approach forA Three-Phase Approach forDeveloping the Guide to the SWEBOKDeveloping the Guide to the SWEBOK
1998 1999 2000 2001
Stone Man Version
StrawMan
Version
Iron Man Version
www.swebok.org 20
Description ofDescription ofCurrent PhaseCurrent Phase
¤ Project Team
¤ Stone Man Deliverables
¤ Development and Review Process
¤ Results to Date
www.swebok.org 21
Participants from a BroadParticipants from a BroadSpectrum of AudiencesSpectrum of Audiences
¤ Industry
¤ Professional societies
¤ Standards setting bodies
¤ Academia
¤ Authors
¤ International representation
www.swebok.org 22
Project TeamProject Team
¤ Editorial team
¤ Industrial Advisory Board
¤ Panel of Experts
¤ Knowledge Area Specialists
¤ Reviewers/Review Captains
¤ Members of the software engineeringcommunity
www.swebok.org 23
Editorial TeamEditorial Team
¤ Project “Champion”:v Leonard Tripp, 1999 President,
IEEE Computer Society
¤ Executive Editors:vAlain Abran, UQAMv James W. Moore, The MITRE Corp.
¤ Editors:vPierre Bourque, UQAMvRobert Dupuis, UQAM
www.swebok.org 24
Roles of the IndustrialRoles of the IndustrialAdvisory BoardAdvisory Board
¤ Provide input to ensure relevance tovarious audiences
¤ Review and approve strategy anddeliverables
¤ Oversee development process
¤ Assist in promoting the Guide to theSoftware Engineering Body of Knowledge
¤ Lend credibility to the project
www.swebok.org 25
Industrial Advisory BoardIndustrial Advisory Board
¤ Met in Fall of 1998 and Summer of 1999
¤ Mario R. Barbacci, Software EngineeringInstitute, representing the IEEE ComputerSociety
¤ Carl Chang, University of Illinois atChicago, Editor Emeritus, IEEE Software,representing Computing Curricula 2001
www.swebok.org 26
Industrial Advisory BoardIndustrial Advisory Board¤ François Coallier, Bell Canada, speaking
as ISO/IEC JTC 1 / SC7 Chairman
¤ Morven Gentleman, National ResearchCouncil of Canada
¤ Paula Hawthorn representing the ACM
¤ Dan Nash, Raytheon Systems Company
¤ Laure Le Bars, SAP Labs (Canada)
www.swebok.org 27
Industrial Advisory BoardIndustrial Advisory Board
¤ Bryan Pflug, The Boeing Company
¤ Larry Reeker, National Institute ofStandards and Technology
¤ Dolores Wallace, National Institute ofStandards and Technology
www.swebok.org 28
Panel of ExpertsPanel of Experts
¤ Steve McConnell, Construx Software
¤ Roger Pressman, R.S. Pressman andAssociates
¤ Ian Sommerville, Lancaster University
www.swebok.org 29
Project FundingProject Funding
¤ Industry
¤ Professional societies
¤ UQAM
www.swebok.org 30
Stone Man Deliverables:Stone Man Deliverables:
¤ Consensus on a list of KnowledgeAreas
¤ Consensus on a list of topics andrelevant reference materials for eachKnowledge Area
¤ Consensus on a list of RelatedDisciplines
¤ Available free on the web
www.swebok.org 31
Knowledge AreaKnowledge AreaDescriptionDescription
List of topics
BriefDescriptionof Topics
Classificationof topics
according toan engineering
taxonomy
Classificationof topics
according toBloom's
taxonomy
RelevantKnowledge
Areas ofRelated
Disciplines
ReferenceMaterial
MatrixTopics/
ReferenceMaterial
www.swebok.org 32
Stone Man Review Process Stone Man 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
www.swebok.org 33
Stone Man Review ProcessStone Man Review Process
¤ Transparency and consensus-building
vAll intermediate versions of documentswill be published and archived onwww.swebok.org
vAll comments will be made public as wellas the identity of the reviewers
vDetailed comment disposition reports willbe produced for Review Cycle 2 and 3
www.swebok.org 34
Knowledge Area SpecialistsKnowledge Area Specialists¤ Antonia Bertolino, Italy
¤ Terry Bollinger, USA
¤ Dave Carrington, Australia
¤ Khaled El Emam, Canada
¤ Stephen MacDonell and Andrew Gray, New-Zealand
¤ Pete Sawyer and Gerald Kotonya, UK
¤ John Scott and David Nisse, USA
¤ Guy Tremblay, Canada
¤ Tom Pigoski, USA
¤ Dolores Wallace and Larry Reeker, USA
www.swebok.org 35
Version 0.5 Review StrategyVersion 0.5 Review StrategyEducators andTrainers
SmallOrg.
...
Req. Analysis Five to Tenreviewers
Design
Construction
.
.
.
www.swebok.org 36
Development and ReviewDevelopment and ReviewProcessProcess
¤ Reviewers are responsible forv Reading the Knowledge Area Description and
consulting the selected reference material
v Providing comments from one specifiedviewpoint
¤ Schedulev Review Cycle 2: July, August and September
1999
v Review Cycle 3: December 1999 and January2000
www.swebok.org 37
Development and ReviewDevelopment and ReviewProcessProcess
¤ Criteria for reviewers arev Knowledge in the Area
v Availability
v Ability to give articulate, constructive comments
v Representative of: software engineeringpractitioners, trainers an educators, standardsdevelopers, small industry, students, etc.
www.swebok.org 38
Examples of Questions toExamples of Questions tothe Reviewersthe Reviewers
¤ One question for each requirement:
¤ As a practitioner, do you find that thebreakdowns of topics comply with therequirement of being sound andreasonable ?
¤ As a practitioner, do you find that thereference material is readily available ?
www.swebok.org 39
Development and ReviewDevelopment and ReviewProcessProcess
¤ Review Captains:
¤ Responsible for compiling comments ofa group of 5-10 reviewers for a specificKnowledge Area and Review Viewpoint
¤ Schedule:
vSeptember 1999
www.swebok.org 40
www.swebok.org 41
Option 1Option 1
www.swebok.org 42
Option 2Option 2
www.swebok.org 43
Option 3Option 3
www.swebok.org 44
Results to DateResults to Date¤ Approved by the Industrial Advisory
Board:v Stone Man Development Plan
v Baseline List of Knowledge Areas
v Baseline List of Related Disciplines
v Nomination of Knowledge Area Specialists
v Knowledge Area Description Specifications
¤ Version 0.5 of the KA Descriptions
¤ Hundreds of reviews
www.swebok.org 45
Baseline List ofBaseline List of Knowledge Areas Knowledge Areas
¤ Software Requirements Analysis
¤ Software Design
¤ Software Construction
¤ Software Testing
¤ Software Evolution andMaintenance
www.swebok.org 46
Software Design
Basic Conceptsand Principles
Design Qualityand Metrics
SoftwareArchitecture
Design NotationsDesign Strategies
and Methods
Abstraction Quality AttributesAvailability
Guide to the Software Engineering Body of Knowledge
Cohesion andCoupling
Information Hiding
Encapsulation
Decomposition
Interface vs.Implementation
Refinement
Partitioning
Modularity
Separation ofConcerns
Structure
Security
Reusability
Reliability
Portability
Modifiability
Maintainability
Interoperability
Integrability
Efficiency
Correctness
Usability
Testability
Simplicity
Quality AssurancePreliminary design
reviews and / ordesign
walkthroughs
Program designreviews
Critical designreviews
Metrics
Graph / cyclomaticcomplexity metrics
Object-orienteddesign metrics
Structured designmetrics
Structures andViewpoints
Behavioural vs.functional vs.
structural vs. datamodeling
Logical vs. processvs. physical vs.
development
Conceptual vs.module vs. codevs. architecture
Architectural StylesBatch systems
Repositories
Process control
Pipes and filters
Interpreters
Interactive systems
Layered systems
Event-basedsystems
Distributed systems(e.g. corba, dcom)
Data abstractionand OO
organization
Blackboards
Rule-basedsystems
ArchitecturalDescriptions
ModuleInterconnection
Languages
Patterns
ArchitectureDescriptionLanguages
Object-OrientedFrameworks
ArchitecturalDesign
Subsystemsdiagrams
Structure charts
Module diagrams
Deployment andprocesses diagrams
CRC Cards
Class diagrams
Detailed DesignCollaboration
diagrams
State transitiondiagrams and
statecharts
Sequence diagrams
Jackson structurediagrams
HIPO diagrams
Pseudo-codeand PDL
Flowcharts andstructured (box)
flowcharts
Decision tablesand diagrams
General Strategies
Stepwiserefinement
Object-orienteddesign
Information-hiding
Functionaldecomposition
Data-orienteddecomposition
Data-structureCentered Design
Jackson SystemDevelopment (JSD)
Jackson StructuredProgramming (JSP)
Function-orientedDesign
Structured design
SSADM
Object-orientedDesign
Wirfs-Brock et al.'sResponsability-driven design
The UnifiedSoftware
DevelopmentProcess' approach
to design
Shlaer / MellorMethod
Meyer's DesignBy Contract
Fusion
Coad andYourdon method
www.swebok.org 47
Baseline List ofBaseline List of Knowledge Areas Knowledge Areas
¤ Software Configuration Management
¤ Software Quality Analysis
¤ Software Engineering Infrastructure
¤ Software Engineering Process
¤ Software Engineering Management
www.swebok.org 48
Baseline List ofBaseline List of Related Disciplines Related Disciplines
¤ Computer Science (CC2001)
¤ Mathematics (CC2001)
¤ Project Management (PMBOK)
¤ Computer Engineering
¤ Cognitive Sciences and Human Factors
¤ Systems Engineering
¤ Management and Management Science
www.swebok.org 49
Project OverviewProject OverviewPresentation PlanPresentation Plan
¤ Project background
¤ Project scope,objectives and audience
¤ Description of current phase
¤¤Concluding remarksConcluding remarks
www.swebok.org 50
Institutional CollaborationInstitutional Collaboration
¤ Membership on Industrial AdvisoryBoard
¤ Participation in review process anduptake of results by nationalprofessional societies
¤ Endorsement of results by nationalprofessional societies
www.swebok.org 51
Concluding RemarksConcluding Remarks
¤ Consensus on the core body ofknowledge is key in all disciplinesand pivotal for the evolution of SEtoward a professional status
www.swebok.org 52
Concluding RemarksConcluding Remarks
¤ Involvement of all parties is key forrelevancy, credibility and quick uptake:
v Industry
vProfessional societies
vStandards setting bodies
vAcademia
¤ Seeking many collaborators!
www.swebok.org 53
www.www.swebokswebok.org.org
www.swebok.org 54
Editorial Team CoordinatesEditorial Team Coordinates
Alain Abran
Université du Québec à Montréal
Computer Science Dept.
C.P. 8888, Succ. Centre-Ville
Montréal, Québec
H3C 3P8 Canada
Tel.: (514) 987-3000 ext. 8900
Fax: (514) 987-8477
Pierre Bourque
Université du Québec à Montréal
Computer Science Dept.
C.P. 8888, Succ. Centre-Ville
Montréal, Québec
H3C 3P8 Canada
Tel.: (514) 987-3000 ext. 0315
Fax: (514) 987-8477
www.swebok.org 55
Editorial Team CoordinatesEditorial Team Coordinates
Robert Dupuis
Université du Québec à Montréal
Computer Science Dept.
C.P. 8888, Succ. Centre-Ville
Montréal, Québec
H3C 3P8 Canada
Tel.: (514) 987-3000 ext. 3479
Fax: (514) 987-8477
James W. Moore
The MITRE Corporation
1820 Dolley Madison Blvd.
McLean, Virginia 22102-3481
USA
Tel: 703 883-7396
Fax: 703 883-5432