Profile
International Journal of Computer & Software Engineering Volume 4 (2019), Article ID 4:IJCSE-144, 17 pages
https://doi.org/10.15344/2456-4451/2019/144
Research Article
Functional Angels and Quality Devils: Incorporating Quality Scenarios into Functional Scenarios for Software-intensive System Architecture

Amir Tomer

Department of Software Engineering, Achi Racov School of Engineering Kinneret Academic College on the Sea of Galilee Jordan Valley, Israel
Prof. Amir Tomer, Department of Software Engineering, Achi Racov School of Engineering, Kinneret Academic College on the Sea of Galilee, Jordan Valley, Israel; E-mail: tomera@mx.kinneret.ac.il
04 February 2019; 01 April 2019; 03 April 2019
Tomer A (2019) Functional Angels and Quality Devils: Incorporating Quality Scenarios into Functional Scenarios for Software-intensive System Architecture. Int J Comput Softw Eng 4: 144. doi: https://doi.org/10.15344/2456-4451/2019/144

Abstract

Software architecture design is intended to propose a software-intensive architectural solution for a required system. As such, the architecture needs to address all the required functionality while satisfying all the required quality attributes, which are usually referred to as the non-functional requirements. Therefore, a major concern of the software architecture is its behavior, besides its structure. Softwareintensive system specifications tend to be functional in nature, focusing on its behavior, i.e. what is expected to be done by the system, whereas quality attributes, which usually describe other properties of the system (e.g. performance, availability, safety, etc.) are, in many cases, described in general terms, and sometimes even being overlooked. The immediate result is that the software architecture, both behavioral and structural, fails to address quality issues - whose absence is discovered only in late stages of system verification, validation or operation.

This paper introduces a two-phase process by which a software-intensive architecture is constructed, satisfying both functional and non-functional requirements. In the first phase an initial architecture is constructed, comprising its physical, functional, combined and behavioral views. In the second phase a systematic approach is introduced to discover overlooked quality attributes of a system which might be violated during its operational (functional) scenarios. In this approach, quality attributes play the role of "devil's advocates", challenging the functionality by suggesting what can go wrong while the system performs its functional scenarios. Such challenges yield two results: (1) new "quality scenarios", which describe how the system should behave in order to prohibit a fault from causing a failure, and (2) modifications to the entire architecture needed to support the newly-derived functionality.