World Headquarters
Jones & Bartlett Learning
25 Mall Road
Burlington, MA 01803
978-443-5000
www.jblearning.com
Jones & Bartlett Learning books and products are available through most bookstores and online booksellers. To contact Jones & Bartlett Learning directly, call 800-832-0034, fax 978-443-8000, or visit our website, www.jblearning.com.
Substantial discounts on bulk quantities of Jones & Bartlett Learning publications are available to corporations, professional associations, and other qualified organizations. For details and specific discount information, contact the special sales department at Jones & Bartlett Learning via the above contact information or send an email to .
Copyright 2023 by Jones & Bartlett Learning, LLC, an Ascend Learning Company
All rights reserved. No part of the material protected by this copyright may be reproduced or utilized in any form, electronic or mechanical, including photocopying, recording, or by any information storage and retrieval system, without written permission from the copyright owner.
The content, statements, views, and opinions herein are the sole expression of the respective authors and not that of Jones & Bartlett Learning, LLC. Reference herein to any specific commercial product, process, or service by trade name, trademark, manufacturer, or otherwise does not constitute or imply its endorsement or recommendation by Jones & Bartlett Learning, LLC and such reference shall not be used for advertising or product endorsement purposes. All trademarks displayed are the trademarks of the parties noted herein. Essentials of Software Engineering, Fifth Edition is an independent publication and has not been authorized, sponsored, or otherwise approved by the owners of the trademarks or service marks referenced in this product.
There may be images in this book that feature models; these models do not necessarily endorse, represent, or participate in the activities represented in the images. Any screenshots in this product are for educational and instructive purposes only. Any individuals and scenarios featured in the case studies throughout this product may be real or fictitious but are used for instructional purposes only.
37618-0
Production Credits
Vice President, Product Management: Marisa R. Urbano
Vice President, Product Operations: Christine Emerton
Content Coordinator: Mark Restuccia
Product Manager: Ned Hinman
Director, Content Management: Donna Gridley
Manager, Content Strategy: Carolyn Pershouse
Content Strategist: Melissa Duffy
Director, Project Management and Content Services: Karen Scott
Project Manager: Jessica deMartin
Project Specialist: Lori Weidert
Senior Digital Project Specialist: Angela Dooley
Marketing Manager: Suzy Balk
Composition: Straive
Project Management: Straive
Cover Design: Briana Yates
Media Development Editor: Faith Brosnan
Rights Specialist: James Fortney
Cover Image (Title Page, Part Opener, Chapter Opener): Zally23/Shutterstock
Printing and Binding: PA Hutchison Company
Library of Congress Cataloging-in-Publication Data
Names: Tsui, Frank F., author. | Bernal, Barbara, author. | Karam, Orlando, author.
Title: Essentials of software engineering / Frank Tsui, Kennesaw State University, Barbara Bernal, Southern Polytechnic State University (now retired), Orlando, Karam.
Description: Fifth edition. | Burlington : Jones & Bartlett Learning, 2022. | Includes bibliographical references and index. | Summary: The basic concepts and theories of software engineering have stabilized considerably from the early days of thirty to forty years ago. Nevertheless, the technology and tools continue to evolve, expand and improve every four to five years. In this fifth edition, we will cover some of these newly established improvements in technology and tools but reduce some areas, such as process assessment models, that is becoming less relevant today. We will still maintain many of the historically important concepts that formed the foundation to this field, such as the traditional process models. Our goal is to continue to keep the content of this book to a concise amount that can be taught in a 16-week semester introductory course Provided by publisher.
Identifiers: LCCN 2021032440 | ISBN 9781284228991 (paperback)
Subjects: LCSH: Software engineering.
Classification: LCC QA76.758 .T78 2022 | DDC 005.1dc23
LC record available at https://lccn.loc.gov/20210324406048
Printed in the United States of America
262524232210987654321
Contents
Chapter opener image: Zally23/Shutterstock
PREFACE
Chapter opener image: Zally23/Shutterstock
Essentials of Software Engineering was born from our experiences in teaching introductory material on software engineering. Although there are many books on this topic available in the market, few serve the purpose of introducing only the core material for a one-semester course that meets approximately three hours a week for sixteen weeks. With the proliferation of small web applications, many new information technology personnel have entered the field of software engineering without fully understanding what it entails. This book is intended to serve both new students with limited experience as well as experienced information technology professionals who are contemplating a new career in the software engineering discipline. The complete life cycle of a software system is covered in this book, from inception to release and through support.
The content of this book has also been shaped by our personal experiences and backgroundsone author has more than twenty-five years in building, supporting, and managing large and complex mission-critical software with companies such as IBM, Blue Cross Blue Shield, MARCAM, and RCA; another author has experience involving extensive expertise in constructing smaller software with Agile methods at companies such as Microsoft and Amazon; and the third author is bilingual and has broad software engineering teaching experiences with both U.S. college students and non-U.S. Spanish-speaking students.
Although new ideas and technology will continue to emerge and some of the principles introduced in this book may have to be updated, we believe that the underlying and fundamental concepts we present here will remain.
Preface to the Fifth Edition
The basic concepts and theories of software engineering have stabilized considerably from the early days of thirty to forty years ago. Nevertheless, the technology and tools continue to evolve, expand, and improve every four to five years. In this fifth edition, we cover some of these newly established improvements in technology and tools but reduce some areas, such as process assessment models, that are becoming less relevant today. We will still maintain many of the historically important concepts that formed the foundation to this field, such as the traditional process models. Our goal is to continue to keep the content of this book to a concise amount that can be taught in a sixteen-week semester introductory course. The major modifications to this fifth edition are as follows