COVID-19 Update: We are currently shipping orders daily. However, due to transit disruptions in some geographies, deliveries may be delayed. To provide all customers with timely access to content, we are offering 50% off Science and Technology Print & eBook bundle options. Terms & conditions.
Software Quality Assurance - 1st Edition - ISBN: 9780128023013, 9780128025413

Software Quality Assurance

1st Edition

In Large Scale and Complex Software-intensive Systems

Editors: Ivan Mistrik Richard Soley Nour Ali John Grundy Bedir Tekinerdogan
Paperback ISBN: 9780128023013
eBook ISBN: 9780128025413
Imprint: Morgan Kaufmann
Published Date: 12th October 2015
Page Count: 416
Sales tax will be calculated at check-out Price includes VAT/GST
Price includes VAT/GST

Institutional Subscription

Secure Checkout

Personal information is secured with SSL technology.

Free Shipping

Free global shipping
No minimum order.


Software Quality Assurance in Large Scale and Complex Software-intensive Systems presents novel and high-quality research related approaches that relate the quality of software architecture to system requirements, system architecture and enterprise-architecture, or software testing. Modern software has become complex and adaptable due to the emergence of globalization and new software technologies, devices and networks. These changes challenge both traditional software quality assurance techniques and software engineers to ensure software quality when building today (and tomorrow’s) adaptive, context-sensitive, and highly diverse applications.

This edited volume presents state of the art techniques, methodologies, tools, best practices and guidelines for software quality assurance and offers guidance for future software engineering research and practice. Each contributed chapter considers the practical application of the topic through case studies, experiments, empirical validation, or systematic comparisons with other approaches already in practice. Topics of interest include, but are not limited, to: quality attributes of system/software architectures; aligning enterprise, system, and software architecture from the point of view of total quality; design decisions and their influence on the quality of system/software architecture; methods and processes for evaluating architecture quality; quality assessment of legacy systems and third party applications; lessons learned and empirical validation of theories and frameworks on architectural quality; empirical validation and testing for assessing architecture quality.

Key Features

  • Focused on quality assurance at all levels of software design and development
  • Covers domain-specific software quality assurance issues e.g. for cloud, mobile, security, context-sensitive, mash-up and autonomic systems
  • Explains likely trade-offs from design decisions in the context of complex software system engineering and quality assurance
  • Includes practical case studies of software quality assurance for complex, adaptive and context-critical systems


Researchers, practitioners, and graduate students of software engineering and software quality assurance; also working software designers or IT managers.

