System Quality and Software Architecture collects state-of-the-art knowledge on how to intertwine software quality requirements with software architecture and how quality attributes are exhibited by the architecture of the system. Contributions from leading researchers and industry evangelists detail the techniques required to achieve quality management in software architecting, and the best way to apply these techniques effectively in various application domains (especially in cloud, mobile and ultra-large-scale/internet-scale architecture) Taken together, these approaches show how to assess the value of total quality management in a software development process, with an emphasis on architecture.
The book explains how to improve system quality with focus on attributes such as usability, maintainability, flexibility, reliability, reusability, agility, interoperability, performance, and more. It discusses the importance of clear requirements, describes patterns and tradeoffs that can influence quality, and metrics for quality assessment and overall system analysis. The last section of the book leverages practical experience and evidence to look ahead at the challenges faced by organizations in capturing and realizing quality requirements, and explores the basis of future work in this area.
- Explains how design decisions and method selection influence overall system quality, and lessons learned from theories and frameworks on architectural quality
- Shows how to align enterprise, system, and software architecture for total quality
- Includes case studies, experiments, empirical validation, and systematic comparisons with other approaches already in practice.
Preface Chapter 1: Introduction to Relating System Quality and Software Architecture Part I: Human-Centric Evaluation for Systems Qualities and Software Architecture Chapter 2: Exploring How the Attribute Driven Design Method is Perceived Chapter 3: Harmonizing the Quality View of Stakeholders Chapter 4: Optimizing Functional and Quality Requirements according to Stakeholder's Goals
Part II: Analysis, Monitoring and Control of Software Architecture for System Qualities Chapter 5: Hasard: A Model-Based Method for Quality Analysis of Software Architecture Chapter 6: Lightweight Evaluation of Software Architecture Decisions Chapter 7: A Rule-Based Approach to Architecture Conformance: Checking as a Quality Management Measure Chapter 8: Dashboards for Continuous Monitoring of Product Development Quality Progress
Part III: Domain-Specific Software Architecture and Software Qualities Chapter 9: Achieving Quality in Customer-Configurable Products Chapter 10: Archample: Architectural Analysis Approach for Multiple Product Line Engineering Chapter 11: Quality Attributes when Architecting Medical Planning and Simulation Systems Chapter 12: Addressing Usability Requirements in Mobile Software Development Chapter 13: Understanding Quality Requirements Engineering in Contract-based Projects from the Perspective of Software Architects: an Exploratory Study
Ivan Mistrik is a computer scientist who is interested in system and software engineering (SE/SWE) and in system and software architecture (SA/SWA), in particular: life cycle system/software engineering, requirements engineering, relating software requirements and architectures, knowledge management in software development, rationale-based software development, aligning enterprise/system/software architectures, and collaborative system/software engineering. He has more than forty years' experience in the field of computer systems engineering as an information systems developer, R&D leader, SE/SA research analyst, educator in computer sciences, and ICT management consultant.
In the past 40 years, he has been primarily working at various R&D institutions and has done consulting on a variety of large international projects sponsored by ESA, EU, NASA, NATO, and UN. He has also taught university-level computer sciences courses in software engineering, software architecture, distributed information systems, and human-computer interaction. He is the author or co-author of more than 80 articles and papers in international journals, conferences, books and workshops, most recently a chapter Capture of Software Requirements and Rationale through Collaborative Software Development, a paper Knowledge Management in the Global Software Engineering Environment, and a paper Architectural Knowledge Management in Global Software Development.
He has written a number of editorials and prefaces, most recently for the book on Aligning Enterprise, System, and Software Architecture and the book on Agile Software Architecture. He has also written over 120 technical reports and presented over 70 scientific/technical talks. He has served in many program committees and panels of reputable international conferences and organized a number of scientific workshops, most recently two workshops on Knowledge Engineering in Global Software and Development at International Conference on Global Software Engineering 2009 and 2010 and IEEE International Workshop on the Future of Software Engineering for/in the Cloud (FoSEC) held in conjunction with IEEE Cloud 2011.He has been the guest-editor of IEE Proceedings Software: A special Issue on Relating Software Requirements and Architectures published by IEE in 2005 and the lead-editor of the book Rationale Management in Software Engineering published by Springer in 2006. He has been the co-author of the book Rationale-Based Software Engineering published by Springer in May 2008. He has been the lead-editor of the book Collaborative Software Engineering published by Springer in 2010, the book on Relating Software Requirements and Architectures published by Springer in 2011 and the lead-editor of the book on Aligning Enterprise, System, and Software Architectures published by IGI Global in 2012. He was the lead-editor of the Expert Systems Special Issue on Knowledge Engineering in Global Software Development and the co-editor of the JSS Special Issue on the Future of Software Engineering for/in the Cloud, both published in 2013. He was the co-editor for the book on Agile Software Architecture published in 2013. Currently, he is the lead-editor for the book on Economics-driven Software Architecture to be published in 2014.Bahsoon, Rami
Rami Bahsoon is a Senior lecturer in Software Engineering and founder of the Software Engineering for/in the Cloud interest groups at the School of Computer Science, University of Birmingham, UK. His group currently comprises nine PhD students working in areas related to cloud software engineering and architectures. The group's research aims at developing architecture and frameworks to support and reason about the development and evolution of dependable ultra-large complex and data-intensive software systems, where the investigations span cloud computing architectures and their economics. Bahsoon had founded and co-organized the International Software Engineering Workshop series on Software Architectures and Mobility held in conjunction with ICSE and the IEEE International Software Engineering IN/FOR the Cloud workshop in conjunction with IEEE Services. He was the lead editor of two journal special issues with the Journal of Systems and Software Elsevier- one on the Future of Software Engineering for/In the Cloud and another on Architecture and Mobility. Bahsoon has co-edited a book on Economics-driven Software Architecture, to be published by Elsevier in 2014 and co-edited another book on Aligning Enterprise, System, and Software Architectures, published by IGI Global in 2012. He is currently acting as the workshop chair for IEEE Services 2014, the Doctoral Symposium chair of IEEE/ACM Utility and Cloud Computing Conference (UCC 2014) and the track chair for Utility Computing of HPCC 2014. He holds a PhD in Software Engineering from University College London (UCL) for his research on evaluating software architecture stability using real options. He has also read for MBA-level certificates with London Business School.
Peter Eeles is an IBM Executive IT Architect and Industry Lead for the Financial Services Sector in IBM Rational's Worldwide Tiger Team, where he helps organizations improve their software development and delivery capability. This work is often performed in conjunction with the adoption of the Rational Unified Process and associated IBM development tools. Peter has been in the software industry since 1985 and has spent much of his career architecting, project managing and implementing large-scale, distributed systems. He has a particular interest in architecture-centric initiatives, such as SOA, large-scale architecting, strategic reuse programs and the like. Prior to joining Rational Software, which was acquired by IBM in 2003, Peter was a founding member of Integrated Objects, where he was responsible for the development of a distributed object infrastructure. This technology was used by System Software Associates (an ERP solutions provider) and by Mobile Systems International (a telecoms solutions provider) where Peter also held positions. Peter is co-author of "The Process of Software Architecting" (2009), "Building J2EE Applications with the Rational Unified Process" (2002), and "Building Business Objects" (1998).
Roshanak Roshandel is an associate professor in the Department of Computer Science and Software Engineering at Seattle University where she is also the Director of the Master of Software Engineering program. She has served on the technical program committee of numerous conferences and workshops such as ICSE, QoSA, ISARCS, WADS, and CSEET and has served as reviewer for ACM and IEEE.
Michael Stal is focusing on software architecture, distributed systems, and programming paradigms. Within Siemens he is responsible for coaching mission-critical projects on these topics as well as for education of (senior) software architects. He was co-author of the book series Pattern-Oriented Software Architecture and teaches at the University of Groningen about software architecture and the use of patterns for analyzing the architecture of distributed systems paradigms.