A software architecture manifests the major early design decisions, which determine the system’s development, deployment and evolution. Thus, making better architectural decisions is one of the large challenges in software engineering. Software architecture knowledge management is about capturing practical experience and translating it into generalized architectural knowledge, and using this knowledge in the communication with stakeholders during all phases of the software lifecycle.
This book presents a concise description of knowledge management in the software architecture discipline. It explains the importance of sound knowledge management practices for improving software architecture processes and products, and makes clear the role of knowledge management in software architecture and software development processes. It presents many approaches that are in use in software companies today, approaches that have been used in other domains, and approaches under development in academia. After an initial introduction by the editors, the contributions are grouped in three parts on ‘Architecture Knowledge Management’, ‘Strategies and Approaches for Managing Architectural Knowledge’, and ‘Tools and Techniques for Managing Architectural Knowledge’.
The presentation aims at information technology and software engineering professionals, in particular software architects and software architecture researchers. For the industrial audience, the book gives a broad and concise understanding of the importance of knowledge management for improving software architecture process and building capabilities in designing and evaluating better architectures for their mission- and business-critical systems. For researchers, the book will help to understand the applications of various knowledge management approaches in an industrial setting and to identify research challenges and opportunities.
Mục lục
to Software Architecture and Knowledge Management.- Architecture Knowledge Management.- Knowledge Management in Software Architecture: State of the Art.- Documentation of Software Architecture from a Knowledge Management Perspective – Design Representation.- Strategies and Approaches for Managing Architectural Knowledge.- Supporting the Software Architecture Process with Knowledge Management.- Tools and Techniques for managing Architectural Knowledge.- Tools and Technologies for Architecture Knowledge Management.- Establishing and Managing Knowledge Sharing Networks.- Experience with Architecture Knowledge Management.- The GRIFFIN Project: Lessons Learned.- Software Architecture Design Reasoning.- Modeling and Improving Information Flows in the Development of Large Business Applications.- AKM in Open Source Communities.- Architectural Knowledge in an SOA Infrastructure Reference Architecture.- Successful Architectural Knowledge Sharing: Beware of Emotions.
Giới thiệu về tác giả
Muhammad Ali Babar is a Senior Researcher with Lero, the Irish Software Engineering Research Centre, where he leads projects on Software Architecture Development and Conformance Analysis (SADCA) and Evidential Assessment of Software Technologies (EAST) in software product lines. Previously, he was working as a researcher with National ICT Australia (NICTA), where he carried out research in software architecture design and evaluation, architectural knowledge management, and process improvement. Muhammad also presented tutorials in the area of software architecture knowledge management at various international conferences including ICSE 2009, ICSE 2007, SATURN 2007 and WICSA 2007. His current research interests include software product lines, architecture design and evaluation, architecture knowledge management, and tooling support.
Torgeir Dingsøyr is working in software process improvement and knowledge management projects as a senior scientist at SINTEF Information and Communication Technology. He has published more than 50 refereed papers in this field, including articles in IEEE Software, Communications of the ACM, Information and Software Technology and Empirical Software Engineering. His current research interests include software process improvement, agile software development, knowledge management in software engineering, and in particular management of architectural knowledge.
Patricia Lago is Assistant Professor in Software Engineering at the VU University in Amsterdam. Her research interests focus on software and service architectures, architectural knowledge management and software systems modeling. She co-authored over 80 publications in international journals, books and conferences and is co-organizer of the International Workshop on SHAring and Reusing architectural Knowledge (SHARK).
Hans van Vliet is Professor in Software Engineering at the Vrije Universiteit, Amsterdam, The Netherlands, since 1986. Hisresearch interests include software architecture and empirical software engineering. Before joining the Vrije Universiteit, he worked as a researcher at the Centrum voor Wiskunde en Informatica (Amsterdam). He spent a year as a visiting researcher at the IBM Almaden Research Center in San Jose, California. He co-authored over 100 refereed articles, and is, together with Paul Clements, the editor of the Software Architecture Session of the Journal of Systems and Software. Hans is also a member of IFIP Working Group 2.10 on software architecture.