Table of Contents

  • List of Contributors
  • Biography
  • Deployability
    • Release Plan
    • Moving Through the Tool Chain
    • Trade-offs
    • General Scenarios and Tactics
    • Microservices
    • Continuous Deployment
    • Roll Back
    • The Number of Quality Attributes Is Growing
    • References
  • Foreword
    • References
  • Preface
    • Introduction
    • Why a New Book on Software Quality
    • Book Outline
  • Chapter 1. Quality concerns in large-scale and complex software-intensive systems
    • Abstract
    • 1.1 Introduction
    • 1.2 Software Quality Management
    • 1.3 Software Quality Models
    • 1.4 Addressing System Qualities
    • 1.5 Assessing System Qualities
    • 1.6 Current Challenges and Future Directions of Software Quality
    • 1.7 Conclusion
    • References
  • Chapter 2. An introduction to modern software quality assurance
    • Abstract
    • 2.1 Introduction
    • 2.2 Requirement Conformance Versus Customer Satisfaction
    • 2.3 Measurement
    • 2.4 Quality Perspectives
    • 2.5 Quality Models
    • 2.6 Non-Functional Requirements
    • 2.7 Cost of Quality
    • 2.8 Verification and Validation
    • 2.9 Role of Formal Methods
    • 2.10 Role of Testing and Automated Testing
    • 2.11 Reliability
    • 2.12 Security
    • 2.13 Safety
    • 2.14 Reviews and Usability
    • 2.15 Reviews and Postmortems
    • 2.16 User Experience
    • 2.17 Social Media, Cloud Computing, and Crowdsourcing
    • 2.18 Maintenance and Change Management
    • 2.19 Defect Analysis and Process Improvement
    • 2.20 Role of Product and Process Metrics
    • 2.21 Statistical SQA
    • 2.22 Change Management
    • 2.23 Agile Development Processes
    • 2.24 Conclusions/Best Practices
    • References
  • Chapter 3. Defining software quality characteristics to facilitate software quality control and software process improvement
    • Abstract
    • 3.1 Overview
    • 3.2 Process Based Approaches to Software Quality
    • 3.3 Review of the Structure and Utility of Software Quality characterization Models
    • 3.4 Defining an Organization’s Software Quality Characterization Model
    • 3.5 Software Quality Control’s Utilization of the Quality Characterization Model
    • 3.6 SPI Utilization of the Quality Characterization Model
    • 3.7 Concluding Remarks
    • References
  • Chapter 4. Quality management and software process engineering
    • Abstract
    • 4.1 Motivation
    • 4.2 Our Notion of Process
    • 4.3 Quality Management
    • 4.4 Software Process (SP)
    • 4.5 Software Quality
    • 4.6 Quality Management Through SP Engineering
    • 4.7 Conclusion
    • References
  • Chapter 5. Architecture viewpoints for documenting architectural technical debt
    • Abstract
    • 5.1 Introduction
    • 5.2 Background and Related Work
    • 5.3 Typical Stakeholders and Concerns
    • 5.4 ATD Viewpoints
    • 5.5 Case Study
    • 5.6 Conclusions and Future Work
    • Acknowledgment
    • Appendix A ATD Concerns
    • Appendix B Viewpoint Definitions and Correspondence Rules
    • References
  • Chapter 6. Quality management and Software Product Quality Engineering
    • Abstract
    • 6.1 Limitations of the Current Software Practices
    • 6.2 Principles of Software Product Quality Engineering
    • 6.3 Case Study
    • 6.4 Conclusion
    • References
  • Chapter 7. “Filling in the blanks”: A way to improve requirements management for better estimates
    • Abstract
    • 7.1 Introduction
    • 7.2 Meeting the “Voice of the Customer”: QFD
    • 7.3 “Filling in the Blanks”: How to Further Improve Estimation Capability?
    • 7.4 Improving QFD: QF2D
    • 7.5 QF2D: Example Calculation
    • 7.6 Conclusions and Next Steps
    • References
  • Chapter 8. Investigating software modularity using class and module level metrics
    • Abstract
    • 8.1 Introduction
    • 8.2 Software Quality Measurement
    • 8.3 Software Measurement
    • 8.4 Software Modularity
    • 8.5 Coupling and Cohesion Metrics
    • 8.6 Coupling and Cohesion Metrics at Higher Levels of Granularity
    • 8.7 Coupling and Cohesion Metrics Utilized in This Study
    • 8.8 Empirical Study
    • 8.9 Objectives and Research Questions
    • 8.10 Empirical Design
    • 8.11 Results
    • 8.12 Discussion
    • 8.13 Validity and Reliability
    • 8.14 Conclusion
    • Acknowledgment
    • References
  • Chapter 9. Achieving quality on software design through test-driven development
    • Abstract
    • 9.1 Introduction
    • 9.2 Evidences on the Influence of TDD on Software Quality
    • 9.3 TDD as a Design Technique
    • 9.4 Modeling Relations with TDD
    • 9.5 Large Refactorings
    • 9.6 Combining TDD with Other Design Techniques
    • 9.7 Preparing for TDD in a Software Project
    • 9.8 Continuous Inspection
    • 9.9 Conclusions
    • References
  • Chapter 10. Architectural drift analysis using architecture reflexion viewpoint and design structure reflexion matrices
    • Abstract
    • 10.1 Introduction
    • 10.2 Reflexion Modeling
    • 10.3 Reflexion Modeling Using Software Architecture Viewpoints
    • 10.4 Reflexion Viewpoint
    • 10.5 Design Structure Matrix
    • 10.6 Design Structure Reflexion Matrix
    • 10.7 Possible Applications
    • 10.8 Conclusion
    • References
  • Chapter 11. Driving design refinement: How to optimize allocation of software development assurance or integrity requirements
    • Abstract
    • Information in This Chapter
    • 11.1 Introduction
    • 11.2 Safety Requirements in ARP4754-A
    • 11.3 The Issue of Independence in ARP4754-A
    • 11.4 Challenges in Requirements Allocation—The Research Problem
    • 11.5 Automatic Allocation of DALs
    • 11.6 Case Study: Air Wheel Braking System
    • 11.7 Conclusion and Reflection
    • References
  • Chapter 12. Model-based dependability analysis: State-of-the-art, challenges, and future outlook
    • Abstract
    • Information in This Chapter
    • 12.1 Introduction
    • 12.2 Failure Logic Synthesis and Analysis
    • 12.3 Behavioral Fault Simulation
    • 12.4 Towards Integrated Approaches
    • 12.5 Conclusions and Future Outlook
    • References
  • Chapter 13. Influences of architectural and implementation choices on CyberInfrastructure quality—a case study
    • Abstract
    • 13.1 Introduction
    • 13.2 Background on quality assurance
    • 13.3 Overview of CIs
    • 13.4 Requirements
    • 13.5 Quality Evaluation
    • 13.6 Results and Lesson Learned
    • 13.7 Conclusions
    • Acknowledgments
    • References
  • Chapter 14. Exploiting the synergies between SQA, SQC, and SPI in order for an organization to leverage Sarbanes Oxley internal control budgets
    • Abstract
    • 14.1 Total Quality Management Role Definitions for Quality Related Activities
    • 14.2 TQM for Software Development—CMMI®
    • 14.3 Opportunities and Challenges Addressed by Forming a Consolidated QPT
    • 14.4 Overview of the CMMI® Model and Document Structure
    • 14.5 Proposed QPT’s Roles and Responsibilities within CMMI®
    • 14.6 QPT Responsibilities for Validation and Verification
    • 14.7 QPT Center of Excellence Skills, Tools and Techniques Recommendations for Validation and Verification
    • 14.8 QPT Responsibilities for PPQA
    • 14.9 QPT Center of Excellence Skills, Tools and Techniques Recommendations for CMMI® PPQA
    • 14.10 Organizational Process Definition
    • 14.11 Organizational Process Focus
    • 14.12 Measurement and Analysis
    • 14.13 Causal Analysis and Resolution
    • 14.14 QPT Responsibilities for CMMI® SPI Related Process Areas
    • 14.15 QPT Center of Excellence Skills, Tools and Techniques Recommendations for CMMI® SPI Related Process Areas
    • 14.16 Potential CMMI® Role Conflicts of Interest for a Combined SQC, SQA, and SPI Team
    • 14.17 Concluding Remarks
    • References
  • Glossary
  • Author Index
  • Subject Index


