Concepts · concept_software_design · rev 2

Software Design

Software design names a discipline, a set of processes, the result of those processes, and the life-cycle stage that produces the result.

Updated · rev 2 · Aliases:软件设计

The Guide distinguishes four closely related uses of "design": the discipline of using scientific principles, technical information, and imagination to define a software system that performs prescribed functions with maximum economy and efficiency; the processes of that discipline; the result of applying it; and the life-cycle stage in which those processes produce that result. A software design description records the result. It refines the software into components, organizes those components, and defines the interfaces among them and between the software and the outside world, in enough detail for construction. As a life-cycle activity, design analyzes requirements in order to define the software's external characteristics and internal structure as the basis for construction. Design proceeds in three stages: architectural design of the software system, external-facing high-level design, and internal-facing detailed design. Architectural design belongs to the Software Architecture knowledge area.[1]

The Guide's top-level topics for this knowledge area are:

  • Software Design Fundamentals
  • Software Design Processes
  • Software Design Qualities
  • Recording Software Designs
  • Software Design Strategies and Methods
  • Software Design Quality Analysis and Evaluation

Continue via relations

Relations page →

Mentioned in

  • No body mentions yet.

Sources

  1. Guide to the Software Engineering Body of Knowledge (SWEBOK Guide) v4.0a · Hironori Washizaki (ed.), IEEE Computer Society · 2026-08

    Chapter 3

    ↩