<?xml version="1.0" encoding="UTF-8"?>
<page>
  <sourceCitations></sourceCitations>
  <contentStorage>postgres</contentStorage>
  <sameNames></sameNames>
  <basedOn></basedOn>
  <title>Software Engineering · History</title>
  <description>Software engineering is the application of a systematic, disciplined, quantifiable approach to the development, operation, and maintenance of software; that is, the application of engineering to software.</description>
  <url>/en/concepts/software-engineering/history.html</url>
  <entity>
    <perspectives></perspectives>
    <customFields></customFields>
    <rankingTiers></rankingTiers>
    <rankingColumns></rankingColumns>
    <rankingEntries></rankingEntries>
    <id>concept_software_engineering</id>
    <type>concept</type>
    <title>Software Engineering</title>
    <slug>software-engineering</slug>
    <aliases>
      <alias>软件工程</alias>
      <alias>SWEBOK</alias>
    </aliases>
    <previousSlugs></previousSlugs>
    <summary>Software engineering is the application of a systematic, disciplined, quantifiable approach to the development, operation, and maintenance of software; that is, the application of engineering to software.</summary>
    <status>published</status>
    <categories>
      <category>category-science-technology</category>
    </categories>
    <tags></tags>
    <sources>
      <source>
        <id>s1</id>
        <title>Guide to the Software Engineering Body of Knowledge (SWEBOK Guide) v4.0a</title>
        <author>Hironori Washizaki (ed.), IEEE Computer Society</author>
        <date>2026-08</date>
        <url>https://ieeecs-media.computer.org/media/education/swebok/swebok-v4.pdf</url>
        <locator>Introduction; Table I.1; Table I.2; Appendix B</locator>
      </source>
    </sources>
    <createdAt>2026-11-02T01:19:55+08:00</createdAt>
    <updatedAt>2026-11-02T01:19:55+08:00</updatedAt>
    <updatedBy>user:admin</updatedBy>
    <revision>2</revision>
    <body>The ISO/IEC/IEEE systems and software engineering vocabulary defines software engineering as the application of a systematic, disciplined, quantifiable approach to the development, operation, and maintenance of software; that is, the application of engineering to software. The same vocabulary defines software as computer programs, procedures, and possibly associated documentation and data pertaining to the operation of a computer system. The Guide also records earlier definitions and notes that they share a concern with the development and maintenance of software.[^s1]&#xA;&#xA;Software engineering sits between the mathematical and physical disciplines of computer science and technology and the work of applying those findings to particular application domains. Science aims at discovery. Engineering applies knowledge to solve real-world problems cost-effectively with limited resources. The Guide therefore puts the relevant theory of computer science and engineering into three foundation knowledge areas, and the remaining knowledge areas catalog the practice and engineering economics of software engineering. Software engineering and computer science are related but distinct, in the same way that chemical engineering and chemistry are related but distinct.[^s1]&#xA;&#xA;The SWEBOK Guide is not the body of knowledge itself. That body of knowledge exists in the published literature. The Guide&#39;s purpose is to describe the generally accepted portion, organize it, and provide topical access to it. Its five objectives are to promote a consistent view of software engineering worldwide; to specify the scope of the discipline and clarify its place relative to other disciplines such as computer science, project management, computer engineering, and mathematics; to characterize the contents of the discipline; to provide topical access to the software engineering body of knowledge; and to provide a foundation for curriculum development and for individual certification and licensing materials.[^s1]&#xA;&#xA;Chapters 1 through 15 are the software engineering knowledge areas, and chapters 16 through 18 are the foundation knowledge areas. The Guide recognizes eleven related disciplines but does not take characterizing their knowledge as its own objective: business analysis, computer engineering, computer science, cybersecurity, data science, general management, information systems and technology, mathematics, project management, quality management, and systems engineering.[^s1]&#xA;&#xA;Knowledge areas:&#xA;&#xA;- [[concept_software_requirements|Software Requirements]]&#xA;- [[concept_software_architecture|Software Architecture]]&#xA;- [[concept_software_design|Software Design]]&#xA;- [[concept_software_construction|Software Construction]]&#xA;- [[concept_software_testing|Software Testing]]&#xA;- [[concept_software_engineering_operations|Software Engineering Operations]]&#xA;- [[concept_software_maintenance|Software Maintenance]]&#xA;- [[concept_software_configuration_management|Software Configuration Management]]&#xA;- [[concept_software_engineering_management|Software Engineering Management]]&#xA;- [[concept_software_engineering_process|Software Engineering Process]]&#xA;- [[concept_software_engineering_models_and_methods|Software Engineering Models and Methods]]&#xA;- [[concept_software_quality|Software Quality]]&#xA;- [[concept_software_security|Software Security]]&#xA;- [[concept_software_engineering_professional_practice|Software Engineering Professional Practice]]&#xA;- [[concept_software_engineering_economics|Software Engineering Economics]]&#xA;- [[concept_computing_foundations|Computing Foundations]]&#xA;- [[concept_mathematical_foundations|Mathematical Foundations]]&#xA;- [[concept_engineering_foundations|Engineering Foundations]]&#xA;&#xA;The vocabulary standard listed in the Guide&#39;s appendix is [[work_ieee_24765_2017|ISO/IEC/IEEE 24765:2017]]. Development processes are covered in [[concept_software_engineering_process|Software Engineering Process]]. Requirements and documentation standards are covered in [[concept_software_requirements|Software Requirements]] and [[concept_software_quality|Software Quality]].[^s1]</body>
    <url>/concepts/software-engineering.html</url>
    <lang>en</lang>
    <availableLangs>
      <lang>zh</lang>
      <lang>en</lang>
    </availableLangs>
    <occupations></occupations>
    <conceptKind>theme</conceptKind>
    <scopeNote>Organized as the 18 knowledge areas of SWEBOK Guide v4.0a; each knowledge area has its own entry.</scopeNote>
    <creators></creators>
    <relatedTerms></relatedTerms>
  </entity>
  <entities></entities>
  <tags></tags>
  <categories></categories>
  <relations></relations>
  <mentions></mentions>
  <toc></toc>
  <askCitations></askCitations>
  <history></history>
  <versions></versions>
  <relationGroups></relationGroups>
  <lang>en</lang>
  <availableLangs>
    <lang>zh</lang>
    <lang>en</lang>
  </availableLangs>
  <infoFields>
    <field>
      <key>concept_kind</key>
      <label>Concept kind</label>
      <value>Theme</value>
    </field>
    <field>
      <key>aliases</key>
      <label>Aliases</label>
      <value>软件工程, SWEBOK</value>
    </field>
    <field>
      <key>scope_note</key>
      <label>Scope note</label>
      <value>Organized as the 18 knowledge areas of SWEBOK Guide v4.0a; each knowledge area has its own entry.</value>
    </field>
  </infoFields>
  <pagination>
    <page>1</page>
    <pageSize>50</pageSize>
    <total>0</total>
    <pageCount>0</pageCount>
  </pagination>
  <relationCounts></relationCounts>
  <rankings></rankings>
  <rankingBadges></rankingBadges>
</page>