what is software engineering?
Software engineering is the cost-effective development of high-quality software. It deals with the development, deployment and maintenance of software. The development is extensive, division of labor and engineering. The goal is fulfilling the wishes of the customer.
goals of software development
Software engineering is now in almost every device that has an electronic part. A goal of software development is to reduce the complexity of a program, for this principles and tools are provided. The main goal is the creation of quality software. Quality means function fulfillment, reliability, usability, efficiency, maintainability and reusability.
You need to distinguish two groups, the internal quality yardsticks, namely the modular structure or the readability of the source code. The second group are the external quality yardsticks, to it belongs
- The correctness, the software should fulfill the set tasks
- The operation should function also under unusual conditions
- The software should be extensible
- Compatibility with other software products should be given
- The software program should be transferable (portability)
- It should have the ability to protect various components such as data or documents against unauthorized access
- Be user-friendly
subareas of software engineering
A main part of the software engineering is the software development. Thereby you run through the typical phases. The first step is to examine the software life cycle with the help of a problem analysis. Afterwards you can define and specify the requirements. After these steps the draft phase begins and you can begin with the implementation of the software. Before you can deploy the software, you have to run some tests. And then the last step is maintenance of the software.
Project management is another part of software engineering: in this area, cost estimation models are applied and milestones are defined so that the progress of the project can be planned and monitored.
Another element is software quality assurance. By different, defined quality characteristics an assurance of the software quality is ensured.
Because methods and tools are necessary to create software, software technology is also a part of software engineering, in this part these methods and tools are provided.