3.1 The Software Life Cycle
3.1.1 Introduction
There is a long path between recognizing the need for a product and satisfying this need. Many activities take place along this "life cycle" path, involving systems, software, and hardware designers. In an attempt to formalize the process, models have been developed describing what the process consists of and how it functions. Although these cover all aspects of system development, they have generally become known as software life cycle models. Software engineering textbooks describe these in varying degrees of detail, with such descriptions usually being quite plausible. Regrettably, many suffer from the "wish" syndrome – as in "I wish it was like this" – ignoring the realities of life. Consequently, models usually belong to one of two distinct groups – mythical and real. And, for the inexperienced engineer, it can be difficult to tell them apart on a first meeting.