The first point that has to be made about software engineering has to do with its scope of activities. Software engineering is the management of the entire process of development of computer systems to solve problems.
As software systems have grown more sophisticated and complex, software developers have sought new methods for their development. Software engineering is a response to that need. Software engineering is still rapidly changing and maturing.
Typically, when someone is told to write a program, someone else has told him or her what the program is to do and why; the programmer is concerned only with how to write it. As software engineers, however, we will be the ones concerned with the what and why. Software engineering includes the whole range of activities having to do with problem solving – from helping the client define the problem or opportunity, to evaluating the client’s satisfaction with the solution.
Developing a software system may