Software Engineering Topics

Danh sách dưới đây liệt kê các nhóm chủ đề liên quan đến Software Engineering được team Grokking tổng hợp từ nội dung quyển SWEBOK v3.0. Nhóm chủ đề này sẽ là định hướng nội dung cho nội dung ấn phẩm Dijkstra xuất bản hàng quý.

1. Software Requirement
  • Requirement Process
  • Requirement Analysis
  • Requirement Specification
  • Requirement Validation
  • Other Practical Considerations
2. Software Design
  • Key Issues in Software Design
    • Concurrency
    • Control and Handling of Events
    • Data Persistence
    • Distribution of Components
    • Error and Exception Handling and Fault Tolerance
    • Interaction and Presentation, Security
  • Software Structure and Architecture
    • Architectural Structures and Viewpoints
    • Architectural Styles
    • Design Patterns
    • Architecture Design Decisions
    • Families of Programs and Frameworks
  • Software Design Quality Analysis and Evaluation
  • Software Design Strategies and Methods
  • Other Practical Considerations
3. Software Construction
  • API Design and Use
  • Object-Oriented Runtime Issues
  • Parameterization and Generics
  • Assertions, Design by Contract, and Defensive Programming
  • Error Handling, Exception Handling and Fault Tolerance
  • Executable Models
  • State-Based and Table-Driven Construction Techniques
  • Runtime Configuration and Internationalization
  • Grammar-Based Input Processing
  • Concurrency Primitives
  • Middleware
  • Construction Methods for Distributed Software
  • Constructing Heterogeneous Systems
  • Performance Analysis and Tuning
  • Platform Standards
  • Test-First Programming
  • Other Practical Considerations
4. Software Testing
  • Test Techniques
    • Input Domain-Based Techniques
    • Code-Based Techniques
    • Fault-Based Techniques
    • Usage-Based Techniques
    • Model-Based Testing Techniques
  • Test Process
  • Other Practical Considerations
5. Software Maintenance
  • Key issues in Software Maintenance
  • Maintenance Process
  • Techniques for Maintenance
  • Other Practical Considerations
6. Software Configuration Management
7. Software Engineering Management
8. Software Engineering Process
9. Software Process Assessment and Improvement
10. Software Measurement
11. Software Engineering Models and Methods
12. Software Quality
  • Software Quality Management Processes
  • Practical Considerations
13. Software Engineering Economics
14. Computing Foundations
15. Mathematical Foundation
  • Set, Relations, Functions
  • Basic Logic
  • Proof Techniques
  • Basics of Counting
  • Graphs and Trees
  • Discrete Probability
  • Finite State Machines
  • Grammars
  • Numerical Precision, Accuracy, and Errors
  • Number Theory
  • Algebraic Structures
16. Engineering Foundation
  • Empirical Methods and Experimental Techniques
  • Statistical Analysis
  • Measurement
  • Engineering Design
  • Modeling, Simulation, and Prototyping
  • Standards
  • Root Cause Analysis