↑ arvau

Wikipedia / Outline of software engineering

The following outline is provided as an overview of and topical guide to software engineering:

Software engineering application of a systematic, disciplined, quantifiable approach to the development, operation, and maintenance of software; that is the application of engineering to software.

The ACM Computing Classification system is a poly-hierarchical ontology that organizes the topics of the field and can be used in semantic web applications and as a de facto standard classification system for the field. The major section "Software and its Engineering" provides an outline and ontology for software engineering.

Software applications

Software engineers build software (applications, operating systems, system software) that people use.

Applications influence software engineering by pressuring developers to solve problems in new ways. For example, consumer software emphasizes low cost, medical software emphasizes high quality, and Internet commerce software emphasizes rapid development.

Business software

Analytics

Banking

Commerce

Compilers

Communication

Computer graphics

Embedded systems Both software engineers and traditional engineers write software control systems for embedded products.

Engineering All traditional engineering branches use software extensively. Engineers use spreadsheets, more than they ever used calculators. Engineers use custom software tools to design, analyze, and simulate their own projects, like bridges and power lines. These projects resemble software in many respects, because the work exists as electronic documents and goes through analysis, design, implementation, and testing phases. Software tools for engineers use the tenets of computer science; as well as the tenets of calculus, physics, and chemistry.

File

Finance

Games

Information systems, support almost every field

  • LIS Management of laboratory data

  • MIS Management of financial and personnel data

Logistics

Manufacturing

Music

Network Management

Networks and Internet

Office suites

Operating systems

Signal processing, encoding and interpreting signals

Simulation, supports almost every field.

Sciences

Traffic Control

Training

Visualization, supports almost every field

World Wide Web

Software engineering topics

Programming paradigm, based on a programming language technology

Databases

Graphical user interfaces

Programming tools

Configuration management and source code management

Build tools

Editors

Parser creation tools

Libraries

Design languages

Patterns, document many common programming and project management techniques

Processes and methodologies

Agile

Heavyweight

Process Models

Metamodels

Platforms

A platform combines computer hardware and an operating system. As platforms grow more powerful and less costly, applications and tools grow more widely available.

Other Practices

Other tools

Computer science topics

Algorithms, well-defined methods for solving specific problems.

Compiler theory

Data structures, well-defined methods for storing and retrieving data.

Computability, some problems cannot be solved at all

Complexity, some problems are solvable in principle, yet unsolvable in practice

Formal methods

Adaptive Systems

Mathematics topics

Discrete mathematics is a key foundation of software engineering.

Graphss

Logic

Other

Life cycle phases

Development life cycle phase

Testing, detects bugs

Product Life cycle phase and Project lifecycle

Release development stage, near the end of a release cycle

Software development lifecycle

Deliverables

Deliverables must be developed for many SE projects. Software engineers rarely make all of these deliverables themselves. They usually cooperate with the writers, trainers, installers, marketers, technical support people, and others who make many of these deliverables.

  • Application software — the software

  • Database — schemas and data.

Documentation, online and/or print, FAQ, Readme, release notes, Help, for each role

Migration

  • Upgrade from previous installations

  • Upgrade from competitor's installations

Training materials, for each role

Marketing and sales materials

  • White papers, explain the technologies used in the applications

Business roles

Operations

Development

Business

Academia

Management topics

Leadership

Human resource management

Project management

Process management

Business topics

Quality programs

Software engineering profession

Software engineering professionalism

Legal

History of software engineering

History of software engineering===Pioneers=== Many people made important contributions to SE technologies, practices, or applications.

See also

Notable publications

Related fields

Traditional engineering

Software engineering

Arts and Sciences

Application software

See also

References