The Guide to the Software Engineering Body of Knowledge SWEBOK.

29
The Guide to the Software Engineering Body of Knowledge SWEBOK

Transcript of The Guide to the Software Engineering Body of Knowledge SWEBOK.

Page 1: The Guide to the Software Engineering Body of Knowledge SWEBOK.

The Guide to the Software Engineering Body of Knowledge

SWEBOK

Page 2: The Guide to the Software Engineering Body of Knowledge SWEBOK.

Chapters1. Introduction2. Software Requirements3. Software Design4. Software Construction5. Software Testing6. Software Maintenance7. Software Configuration Management8. Software Engineering Management9. Software Engineering Process10. Software Engineering Tools and Methods11. Software Quality

Page 3: The Guide to the Software Engineering Body of Knowledge SWEBOK.

Introduction

• Software Engineering is an emerging discipline– Degrees offered in SE– CSAB and ABET accreditation– Canadian IPS accreditation– SEI and ISO standards are used to assess organizations– ACM and IEEE have code of ethics

• All of these are based on presumption that there is a body of knowledge that should be mastered by practicing software engineers

Page 4: The Guide to the Software Engineering Body of Knowledge SWEBOK.

Introduction

• Guide developed by international team from 1993-2001

• Definition: “Software Engineering is the application of a systematic, disciplined, quantifiable approach to the development, operation, and maintenance of software; that is, the application of engineering to software.”

Page 5: The Guide to the Software Engineering Body of Knowledge SWEBOK.

Characteristics of a Profession

• Initial professional education in a curriculum validated by society through accreditation

• Registration of fitness to practice via voluntary certification or mandatory licensing

• Specialized skill development and continuing professional education

• Communal support via a professional society• A commitment to norms of conduct often prescribed by

a code of ethics.

Page 6: The Guide to the Software Engineering Body of Knowledge SWEBOK.

Objectives

• Promote a consistent view of software engineering• Clarify the place of software engineering with respect

to other disciplines• Characterize the contents of the software engineering

discipline• Provide topical access to the body of knowledge• Provide a foundation for curriculum development

Page 7: The Guide to the Software Engineering Body of Knowledge SWEBOK.

Software Requirements

• Requirements Engineering Process• Requirements Elicitation• Requirements Analysis• Requirements Specification• Requirements Validation• Requirements Management

Page 8: The Guide to the Software Engineering Body of Knowledge SWEBOK.

Software Design

• Basic Concepts

• Key Issues of Software Design

• Structure and Architecture

• Software Design Quality Analysis and Evaluation

• Design Notations

• Software Design Strategies and Methods

Page 9: The Guide to the Software Engineering Body of Knowledge SWEBOK.

Software Construction

• Four principles– reduction of complexity (remove, automate,

localize)– anticipation of diversity (change)– structuring for validation– use of external standards

• Three styles– linguistic– formal– visual

Page 10: The Guide to the Software Engineering Body of Knowledge SWEBOK.

Software Testing

• Basic concepts• Test levels• Test techniques• Test-related measures• Management

Page 11: The Guide to the Software Engineering Body of Knowledge SWEBOK.

Software Maintenance

• Basic concepts• Maintenance process• Key issues• Techniques for maintenance

Page 12: The Guide to the Software Engineering Body of Knowledge SWEBOK.

Software Configuration Management

• Management of SCM process

• Software configuration identification

• Software configuration control

• Software configuration status accounting

• Software configuration auditing

• Software release management and delivery

Page 13: The Guide to the Software Engineering Body of Knowledge SWEBOK.

Software Engineering Management

• Organizational management– policies: development, dissemination– personnel: hiring, retention, training– communication

• Process/project management– negotiation of requirements, feasibility,

reviews, planning• Software engineering measurement

– size, structure, quality, resources, models

Page 14: The Guide to the Software Engineering Body of Knowledge SWEBOK.

Software Engineering Process

• Process infrastructure• Measurements • Process definition• Qualitative process analysis• Process implementation and change

Page 15: The Guide to the Software Engineering Body of Knowledge SWEBOK.

Software Engineering Tools and Methods

• Software development environments

• Software development methods– heuristic methods– formal methods– prototyping methods– miscellaneous methods

Page 16: The Guide to the Software Engineering Body of Knowledge SWEBOK.

Software Quality

