Architecturally Significant Requirements Identification, Classification and Change Management for Multi-tenant Cloud-Based Systems

Muhammad Aufeef Chauhan, Christian W. Probst

Research output: Chapter in Book/Report/Conference proceedingBook chapterResearchpeer-review

Abstract

Involvement of numerous stakeholders in cloud-based systems’ design and usage with varying degrees of nonfunctional requirements makes Architecturally Significant Requirements (ASRs) identification and management a challenge undertaking. The aim of the research presented in this chapter is to identify different types of design-time and run-time ASRs of the cloud-based systems, provide an ASRs classification scheme and present a framework to manage the requirements’ variability during life cycle of the cloud-based systems. We have used a multifaceted research approach to address the ASRs identification, classification, and change management challenges. We have explored findings from systematic as well as structured reviews of the literature on quality requirements of the cloud-based systems including but not limited to security, availability, scalability, privacy, and multi-tenancy. We have presented a framework for requirements classification and change management focusing on distributed Platform as a Service (PaaS) and Software as a Service (SaaS) systems as well as complex software ecosystems that are built using PaaS and SaaS, such as Tools as a Service (TaaS). We have demonstrated applicability of the framework on a selected set of the requirements for the cloud-based systems. The results of the research presented in this chapter show that key quality requirements of the cloud-based systems, for example, multi-tenancy and security, have a significant impact on how other quality requirements (such as scalability, reliability, and interoperability) are handled in the overall architecture design of a cloud-based system. It is important to distinguish tenant-specific run-time architecturally significant quality requirements and corresponding cloud-based systems’ components so that run-time status of the tenant-specific architecture quality requirements can be monitored and system configurations can be adjusted accordingly. For the systems that can be used by multiple tenants, the requirements change management framework should consider if the addition or modification (triggered by a specific tenant) of a quality requirement can impact quality requirements of other tenants, and whether or not a trade-off point should be introduced in the architecture (corresponding to the requirements). The trade-off point can also be referred as a variability point, that is, a compromise has to be made among the number of quality requirements and only some of the requirements can be satisfied. System analysts and software architects can use the proposed taxonomy and the management framework for identifying relevant quality requirements for multi-tenant cloud-based systems, for analyzing impact of changes in the requirements on the overall system architecture, and for managing variability of the architecturally significant requirements.
Original languageEnglish
Title of host publicationRequirements Engineering for Service and Cloud Computing
PublisherSpringer
Publication date2017
Pages181-205
Chapter8
ISBN (Print)9783319513096
DOIs
Publication statusPublished - 2017
SeriesRequirements Engineering for Service and Cloud Computing

Keywords

  • Computer Science
  • Computer Communication Networks
  • Software Engineering
  • Business Process Management
  • Cloud computing
  • Platform as a service (PaaS)
  • Software as a service (SaaS)
  • Architecturally significant requirements (ARSs)
  • Requirements classification
  • Requirements change management
  • Architecture quality

Fingerprint

Dive into the research topics of 'Architecturally Significant Requirements Identification, Classification and Change Management for Multi-tenant Cloud-Based Systems'. Together they form a unique fingerprint.

Cite this