Discover millions of ebooks, audiobooks, and so much more with a free trial

Only $11.99/month after trial. Cancel anytime.

Software Quality Assurance: In Large Scale and Complex Software-intensive Systems
Software Quality Assurance: In Large Scale and Complex Software-intensive Systems
Software Quality Assurance: In Large Scale and Complex Software-intensive Systems
Ebook843 pages122 hours

Software Quality Assurance: In Large Scale and Complex Software-intensive Systems

Rating: 5 out of 5 stars

5/5

()

Read preview

About this ebook

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.

  • 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
LanguageEnglish
Release dateOct 12, 2015
ISBN9780128025413
Software Quality Assurance: In Large Scale and Complex Software-intensive Systems

Related to Software Quality Assurance

Related ebooks

Software Development & Engineering For You

View More

Related articles

Reviews for Software Quality Assurance

Rating: 5 out of 5 stars
5/5

1 rating0 reviews

What did you think?

Tap to rate

Review must be at least 10 words

    Book preview

    Software Quality Assurance - Ivan Mistrik

    2013.

    Preface

    John Grundy, Ivan Mistrik, Nour Ali, Richard M. Soley and Bedir Tekirerdogan

    Software Quality is a critically important yet very challenging aspect of building complex software systems. This has been widely acknowledged as a fundamental issue for enterprise, web, and mobile software systems. However, assuring appropriate levels of software quality when building today (and tomorrow’s) adaptive, software-intensive and highly diverse systems is even more of a challenge. How to ensure appropriate levels of quality in agile-based processes has become a topical concern. The implications of large-scale, highly adaptive systems on quality is critical, especially with the likely emergence of the Internet of Things. In this book we collect a range of recent research and practice efforts in the Software Quality Assurance domain, with a particular focus on emerging adaptable, complex systems. We aim for this book to be useful for researchers, students and practitioners with an emphasis on both practical solutions that can be used now or in the near future but with a solid foundation of underpinning concepts and principles that will hold true for many years to come.

    Introduction

    According to Webster’s Dictionary, quality is a degree of excellence; a distinguishing attribute. That is, quality is the degree to which a software product lives up to the modifiability, availability, durability, interoperability, portability, security, predictability, and other attributes that a customer expects to receive when purchasing this product. These quality attribute drivers are the key to ensuring the quality of software-intensive systems.

    Ever since we started to develop programs for the very first computer systems, quality has been both a laudable goal but also a very challenging one to actually obtain. Software, by its very nature, is complex and multi-faceted. Systems are used in a very wide range of contexts, by a very wide range of people, for a very wide range of purposes. Thus system requirements—including quality requirements—vary tremendously. Quality may come at significant cost to build-in and maintain. However, substandard quality may come with far greater costs: correcting defects, fixing up business data or processes gone wrong, and sometimes very severe, even life-threatening consequences of lack of appropriate quality.

    Defining quality is challenging. Typically a system or system architecture is thought to have a range of quality attributes. These are often termed non-functional requirements. A great range has been developed over many decades in systems engineering. Commonly considered system quality attributes ones include safety, availability, dependability, standards compliance, scalability, and securability. When considering the design and implementation of systems, we often think in terms of reusability, modifiability, efficiency, testability, composability, and upgradability, among many others. Users of software systems are often concerned with usability, along with associated quality issues of performance, robustness and reliability. Developmental processes wish to ensure repeatability, efficiency and quality of the process itself. As software-intensive systems get larger, more complex, and more diverse, many if not all of these quality attributes become harder to ensure. With cloud-based and adaptive systems, many are emergent, that is, quality expectations and requirements change as a system is deployed, integrated with new systems, user requirements evolve, and systems of systems result.

    With the large interest and focus on complex software architectures over the past two decades, describing and ensuring software quality attributes in architecture models has become of great interest. This includes developing quality attribute metrics to enable these attributes to be measured and assessed, along with trade-off analysis where ensuring a certain level of quality on one dimension may unintentionally impact others. Again, this is especially challenging in new domains of complex mobile applications, multitenant cloud platforms, and highly adaptive systems. From a related viewpoint, how design decisions influence the quality of a system and its software architecture are important. It has been well-recognized that requirements and architecture/design decisions interplay, especially in domains where the actual deployed system architecture, components and ultimately quality attributes are unknown, or at least

    Enjoying the preview?
    Page 1 of 1