Evaluating Software Architectures

Evaluating Software Architectures
Title Evaluating Software Architectures PDF eBook
Author Paul Clements
Publisher Addison-Wesley Professional
Pages 376
Release 2002
Genre Computers
ISBN

Download Evaluating Software Architectures Book in PDF, Epub and Kindle

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.

Software Architecture in Practice

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

Download Software Architecture in Practice Book in PDF, Epub and Kindle

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

Evaluating Software Architectures
Title Evaluating Software Architectures PDF eBook
Author Paul Clements
Publisher
Pages 362
Release 2001
Genre
ISBN 9788131741771

Download Evaluating Software Architectures Book in PDF, Epub and Kindle

Quality of Software Architectures

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

Download Quality of Software Architectures Book in PDF, Epub and Kindle

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

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

Download Evaluating Software Architecture Based on Their Implemented Patterns and Tactics Book in PDF, Epub and Kindle

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.

Pragmatic Evaluation of Software Architectures

Pragmatic Evaluation of Software Architectures
Title Pragmatic Evaluation of Software Architectures PDF eBook
Author Jens Knodel
Publisher Springer
Pages 170
Release 2016-06-07
Genre Computers
ISBN 3319341774

Download Pragmatic Evaluation of Software Architectures Book in PDF, Epub and Kindle

Thorough and continuous architecting is the key to overall success in software engineering, and architecture evaluation is a crucial part of it. This book presents a pragmatic architecture evaluation approach and insights gained from its application in more than 75 projects with industrial customers in the past decade. It presents context factors, empirical data, and example cases, as well as lessons learned on mitigating the risk of change through architecture evaluation. By providing comprehensive answers to more than 100 typical questions and discussing more than 60 frequent mistakes and lessons learned, the book allows readers to not only learn how to conduct architecture evaluations and interpret its results, but also to become aware of risks such as false conclusions, manipulating data, and unsound lines of argument. It equips readers to become confident in assessing quantitative measurement results and recognize when it is better to rely on qualitative expertise. The target readership includes both practitioners and researchers. By demonstrating its impact and providing clear guidelines, data, and examples, it encourages practitioners to conduct architecture evaluations. At the same time, it offers researchers insights into industrial architecture evaluations, which serve as the basis for guiding research in this area and will inspire future research directions.

Automotive Software Architectures

Automotive Software Architectures
Title Automotive Software Architectures PDF eBook
Author Miroslaw Staron
Publisher Springer Nature
Pages 287
Release 2021-03-01
Genre Computers
ISBN 3030659399

Download Automotive Software Architectures Book in PDF, Epub and Kindle

This book introduces the concept of software architecture as one of the cornerstones of software in modern cars. Following a historical overview of the evolution of software in modern cars and a discussion of the main challenges driving that evolution, Chapter 2 describes the main architectural styles of automotive software and their use in cars’ software. Chapter 3 details this further by presenting two modern architectural styles, i.e. centralized and federated software architectures. In Chapter 4, readers will find a description of the software development processes used to develop software on the car manufacturers’ side. Chapter 5 then introduces AUTOSAR – an important standard in automotive software. Chapter 6 goes beyond simple architecture and describes the detailed design process for automotive software using Simulink, helping readers to understand how detailed design links to high-level design. The new chapter 7 reports on how machine learning is exploited in automotive software e.g. for image recognition and how both on-board and off-board learning are applied. Next, Chapter 8 presents a method for assessing the quality of the architecture – ATAM (Architecture Trade-off Analysis Method) – and provides a sample assessment, while Chapter 9 presents an alternative way of assessing the architecture, namely by using quantitative measures and indicators. Subsequently Chapter 10 dives deeper into one of the specific properties discussed in Chapter 8 – safety – and details an important standard in that area, the ISO/IEC 26262 norm. Lastly, Chapter 11 presents a set of future trends that are currently emerging and have the potential to shape automotive software engineering in the coming years. This book explores the concept of software architecture for modern cars and is intended for both beginning and advanced software designers. It mainly aims at two different groups of audience – professionals working with automotive software who need to understand concepts related to automotive architectures, and students of software engineering or related fields who need to understand the specifics of automotive software to be able to construct cars or their components. Accordingly, the book also contains a wealth of real-world examples illustrating the concepts discussed and requires no prior background in the automotive domain. Compared to the first edition, besides the two new chapters 3 and 7 there are considerable updates in chapters 5 and 8 especially.