SOFTWARE ENGINEERING ESSENTIALS Volume I: The Development Process FOURTH EDITION A multi- text software engineering course or courses (based on the 2013 IEEE SWEBOK) for undergraduate and graduate university students A self-teaching IEEE CSDP/CADA certificate exam training course based on the Computer Society’s CSDP exam specifications These software engineering books serves two separate but connected audiences and roles: 1. Software engineers who wish to study for and pass either or both of the IEEE Computer Society’s software engineering certification exams. The Certified Software Development Professional (CSDP) and is awarded to software engineers who have 5 to 7 years of software development experience and pass the CSDP exam. This certification was instituted in 2001 and establishes that the certificate holder is a competent software engineer in most areas of software engineering such as: • Software project manager • Software developer • Software configuration manager • Software quality-assurance expert • Software test lead • And so forth The other certificate is for recent software engineering graduates or self-taught software engineers and is designated Certified Software Development Associate (CDSA). The CSDA also requires passing an exam, but does not require any professional experience. 2. University students who are taking (or reading) a BS or MS degree in software engineering, or practicing software engineers who want to update their knowledge. This book was written as a guide to help software engineers take and pass the IEEE CSDP exam. However several reviewers commented that this book would also make a good university text book for a undergraduate or graduate course in software engineering. So the original books were modified to be applicable to both tasks. The SWEBOK (Software Engineering Body of Knowledge) is a major milestone in the development and publicity of software engineering technology. However it needs to be noted that SWEBOK was NOT developed as a software engineering tutorial or textbook. The SWEBOK is intended to catalog software engineering concepts, not teach them. The new, three-volume, fourth edition, Software Engineering Essentials, by Drs. Richard Hall Thayer and Merlin Dorfman attempts to fill this void (you are now reading Volume I). This new software engineering text expands on and replaces the earlier two-volume, third-edition, Software Engineering books which was also written by Thayer and Dorfman and published by the IEEE Computer Society Press . These new Volumes I and II offer a complete and detailed overview of software engineering as defined in IEEE SWEBOK 2013. These books provide a thorough analysis of software development in requirements analysis, design, coding, testing, and maintenance, plus the supporting processes of configuration management, quality assurance, verification and validation, and reviews and audits. To keep up with evolution of the software industry (as expressed through evolution of the SWEBOK Guide, CSDP/CSDA, and the curriculum guidelines) a third volume in the Soft-ware Engineering series is needed. This third volume contains: • Software Engineering Measurements • Software Engineering Economics • Computer Foundations • Mathematics Foundations • Engineering Foundations This three-volume, Software Engineering Essentials series, provides an overview snapshot of the software state of the practice in a form that is a lot easier to digest than the SWEBOK Guide. The three-volume set is also a valuable reference (useful well beyond undergraduate and graduate software engineering university programs) that provides a concise survey of the depth and breadth of software engineering. These new KAs exist so that software engineers can demonstrate a mastery of scientific technology and engineering. This is in answer to the criticism of software engineering that it does not contain enough engineering to qualify it as an engineering discipline.