Approved Baseline for a List of Knowledge Areas for the Stone Man Version of the Guide to the Software Engineering Body of Knowledge

Similar documents
Software Development Plan

EDITORIAL: ICT SUPPORT FOR KNOWLEDGE MANAGEMENT IN CONSTRUCTION

Software Maintenance

Execution Plan for Software Engineering Education in Taiwan

Book Reviews. Michael K. Shaub, Editor

CREATING SHARABLE LEARNING OBJECTS FROM EXISTING DIGITAL COURSE CONTENT

Introduction to Modeling and Simulation. Conceptual Modeling. OSMAN BALCI Professor

Statewide Strategic Plan for e-learning in California s Child Welfare Training System

Procedures for Academic Program Review. Office of Institutional Effectiveness, Academic Planning and Review

Implementing a tool to Support KAOS-Beta Process Model Using EPF

A GENERIC SPLIT PROCESS MODEL FOR ASSET MANAGEMENT DECISION-MAKING

Guidelines for the Use of the Continuing Education Unit (CEU)

The open source development model has unique characteristics that make it in some

USER ADAPTATION IN E-LEARNING ENVIRONMENTS

Self Study Report Computer Science

Computing Curricula -- Software Engineering Volume. Second Draft of the Software Engineering Education Knowledge (SEEK) December 6, 2002

Higher Education Review (Embedded Colleges) of Navitas UK Holdings Ltd. Hertfordshire International College

ACADEMIC AFFAIRS GUIDELINES

THE DEPARTMENT OF DEFENSE HIGH LEVEL ARCHITECTURE. Richard M. Fujimoto

PROGRAM HANDBOOK. for the ACCREDITATION OF INSTRUMENT CALIBRATION LABORATORIES. by the HEALTH PHYSICS SOCIETY

UCEAS: User-centred Evaluations of Adaptive Systems

Using Virtual Manipulatives to Support Teaching and Learning Mathematics

Running Head: STUDENT CENTRIC INTEGRATED TECHNOLOGY

MASTER S COURSES FASHION START-UP

Professional Learning Suite Framework Edition Domain 3 Course Index

TEXAS CHRISTIAN UNIVERSITY M. J. NEELEY SCHOOL OF BUSINESS CRITERIA FOR PROMOTION & TENURE AND FACULTY EVALUATION GUIDELINES 9/16/85*

CONNECTICUT GUIDELINES FOR EDUCATOR EVALUATION. Connecticut State Department of Education

Notes on The Sciences of the Artificial Adapted from a shorter document written for course (Deciding What to Design) 1

Designing e-learning materials with learning objects

Chamilo 2.0: A Second Generation Open Source E-learning and Collaboration Platform

PROGRAMME SPECIFICATION

Operational Knowledge Management: a way to manage competence

TEACHING IN THE TECH-LAB USING THE SOFTWARE FACTORY METHOD *

The Characteristics of Programs of Information

Development of an IT Curriculum. Dr. Jochen Koubek Humboldt-Universität zu Berlin Technische Universität Berlin 2008

Group A Lecture 1. Future suite of learning resources. How will these be created?

2 Organizational. The University of Alaska System has six (6) Statewide Offices as displayed in Organizational Chart 2 1 :

Wildlife, Fisheries, & Conservation Biology

Program Guidebook. Endorsement Preparation Program, Educational Leadership

New Paths to Learning with Chromebooks

Three Strategies for Open Source Deployment: Substitution, Innovation, and Knowledge Reuse

Education: Integrating Parallel and Distributed Computing in Computer Science Curricula

Nearing Completion of Prototype 1: Discovery

A Pipelined Approach for Iterative Software Process Model

Document number: 2013/ Programs Committee 6/2014 (July) Agenda Item 42.0 Bachelor of Engineering with Honours in Software Engineering

IMPROVE THE QUALITY OF WELDING

International Organizations and Global Governance: A Crisis in Global Leadership?

Infrared Paper Dryer Control Scheme

