ABSTRACT

Software engineering supports the development of professional software, not the development of software for individual users. It is concerned with all aspects of software production in that context. It includes techniques that support programme specification, design, and evolution, none of which is normally relevant for personal software development.

Many people think software is simply another word for computer programmes. However, when we are talking about software engineering, software is not just the programmes themselves. It includes all associated documentation and configuration data required to make these programmes operate correctly.

A professionally developed software system is often more than a single programme. The system usually consists of a number of separate programmes and configuration files that are used to set up these programmes. It may include system documentation, which describes the structure of the system, user documentation, which explains how to use the system, and websites for users to download recent product information.

This chapter introduces software engineering and provides an explanatory framework. It defines software engineering as an engineering discipline concerned with all aspects of software production from the early stages of system specification through to maintaining the system after it has gone into use.