No. of pages:
© Morgan Kaufmann 2015
12th October 2015
Morgan Kaufmann
Paperback ISBN:
eBook ISBN:

About the Editors

Ivan Mistrik

Ivan Mistrik is a computer scientist who is interested in system and software engineering (SE/SWE) and in system and software architecture (SA/SWA), in particular: life cycle system/software engineering, requirements engineering, relating software requirements and architectures, knowledge management in software development, rationale-based software development, aligning enterprise/system/software architectures, and collaborative system/software engineering. He has more than forty years’ experience in the field of computer systems engineering as an information systems developer, R&D leader, SE/SA research analyst, educator in computer sciences, and ICT management consultant.

In the past 40 years, he has been primarily working at various R&D institutions and has done consulting on a variety of large international projects sponsored by ESA, EU, NASA, NATO, and UN. He has also taught university-level computer sciences courses in software engineering, software architecture, distributed information systems, and human-computer interaction. He is the author or co-author of more than 80 articles and papers in international journals, conferences, books and workshops, most recently a chapter Capture of Software Requirements and Rationale through Collaborative Software Development, a paper Knowledge Management in the Global Software Engineering Environment, and a paper Architectural Knowledge Management in Global Software Development.

He has written a number of editorials and prefaces, most recently for the book on Aligning Enterprise, System, and Software Architecture and the book on Agile Software Architecture. He has also written over 120 technical reports and presented over 70 scientific/technical talks. He has served in many program committees and panels of reputable international conferences and organized a number of scientific workshops, most recently two workshops on Knowledge Engineering in Global Software and Development at International Conference on Global Software Engineering 2009 and 2010 and IEEE International Workshop on the Future of Software Engineering for/in the Cloud (FoSEC) held in conjunction with IEEE Cloud 2011.He has been the guest-editor of IEE Proceedings Software: A special Issue on Relating Software Requirements and Architectures published by IEE in 2005 and the lead-editor of the book Rationale Management in Software Engineering published by Springer in 2006. He has been the co-author of the book Rationale-Based Software Engineering published by Springer in May 2008. He has been the lead-editor of the book Collaborative Software Engineering published by Springer in 2010, the book on Relating Software Requirements and Architectures published by Springer in 2011 and the lead-editor of the book on Aligning Enterprise, System, and Software Architectures published by IGI Global in 2012. He was the lead-editor of the Expert Systems Special Issue on Knowledge Engineering in Global Software Development and the co-editor of the JSS Special Issue on the Future of Software Engineering for/in the Cloud, both published in 2013. He was the co-editor for the book on Agile Software Architecture published in 2013. Currently, he is the lead-editor for the book on Economics-driven Software Architecture to be published in 2014.

