The Defined Process: The Software Engineering Body of Knowledge SWEBOK PowerPoint PPT Presentation

presentation player overlay
1 / 35
About This Presentation
Transcript and Presenter's Notes

Title: The Defined Process: The Software Engineering Body of Knowledge SWEBOK


1
The Defined ProcessThe Software Engineering
Body of Knowledge (SWEBOK)
  • Nora Houari
  • Chad La Fournie
  • Paul Werbicki

2
Definitions
  • Engineering The application of science and
    mathematics by which properties of matter and the
    sources of energy are made useful to people
  • SE The application of a systematic,
    disciplined, quantifiable approach to
    development, operation and maintenance of
    software that is, the application of engineering
    to software.

3
SE and Engineering
  • Why?
  • Software has evolved from individual activity to
    highly organized team effort
  • To help solve the software crisis
  • Certification
  • Legitimacy

4
Components of a Profession
5
Why Now?
  • Background
  • 1993 - The Joint IEEE-CS and ACM Steering
    Committee
  • 1998 - Software Engineering Coordinating
    Committee (SWECC)
  • Various bodies are beginning to issue SE
    certifications
  • TBPE
  • APEGBC
  • PEO

6
Timeline
7
The SWEBOK Guide
  • Objectives
  • Promote a consistent view of SE worldwide
  • Clarify the place and boundaries of SE relative
    to other related disciplines
  • Define/characterize the contents of the SE
    discipline
  • Provide access to the various components of the
    SWEBOK
  • Provide a foundation for curriculum development
    and individual certification and licensing

8
The SWEBOK Guide Contd
  • A guide to describe the core of the SE Body of
    Knowledge
  • Broken into Knowledge Areas

9
Knowledge Areas
  • Establishes boundaries that identify engineering
    disciplines
  • May share common boundaries with other
    disciplines
  • Does not attempt to describe all of the knowledge
    within SE

10
Knowledge Areas Contd
  • Captures a subset of generally accepted
    knowledge or the core of SE

11
Knowledge Areas Contd
  • There are 10 KAs in the SWEBOK
  • Each KA contains a reasonable topic list
    presenting sound information about SE
  • Excludes specific knowledge regarding application
    domains, business, technology, SLCs and
    development methods
  • Compatible with what is generally found in
    industry

12
Knowledge Area Contd
  • Each KA follows the KA Description Specification
  • Includes description, topics, related areas and
    reference materials.

13
The Repeatable Process
  • The first 5 KAs cover the repeatable process
  • Requirements
  • Design
  • Construction
  • Testing
  • Maintenance
  • Define KA used in the development of software
    management processes
  • Together the are comparable to the definition of
    CMM level 2 excluding business specific knowledge

14
Software Requirements
  • Requirements engineering process
  • Requirements elicitation
  • Requirements analysis
  • Software requirements specification
  • Requirements validation
  • Requirements management
  • How does this compare to SENG 611 Requirements
    Engineering?

15
Software Design
  • Basic concepts
  • Key issues of software
  • Structure and architecture
  • Software design quality analysis and evaluation
  • Design notation
  • Software design strategies and methods
  • Does SENG 609.23 Object Oriented Analysis and
    Design cover these topics?

16
Software Construction
  • Considered to be the fundamental act of SE
  • The construction of working, useful software
    through programming, validation and testing.
  • Three styles of construction
  • Linguistic
  • Formal
  • Visual

17
Software Construction Contd
  • Principles of construction
  • Reduction of complexity
  • Anticipation of diversity
  • Structuring for validation
  • Use of external standards
  • Where does the Software Engineer learn to
    construct software?
  • Is Computer Science a required related discipline?

18
Software Testing
  • Basic concepts
  • Test levels
  • Test techniques
  • Test-related measures and management
  • Are enough of these topics covered in SENG 609.11
    Software Reliability and Testing?

19
Software Maintenance
  • Basic concepts
  • Maintenance process
  • Key issues
  • Techniques for maintenance
  • Is there a SENG course that covers software
    maintenance?

20
Related Disciplines
  • Computer Science
  • Mathematics
  • Projects Management
  • Computer Engineering
  • Cognitive Science and Human Factors
  • Systems Engineering
  • Management and Management Science

