Software Patterns and Architecture Under Examination Hammer: An Approach to the Consolidation of Interdisciplinary Knowledge
Creators: name: Almari, Hassan
Publisher: name: Canberra, ACT : The Australian National University
Year: 2018
Subjects: Architecting
Software Pattern (SP)
Software Architecture (SA)
and Software Architecture Evaluation (SAE)
Quality Attribute (QA)s
modelling techniques
modeling
description languages
evaluation methods
standards
Architecture frameworks
software development
and Architecture documentation

description: Software engineering is normally perceived, and even defined, based upon applicability of scientific and technical knowledge, in order to provide solutions to different challenges. The bright side of engineering concepts in general, is the continuous process of acquiring knowledge and skills needed to develop and make adjustments to various systems, in respect to helping humankind. An important phase of this process is ”Architecting”, which is the big picture of any intended systems. While good architecture leads to successful systems, bad architecture can result in misfortune. In this thesis, my proposition is to investigate, in depth, both theoretical (academic) and industry domains, regarding the way in which they treat Software Pattern (SP), Software Architecture (SA), and Software Architecture Evaluation (SAE) techniques. I argue that the process of creating, evaluating, and documenting SPs and SA with no common guidelines, standards, and frameworks, will result in unused and conflicted information within their areas, which finally will impact the software engineering field. While the employment of interdisciplinary knowledge (such as SPs, modelling techniques, description languages, evaluation methods, standards, and frameworks), could elevate SA development and validation methodologies, and increase its utilisation within the software engineering community. The goal here is to help build better systems, which could be improved by developing suitable SA, and evaluate its qualities by proper methods and tools, before further development, which should save time as well as money. Therefore, after a long process of analysing the current-state-of-the-art, I have introduced in this thesis novel findings concerning descriptions, relationships, documentation, and utilisation in relation to SA, SAE, and SPs, through employing several investigatory techniques, including comparisons between reliable references, questionnaires, field study, and case study. The investigation of SPs resulted in creating a database as a partial solution, in order to minimise their confusion within the literature, concerning their definitions, categorisations, and relationships with different quality attributes Quality Attribute (QA)s; also, to introduce the information in a proper fashion for users, which includes the required data that supports comparisons between pattern references, and to facilitate their selection processes. The issues, gaps, limitations, inconsistencies, and conflicts within current SA, QAs, and SPs discovered by this study, such as their poor description and the ignorance of them by developers during software development, has led to important recommendations, as well as suggestions for future research. The required information from different sectors (government, academia and industry) regarding SPs, SA, SAE, and modelling languages, has been gathered, and analysed through two surveys and a field study. The strong relationships and influences between the aforementioned areas were introduced and proven by a case study analysis for the Real-time Control System Real-time Control System (RCS) reference architecture, followed by introducing a conceptual paradigm that aimed to improve and generalise the Moreno et al. [2008] performance model. The outcomes from this thesis provide the basis for future work. Also, the information from different interdisciplinary knowledge merged to form new concepts for SA evaluation, which are recommended for future study.