{
  "contentStorage": "postgres",
  "title": "Software Design",
  "description": "Software design names a discipline, a set of processes, the result of those processes, and the life-cycle stage that produces the result.",
  "url": "/en/concepts/software-design.html",
  "entity": {
    "id": "concept_software_design",
    "type": "concept",
    "title": "Software Design",
    "slug": "software-design",
    "aliases": [
      "软件设计"
    ],
    "summary": "Software design names a discipline, a set of processes, the result of those processes, and the life-cycle stage that produces the result.",
    "status": "published",
    "categories": [
      "category-science-technology"
    ],
    "tags": [],
    "sources": [
      {
        "id": "s1",
        "title": "Guide to the Software Engineering Body of Knowledge (SWEBOK Guide) v4.0a",
        "author": "Hironori Washizaki (ed.), IEEE Computer Society",
        "date": "2026-08",
        "url": "https://ieeecs-media.computer.org/media/education/swebok/swebok-v4.pdf",
        "locator": "Chapter 3"
      }
    ],
    "createdAt": "2026-11-02T01:19:48+08:00",
    "updatedAt": "2026-11-02T01:19:48+08:00",
    "updatedBy": "user:admin",
    "revision": 2,
    "body": "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.[^s1]\n\n\nThe Guide's top-level topics for this knowledge area are:\n\n- Software Design Fundamentals\n- Software Design Processes\n- Software Design Qualities\n- Recording Software Designs\n- Software Design Strategies and Methods\n- Software Design Quality Analysis and Evaluation",
    "url": "/concepts/software-design.html",
    "lang": "en",
    "availableLangs": [
      "zh",
      "en"
    ],
    "conceptKind": "theme",
    "scopeNote": "One knowledge area of SWEBOK Guide v4.0a."
  },
  "entities": null,
  "relations": [
    {
      "id": "relation_software_engineering_broader_than_software_design",
      "fromId": "concept_software_engineering",
      "relationType": "broader_than",
      "toId": "concept_software_design",
      "sourceRefs": [
        {
          "entityId": "concept_software_engineering",
          "sourceId": "s1"
        }
      ],
      "label": "Broader concepts",
      "targetId": "concept_software_engineering",
      "targetTitle": "Software Engineering",
      "targetUrl": "/en/concepts/software-engineering.html",
      "incoming": true
    }
  ],
  "mentions": [
    {
      "fromId": "concept_software_engineering",
      "fromTitle": "Software Engineering",
      "fromUrl": "/en/concepts/software-engineering.html",
      "fromType": "concept"
    }
  ],
  "versions": [
    {
      "revision": 2,
      "updatedAt": "2026-11-02T01:19:48+08:00",
      "message": "当前版本",
      "hasSnapshot": true,
      "url": "/en/concepts/software-design/at/2.html"
    }
  ],
  "lang": "en",
  "availableLangs": [
    "zh",
    "en"
  ],
  "infoFields": [
    {
      "key": "concept_kind",
      "label": "Concept kind",
      "value": "Theme"
    },
    {
      "key": "aliases",
      "label": "Aliases",
      "value": "软件设计"
    },
    {
      "key": "scope_note",
      "label": "Scope note",
      "value": "One knowledge area of SWEBOK Guide v4.0a."
    }
  ],
  "relationsTotal": 1,
  "relationCounts": [
    {
      "relationType": "broader_than",
      "incoming": true,
      "label": "Broader concepts",
      "total": 1
    }
  ],
  "mentionsTotal": 1
}