Skip to content

Software Engineering

Software engineering is not about one language or one framework. It studies how complex software systems are specified, designed, validated, deployed, and evolved over time. This chapter organizes that story as a continuous line from abstraction and specification to architecture, implementation, and delivery.

If algorithms, operating systems, and networks study computational systems themselves, software engineering studies how people turn those computational principles into maintainable software systems through abstractions, workflows, and tools.

Overview & Theory

Architecture & Systems

  • System Design Methods for requirement clarification, capacity estimation, and high-level architecture design.
  • Distributed Systems Covers consistency, replication, messaging, transactions, and failure handling.
  • Cloud Services Covers cloud platforms, virtualization, containers, serverless systems, and deployment models.
  • Database Systems Covers the relational model, transactions, indexing, NoSQL systems, and vector databases.
  • Parallel Computing Discusses CPU/GPU parallelism, parallel algorithms, and communication patterns in distributed training.

Engineering Practice

Embedded & IoT

  • Embedded Software Development Discusses real-time constraints, debugging, and firmware engineering in resource-limited environments.
  • IoT Systems Covers end-to-end systems formed by devices, edge nodes, cloud services, and protocols.

评论 #