Evaluating Software Architectures
Title | Evaluating Software Architectures PDF eBook |
Author | Paul Clements |
Publisher | Addison-Wesley Professional |
Pages | 376 |
Release | 2002 |
Genre | Computers |
ISBN |
The foundation of any software system is its architecture. Using this book, you can evaluate every aspect of architecture in advance, at remarkably low cost -- identifying improvements that can dramatically improve any system's performance, security, reliability, and maintainability. As the practice of software architecture has matured, it has become possible to identify causal connections between architectural design decisions and the qualities and properties that result downstream in the systems that follow from them. This book shows how, offering step-by-step guidance, as well as detailed practical examples -- complete with sample artifacts reflective of those that evaluators will encounter. The techniques presented here are applicable not only to software architectures, but also to system architectures encompassing computing hardware, networking equipment, and other elements. For all software architects, software engineers, developers, IT managers, and others responsible for creating, evaluating, or implementing software architectures.
Evaluating Software Architectures
Title | Evaluating Software Architectures PDF eBook |
Author | Clements |
Publisher | Pearson Education India |
Pages | 364 |
Release | 2002-09 |
Genre | |
ISBN | 9788131715925 |
This Book Describes Systematic Methods For Evaluating Software Architectures And Applies Them To Real-Life Cases. Evaluating Software Architectures Introduces The Conceptual Background For Architecture Evaluation And Provides A Step-By-Step Guide To The Process Based On Numerous Evaluations Performed In Government And Industry.
Evaluating Software Architectures
Title | Evaluating Software Architectures PDF eBook |
Author | Paul Clements |
Publisher | |
Pages | 323 |
Release | 2004 |
Genre | |
ISBN |
Software Architecture in Practice
Title | Software Architecture in Practice PDF eBook |
Author | Len Bass |
Publisher | Addison-Wesley Professional |
Pages | 572 |
Release | 2003 |
Genre | Computers |
ISBN | 9780321154958 |
This is the eagerly-anticipated revision to one of the seminal books in the field of software architecture which clearly defines and explains the topic.
Evaluating Software Architectures
Title | Evaluating Software Architectures PDF eBook |
Author | Paul Clements |
Publisher | |
Pages | 362 |
Release | 2001 |
Genre | |
ISBN | 9788131741771 |
Quality of Software Architectures
Title | Quality of Software Architectures PDF eBook |
Author | Christine Hofmeister |
Publisher | Springer Science & Business Media |
Pages | 224 |
Release | 2006-12-07 |
Genre | Computers |
ISBN | 3540488197 |
This book constitutes the thoroughly refereed post-proceedings of the Second International Conference on the Quality of Software Architectures, QoSA 2006, held in Västerås, Sweden in June 2006, co-located with the 9th International Symposium on Component-Based Software Engineering, CBSE 2006. Coverage includes architecture evaluation, managing and applying architectural knowledge, and processes for supporting architecture quality.
Evaluating Software Architecture Based on Their Implemented Patterns and Tactics
Title | Evaluating Software Architecture Based on Their Implemented Patterns and Tactics PDF eBook |
Author | Hind Ahmad Ismail Bani Milhem |
Publisher | |
Pages | |
Release | 2020 |
Genre | |
ISBN |
Context: Software architecture plays a critical role in achieving system quality attributes. Therefore, evaluating a system's architecture with regard to desired quality requirements is very important. Architecture evaluation is an approach for assessing whether a software architecture can support the system needs, especially its quality attributes. Software architecture evaluation methods have been developed based on various characteristics and criteria such as the previous experience and domain knowledge of architects or developers, mathematical methods, features and scenarios, and testing. However, these methods may not be sufficient to reliably analyze certain quality attributes (i.e. performance, availability, and reliability). These methods also put little consideration on the architectural patterns and tactics used in the implementation, and the importance values of the desired quality attributes. Objectives: This thesis proposes an architecture evaluation approach that considers satisfaction values of the quality attributes (Non-Functional Requirements) by the implemented patterns and tactics. The main objectives of this thesis are to provide: • A way to connect a software implementation to quality attributes to support a software architecture evaluation based on its implemented architectural patterns and tactics. The evaluation considers the importance values of the quality attributes. • Software architectures model in terms of their implemented architectural patterns and tactics taking into consideration the overlaps between the architectural patterns and tactics, and the importance values of the quality attributes. Such a model would provide a rationale about the satisfaction levels of given quality attributes and their trade-offs. Method: In this thesis, I extract the implemented architectural patterns and tactics from a software architecture's source code and document them to connect the software architecture to quality requirements. I use a tool called Archie to extract the implemented architectural patterns/tactics from software. I then document and model the patterns/tactics implemented by a software architecture and their impact on quality attributes using the Goal-oriented Requirements Language (GRL). Furthermore, I evaluate the GRL model of a software architecture by applying GRL/jUCMNav evaluation strategies to get the satisfaction values of the quality attributes. I validate the applicability and feasibility of our approach by applying it to different case studies from different contexts (big data systems, the healthcare system of systems, and build-automation systems). I compare the inferred quality attributes such as reliability, availability, performance, etc. to benchmark comparison results from the literature, and existing evaluation approaches. Results: The satisfaction levels of the quality requirements by a set of architectural patterns and tactics of a software architecture, integrated with other criteria such as the importance values of the quality requirements, provide architects with a tool for evaluating different software architectures and documenting their rationale for assessing a software architecture. The three case studies show that our approach can be used to evaluate multiple software architectures and therefore, to identify strengths and weaknesses in different alternatives (i.e. alternative architectures, frameworks) and choose among them during the early design stages (i.e. cyber fusion center case study). Furthermore, it can be used to analyze, understand, and evaluate an existing implementation before future maintenance (i.e. HSH-SoS architecture case study). Additionally, our approach can be used to compare several implementations, based on specific quality attributes (i.e. Gradle and Maven case study). Finally, the modeling artifact should also enable faster evaluation with less efforts compared to the manual inspection of the source code and documentation of a software architecture.