{
  "contentStorage": "postgres",
  "title": "Software Requirements · Versions",
  "description": "Software requirements are both a statement of the needs and constraints on a software product or project and the activities that develop and maintain those requirements.",
  "url": "/en/concepts/software-requirements/versions.html",
  "entity": {
    "id": "concept_software_requirements",
    "type": "concept",
    "title": "Software Requirements",
    "slug": "software-requirements",
    "aliases": [
      "软件需求"
    ],
    "summary": "Software requirements are both a statement of the needs and constraints on a software product or project and the activities that develop and maintain those requirements.",
    "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 1; Appendix B"
      }
    ],
    "createdAt": "2026-11-02T01:19:48+08:00",
    "updatedAt": "2026-11-02T01:19:48+08:00",
    "updatedBy": "user:admin",
    "revision": 2,
    "body": "Software requirements have two perspectives. One expresses the needs and constraints on a software product or project that contribute to solving a real-world problem. The other is the set of activities that develop and maintain the requirements for the product and for the project that builds it. Missing, misinterpreted, or incorrect requirements that are not found early cascade into rework through design, code, and test decisions. The Guide names two common problems: stakeholder requirements and necessary detail are not communicated to the software engineers, and a requirement is worded so that more than one interpretation is possible when only one is correct.[^s1]\n\nThe Guide organizes requirements activities as elicitation, analysis, specification, validation, and management. Forms of specification include unstructured natural language, structured natural language, acceptance-criteria-based specification, and model-based specification.[^s1]\n\n\nThe Guide's top-level topics for this knowledge area are:\n\n- Software Requirements Fundamentals\n- Requirements Elicitation\n- Requirements Analysis\n- Requirements Specification\n- Requirements Validation\n- Requirements Management Activities\n- Practical Considerations\n- Software Requirements Tools\n\nStandards listed in the Guide's appendix include [[work_ieee_29148_2018_8559684|ISO/IEC/IEEE 29148:2018]] for requirements engineering and [[work_ieee_15289_2019|ISO/IEC/IEEE 15289:2019]] for life-cycle information items.[^s1]",
    "url": "/concepts/software-requirements.html",
    "lang": "en",
    "availableLangs": [
      "zh",
      "en"
    ],
    "conceptKind": "theme",
    "scopeNote": "One knowledge area of SWEBOK Guide v4.0a."
  },
  "entities": null,
  "versions": [
    {
      "revision": 2,
      "updatedAt": "2026-11-02T01:19:48+08:00",
      "message": "当前版本",
      "hasSnapshot": true,
      "url": "/en/concepts/software-requirements/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."
    }
  ],
  "pagination": {
    "page": 1,
    "pageSize": 50,
    "total": 1,
    "pageCount": 1
  }
}