Mapping of Terms Between Software Engineering Research (SER) and Research Software Engineering (RSE)
Goals
Many in the research software engineering (RSE) community have picked up their understanding of software engineering (SE) terminology, concepts, practices, and tools (which we call “SE fundamentals”) via informal means, and often not from software engineering researchers (SERs). We want to get a better handle on what RSEs know about and use from the SE community and where there might be gaps. Gaps may stem largely from lack of awareness, or it may be that RSEs have tried the fundamental and found it less useful in the context of research software. In the former case, there are opportunities for education and training as well as other outreach to increase awareness and adoption. In the latter case, there may be opportunities for the SER community to work with RSEs to understand why not, and if there might be adaptations that would make it more amenable to use in the research software (RS) community.
Approach
We’re developing a mapping between terminology used in the two communities. For each term, we’re trying to gauge the extent to which the RSE community is aware of these fundamentals of software engineering and uses them, along with the perceived potential for software engineering research to improve usage in RS.
To be systematic, we’re starting with the Software Engineering Body of Knowledge (SWEBOK) as the primary source of terms and their meanings from the SE community. Once we’ve covered the terms from SWEBOK, we’ll open it to other sources, though we’ll always prefer well-recognized sources that will help us be systematic.
Each SE fundamental has a page that lists the following:
- The SE fundamental, and synonyms or adjacent concepts which can be grouped together for mapping purposes
- The SWEBOK section number(s) in which the terms are found
- A brief description of the SE fundamental
- The equivalent RSE term(s), also including synonyms or adjacent concepts.
- A brief description of the typical RSE practices associated with the term
- An estimate of the level of awareness of the SE fundamental by RSEs, along with a source for the estimate
- Values range from 0=effectively no awareness to 3=widespread awareness
- An estimate of the level of usage of the SE fundamental by RSEs, along with a source for the estimate
- Values range from 0=effectively no usage to 3=widespread usage
- An estimate of the potential for SE research to improve the use of the fundamental in RS, along with a source for the estimate
- Values range from 0=effectively no opportunity to 3=significant SE research would be beneficial
- A brief description of the reasons or opportunities for SE research to facilitate improvements
- Any references or links that may be useful
- Date of the last update to the term mapping record (based on git commits), and if available, the date of the last review of the record by the curators of the website.
- Additional notes as may be useful
The table below, based on the SWEBOK table of contents, will link you to the detail pages for the available SE fundamentals, or you can browse through the collection of terms page by page.
How you can contribute
We want this mapping to represent the collective experience of the SER and RSE communities. This page, and the page for each SE fundamental includes a comment section. Make comments there to suggest changes or discuss the term’s entry. Also, feel free to use GitHub discussions to discuss the overall approach or things that can be improved, or let of know of specific concerns via Github issues.
SWEBOK table of contents
Note that the SWEBOK contains a great deal more than just terminology. This table presents only those sections of the SWEBOK which are candidates for mapping. If no link is presented, we don’t yet have a page for the relevant term(s). If you’d like to help us complete the table, please reach out via Github issues.
During the development of this page, we’re displaying the whole SWEBOK table of contents, but marking sections that are not candidates for mapping in red and noting “n/a” in the Mapping column. Eventually, we will simply avoid displaying those entries. Also, we’re currently showing the SWEBOK page numbers, as a convenience. We may remove those in production.
Section | Heading | Page | Mapping |
---|---|---|---|
01 | Software Requirements | 1-1 | |
01.01 | Software Requirements Fundamentals | 1-2 | |
01.01.01 | Definition of a Software Requirement | 1-2 | |
01.01.02 | Categories of Software Requirements | 1-3 | |
01.01.03 | Software Product Requirements and Software Project Requirements | 1-3 | |
01.01.04 | Functional Requirements | 1-4 | |
01.01.05 | Nonfunctional Requirements | 1-4 | |
01.01.06 | Technology Constraints | 1-4 | |
01.01.07 | Quality of Service Constraints | 1-4 | |
01.01.08 | Why Categorize Requirements This Way? | 1-5 | |
01.01.09 | System Requirements and Software Requirements | 1-5 | |
01.01.10 | Derived Requirements | 1-6 | |
01.01.11 | Software Requirements Activities | 1-6 | |
01.02 | Requirements Elicitation | 1-6 | mapping |
01.02.01 | Requirements Sources | 1-6 | |
01.02.02 | Common Requirements Elicitation Techniques | 1-7 | |
01.03 | Requirements Analysis | 1-8 | mapping |
01.03.01 | Basic Requirements Analysis | 1-8 | |
01.03.02 | Economics of Quality of Service Constraints | 1-8 | |
01.03.03 | Formal Analysis | 1-9 | |
01.03.04 | Addressing Conflict in Requirements | 1-10 | |
01.04 | Requirements Specification | 1-10 | mapping |
01.04.01 | Unstructured Natural Language Requirements Specification | 1-11 | |
01.04.02 | Structured Natural Language Requirements Specification | 1-12 | |
01.04.03 | Acceptance Criteria-Based Requirements Specification | 1-12 | |
01.04.04 | Model-Based Requirements Specification | 1-14 | |
01.04.05 | Additional Attributes of Requirement | 1-14 | |
01.04.06 | Incremental and Comprehensive Requirements Specification | 1-15 | |
01.05 | Requirements Validation | 1-15 | mapping |
01.05.01 | Requirements Reviews | 1-15 | |
01.05.02 | Simulation and Execution | 1-16 | |
01.05.03 | Prototyping | 1-16 | |
01.06 | Requirements Management Activities | 1-16 | |
01.06.01 | Requirements Scrubbing | 1-16 | |
01.06.02 | Requirements Change Control | 1-17 | |
01.06.03 | Scope Matching | 1-17 | |
01.07 | Practical Considerations | 1-17 | |
01.07.01 | Iterative Nature of the Requirements Process | 1-17 | |
01.07.02 | Requirements Prioritization | 1-17 | |
01.07.03 | Requirements Tracing | 1-18 | mapping |
01.07.04 | Requirements Stability and Volatility | 1-19 | |
01.07.05 | Measuring Requirements | 1-19 | |
01.07.06 | Requirements Process Quality and Improvement | 1-19 | |
01.08 | Software Requirements Tools | 1-20 | mapping |
01.08.01 | Requirements Management Tools | 1-20 | |
01.08.02 | Requirements Modeling Tools | 1-20 | |
01.08.03 | Functional Test Case Generation Tools | 1-20 | |
02 | Software Architecture | 2-1 | |
02.01 | Software Architecture Fundamentals | 2-1 | |
02.01.01 | The Senses of 'Architecture' | 2-1 | |
02.01.02 | Stakeholders and Concerns | 2-3 | |
02.01.03 | Uses of Architecture | 2-4 | |
02.02 | Software Architecture Description | 2-4 | |
02.02.01 | Architecture Views and Viewpoints | 2-5 | |
02.02.02 | Architecture Patterns, Styles and Reference Architectures | 2-6 | |
02.02.03 | Architecture Description Languages and Architecture Frameworks | 2-7 | |
02.02.04 | Architecture as Significant Decisions | 2-7 | |
02.03 | Software Architecture Process | 2-8 | |
02.03.01 | Architecture in Context | 2-8 | |
02.03.01.01 | Relation of Architecture to Design | 2-9 | |
02.03.02 | Architectural Design | 2-9 | |
02.03.02.01 | Architecture Analysis | 2-9 | |
02.03.02.02 | Architecture Synthesis | 2-9 | |
02.03.02.03 | Architecture Evaluation | 2-10 | |
02.03.03 | Architecture Practices, Methods, and Tactics | 2-10 | |
02.03.04 | Architecting in the Large | 2-10 | |
02.04 | Software Architecture Evaluation | 2-10 | |
02.04.01 | Goodness in Architecture | 2-10 | |
02.04.02 | Reasoning about Architectures | 2-11 | |
02.04.03 | Architecture Reviews | 2-11 | |
02.04.04 | Architecture Metrics | 2-11 | |
03 | Software Design | 3-1 | |
03.01 | Software Design Fundamentals | 3-2 | |
03.01.01 | Design Thinking | 3-2 | |
03.01.02 | Context of Software Design | 3-2 | |
03.01.03 | Key Issues in Software Design | 3-3 | |
03.01.04 | Software Design Principles | 3-3 | |
03.02 | Software Design Processes | 3-5 | |
03.02.01 | High-Level Design | 3-6 | |
03.02.02 | Detailed Design | 3-6 | |
03.03 | Software Design Qualities | 3-6 | |
03.03.01 | Concurrency | 3-6 | |
03.03.02 | Control and Event Handling | 3-6 | |
03.03.03 | Data Persistence | 3-7 | |
03.03.04 | Distribution of Components | 3-7 | |
03.03.05 | Errors and Exception Handling, Fault Tolerance | 3-7 | |
03.03.06 | Integration and Interoperability | 3-7 | |
03.03.07 | Assurance, Security, and Safety | 3-7 | |
03.03.08 | Variability | 3-7 | |
03.04 | Recording Software Designs | 3-7 | |
03.04.01 | Model-Based Design | 3-8 | |
03.04.02 | Structural Design Descriptions | 3-8 | |
03.04.03 | Behavioral Design Descriptions | 3-9 | |
03.04.04 | Design Patterns and Styles | 3-10 | |
03.04.05 | Specialized and Domain-Specific Languages | 3-10 | |
03.04.06 | Design Rationale | 3-11 | |
03.05 | Software Design Strategies and Methods | 3-11 | |
03.05.01 | General Strategies | 3-11 | |
03.05.02 | Function-Oriented (or Structured) Design | 3-11 | |
03.05.03 | Data-Centered Design | 3-11 | |
03.05.04 | Object-Oriented Design | 3-11 | |
03.05.05 | User-Centered Design | 3-12 | |
03.05.06 | Component-Based Design (CBD) | 3-12 | |
03.05.07 | Event-Driven Design | 3-12 | |
03.05.08 | Aspect-Oriented Design (AOD) | 3-12 | |
03.05.09 | Constraint-Based Design | 3-12 | |
03.05.10 | Domain-Driven Design | 3-13 | |
03.05.11 | Other Methods | 3-13 | |
03.06 | Software Design Quality Analysis and Evaluation | 3-13 | |
03.06.01 | Design Reviews and Audits | 3-13 | |
03.06.02 | Quality Attributes | 3-13 | |
03.06.03 | Quality Analysis and Evaluation Techniques | 3-13 | |
03.06.04 | Measures and Metrics | 3-14 | |
03.06.05 | Verification, Validation, and Certification | 3-14 | |
04 | Software Construction | 4-1 | |
04.01 | Software Construction Fundamentals | 4-2 | |
04.01.01 | Minimizing Complexity | 4-2 | |
04.01.02 | Anticipating and Embracing Change | 4-2 | |
04.01.03 | Constructing for Verification | 4-4 | |
04.01.04 | Reusing Assets | 4-4 | |
04.01.05 | Applying Standards in Construction | 4-4 | |
04.02 | Managing Construction | 4-4 | |
04.02.01 | Construction in Life Cycle Models | 4-4 | |
04.02.02 | Construction Planning | 4-5 | |
04.02.03 | Construction Measurement | 4-5 | |
04.02.04 | Managing Dependencies | 4-5 | |
04.03 | Practical Considerations | 4-6 | |
04.03.01 | Construction Design | 4-6 | |
04.03.02 | Construction Languages | 4-6 | |
04.03.03 | Coding | 4-7 | |
04.03.04 | Construction Testing | 4-7 | |
04.03.05 | Reuse in Construction | 4-7 | |
04.03.06 | Construction Quality | 4-8 | |
04.03.07 | Integration | 4-9 | |
04.03.08 | Cross-Platform Development and Migration | 4-9 | |
04.04 | Construction Technologies | 4-10 | |
04.04.01 | API Design and Use | 4-10 | |
04.04.02 | Object-Oriented Runtime Issues | 4-10 | |
04.04.03 | Parameterization, Templates, and Generics | 4-10 | |
04.04.04 | Assertions, Design by Contract, and Defensive Programming | 4-10 | |
04.04.05 | Error Handling, Exception Handling, and Fault Tolerance | 4-11 | |
04.04.06 | Executable Models | 4-11 | |
04.04.07 | State-Based and Table-Driven Construction Techniques | 4-11 | |
04.04.08 | Runtime Configuration and Internationalization | 4-12 | |
04.04.09 | Grammar-Based Input Processing | 4-12 | |
04.04.10 | Concurrency Primitives | 4-12 | |
04.04.11 | Middleware | 4-12 | |
04.04.12 | Construction Methods for Distributed and Cloud-Based Software | 4-13 | |
04.04.13 | Constructing Heterogeneous Systems | 4-13 | |
04.04.14 | Performance Analysis and Tuning | 4-13 | |
04.04.15 | Platform Standards | 4-13 | |
04.04.16 | Test-First Programming | 4-14 | |
04.04.17 | Feedback Loop for Construction | 4-14 | |
04.05 | Software Construction Tools | 4-14 | |
04.05.01 | Development Environments | 4-14 | |
04.05.02 | Visual Programming and Low-Code/Zero-Code Platforms | 4-14 | |
04.05.03 | Unit Testing Tools | 4-15 | |
04.05.04 | Profiling, Performance Analysis, and Slicing Tools | 4-15 | |
05 | Software Testing | 5-1 | |
05.01 | Software Testing Fundamentals | 5-3 | |
05.01.01. Faults vs | Failures | 5-3 | |
05.01.02 | Key Issues | 5-4 | |
05.01.02.01 | Test Case Creation | 5-4 | |
05.01.02.02 | Test Selection and Adequacy Criteria | 5-4 | |
05.01.02.03 | Prioritization/Minimization | 5-4 | |
05.01.02.04 | Purpose of Testing | 5-4 | |
05.01.02.05 | Assessment and Certification | 5-4 | |
05.01.02.06 | Testing for Quality Assurance/Improvement | 5-4 | |
05.01.02.07 | The Oracle Problem | 5-4 | |
05.01.02.08 | Theoretical and Practical Limitations | 5-5 | |
05.01.02.09 | The Problem of Infeasible Paths | 5-5 | |
05.01.02.10 | Testability | 5-5 | |
05.01.02.11 | Test Execution and Automation | 5-5 | |
05.01.02.12 | Scalability | 5-5 | |
05.01.02.13 | Test Effectiveness | 5-5 | |
05.01.02.14 | Controllability, Replication, and Generalization | 5-5 | |
05.01.02.15 | Off-Line vs Online Testing | 5-6 | |
05.01.03 | Relationship of Testing to Other Activities | 5-6 | |
05.02 | Test Levels | 5-6 | |
05.02.01 | The Target of the Test | 5-6 | |
05.02.01.01 | Unit Testing | 5-6 | mapping |
05.02.01.02 | Integration Testing | 5-7 | mapping |
05.02.01.03 | System Testing | 5-7 | mapping |
05.02.01.04 | Acceptance Testing | 5-7 | mapping |
05.02.02 | Objectives of Testing | 5-7 | |
05.02.02.01 | Conformance Testing | 5-7 | |
05.02.02.02 | Compliance Testing | 5-8 | |
05.02.02.03 | Installation Testing | 5-8 | mapping |
05.02.02.04 | Alpha and Beta Testing | 5-8 | mapping |
05.02.02.05 | Regression Testing | 5-8 | mapping |
05.02.02.06 | Prioritization Testing | 5-8 | |
05.02.02.07 | Non-functional Testing | 5-8 | mapping, mapping, mapping, mapping |
05.02.02.08 | Security Testing | 5-9 | mapping |
05.02.02.09 | Privacy Testing | 5-9 | |
05.02.02.10 | Interface and Application Program Interface (API) Testing | 5-10 | |
05.02.02.11 | Configuration Testing | 5-10 | mapping |
05.02.02.12 | Usability and Human-Computer Interaction Testing | 5-10 | mapping |
05.03 | Test Techniques | 5-10 | |
05.03.01 | Specification-Based Techniques | 5-10 | |
05.03.01.01 | Equivalence Partitioning | 5-11 | |
05.03.01.02 | Boundary-Value Analysis | 5-11 | |
05.03.01.03 | Syntax Testing | 5-11 | |
05.03.01.04 | Combinatorial Test Techniques | 5-11 | |
05.03.01.05 | Decision Table | 5-11 | |
05.03.01.06 | Cause-Effect Graphing | 5-11 | |
05.03.01.07 | State Transition Testing | 5-12 | |
05.03.01.08 | Scenario-Based Testing | 5-12 | |
05.03.01.09 | Random Testing | 5-12 | |
05.03.01.10 | Evidence-Based | 5-12 | |
05.03.01.11 | Forcing Exception | 5-12 | |
05.03.02 | Structure-Based Test Techniques | 5-13 | |
05.03.02.01 | Control Flow Testing | 5-13 | |
05.03.02.02 | Data Flow Testing | 5-13 | |
05.03.02.03 | Reference Models for Structure-Based Test Techniques | 5-13 | |
05.03.03 | Experience-Based Techniques | 5-13 | |
05.03.03.01 | Error Guessing | 5-13 | |
05.03.03.02 | Exploratory Testing | 5-13 | |
05.03.03.03 | Further Experience-Based Techniques | 5-14 | |
05.03.04 | Fault-Based and Mutation Techniques | 5-14 | |
05.03.05 | Usage-Based Techniques | 5-15 | |
05.03.05.01 | Operational Profile | 5-15 | |
05.03.05.02 | User Observation Heuristics | 5-15 | |
05.03.06 | Techniques Based on the Nature of the Application | 5-15 | |
05.03.07 | Selecting and Combining Techniques | 5-16 | |
05.03.07.01 | Combining Functional and Structural | 5-16 | |
05.03.07.02. Deterministic vs | Random | 5-16 | |
05.03.08 | Techniques Based on Derived Knowledge | 5-16 | |
05.04 | Test-Related Measures | 5-16 | |
05.04.01 | Evaluation of the SUT | 5-17 | |
05.04.01.01 | SUT Measurements that Aid in Planning and Designing Tests | 5-17 | |
05.04.01.02 | Fault Types, Classification and Statistics | 5-17 | |
05.04.01.03 | Fault Density | 5-17 | |
05.04.01.04 | Life Test, Reliability Evaluation | 5-17 | |
05.04.01.05 | Reliability Growth Models | 5-17 | |
05.04.02 | Evaluation of the Tests Performed | 5-18 | |
05.04.02.01 | Fault Injection | 5-18 | |
05.04.02.02 | Mutation Score | 5-18 | |
05.04.02.03 | Comparison and Relative Effectiveness of Different Techniques | 5-18 | |
05.05 | Test Process | 5-18 | |
05.05.01 | Practical Considerations | 5-19 | |
05.05.01.01 | Attitudes/Egoless Programming | 5-19 | |
05.05.01.02 | Test Guides and Organizational Process | 5-19 | |
05.05.01.03 | Test Management and Dynamic Test Processes | 5-19 | |
05.05.01.04 | Test Documentation | 5-19 | |
05.05.01.05 | Test Team | 5-20 | |
05.05.01.06 | Test Process Measures | 5-20 | |
05.05.01.07 | Test Monitoring and Control | 5-20 | |
05.05.01.08 | Test Completion | 5-20 | |
05.05.01.09 | Test Reusability | 5-21 | |
05.05.02 | Test Sub-Processes and Activities | 5-21 | |
05.05.02.01 | Test Planning Process | 5-2 | |
05.05.02.02 | Test Design and Implementation | 5-21 | |
05.05.02.03 | Test Environment Set-up and Maintenance | 5-21 | |
05.05.02.04 | Controlled Experiments and Test Execution | 5-22 | |
05.05.02.05 | Test Incident Reporting | 5-22 | |
05.05.03 | Staffing | 5-22 | |
05.06 | Software Testing in the Development Processes and the Application Domains | 5-23 | |
05.06.01 | Testing Inside Software Development Processes | 5-23 | |
05.06.01.01 | Testing in Traditional Processes | 5-23 | |
05.06.01.02 | Testing in Line with Shift-Left Movement | 5-23 | |
05.06.02 | Testing in the Application Domains | 5-24 | |
05.07 | Testing of and Testing Through Emerging Technologies | 5-26 | |
05.07.01 | Testing of Emerging Technologies | 5-26 | |
05.07.02 | Testing Through Emerging Technologies | 5-27 | |
05.08 | Software Testing Tools | 5-29 | |
05.08.01 | Testing Tool Support and Selection | 5-29 | |
05.08.02 | Categories of Tools | 5-29 | |
06 | Software Engineering Operations | 6-1 | |
06.01 | Software Engineering Operations Fundamentals | 6-3 | |
06.01.01 | Definition of Software Engineering Operations | 6-3 | |
06.01.02 | Software Engineering Operations Processes | 6-4 | |
06.01.03 | Software Installation | 6-5 | |
06.01.04 | Scripting and Automating | 6-5 | |
06.01.05 | Effective Testing and Troubleshooting | 6-5 | |
06.01.06 | Performance, Reliability and Load Balancing | 6-6 | |
06.02 | Software Engineering Operations Planning | 6-6 | |
06.02.01 | Operations Plan and Supplier Management | 6-6 | |
06.02.01.01 | Operations Plan | 6-6 | |
06.02.01.02 | Supplier Management | 6-7 | |
06.02.02 | Development and Operational Environments | 6-7 | |
06.02.03 | Software Availability, Continuity, and Service Levels | 6-8 | |
06.02.04 | Software Capacity Management | 6-8 | |
06.02.05 | Software Backup, Disaster Recovery, and Failover | 6-8 | |
06.02.06 | Software and Data Safety, Security, Integrity, Protection, and Controls | 6-9 | |
06.03 | Software Engineering Operations Delivery | 6-9 | |
06.03.01 | Operational Testing, Verification, and Acceptance | 6-9 | |
06.03.02 | Deployment/Release Engineering | 6-10 | |
06.03.03 | Rollback and Data Migration | 6-10 | |
06.03.04 | Change Management | 6-11 | |
06.03.05 | Problem Management | 6-11 | |
06.04 | Software Engineering Operations Control | 6-11 | |
06.04.01 | Incident Management | 6-11 | |
06.04.02 | Monitor, Measure, Track, and Review | 6-11 | |
06.04.03 | Operations Support | 6-12 | |
06.04.04 | Operations Service Reporting | 6-12 | |
06.05 | Practical Considerations | 6-12 | |
06.05.01 | Incident and Problem Prevention | 6-12 | |
06.05.02 | Operational Risk Management | 6-12 | |
06.05.03 | Automating Software Engineering Operations | 6-12 | |
06.05.04 | Software Engineering Operations for Small Organizations | 6-13 | |
06.06 | Software Engineering Operations Tools | 6-13 | |
06.06.01 | Containers and Virtualization | 6-13 | |
06.06.02 | Deployment | 6-13 | |
06.06.03 | Automated Test | 6-14 | |
06.06.04 | Monitoring and Telemetry | 6-14 | |
07 | Software Maintenance | 7-1 | |
07.01 | Software Maintenance Fundamentals | 7-2 | |
07.01.01 | Definitions and Terminology | 7-2 | |
07.01.02 | Nature of Software Maintenance | 7-2 | |
07.01.03 | Need for Software Maintenance | 7-3 | |
07.01.04 | Majority of Maintenance Costs | 7-3 | |
07.01.05 | Evolution of Software | 7-3 | |
07.01.06 | Categories of Software Maintenance | 7-4 | |
07.02 | Key Issues in Software Maintenance | 7-5 | |
07.02.01 | Technical Issues | 7-5 | |
07.02.01.01 | Limited Understanding | 7-5 | |
07.02.01.02 | Testing | 7-5 | |
07.02.01.03 | Impact Analysis | 7-6 | |
07.02.01.04 | Maintainability | 7-6 | |
07.02.02 | Management Issues | 7-7 | |
07.02.02.01 | Alignment with Organizational Objectives | 7-7 | |
07.02.02.02 | Staffing | 7-7 | |
07.02.02.03 | Process | 7-8 | |
07.02.02.04 | Supplier Management | 7-8 | |
07.02.02.05 | Organizational Aspects of Maintenance | 7-8 | |
07.02.03 | Software Maintenance Costs | 7-9 | |
07.02.03.01 | Technical Debt Cost Estimation | 7-9 | |
07.02.03.02 | Maintenance Cost Estimation | 7-9 | |
07.02.04 | Software Maintenance Measurement | 7-10 | |
07.03 | Software Maintenance Processes | 7-11 | |
07.03.01 | Software Maintenance Processes | 7-11 | |
07.03.02 | Software Maintenance Activities and Tasks | 7-11 | |
07.03.02.01 | Supporting and Monitoring Activities | 7-12 | |
07.03.02.02 | Planning Activities | 7-12 | |
07.03.02.03 | Configuration Management | 7-13 | |
07.03.02.04 | Software Quality | 7-13 | |
07.04 | Software Maintenance Techniques | 7-13 | |
07.04.01 | Program Comprehension | 7-13 | |
07.04.02 | Software Reengineering | 7-13 | |
07.04.03 | Reverse Engineering | 7-14 | |
07.04.04 | Continuous Integration, Delivery, Testing, and Deployment | 7-14 | |
07.04.05 | Visualizing Maintenance | 7-15 | |
07.05 | Software Maintenance Tools | 7-15 | |
08 | Software Configuration Management | 8-1 | |
08.01 | Management of the SCM Process | 8-2 | |
08.01.01 | Organizational Context for SCM | 8-2 | |
08.01.02 | Constraints and Guidance for the SCM Process | 8-3 | |
08.01.03 | Planning for SCM | 8-3 | |
08.01.03.01 | SCM Organization and Responsibilities | 8-4 | |
08.01.03.02 | SCM Resources and Schedules | 8-4 | |
08.01.03.03 | Tool Selection and Implementation | 8-4 | |
08.01.03.04 | Vendor/Subcontractor Control | 8-5 | |
08.01.03.05 | Interface Control | 8-5 | |
08.01.04 | SCM Plan | 8-5 | |
08.01.05 | Monitoring of Software Configuration Management | 8-5 | |
08.01.05.01 | SCM Measures and Measurement | 8-6 | |
08.01.05.02 | In-Process Audits of SCM | 8-6 | |
08.02 | Software Configuration Identification | 8-6 | |
08.02.01 | Identifying Items to Be Controlled | 8-6 | |
08.02.01.01 | Software Configuration | 8-6 | |
08.02.01.02 | Software Configuration Item | 8-6 | |
08.02.02 | Configuration Item Identifiers and Attributes | 8-7 | |
08.02.03 | Baseline Identification | 8-7 | |
08.02.04 | Baseline Attributes | 8-7 | |
08.02.05 | Relationships Scheme Definition | 8-7 | |
08.02.06 | Software Libraries | 8-8 | |
08.03 | Software Configuration Change Control | 8-9 | |
08.03.01 | Requesting, Evaluating, and Approving Software Changes | 8-9 | |
08.03.01.01 | Software Configuration Control Board | 8-10 | |
08.03.01.02 | Software Change Request Process | 8-10 | |
08.03.01.03 | Software Change Request Forms Definition | 8-10 | |
08.03.02 | Implementing Software Changes | 8-10 | |
08.03.03 | Deviations and Waivers | 8-11 | |
08.04 | Software Configuration Status Accounting | 8-11 | |
08.04.01 | Software Configuration Status Information | 8-11 | |
08.04.02 | Software Configuration Status Reporting | 8-11 | |
08.05 | Software Configuration Auditing | 8-12 | |
08.05.01 | Software Functional Configuration Audit | 8-12 | |
08.05.02 | Software Physical Configuration Audit | 8-12 | |
08.05.03 | In-Process Audits of a Software Baseline | 8-12 | |
08.06 | Software Release Management and Delivery | 8-13 | |
08.06.01 | Software Building | 8-13 | |
08.06.02 | Software Release Management | 8-13 | |
08.07 | Software Configuration Management Tools | 8-14 | |
09 | Software Engineering Management | 9-1 | |
09.01 | Initiation and Scope Definition | 9-6 | |
09.01.01 | Determination and Negotiation of Requirements | 9-6 | |
09.01.02 | Feasibility Analysis | 9-6 | |
09.01.03 | Process for the Review and Revision of Requirements | 9-7 | |
09.02 | Software Project Planning | 9-7 | |
09.02.01 | Process Planning | 9-8 | |
09.02.02 | Determine Deliverables | 9-8 | |
09.02.03 | Effort, Schedule, and Cost Estimation | 9-8 | |
09.02.04 | Resource Allocation | 9-9 | |
09.02.05 | Risk Management | 9-9 | |
09.02.06 | Quality Management | 9-9 | |
09.02.07 | Plan Management | 9-10 | |
09.03 | Software Project Execution | 9-11 | |
09.03.01 | Implementation of Plans | 9-11 | |
09.03.02 | Software Acquisition and Supplier Contract Management | 9-11 | |
09.03.03 | Implementation of Measurement Process | 9-12 | |
09.03.04 | Monitor Process | 9-12 | |
09.03.05 | Control Process | 9-12 | |
09.03.06 | Reporting | 9-13 | |
09.04 | Software Review and Evaluation | 9-13 | |
09.04.01 | Determining Satisfaction of Requirements | 9-13 | |
09.04.02 | Reviewing and Evaluating Performance | 9-13 | |
09.05 | Closure | 9-13 | |
09.05.01 | Determining Closure | 9-13 | |
09.05.02 | Closure Activities | 9-14 | |
09.06 | Software Engineering Measurement | 9-14 | |
09.06.01 | Establish and Sustain Measurement Commitment | 9-14 | |
09.06.02 | Plan the Measurement Process | 9-15 | |
09.06.03 | Perform the Measurement Process | 9-15 | |
09.06.04 | Evaluate Measurement | 9-16 | |
09.07 | Software Engineering Management Tools | 9-16 | |
10 | Software Engineering Process | 10-1 | |
10.01 | Software Engineering Process Fundamentals | 10-1 | |
10.01.01 | Introduction | 10-1 | |
10.01.02 | Software Engineering Process Definition | 10-3 | |
10.02 | Life Cycles | 10-3 | |
10.02.01 | Life Cycle Definition, Process Categories, and Terminology | 10-3 | |
10.02.02 | Rationale for Life Cycles | 10-4 | |
10.02.03 | The Concepts of Process Models and Life Cycle Models | 10-5 | |
10.02.04 | Some Paradigms for Development Life Cycle Models | 10-5 | |
10.02.05 | Development Life Cycle Models and Their Engineering Dimension | 10-6 | |
10.02.06 | The Management of SLCPs | 10-7 | |
10.02.07 | Software Engineering Process Management | 10-8 | |
10.02.08 | Software Life Cycle Adaptation | 10-8 | |
10.02.09 | Practical Considerations | 10-8 | |
10.02.10 | Software Process Infrastructure, Tools, Methods | 10-9 | |
10.02.11 | Software Engineering Process Monitoring and its Relationship with the Software Product | 10-9 | |
10.03 | Software Process Assessment and Improvement | 10-9 | |
10.03.01 | Overview of Software Process Assessment and Improvement | 10-9 | |
10.03.02 | Goal-Question-Metric (GQM) | 10-10 | |
10.03.03 | Framework-Based Methods | 10-10 | |
10.03.04 | Process Assessment and Improvement in Agile | 10-10 | |
11 | Software Engineering Models and Methods | 11-1 | |
11.01 | Modeling | 11-1 | |
11.01.01 | Modeling Principles | 11-2 | |
11.01.02 | Properties and Expression of Models | 11-3 | |
11.01.03 | Syntax, Semantics, and Pragmatics | 11-3 | |
11.01.04 | Preconditions, Postconditions, and Invariants | 11-4 | |
11.02 | Types of Models | 11-4 | |
11.02.01 | Structural Modeling | 11-5 | |
11.02.02 | Behavioral Modeling | 11-5 | |
11.03 | Analysis of Models | 11-5 | |
11.03.01 | Analyzing for Completeness | 11-6 | |
11.03.02 | Analyzing for Consistency | 11-6 | |
11.03.03 | Analyzing for Correctness | 11-6 | |
11.03.04 | Analyzing for Traceability | 11-6 | |
11.03.05 | Analyzing for Interaction | 11-6 | |
11.04 | Software Engineering Methods | 11-7 | |
11.04.01 | Heuristic Methods | 11-7 | |
11.04.02 | Formal Methods | 11-8 | |
11.04.03 | Prototyping Methods | 11-9 | |
11.04.04 | Agile Methods | 11-10 | |
12 | Software Quality | 12-1 | |
12.01 | Software Quality Fundamentals | 12-3 | |
12.01.01 | Software Engineering Culture and Ethics | 12-3 | |
12.01.02 | Value and Costs of Quality | 12-4 | |
12.01.03 | Standards, Models, and Certifications | 12-4 | |
12.01.04 | Software Dependability and Integrity Levels | 12-5 | |
12.01.04.01 | Dependability | 12-5 | |
12.01.04.02 | Integrity Levels of Software | 12-6 | |
12.02 | Software Quality Management Process | 12-6 | |
12.02.01 | Software Quality Improvement | 12-7 | |
12.02.02 | Plan Quality Management | 12-7 | |
12.02.03 | Evaluate Quality Management | 12-8 | |
12.02.03.01 | Software Quality Measurement | 12-8 | |
12.02.04 | Perform Corrective and Preventive Actions | 12-9 | |
12.02.04.01 | Defect Characterization | 12-9 | |
12.03 | Software Quality Assurance Process | 12-10 | |
12.03.01 | Prepare for Quality Assurance | 12-10 | |
12.03.02 | Perform Process Assurance | 12-10 | |
12.03.03 | Perform Product Assurance | 12-11 | |
12.03.04 | V&V and Testing | 12-12 | |
12.03.04.01 | Static Analysis Techniques | 12-13 | |
12.03.04.02 | Dynamic Analysis Techniques | 12-13 | |
12.03.04.03 | Formal Analysis Techniques | 12-13 | |
12.03.04.04 | Software Quality Control and Testing | 12-13 | |
12.03.04.05 | Technical Reviews and Audits | 12-14 | |
12.04 | Software Quality Tools | 12-15 | |
13 | Software Security | 13-1 | |
13.01 | Software Security Fundamentals | 13-1 | |
13.01.01 | Software Security | 13-1 | |
13.01.02 | Information Security | 13-1 | |
13.01.03 | Cybersecurity | 13-2 | |
13.02 | Security Management and Organization | 13-2 | |
13.02.01 | Capability Maturity Model | 13-2 | |
13.02.02 | Information Security Management System | 13-2 | |
13.02.03 | Agile Practice for Software Security | 13-3 | |
13.03 | Software Security Engineering and Processes | 13-3 | |
13.03.01 | Security Engineering and Secure Development Life Cycle (SDLC) | 13-3 | |
13.03.02 | Common Criteria for Information Technology Security Evaluation | 13-3 | |
13.04 | Security Engineering for Software Systems | 13-3 | |
13.04.01 | Security Requirements | 13-3 | |
13.04.02 | Security Design | 13-4 | |
13.04.03 | Security Patterns | 13-4 | mapping |
13.04.04 | Construction for Security | 13-4 | |
13.04.05 | Security Testing | 13-5 | |
13.04.06 | Vulnerability Management | 13-5 | |
13.05 | Software Security Tools | 13-5 | |
13.05.01 | Security Vulnerability Checking Tools | 13-5 | |
13.05.02 | Penetration Testing Tools | 13-6 | |
13.06 | Domain-Specific Software Security | 13-6 | |
13.06.01 | Security for Container and Cloud | 13-6 | |
13.06.02 | Security for IoT Software | 13-6 | |
13.06.03 | Security for Machine Learning-Based | 13-6 | |
14 | Software Engineering Professional Practice | 14-1 | n/a |
14.01 | Professionalism | 14-2 | n/a |
14.01.01 | Accreditation, Certification and Qualification, and Licensing | 14-2 | n/a |
14.01.01.01 | Accreditation | 14-2 | n/a |
14.01.01.02 | Certification and Qualification | 14-3 | n/a |
14.01.01.03 | Licensing | 14-3 | n/a |
14.01.02 | Codes of Ethics and Professional Conduct | 14-3 | n/a |
14.01.03 | Nature and Role of Professional Societies | 14-4 | n/a |
14.01.04 | Nature and Role of Software Engineering Standards | 14-4 | n/a |
14.01.05 | Economic Impact of Software | 14-5 | n/a |
14.01.06 | Employment Contracts | 14-5 | n/a |
14.01.07 | Legal Issues | 14-6 | n/a |
14.01.07.01 | Standards | 14-6 | n/a |
14.01.07.02 | Trademarks | 14-6 | n/a |
14.01.07.03 | Patents | 14-6 | n/a |
14.01.07.04 | Copyrights | 14-6 | n/a |
14.01.07.05 | Trade Secrets | 14-6 | n/a |
14.01.07.06 | Professional Liability | 14-7 | n/a |
14.01.07.07 | Legal Requirements | 14-7 | n/a |
14.01.07.08 | Trade Compliance | 14-7 | n/a |
14.01.07.09 | Cybercrime | 14-7 | n/a |
14.01.07.10 | Data Privacy | 14-8 | n/a |
14.01.08 | Documentation | 14-8 | n/a |
14.01.09 | Trade-Off Analysis | 14-9 | n/a |
14.02 | Group Dynamics and Psychology | 14-9 | n/a |
14.02.01 | Dynamics of Working in Teams/Groups | 14-9 | n/a |
14.02.02 | Individual Cognition | 14-10 | n/a |
14.02.03 | Dealing with Problem Complexity | 14-10 | n/a |
14.02.04 | Interacting with Stakeholders | 14-10 | n/a |
14.02.05 | Dealing with Uncertainty and Ambiguity | 14-11 | n/a |
14.02.06 | Dealing with Equity, Diversity, and Inclusivity | 14-11 | n/a |
14.03 | Communication Skills | 14-11 | n/a |
14.03.01 | Reading, Understanding, and Summarizing | 14-12 | n/a |
14.03.02 | Writing | 14-12 | n/a |
14.03.03 | Team and Group Communication | 14-12 | n/a |
14.03.04 | Presentation Skills | 14-12 | n/a |
15 | Software Engineering Economics | 15-1 | n/a |
15.01 | Software Engineering Economics Fundamentals | 15-3 | n/a |
15.01.01 | Proposals | 15-3 | n/a |
15.01.02 | Cash Flow | 15-3 | n/a |
15.01.03 | Time-Value of Money | 15-3 | n/a |
15.01.04 | Equivalence | 15-4 | n/a |
15.01.05 | Bases for Comparison | 15-4 | n/a |
15.01.06 | Alternatives | 15-4 | n/a |
15.01.07 | Intangible Assets | 15-4 | n/a |
15.01.08 | Business Model | 15-5 | n/a |
15.02 | The Engineering Decision-Making Process | 15-5 | n/a |
15.02.01 | Process Overview | 15-5 | n/a |
15.02.02 | Understand the Real Problem | 15-5 | n/a |
15.02.03 | Identify All Reasonable Technically Feasible Solutions | 15-6 | n/a |
15.02.04 | Define the Selection Criteria | 15-6 | n/a |
15.02.05 | Evaluate Each Alternative Against the Selection Criteria | 15-6 | n/a |
15.02.06 | Select the Preferred Alternative | 15-6 | n/a |
15.02.07 | Monitor the Performance of the Selected Alternative | 15-7 | n/a |
15.03 | For-Profit Decision-Making | 15-7 | n/a |
15.03.01 | Minimum Acceptable Rate of Return | 15-7 | n/a |
15.03.02 | Economic Life | 15-7 | n/a |
15.03.03 | Planning Horizon | 15-8 | n/a |
15.03.04 | Replacement Decisions | 15-8 | n/a |
15.03.05 | Retirement Decisions | 15-9 | n/a |
15.03.06 | Advanced For-Profit Decision Considerations | 15-9 | n/a |
15.04 | Nonprofit Decision-Making | 15-9 | n/a |
15.04.01 | Benefit-Cost Analysis | 15-9 | n/a |
15.04.02 | Cost-Effectiveness Analysis | 15-9 | n/a |
15.05 | Present Economy Decision-Making | 15-9 | n/a |
15.05.01 | Break-Even Analysis | 15-9 | n/a |
15.05.02 | Optimization Analysis | 15-9 | n/a |
15.06 | Multiple-Attribute Decision-Making | 15-10 | n/a |
15.06.01 | Compensatory Techniques | 15-10 | n/a |
15.06.02 | Non-Compensatory Techniques | 15-10 | n/a |
15.07 | Identifying and Characterizing Intangible Assets | 15-10 | n/a |
15.07.01 | Identify Processes and Define Business Goals | 15-10 | n/a |
15.07.02 | Identify Intangible Assets Linked with Business Goal | 15-11 | n/a |
15.07.03 | Identify Software Products That Support Intangible Assets | 15-11 | n/a |
15.07.04 | Define and Measure Indicators | 15-11 | n/a |
15.07.05 | Intangible Asset Characterization | 15-11 | n/a |
15.07.06 | Link Specific Intangible Assets with the Business Model | 15-13 | n/a |
15.07.07 | Decision-Making | 15-13 | n/a |
15.08 | Estimation | 15-13 | n/a |
15.08.01 | Expert Judgment | 15-14 | n/a |
15.08.02 | Analogy | 15-15 | n/a |
15.08.03 | Decomposition | 15-15 | n/a |
15.08.04 | Parametric | 15-15 | n/a |
15.08.05 | Multiple Estimates | 15-15 | n/a |
15.09 | Practical Considerations | 15-16 | n/a |
15.09.01 | Business Case | 15-16 | n/a |
15.09.02 | Multiple-Currency Analysis | 15-16 | n/a |
15.09.03 | Systems Thinking | 15-16 | n/a |
15.10 | Related Concepts | 15-16 | n/a |
15.10.01 | Accounting | 15-16 | n/a |
15.10.02 | Cost and Costing | 15-16 | n/a |
15.10.03 | Finance | 15-17 | n/a |
15.10.04 | Controlling | 15-17 | n/a |
15.10.05 | Efficiency and Effectiveness | 15-17 | n/a |
15.10.06 | Productivity | 15-18 | n/a |
15.10.07 | Product or Service | 15-18 | n/a |
15.10.08 | Project | 15-18 | n/a |
15.10.09 | Program | 15-18 | n/a |
15.10.10 | Portfolio | 15-18 | n/a |
15.10.11 | Product Life Cycle | 15-19 | n/a |
15.10.12 | Project Life Cycle | 15-19 | n/a |
15.10.13 | Price and Pricing | 15-19 | n/a |
15.10.14 | Prioritization | 15-19 | n/a |
16 | Computing Foundations | 16-1 | n/a |
16.01 | Basic Concepts of a System or Solution | 16-2 | n/a |
16.02 | Computer Architecture and Organization | 16-3 | n/a |
16.02.01 | Computer Architecture | 16-3 | n/a |
16.02.02 | Types of Computer Architectures | 16-3 | n/a |
16.02.02.01 | Von Neumann Architecture | 16-3 | n/a |
16.02.02.02 | Harvard Architecture | 16-4 | n/a |
16.02.02.03 | Instruction Set Architecture | 16-4 | n/a |
16.02.02.04 | Flynn s Architecture or Taxonomy | 16-5 | n/a |
16.02.02.05 | System Architecture | 16-5 | n/a |
16.02.03 | Microarchitecture or Computer Organization | 16-5 | n/a |
16.02.03.01 | Arithmetic Logic Unit | 16-5 | n/a |
16.02.03.02 | Memory Unit | 16-6 | n/a |
16.02.03.03 | Input/Output Devices | 16-6 | n/a |
16.02.03.04 | Control Unit | 16-6 | n/a |
16.03 | Data Structures and Algorithms | 16-6 | n/a |
16.03.01 | Types of Data Structures | 16-6 | n/a |
16.03.02 | Operations on Data Structures | 16-7 | n/a |
16.03.03 | Algorithms and Attributes of Algorithms | 16-7 | n/a |
16.03.04 | Algorithm Complexity | 16-8 | n/a |
16.03.05 | Measurement of Complexity | 16-8 | n/a |
16.03.06 | Designing Algorithms | 16-8 | n/a |
16.03.07 | Sorting Techniques | 16-9 | n/a |
16.03.08 | Searching Techniques | 16-10 | n/a |
16.03.09 | Hashing | 16-10 | n/a |
16.04 | Programming Fundamentals and Languages | 16-10 | n/a |
16.04.01 | Programming Language Types | 16-10 | n/a |
16.04.02 | Programming Syntax, Semantics, Type Systems | 16-11 | n/a |
16.04.03 | Subprograms and Coroutines | 16-11 | n/a |
16.04.04 | Object-Oriented Programming | 16-12 | n/a |
16.04.05 | Distributed Programming and Parallel Programming | 16-13 | n/a |
16.04.06 | Debugging | 16-13 | n/a |
16.04.07 | Standards and Guidelines | 16-13 | n/a |
16.05 | Operating Systems | 16-15 | n/a |
16.05.01 | Processor Management | 16-15 | n/a |
16.05.02 | Memory Management | 16-16 | n/a |
16.05.03 | Device Management | 16-16 | n/a |
16.05.04 | Information Management | 16-16 | n/a |
16.05.05 | Network Management | 16-16 | n/a |
16.06 | Database Management | 16-17 | n/a |
16.06.01 | Schema | 16-17 | n/a |
16.06.02 | Data Models and Storage Models | 16-17 | n/a |
16.06.03 | Database Management Systems | 16-18 | n/a |
16.06.04 | Relational Database Management Systems and Normalization | 16-18 | n/a |
16.06.05 | Structured Query Language | 16-19 | n/a |
16.06.06 | Data Mining and Data Warehousing | 16-19 | n/a |
16.06.07 | Database Backup and Recovery | 16-20 | n/a |
16.07 | Computer Networks and Communications | 16-20 | n/a |
16.07.01 | Types of Computer Networks | 16-20 | n/a |
16.07.02 | Layered Architectures of Networks | 16-21 | n/a |
16.07.03 | Open Systems Interconnection Model | 16-21 | n/a |
16.07.04 | Encapsulation and Decapsulation | 16-22 | n/a |
16.07.05 | Application Layer Protocols | 16-22 | n/a |
16.07.06 | Design Techniques for Reliable and Efficient Network | 16-22 | n/a |
16.07.07 | Internet Protocol Suite | 16-23 | n/a |
16.07.08 | Wireless and Mobile Networks | 16-23 | n/a |
16.07.09 | Security and Vulnerabilities | 16-23 | n/a |
16.08 | User and Developer Human Factors | 16-24 | n/a |
16.08.01 | User Human Factors | 16-24 | n/a |
16.08.02 | Developer Human Factors | 16-24 | n/a |
16.09 | Artificial Intelligence and Machine Learning | 16-25 | n/a |
16.09.01 | Reasoning | 16-25 | n/a |
16.09.02 | Learning | 16-26 | n/a |
16.09.03 | Models | 16-26 | n/a |
16.09.04 | Perception and Problem-Solving | 16-27 | n/a |
16.09.05 | Natural Language Processing | 16-27 | n/a |
16.09.06 | AI and Software Engineering | 16-27 | n/a |
17 | Mathematical Foundations | 17-1 | n/a |
17.01 | Basic Logic | 17-1 | n/a |
17.01.01 | Propositional Logic | 17-1 | n/a |
17.01.02 | Predicate Logic | 17-3 | n/a |
17.02 | Proof Techniques | 17-3 | n/a |
17.02.01 | Direct Proof | 17-4 | n/a |
17.02.02 | Proof by Contradiction | 17-4 | n/a |
17.02.03 | Proof by Induction | 17-4 | n/a |
17.02.04 | Proof by Example | 17-5 | n/a |
17.03 | Set, Relation, Function | 17-5 | n/a |
17.03.01 | Set Operations | 17-6 | n/a |
17.03.02 | Properties of Sets | 17-6 | n/a |
17.03.03 | Relation and Function | 17-7 | n/a |
17.04 | Graph and Tree | 17-8 | n/a |
17.04.01 | Graph | 17-8 | n/a |
17.04.02 | Tree | 17-10 | n/a |
17.05 | Finite-State Machine | 17-12 | n/a |
17.06 | Grammar | 17-13 | n/a |
17.06.01 | Language Recognition | 17-14 | n/a |
17.07 | Number Theory | 17-14 | n/a |
17.07.01 | Types of Numbers | 17-15 | n/a |
17.07.02 | Divisibility | 17-15 | n/a |
17.07.03 | Prime Number | 17-15 | n/a |
17.07.04 | Greatest Common Divisor | 17-16 | n/a |
17.08 | Basics of Counting | 17-16 | n/a |
17.09 | Discrete Probability | 17-17 | n/a |
17.10 | Numerical Precision, Accuracy, and Error | 17-18 | n/a |
17.11 | Algebraic Structures | 17-19 | n/a |
17.11.01 | Group | 17-19 | n/a |
17.11.02 | Ring | 17-20 | n/a |
17.12 | Engineering Calculus | 17-21 | n/a |
17.13 | New Advancements | 17-21 | n/a |
17.13.01 | Computational Neurosciences | 17-21 | n/a |
17.13.02 | Genomics | 17-21 | n/a |
18 | Engineering Foundations | 18-1 | n/a |
18.01 | The Engineering Process | 18-1 | n/a |
18.02 | Engineering Design | 18-2 | n/a |
18.02.01 | Engineering Design in Engineering Education | 18-2 | n/a |
18.02.02 | Design as a Problem-Solving Activity | 18-3 | n/a |
18.03 | Abstraction and Encapsulation | 18-3 | n/a |
18.03.01 | Levels of Abstraction | 18-4 | n/a |
18.03.02 | Encapsulation | 18-4 | n/a |
18.03.03 | Hierarchy | 18-4 | n/a |
18.03.04 | Alternate Abstractions | 18-4 | n/a |
18.04 | Empirical Methods and Experimental Techniques | 18-4 | n/a |
18.04.01 | Designed Experiment | 18-5 | n/a |
18.04.02 | Observational Study | 18-5 | n/a |
18.04.03 | Retrospective Study | 18-5 | n/a |
18.05 | Statistical Analysis | 18-5 | n/a |
18.05.01 | Unit of Analysis (Sampling Units), Population, and Sample | 18-5 | n/a |
18.05.02 | Correlation and Regression | 18-8 | n/a |
18.06 | Modeling, Simulation, and Prototyping | 18-8 | n/a |
18.06.01 | Modeling | 18-8 | n/a |
18.06.02 | Simulation | 18-9 | n/a |
18.06.03 | Prototyping | 18-9 | n/a |
18.07 | Measurement | 18-10 | n/a |
18.07.01 | Levels (Scales) of Measurement | 18-10 | n/a |
18.07.02 | Implications of Measurement Theory for Programming Languages | 18-12 | n/a |
18.07.03 | Direct and Derived Measures | 18-13 | n/a |
18.07.04 | Reliability and Validity | 18-14 | n/a |
18.07.05 | Assessing Reliability | 18-14 | n/a |
18.07.06 | Goal-Question-Metric Paradigm: Why Measure? | 18-15 | n/a |
18.08 | Standards | 18-15 | n/a |
18.09 | Root Cause Analysis | 18-16 | n/a |
18.09.01 | Root Cause Analysis Techniques | 18-16 | n/a |
18.09.02 | Root Cause Based Improvement | 18-17 | n/a |
18.10 | Industry 04.0 and Software Engineering | 18-17 | n/a |
Comments