21
The Defined and Managed Process
  • The last 5 KAs cover the defined and managed
    process
  • Software Configuration Management
  • Software Engineering Management
  • Software Engineering Process
  • Software Engineering Tools and Methods
  • Software Quality Analysis
  • Together they are are comparable to the
    definition of CMM level 3 and 4

22
Software Configuration Management (SCM)
  • Management of the SCM Process
  • Software Configuration Identification
  • Software Configuration Control
  • Software Configuration Status Accounting
  • Software Configuration Auditing
  • Software Release Management and Delivery
  • Is there a SENG course that covers SCM?

23
Software Engineering Management
  • Organizational Management
  • Process/ Project Management
  • Software Engineering Measurement
  • Are enough of these topics covered in SENG
    609.32 Software Quality MGMT Practices,
  • and SENG 609.18 software Engineering Decision
    Making?

24
Software Engineering Process
  • Software Engineering Process Concepts
  • Process Infrastructure
  • Process Measurement
  • Process Definition
  • Qualitative Process Analysis
  • Process Implementation and change
  • Does SENG 609.24 Agile Software Processes , and
    SENG 691 Manage Software ENGG RES Process cover
    these topics?

25
Software Engineering Tools and Methods
  • Software Tools requirements tools, design tools,
    Construction tools, testing tools, maintenance
    tools , engineering process tools, quality tools,
    configuration management tools, engineering
    management tools, infrastructure support tools,
    Miscellaneous tools issues
  • Software Methods
  • Heuristic
  • Formal
  • Prototyping
  • Miscellaneous
  • Are enough of these tools and methods covered in
    the CPSC and SENG courses?

26
Software Quality
  • Software Quality Concepts
  • Purpose and Planning of SQA and VV
  • Activities and Techniques for SQA and VV
  • Measurement Applied to SQA and VV
  • Are enough of these topics covered in SENG 623
    Software Quality Management, and SENG 609.33
    Software Quality and Quality Assurance?

27
A complete SWEBOK based Education Program
Software Engineering Tools and Methods
Software Engineering Process
Software Engineering Management
Software Quality
Software Configuration Management
SWEBOK
Software Maintenance
Software Requirement
Software Testing
Software Construction
Software Design
28
SE Practices, Education and Foundations Current
Status
SE Practices
SE Education
SE Foundations
29
SE To be a matured Discipline
SE Practices
SE Education
SE Foundations
30
SWEBOK and SQA (Humphrey)
  • Quality A main goal of SWEBOK
  • Helps to define the role of the SQA team
  • SQA reporting
  • Why SQA organizations fail to have an impact
  • Lack of knowledge / Inexperienced people
  • Lack of development standards and procedures

31
Challenges
  • Withdrawal of the ACM
  • ACM interests and priorities
  • Professional development
  • Development and maturation of computing
    disciplines
  • Public interest and critical systems
  • Software quality
  • Other Reasons
  • Core BOK vs. specific
  • Haste to certify

32
Challenges Contd
  • Professional Engineer (PE) exams
  • Areas are covered that are outside the CPSC or SE
    domain
  • Including SE in the exam is not yet possible
  • Rate of change in SE is high
  • Who should take the exam?
  • SE is not included in any depth

33
Challenges Contd
  • Challenges
  • Creativity and individuality
  • Can a consensus be reached?
  • Guarantee a product or a level of quality?

34
Conclusion
  • Next Steps
  • Seeking collaboration
  • Redefining the core
  • Evaluation of field testing
  • Questions
  • Does the SENG program adequately cover the KAs in
    the SWEBOK?
  • Does SWEBOK fulfill its goals?
  • Can SE become a true Engineering discipline?
    Should it?

35
References
  • Guide to the Software Engineering Body of
    Knowledge Trial Version, 2001,
    http//www.swebok.org/stoneman/version09.html
  • Trip, Leonard L., Professionalization of Software
    Engineering Next Steps, 1999, http//www.swebok.o
    rg/documents/x3009.pdf
  • A Summary of the ACM Position on Software
    Engineering as a Licensed Engineering
    Profession, http//www.acm.org/serving/se_policy/
    selep_main.html
  • An Assessment of Software Engineering Body of
    Knowledge Efforts A Report to the ACM Council,
    http//www.acm.org/serving/se_policy/bok_assessmen
    t.pdf
  • Humphrey, W.S. (1990). Managing the Software
    Process. Addison-Wesley Publishing Company, New
    York, NY.
Write a Comment
User Comments (0)
About PowerShow.com