Verification and Validation of Modern Software-Intensive Systems brings the classic approaches up to date to apply them to contemporary computing methods. Based on the latest standards and research, the authors cover V&V for areas that have not been previously treated collectively, including:
Client/server networks, Internet and intranet applications
Object orientation, knowledge-based systems, and rapid application development
Graphical User Interface (GUI) development, usability
Development processes are also incorporated into the V&V methodology, with an emphasis on the most common life cycle models, the use of CASE tools, and project management using Integrated Product Teams. Case studies offer real-life examples of V&V at work.
Review By: Thomas Burke 07/08/2010This book brings the traditional concepts of verification and validation (V & V) up to date by covering new technical areas such as client/server networks, the Internet, object-oriented software, rapid application development, data warehousing, and GUI usability. The authors have successfully created a great reference book for the concepts of V & V that addresses the software development and testing processes.
They start out by going over the V & V concepts. Specifically, verification answers the question, "Did we build the right thing?" and validation answers the question, "Did we build it right?” The goal is to ensure the application meets the requirement specifications and was developed in the most efficient and effective method possible. V & V is a collection of analysis methods and tools that an analyst can select from to pursue the goal of finding deficiencies and potential risks. V & V has been around for a long time and was mainly used in mission-critical systems within the space program and the Department of Defense.
The first few chapters introduce V & V to the reader along with various processes, models, standards, tools, and methodologies. I got a lot out of chapter 2, which explains the various development lifecycle models and how V & V fits into each model. Some of the models discussed include waterfall, build model, ISO 12207, spiral, and fourth generation.
The greatest value of this book is the introduction of V & V to the current technologies in use. There are separate chapters on object-oriented methods, rapid application development, GUI development, client/server networks, knowledge-based systems, Internet, and data warehousing. A valuable aspect of the book is that each of these chapters contains the traditional V & V methods as well as contemporary methods that relate more to real-world application development. If you are familiar with V & V you can go right to any of these chapters and learn about how V & V fits into the new technology, and as a bonus you may also learn something new about these technologies.
This is a well-written book that can be used in any college-level software development class. It is very well referenced and up-to-date. It is organized in such a way that the reader can go to any chapter of interest and learn a lot without having to read all of the previous chapters. Each chapter is self-contained. There is a good section on acronyms in the appendix, which is very useful when reading about the various technologies discussed in the book.
V & V is a key component to any quality assurance program. Its core principle is the use of continuous improvement. The authors describe the capability maturity model (CMM) as well as the concept of test maturity model (TMM).
Metrics is a major discussion point in V & V. The authors are big believers in Statistical Process Control (SPC) and offer a lot of tips and solutions regarding metrics gathering and control charts. The authors encourage integrated product teams and have dedicated a whole chapter to this. There is also a chapter dedicated to project management and the role of V & V. There is a great management methods chart in that chapter that describes which methods to use for various technologies. The authors include a number of valuable charts and checklists throughout the book.
No serious QA shop should be without this book. It is a must-read for any QA person studying to become certified. The book is also intended for developers and project managers.