O'Reilly logo

Software Engineering: Principles and Practice by Hans van Vliet

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

Part II. The Software Life Cycle

When designing a garden, you begin by formulating your requirements – how large should the grass area be? should you leave a corner to raise potatoes? where should the sand-bin be put? do the requirements interfere with future maintenance work on the house (!)? etc. After that, a design is drawn up, which is carefully documented in a blueprint. Only then will the gardener cut the first sod.

A similar approach is followed when developing software. In a number of phases – requirements engineering, design, implementation, and testing – the software system will take shape. After the software is delivered to the client, it must be maintained. Reiteration of phases occurs because changes have to be incorporated and errors must be corrected. The result is a highly cyclical process, the 'software life cycle'.

The various phases of the initial development cycle are the topics of Chapters 913, and Chapter 14 is devoted to software maintenance. In each phase, modeling techniques are used to represent the results of that phase. A sample of well-known modeling techniques is discussed in Chapter 10. In each phase, also, tools are employed. The main classes of tools and their role in the software development process are discussed in Chapter 15.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required