• Software quality concepts

• Purpose and planning of software quality assurance and V&V

• Activities and techniques – SQA – V&V

• Measurement applied to SQA and V&V

Page 17: The Guide to the Software Engineering Body of Knowledge SWEBOK.

CSDP

• Certified Software Development Professional

• Certification for Software Engineers– (Not a license)

• Maintained by IEEE

Page 18: The Guide to the Software Engineering Body of Knowledge SWEBOK.

CSDP Requirements

• BS or equivalent University degree

• Minimum 9,000 hours software engineering experience in 6 of 11 areas

• At least two (2) years of software engineering experience within the four-year (4) period prior to the application

• Exam

Page 19: The Guide to the Software Engineering Body of Knowledge SWEBOK.

CSDP Exam Areas

• I. Business Practices and Engineering Economics (3-4% questions)

• A. Engineering Economics B. EthicsC. Professional Practice D. Standards

Page 20: The Guide to the Software Engineering Body of Knowledge SWEBOK.

CSDP Exam Areas

• II. Software Requirements (13-15% questions)

• A. Requirements Engineering Process B. Requirements Elicitation C. Requirements Analysis D. Software Requirements Specification E. Requirements Validation F. Requirements Management

Page 21: The Guide to the Software Engineering Body of Knowledge SWEBOK.

CSDP Exam Areas

• III. Software Design (22-24% questions)• A. Software Design Concepts

B. Software ArchitectureC. Software Design Quality Analysis and

EvaluationD. Software Design Notations and Documentation E. Software Design Strategies and MethodsF. Human Factors in Software Design G. Software and System Safety

Page 22: The Guide to the Software Engineering Body of Knowledge SWEBOK.

CSDP Exam Areas

• IV. Software Construction (10-12% questions)• A. Construction planning

B. Code designC. Data design and managementD. Error processingE. Source code organizationF. Code documentationG. Construction QAH. System integration and deploymentI. Code tuningJ. Construction tools

Page 23: The Guide to the Software Engineering Body of Knowledge SWEBOK.

CSDP Exam Areas

• V. Software Testing (15-17% questions)• A. Types of Tests

B. Test Levels C. Testing Strategies D. Test Design E. Test Coverage of Code F. Test Coverage of Specifications G. Test Execution H. Test Documentation I. Test Management

Page 24: The Guide to the Software Engineering Body of Knowledge SWEBOK.

CSDP Exam Areas

• VI. Software Maintenance (3-5% questions)• A. Software Maintainability

B. Software Maintenance Process  C. Software Maintenance Measurement D. Software Maintenance Planning E. Software Maintenance Management F. Software Maintenance Documentation

Page 25: The Guide to the Software Engineering Body of Knowledge SWEBOK.

CSDP Exam Areas

• VII. Software Configuration Management (3-4% questions)

• A. Management of SCM ProcessB. Software Configuration IdentificationC. Software Configuration ControlD. Software Configuration Status AccountingE. Software Configuration AuditingF. Software Release Management and Delivery

Page 26: The Guide to the Software Engineering Body of Knowledge SWEBOK.

CSDP Exam Areas• VIII. Software Engineering Management (10-12%

questions) • A. Measurement 

B. Organizational Management and CoordinationC. Initiation and Scope DefinitionD. PlanningE. Software AcquisitionF. EnactmentG. Risk ManagementH. Review and EvaluationI. Project Close OutJ. Post-closure Activities

Page 27: The Guide to the Software Engineering Body of Knowledge SWEBOK.

CSDP Exam Areas

• IX. Software Engineering Process (2-4% questions)

• A. Process Infrastructure B. Process MeasurementC. Process DefinitionD. Qualitative Process AnalysisE. Process Implementation and Change

Page 28: The Guide to the Software Engineering Body of Knowledge SWEBOK.

CSDP Exam Areas

• X. Software Engineering Tools and Methods (2-4% questions)

• A. Management Tools and Methods B. Development Tools and MethodsC. Maintenance Tools and MethodsD. Support Tools and Methods

Page 29: The Guide to the Software Engineering Body of Knowledge SWEBOK.

CSDP Exam Areas

• XI. Software Quality (6-8% questions)

• A. Software Quality ConceptsB. Planning for SQA and V&VC. Methods for SQA and V&VD. Measurement Applied to SQA and

V&V