ABSTRACT

The nature of software engineering has changed considerably in recent years. The concept of a program is being replaced by the concept of a system, which is comprised of many different communicating and cooperating components. Different components may be fully or partially distributed, executing on different computers. However, the cost of not improving the software engineering process can be equally disastrous, since those companies that produce high-quality software efficiently will often have an enormous technical advantage based on their efficiency. This chapter describes how the software process can be improved. It lists some research issues that are considered to be important now and are likely to be in the foreseeable future. The chapter provides guidance on how to interpret the software engineering research literature. It helps to enable one should read and interpret the vast, ever-increasing literature in software engineering.