Deploying Agile Practices in Organizations: A Case Study

Virtual Teams: The Design of Architecture and Coordination for Realistic Performance and Shared Awareness

SELF-STUDY QUESTIONNAIRE FOR REVIEW of the COMPUTER SCIENCE PROGRAM and the INFORMATION SYSTEMS PROGRAM

MARKETING MANAGEMENT II: MARKETING STRATEGY (MKTG 613) Section 007

Inquiry Learning Methodologies and the Disposition to Energy Systems Problem Solving

For Portfolio, Programme, Project, Risk and Service Management. Integrating Six Sigma and PRINCE Mike Ward, Outperfom

Designing a Rubric to Assess the Modelling Phase of Student Design Projects in Upper Year Engineering Courses

KAHNAWÀ: KE EDUCATION CENTER P.O BOX 1000 KAHNAW À:KE, QC J0L 1B0 Tel: Fax:

Strategic Planning for Retaining Women in Undergraduate Computing

PROGRAMME SPECIFICATION

Creating Meaningful Assessments for Professional Development Education in Software Architecture

ABET Criteria for Accrediting Computer Science Programs

Birzeit University Experience in Designing, Developing and Delivering e-enabled e enabled Courses

Firms and Markets Saturdays Summer I 2014

Pharmaceutical Medicine

Strategic Goals, Objectives, Strategies and Measures

ENGINEERING DESIGN BY RUDOLPH J. EGGERT DOWNLOAD EBOOK : ENGINEERING DESIGN BY RUDOLPH J. EGGERT PDF

Bachelor of Software Engineering: Emerging sustainable partnership with industry in ODL

Programme Specification. MSc in International Real Estate

ROBERT M. FULLER. Ph.D. Indiana University, Kelley School of Business, June 2003 Major: Management Information Systems Minor: Organizational Behavior

Protocols for building an Organic Chemical Ontology

Programme Specification. MSc in Palliative Care: Global Perspectives (Distance Learning) Valid from: September 2012 Faculty of Health & Life Sciences

MASTER OF SCIENCE (M.S.) MAJOR IN COMPUTER SCIENCE

DIGITAL GAMING & INTERACTIVE MEDIA BACHELOR S DEGREE. Junior Year. Summer (Bridge Quarter) Fall Winter Spring GAME Credits.

1 Use complex features of a word processing application to a given brief. 2 Create a complex document. 3 Collaborate on a complex document.

Deciding What to Design: Closing a Gap in Software Engineering Education

Developing an Assessment Plan to Learn About Student Learning

Curriculum Vitae FARES FRAIJ, Ph.D. Lecturer

Lecturer Promotion Process (November 8, 2016)

Aclara is committed to improving your TWACS technical training experience as well as allowing you to be safe, efficient, and successful.

Success Factors for Creativity Workshops in RE

Emma Kushtina ODL organisation system analysis. Szczecin University of Technology

Integrating simulation into the engineering curriculum: a case study

Oregon Institute of Technology Computer Systems Engineering Technology Department Embedded Systems Engineering Technology Program Assessment

Beyond the Blend: Optimizing the Use of your Learning Technologies. Bryan Chapman, Chapman Alliance

MGMT 3280: Strategic Management

Contract Language for Educators Evaluation. Table of Contents (1) Purpose of Educator Evaluation (2) Definitions (3) (4)

PROCESS USE CASES: USE CASES IDENTIFICATION

CAUL Principles and Guidelines for Library Services to Onshore Students at Remote Campuses to Support Teaching and Learning

A Coding System for Dynamic Topic Analysis: A Computer-Mediated Discourse Analysis Technique

RtI: Changing the Role of the IAT

Ph.D. in Behavior Analysis Ph.d. i atferdsanalyse

Davidson College Library Strategic Plan

State of play of EQF implementation in Montenegro Zora Bogicevic, Ministry of Education Rajko Kosovic, VET Center

Newcastle Safeguarding Children and Adults Training Evaluation Framework April 2016

