Page 26 -
P. 26

PREFACE




                                    hen a computer software succeeds—when it meets the needs of the people
                              Wwho use it, when it performs flawlessly over a long period of time, when it is
                              easy to modify and even easier to use—it can and does change things for the better.
                              But when software fails—when its users are dissatisfied, when it is error prone, when
                              it is difficult to change and even harder to use—bad things can and do happen. We
                              all want to build software that makes things better, avoiding the bad things that lurk
                              in the shadow of failed efforts. To succeed, we need discipline when software is
                              designed and built. We need an engineering approach.
                                In the 20 years since the first edition of this book was written, software engineer-
                              ing has evolved from an obscure idea practiced by a relatively small number of zealots
                              to a legitimate engineering discipline. Today, it is recognized as a subject worthy of
                              serious research, conscientious study, and tumultuous debate. Throughout the indus-
                              try, software engineer has replaced programmer as the job title of preference. Software
                              process models, software engineering methods, and software tools have been adopted
                              successfully across a broad spectrum of industry applications.
                                Although managers and practitioners alike recognize the need for a more disci-
                              plined approach to software, they continue to debate the manner in which discipline
                              is to be applied. Many individuals and companies still develop software haphazardly,
                              even as they build systems to service the most advanced technologies of the day.
                              Many professionals and students are unaware of modern methods. And as a result,
                              the quality of the software that we produce suffers and bad things happen. In addi-
                              tion, debate and controversy about the true nature of the software engineering
                              approach continue. The status of software engineering is a study in contrasts. Atti-
                              tudes have changed, progress has been made, but much remains to be done before
                              the discipline reaches full maturity.
                                The fifth edition of Software Engineering: A Practitioner's Approach is intended to
                              serve as a guide to a maturing engineering discipline. The fifth edition, like the four
                              editions that preceded it, is intended for both students and practitioners, retaining its
                              appeal as a guide to the industry professional and a comprehensive introduction to
                              the student at the upper level undergraduate or first year graduate level. The format
                              and style of the fifth edition have undergone significant change, making the presen-
                              tation more reader-friendly and the content more easily accessible.
                                The fifth edition is considerably more than a simple update. The book has been
                              revised to accommodate the dramatic growth in the field and to emphasize new and
                              important software engineering practices. In addition, a comprehensive Web site has
                              been developed to complement the content of the book. The Web site, which I call



                                                                                                xxv
   21   22   23   24   25   26   27   28   29   30   31