Download
the guide to the software engineering body of knowledge n.
Skip this Video
Loading SlideShow in 5 Seconds..
The Guide to the Software Engineering Body of Knowledge PowerPoint Presentation
Download Presentation
The Guide to the Software Engineering Body of Knowledge

The Guide to the Software Engineering Body of Knowledge

251 Views Download Presentation
Download Presentation

The Guide to the Software Engineering Body of Knowledge

- - - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript

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

  2. Chapters • Introduction • Software Requirements • Software Design • Software Construction • Software Testing • Software Maintenance • Software Configuration Management • Software Engineering Management • Software Engineering Process • Software Engineering Tools and Methods • Software Quality

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

  4. 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.”

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

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

  7. Software Requirements • Requirements Engineering Process • Requirements Elicitation • Requirements Analysis • Requirements Specification • Requirements Validation • Requirements Management

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

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

  10. Software Testing • Basic concepts • Test levels • Test techniques • Test-related measures • Management

  11. Software Maintenance • Basic concepts • Maintenance process • Key issues • Techniques for maintenance

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

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

  14. Software Engineering Process • Process infrastructure • Measurements • Process definition • Qualitative process analysis • Process implementation and change

  15. Software Engineering Tools and Methods • Software development environments • Software development methods • heuristic methods • formal methods • prototyping methods • miscellaneous methods

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

  17. CSDP • Certified Software Development Professional • Certification for Software Engineers • (Not a license) • Maintained by IEEE

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

  19. CSDP Exam Areas • I. Business Practices and Engineering Economics (3-4% questions) • A. Engineering Economics B. EthicsC. Professional Practice D. Standards

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

  21. CSDP Exam Areas • III. Software Design (22-24% questions) • A. Software Design ConceptsB. 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

  22. CSDP Exam Areas • IV. Software Construction (10-12% questions) • A. Construction planningB. Code designC. Data design and managementD. Error processingE. Source code organizationF. Code documentationG. Construction QAH. System integration and deploymentI. Code tuningJ. Construction tools

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

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

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

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

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

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

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