Towards a Collaboration Framework for Selection of ICT Tools

Faculty of Social Sciences

Introduction 3. Outcomes of the Institutional audit 3. Institutional approach to quality enhancement 3

EECS 571 PRINCIPLES OF REAL-TIME COMPUTING Fall 10. Instructor: Kang G. Shin, 4605 CSE, ;

STRATEGIC LEADERSHIP PROCESSES

Emergency Management Games and Test Case Utility:

Aronson, E., Wilson, T. D., & Akert, R. M. (2010). Social psychology (7th ed.). Upper Saddle River, NJ: Prentice Hall.

Transcription:

Approved Baseline for a List of Knowledge Areas for the Stone Man Version of the Guide to the Software Engineering Body of Knowledge Approved by the Industrial Advisory Board Guide to the Software Engineering Body of Knowledge Project Prepared by Pierre Bourque Robert Dupuis Alain Abran James W. Moore Leonard Tripp Dennis Frailey January 19, 1999

Goal of Document Related Disciplines At the kick-off meeting of the Industrial Advisory Board held in Mont-Tremblant, it was agreed upon: That the list of Knowledge Areas proposed in the Straw Man report are within the scope of the Guide to the SWEBOK, with the following modifications: Remove detailed and keep design as a whole Add management process Replace reliability with dependability That the following topics be covered in some fashion in the Guide to the SWEBOK: Performance and conformance testing Standard designs Integration The number of Knowledge Areas should be reduced from the 17 suggested in the Straw Man report. An action item was therefore set for the Editorial Team to suggest a shorter list of KAS based notably on the discussions held in Mont-Tremblant. This document presents such a proposal. It was agreed by the Industrial Advisory Board that the Stone Man version of the Guide to the SWEBOK would present the core Body of Knowledge, i.e. the generally accepted knowledge in the field expected from a graduate with four years of experience. It was also agreed in Mont-Tremblant that expected knowledge of other Related Disciplines would only be referenced in the Guide to the SWEBOK. Additionally, these references will be more oriented towards definitions and basic concepts rather than content material per se. For the reader to better evaluate the proposed baseline for a list of Knowledge Areas within the complete picture, these Related Disciplines are listed below. As presented and discussed in Mont-Tremblant, they are: Computer Science For the moment, the reference for this Related Discipline is Computing Curricula 1991 - Report of the ACM/IEEE-CS Joint Curriculum Task

Force 1. These curricula are currently being updated through an initiative called the IEEE Computer Society and ACM Joint Task Force on "Year 2001 Model Curricula for Computing: CC-2001". To ensure proper coordination with this initiative, Carl Chang, Joint Task Force Co-Chair is a member of the Industrial Advisory Board and was present in Mont- Tremblant. Project Management The reference for this Related Discipline will be A Guide to the Project Management Body of Knowledge» published by the Project Management Institute 2. This document is currently being adopted as an IEEE software engineering standard. Computer Engineering Mathematics It was agreed in Mont-Tremblant that the Computing Curricula 2001 initiative would be the conduit to mathematics. Telecommunications/Networks Management Science Other Engineering Disciplines Cognitive Sciences Management Sciences Systems Engineering (to be determined) Criteria and Requirements for the proposed baseline for a list of Knowledge Areas The following requirements and criteria were used in proposing this baseline for a list of Knowledge Areas: The proposed baseline for a list of Knowledge Areas must decompose the subset of the Software Engineering Body of Knowledge that is generally accepted. 3 1 See http://computer.org/educate/cc1991/ 2 See www.pmi.org to download this report 3 The Project Management Institute in its Guide to the Project Management Body of Knowledge defines generally accepted knowledge for project management in the following manner:

The proposed baseline for a list of Knowledge Areas must not presume specific application domains, business needs, sizes of organizations, organizational structures, management philosophies, software life cycle models, software technologies or software development methods. The proposed baseline for a list of Knowledge Areas must cover every candidate Knowledge Area presented in the Straw Man version of the Guide to the Software Engineering Body of Knowledge. The mapping between the list of candidate Knowledge Areas in the Straw Man version and the proposed baseline for a list for the Stone Man version must be documented. The proposed baseline for a list of Knowledge Areas must cover the additional «expectations» put forward by the Industrial Advisory Board in Mont-Tremblant and not covered in the list of candidate Knowledge Areas presented in the Straw Man version of the Guide to Software Engineering Body of Knowledge. The mapping of these additional «expectations» with the proposed baseline for a list of Knowledge Areas must be documented. The proposed baseline for a list of Knowledge Areas must contain a smaller number of Knowledge Areas than 17. The proposed baseline for a list of Knowledge Areas must be compatible with the breakdown of software engineering generally found in industry and in the software engineering literature and standards. The proposed baseline for a list of Knowledge Areas must be checked for major omissions against other Body of Knowledge proposals. Proposed Knowledge Area names should be general enough to allow references to knowledge, skills, tools, methods and techniques. Proposed Knowledge Area names must be significant enough to be meaningful even when cited outside the Guide to the Software Engineering Body of Knowledge. Generally accepted means that the knowledge and practices described are applicable to most projects most of the time, and that there is widespread consensus about their value and usefulness. Generally accepted does not mean that the knowledge and practices described are or should be applied uniformly on all projects; the project management team is always responsible for determining what is appropriate for any given project. The Guide to the Project Management Body of Knowledge is now an IEEE Standard. In Mont-Tremblant, the Industrial Advisory Board better defined generally accepted as knowledge to be included in the study material of a software engineering licensing exam that a graduate would pass after completing four years of work experience.

Proposed Baseline of a List of Knowledge Areas The proposed list of Knowledge Areas is intended as a baseline, i.e. an agreed upon starting point, for the Stone Man phase. Based on the work and the Knowledge Area descriptions that will be completed during the Stone Man phase, adjustments can be made to this list. Based on the criteria and requirements stated above, the proposed baseline for a list of Knowledge Areas is: Software Requirements Analysis Software Design Software Construction Software Testing Software Maintenance Software Configuration Management Software Quality Analysis Software Engineering Management 4 Software Engineering Infrastructure Software Engineering Process Please take note that we still have not figured how we should handle orthogonal topics that transcend or run across the entire proposed baseline for a list and are therefore difficult to place within a given Knowledge Area. Examples of such topics could be software measurement for technical rather than managerial purposes, technical risk identification or reuse. Some of these topics are probably more suitably presented as a whole and should be discussed within another Knowledge Area. Other orthogonal topics are probably more appropriately discussed within each Knowledge Area. Which criteria should be used to make such decisions remains an outstanding issue and we are looking for options to resolve it judiciously. This issue was discussed in Mont-Tremblant. In point form, here are some ideas that may help move along this issue: 4 Since this refers to the management of software engineering per se rather than management tasks completed by the software itself (I/O management, memory management, etc.), this proposed Knowledge Area is called Software Engineering Management rather than Software Management. The same can be said of Software Engineering Infrastructure and Software Engineering Process.

This will always be a difficult issue and no manner how we decide to handle these themes we will be criticized. We may not be able to resolve this issue until we better understand the decomposition of topics within each Knowledge Area. This will happen when 1) all the jumpstart documents are finished in mid-january and more importantly when the Knowledge Area Specialists have delivered version 0.1 of their Knowledge Area description in mid-march 5. We could state this as an open issue in our "Knowledge Area Description" document and ask for preferences on how to handle it from the Knowledge Area Specialists. For discussion purposes, here are a few ways on how these types of "orthogonal topics" could be handled: Group them together into a single "infastructure" type of Knowledge Area while stating that this Knowledge Area is different from the other ones. We could name the other Knowledge Area Specialists as reviewers of this Knowledge Area. We could ask each Knowledge Area Specialist to delegate a "reviewer" for this Knowledge Area. Discuss these "orthogonal topics" within each Knowledge Area: We could add a mandatory section in each Knowledge Area for each one of these topics We could name an "associate editor" for each one of these topics who would be responsible for editing the content of these sections and this for each Knowledge Area. What is applicable within these topics across all Knowledge Areas could be discussed within one of the relevant Knowledge Areas while what is specific to a given Knowledge Area could be discussed within that specific given Knowledge Area. Appendix 1 documents the mapping between the list of candidate Knowledge Areas in the Straw Man version of the Guide to the Software Engineering Body of Knowledge and the proposed baseline for a list of Knowledge Areas. Appendix 1 also indicates where the additional expectations put forward by the Industrial Advisory Board in Mont-Tremblant should be discussed. 5 See proposed plan for the Stone Man version.

