Book Description
Software engineering is playing an increasingly significant role in computing and informatics, necessitated by the complexities inherent in large-scale software development. To deal with these difficulties, the conventional life-cycle approaches to software engineering are now giving way to the "process system" approach, encompassing development methods, infrastructure, organization, and management. Until now, however, no book fully addressed process-based software engineering or set forth a fundamental theory and framework of software engineering processes. Software Engineering Processes: Principles and Applications does just that. Within a unified framework, this book presents a comparative analysis of current process models and formally describes their algorithms. It systematically enables comparison between current models, avoidance of ambiguity in application, and simplification of manipulation for practitioners. The authors address a broad range of topics within process-based software engineering and the fundamental theories and philosophies behind them. They develop a software engineering process reference model (SEPRM) to show how to solve the problems of different process domains, orientations, structures, taxonomies, and methods. They derive a set of process benchmarks-based on a series of international surveys-that support validation of the SEPRM model. Based on their SEPRM model and the unified process theory, they demonstrate that current process models can be integrated and their assessment results can be transformed between each other. Software development is no longer just a black art or laboratory activity. It is an industrialized process that requires the skills not just of programmers, but of organization and project managers and quality assurance specialists. Software Engineering Processes: Principles and Applications is the key to understanding, using, and improving upon effective engineering procedures for software development.