Skip to content
Search

Software engineering

lastmod 2026-04-22created 2014-01-1118 edits

Subfields of software engineering

Software engineering is the discipline that deals systematically, descriptively, and quantitatively with the entire life cycle of software, including its development, operation, and maintenance; in other words, it is the application of engineering to software.

The English term software engineering first appeared at the 1968 NATO Software Engineering Conference, where it was meant to encourage people to think carefully about the software crisis of the time. Since then, as both a profession and an academic field, it has steadily devoted itself to creating software with better quality, cost, maintainability, and build speed. It is still a relatively young field compared with its sister field of engineering, and there is ongoing debate about what software engineering' actually is and whether it fits the traditional definition of engineering. It grew organically out of moving beyond the limited view of software as mere programming. Recent trends include aspect-oriented (Aspect), agile (Agile), and model-driven (Model-Driven) approaches.

Categories

Product acceptance testing procedure

See Acceptance testing for details.

Software proposal resources

Standard on consideration for software business
Standard_on_consideration_of_the_software_business.zip
NRF - 2012 National Research Foundation of Korea - Request for proposal for the e-bidding system construction project
Found_19_29833_0.pdf

The Product Engineer

Software engineering in the traditional sense is coming to an end, and a product engineering paradigm built on AI is emerging

  • The product engineer is a hybrid of product manager and full-stack developer: an autonomous, outcome-oriented builder responsible for the whole cycle from planning to deployment
  • Drawing on AI-native, T-shaped skills and KPI-driven thinking, they are organized by feature rather than by team and take end-to-end ownership of areas such as onboarding, payments, and notifications
  • In the product phase they handle ideation, market analysis, user research, and product design; in the engineering phase they handle architecture, system design, and frontend and backend development
  • AI is an especially powerful tool in definable and deterministic (D&D) areas, and organizations are likely to evolve from the traditional PM–designer–engineer triangle toward a product engineer + AI collaboration structure

Laws of software engineering

A collection of 56 principles and patterns that shape software systems, teams, and decision-making, gathered in one place and covering a wide range of areas from team operations to architecture, quality, design, and decision-making.

Table of software engineering

Software Engineering

Fields

Requirements analysis, Systems analysis, Software design, Computer programming, Formal methods, Software testing, Software deployment, Software maintenance

Concepts

Data modeling, Enterprise architecture, Functional specification, Modeling language, Orthogonality, Programming Paradigms, Software, Software architecture, Software development methodology, Software development process, Software quality, Software quality assurance, Software archaeology, Structured analysis

Orientations

Agile, Aspect-oriented, Object orientation, Ontology, Service orientation, SDLC

Models

Development models

Agile, Iterative model, RUP, EUP, Scrum, Spiral model, Waterfall model, XP, V-Model, Incremental model, Prototype model, TDD

Other models

Automotive SPICE, CMMI, Data model, Function model, Information model, Metamodeling, Object model, Systems model, View model

Modeling languages

IDEF, UML, SysML

Favorite site

Tutorials

Articles

author Zer0 sitemap