Appendix 2 documents the mapping between the proposed baseline for a list of Knowledge Areas and three other Software Engineering Body of Knowledge proposals. It also documents a mapping between the proposed baseline for a list Knowledge Areas and the processes described in the ISO/IEC 12207 standard.

Appendix 1 Mapping between proposed baseline for a list of Knowledge Areas and Straw Man Knowledge Areas and additional expectations put forward by the Industrial Advisory Board in Mont-Tremblant. This table is presented to show general mapping. The Knowledge Area Specialists will not be restricted to the contents of this table and will be free to suggest any topic they consider generally accepted within their assigned Knowledge Area. Proposed Baseline Stone Man Knowledge Area Software Requirements Analysis Corresponding Straw Man Knowledge Areas Requirements Analysis Notes Software Design Detailed Design The IAB decided in Mont-Tremblant to cover all design from the start and not to distinguish between architectural design and detailed design. This distinction is made in the 12207 standard. Software Construction Coding According to 12207, coding includes unit testing. This would be true in the Guide to the SWEBOK as well. Software Testing Testing Performance and conformance testing are expectations put forward by the IAB in Mont- Tremblant. They would be discussed within this Knowledge Area. Software Maintenance Software Configuration Management Software Quality Analysis Maintenance Process Configuration Management Quality Assurance Verification and Validation Software Reliability All quality-related areas have been grouped in a single Knowledge Area. Dependability was also an expectation of the IAB in Mont-Tremblant. It would be discussed within this Knowledge Area.

Proposed Baseline Stone Man Knowledge Area Software Engineering Management Software Engineering Infrastructure Corresponding Straw Man Knowledge Area Management Process Measurement/Metrics Development Methods (object-oriented, formal methods, prototyping) Software Development Environments Notes The definition of this process in 12207 mentions the use of quantifiable data for decision-making. Measurement/Metrics was therefore grouped with Management process. Moore associates tools (environments) and reuse as the two main elements of infrastructure process. Reuse here refers to reuse libraries, the practice of reuse should be covered in each life-cycle dependant Knowledge Area concerned. Methods would be added here since the tools are also often built to implement a particular method, and thus it would seem logical to cover both together. It seems difficult to cover tools without covering methods and vice-versa. Standard designs are associated to reuse. As discussed by the IAB in Mont-Tremblant, integration refers more to the integration of off-theshelf components than only to the integration of modules developed within a system. For this reason, emphasis would be put on the explicit problems of this type of integration. If it is decided that emphasis be put on the life-cycle operation of integration, then an additional Knowledge Area would be included between software construction and software testing, as in 12207. Standard designs and integration are expectations put forward by the IAB in Mont- Tremblant. They would be discussed within this Knowledge Area.

Proposed Baseline Stone Man Knowledge Area Software Engineering Process Corresponding Straw Man Knowledge Area Improvement Process Software Engineering Overview & Definition Notes This was included in the Straw Man list because it is in virtually all textbooks, and we will certainly need some introduction to the Stone Man version, but it is not included as a Knowledge Area as such. Once we have established the final format of the Stone Man version, we will decide how this introduction will be produced and who will produce it.