Affiliations and Expertise

Systems Engineering Researcher/Consultant, Heidelberg, Germany

Richard Soley

Richard M Soley is Chairman and Chief Executive Officer of OMG ®. As Chairman and CEO of OMG, Dr. Soley is responsible for the vision and direction of the world's largest consortium of its type. Dr. Soley joined the nascent OMG as Technical Director in 1989, leading the development of OMG's world-leading standardization process and the original CORBA® specification. In 1996, he led the effort to move into vertical market standards (starting with healthcare, finance, telecommunications and manufacturing) and modeling, leading first to the Unified Modeling Language TM (UML®) and later the Model Driven Architecture® (MDA®).

Affiliations and Expertise

Chairman and Chief Executive Officer of OMG ®, US

Nour Ali

Nour Ali is a Senior Lecturer at the University of Brighton since December, 2012. She holds a PhD in Software Engineering from the Polytechnic University of Valencia-Spain for her work in Ambients in Aspect-Oriented Software Architecture. Her research area encompasses service oriented architecture, software architecture, model driven engineering and mobile systems. In 2014, the University of Brighton have awarded her a Rising Stars project in Service Oriented Architecture Recovery and Consistency.

Affiliations and Expertise

Senior Lecturer, University of Brighton, UK

John Grundy

John Grundy is Professor of Software Engineering, Dean of Software and Electrical Engineering and Director of the Centre for Computing and Engineering Software Systems at the Swinburne University of Technology. Previously he was Professor of Software Engineering and Head of Department for Electrical and Computer Engineering at the University of Auckland, New Zealand. He is Assistant Editor in Chief of IEEE Transactions on Software Engineering, and Associate Editor for IEEE Software and Automated Software Engineering. He is on the Steering Committee of the IEEE/ACM International Conference on Automated Software Engineering.

Affiliations and Expertise

Pro Vice-Chancellor — ICT Innovation & Translation and Professor of Software Engineering, School of Information Technology, Faculty of Science Engineering & Built Environment, Deakin University, Australia

Bedir Tekinerdogan

Bedir Tekinerdogan is a full professor and chair of the Information Technology group at Wageningen University in The Netherlands. He received his MSc degree (1994) and a PhD degree (2000) in Computer Science, both from the University of Twente, The Netherlands. From 2003 until 2008 he was a faculty member at University of Twente, after which he joined Bilkent University until 2015. He has more than 20 years of experience in software engineering research and education. His main research includes the engineering of smart software-intensive systems. In particular, he has focused on and is interested in software architecture design, software product line engineering, model-driven development, parallel computing, cloud computing and system of systems engineering. He has been active in dozens of national and international research and consultancy projects with various large software companies whereby he has worked as a principal researcher and leading software/system architect. He has developed and taught more than 15 different academic software engineering courses and has provided software engineering courses to more than 50 companies in The Netherlands, Germany and Turkey.

Affiliations and Expertise

Full Professor, Information Technology Group, Wageningen University & Research, The Netherlands

Ratings and Reviews