What does software engineering entail?

The first point to be made about software engineering has to do with its scope of activities. Software engineering is the management of the entire computer systems development process to solve problems.

As software systems have become more sophisticated and complex, software developers have sought new methods for their development. Software engineering is an answer to that need. Software engineering is still changing and maturing rapidly.

Normally, when someone is told to write a program, someone else has told them what the program should do and why; the programmer only cares about how to write it. However, as software engineers, we will be the ones to worry about the what and why. Software engineering includes the full range of activities related to problem solving, from helping the customer define the problem or opportunity, to evaluating customer satisfaction with the solution.

Developing a software system may require writing an entire collection of programs to tell machines what to do, writing procedures to tell people what to do, and providing training so people understand how to do it. We may need to convert data from an old system so that it can be run by a new system, hire people and purchase machines to run programs, and get space where machines and people can do their jobs. What we are building is a system of many parts working together. Such an effort requires patience and flexibility. We will have to fix the system when it does not do what we expected, or the customer may ask us to change the system because they want it to do something else that was not previously intended.

Programming cannot represent more than 20 percent of the total scope of software engineering, and the fraction of effort involved with programming can be expected to decrease as improved methods are used to develop software systems. As time goes on, more of our effort will go to managing the overall process and less to scheduling.

You may also like...

Leave a Reply

Your email address will not be published. Required fields are marked *