Appendix 2 Mapping between proposed baseline for a list of Knowledge Areas and other Body of Knowledge proposals and the ISO/IEC 12207 standard This table is presented to show general mapping. The Knowledge Area specialists will not be restricted to the contents of this table and will be free to suggest any topic they consider generally accepted. Proposed Baseline Stone Man Knowledge Area ISO/IEC 12207 Standard D.L. PARNAS 6 Reeker- Wallace Proposal 7 WGSEET 89 PRIMARY PROCESSES Development Process Software Requirements Analysis Requirements Analysis Participate in the DESIGN of the COMPUTER SYSTEM, determining which functions will be implemented in software, and selecting the basic hardware and software component Domain Analysis and Requirements Elicitation; Functional System Specification and Analysis Software Requirements (core area component a) Analyze the intended application to determine the REQUIREMENTS that must be satisfied and record those requirements in a precise, wellorganised, and easily-used document. 6 [1] D. L. Parnas, Software Engineering Programmes are not Computer Science Programmes, McMaster University, Hamilton, Ontario CRL Report no. 361, April 1998. 7 Correspondance between Dolores Wallace and Larry Reeker from NIST and UQAM 8 The following proposed Knowledge Components are not included in this table because they are not within the scope of the Stone Man version of Guide to the Software Engineering Body of Knowledge.: Foundations Area: Computing Fundamentals Component, Human Factors Component, Application Domain Component Recurring Area: Ethics and Professionalism Supporting Area: These components are by definition related to other fields of study than software engineering 9 This document was supplied to us by Tom Hilburn, member of the Working Group on Software Engineering Education and Training. See http://www.sei.cmu.edu/collaborating/ed/workgroup-ed.html

Proposed Baseline Stone Man Knowledge Area Software Design ISO/IEC 12207 Standard Architectural Design Detailed Design D.L. PARNAS DESIGN the basic structure of SOFTWARE, i.e. its division into modules, the interfaces for those modules, and the structure of individual programs while precisely documenting all software design decisions Software Construction Coding IMPLEMENT the software as a set of well structured and well documented programs Integration INTEGRATE new software with existing off the shelf software Software Testing Testing Perform systematic and statistical TESTING of the software and integrated computer system Installation Acceptance Support OPERATION PROCESS System Operation User Support Reeker- Wallace Proposal System design User Interfaces Implementation/Cod ing and Internal Documentation System testing Trouble-shooting WGSEET Software Design (core area component b) Software Construction (core area component c)

Proposed Baseline Stone Man Knowledge Areas ISO/IEEE 12207 Standard D.L. PARNAS Software Maintenance MAINTENANCE PROCESS REVISE AND ENHANCE software systems, maintaining their conceptual integrity and keeping all documents complete and accurate SUPPORTING PROCESSES Reeker- Wallace Proposal Improvement, Maintenance and Updating WGSEET Software Evolution (core area component e) Documentation User Documentation and Aids Documentation (recurring area component g) Software Configuration Management Configuration Management Configuration Management Project Management (core area d) Software Quality Analysis Quality Assurance V & V ANALYZE the software structure for COMPLETENESS, CONSISTENCY, and SUITABILITY for the intended application Dependability Verification & Validation Software Quality (recurring area component c) ANALYZE the performance of a proposed design (either analytically or by simulation) to make sure that the proposed system can meet the application s requirements Joint Review Audits Problem Resolution Processes

Proposed Baseline Stone Man Knowledge Areas ISO/IEC 12207 Standard D.L. PARNAS Reeker- Wallace Proposal WGSEET ORGANIZATIONAL PROCESSES Software Engineering Management Management Processes Measurement and Benchmarking Project Management (core area component d) Software Metrics (recurring area component e) Software Engineering Infrastructure Infrastructure Process Object Oriented Methodology; Formal Methods System Integration Tools and Environments (recurring area component f) Software Modeling (recurring area component d) Software Engineering Process Improvement Process Software Processes (recurring area component b) Training Process