What is problem complexity

Software engineering

The English term software engineering is a scientific discipline that deals with the development, use and maintenance of software.

The English name Software engineering, which translates as software technology, means the production or development of software, the organization and modeling of associated data structures and the operation of software systems.

According to Helmut Balzerl, who holds the chair for software technology at the Faculty of Electrical Engineering and Information Technology at the Ruhr-Universität Bochum, this is a “target-oriented provision and systematic use of principles, methods and tools for the division of labor, engineering development and Use of extensive software systems ”.

The goals of software engineering

The goals of software engineering are to reduce the problem complexity, in order to achieve this, the principles (e.g. abstraction and modularization, methods (software design methods) and tools (software development environments (SEU), CASE) are provided.

The classification of software engineering

The classification of software engineering is partly assigned to business informatics and partly to practical informatics, as some issues are dealt with more economically, such as software costs, project management or operational use, while others are more of a technical nature, including software technology or software tools.

The sub-areas of software engineering

The sub-areas of software engineering include software development, project management, software quality assurance and software technology. The respective software projects often include running through typical phases, including the software life cycle with problem analysis, requirements definition, specification, design phase, implementation, testing, software use and software maintenance.
Project management in software engineering requires software projects that are completed in certain forms of project organization. Project management also includes the use of cost estimation models and the definition of milestones in order to plan and control the next project progress.
The third sub-area, software quality assurance, means ensuring software quality by defining quality features and developing and applying measures to meet the quality features.
Software technology as the fourth and last sub-area means the provision of principles, methods and tools to develop software systems and program development.

The practice of software engineering

Ultimately, the practice of software engineering means that practical software engineering focuses on project management and the use of software tools.


Software engineering also includes the creation or implementation of software, which is often done through programming, which means the individual functions, objects and classes and a programming language that is coded using an integrated development environment.