Ali Babar / Dingsøyr / Lago | Software Architecture Knowledge Management | E-Book | www.sack.de
E-Book

E-Book, Englisch, 279 Seiten

Ali Babar / Dingsøyr / Lago Software Architecture Knowledge Management

Theory and Practice
2009
ISBN: 978-3-642-02374-3
Verlag: Springer
Format: PDF
Kopierschutz: 1 - PDF Watermark

Theory and Practice

E-Book, Englisch, 279 Seiten

ISBN: 978-3-642-02374-3
Verlag: Springer
Format: PDF
Kopierschutz: 1 - PDF Watermark



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.

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. His research 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.

Ali Babar / Dingsøyr / Lago Software Architecture Knowledge Management jetzt bestellen!

Weitere Infos & Material


1;Foreword;5
2;Preface;8
3;Contents;11
4;Contributors;17
5;1 Introduction to Software Architecture and KnowledgeManagement;19
5.1;1.1 Introduction;19
5.1.1;1.2 Software Architecture;20
5.1.1.1;1.2.1 Software Architecture and the Software Life Cycle;22
5.1.1.2;1.2.2 Architecture Design;22
5.1.1.2.1;1.2.2.1 Architecture as a Set of Design Decisions;24
5.1.1.3;1.2.3 Architectural Views;25
5.1.1.4;1.2.4 Architectural Knowledge;28
5.1.2;1.3 Knowledge Management;28
5.1.2.1;1.3.1 Knowledge and Knowledge Management;28
5.1.2.2;1.3.2 Knowledge and Learning;31
5.1.2.3;1.3.3 Knowledge Management in Software Engineering;32
5.1.3;1.4 Summary;33
6;Part I Architecture Knowledge Management;36
6.1;2 Knowledge Management in Software Architecture:State of the Art;38
6.1.1;2.1 Introduction;38
6.1.2;2.2 What Is `Architectural Knowledge'?;39
6.1.2.1;2.2.1 Different Views on Architectural Knowledge;39
6.1.2.1.1;2.2.1.1 Pattern-Centric View;39
6.1.2.1.2;2.2.1.2 Dynamism-Centric View;40
6.1.2.1.3;2.2.1.3 Requirements-Centric View;40
6.1.2.1.4;2.2.1.4 Decision-Centric View;41
6.1.2.2;2.2.2 So, What Is Architectural Knowledge?;41
6.1.3;2.3 Philosophies of Architecture Knowledge Management;44
6.1.4;2.4 State-of-the-Art in Architecture Knowledge Management;49
6.1.4.1;2.4.1 Sharing Architectural Knowledge;50
6.1.4.2;2.4.2 Aligning Architecting with Requirements Engineering;51
6.1.4.3;2.4.3 Intelligent Support for Architecting;51
6.1.4.4;2.4.4 Towards a Body of Architectural Knowledge;52
6.1.5;2.5 Justification;52
6.1.6;2.6 Summary;54
6.2;3 Documentation of Software Architecture from a Knowledge Management Perspective – Design Representation;56
6.2.1;3.1 Introduction;56
6.2.2;3.2 Evolution of Architectural Representation;57
6.2.2.1;3.2.1 Boxes and Arrows;57
6.2.2.2;3.2.2 Views;57
6.2.2.3;3.2.3 The Architecting Process;58
6.2.2.4;3.2.4 Architectural Design Decisions;59
6.2.2.5;3.2.5 Architectural Knowledge=Architectural Design + Architectural Design Decisions;59
6.2.3;3.3 Architectural Design;60
6.2.3.1;3.3.1 Viewpoints and Views;60
6.2.3.2;3.3.2 Architecture Description Languages;61
6.2.3.3;3.3.3 Application-Generic Knowledge: Patterns, Standards, Frameworks;62
6.2.4;3.4 Architectural Design Decisions;63
6.2.4.1;3.4.1 What Is an Architectural Design Decision?;63
6.2.4.2;3.4.2 A Taxonomy of Architectural Design Decisions;66
6.2.4.2.1;3.4.2.1 Existence Decisions (``ontocrises'');66
6.2.4.2.2;3.4.2.2 Bans or Nonexistence Decisions (``Anticrises'');67
6.2.4.2.3;3.4.2.3 Property Decisions (``Diacrises'');67
6.2.4.2.4;3.4.2.4 Executive Decisions (``Pericrises'');67
6.2.4.3;3.4.3 Visualization of Set of Design Decisions;68
6.2.4.4;3.4.4 A ``Decisions View'' of Architecture;70
6.2.5;3.5 Rationale, or, the Missing Glue;72
6.2.6;3.6 Metaphors;72
6.2.7;3.7 Summary;73
6.3;4 Strategies and Approaches for Managing ArchitecturalKnowledge;75
6.3.1;4.1 Introduction;75
6.3.2;4.2 Technocratic Approaches to Knowledge Management;76
6.3.2.1;4.2.1 Systems;77
6.3.2.2;4.2.2 The Cartographic School;79
6.3.2.3;4.2.3 The Engineering School;80
6.3.3;4.3 Behavioural Approaches to Knowledge Management;82
6.3.3.1;4.3.1 The Organisational School;82
6.3.3.2;4.3.2 The Spatial School;83
6.3.4;4.4 Summary;84
6.4;5 Supporting the Software Architecture Process with Knowledge Management;85
6.4.1;5.1 Introduction;85
6.4.2;5.2 Software Architecture Process;87
6.4.3;5.3 Knowledge Management Problems;89
6.4.4;5.4 Knowledge Needed;90
6.4.5;5.5 Architectural Knowledge Organization;93
6.4.6;5.6 A Model of Architecture Knowledge Management;97
6.4.7;5.7 Summary;102
7;Part II Tools and Techniques for Managing Architectural Knowledge;103
7.1;6 Tools and Technologies for Architecture KnowledgeManagement;106
7.1.1;6.1 Introduction;106
7.1.2;6.2 Use Cases of AK Management;108
7.1.2.1;6.2.1 Actors;108
7.1.2.2;6.2.2 Use Cases;108
7.1.3;6.3 Tool Support for Codification;111
7.1.3.1;6.3.1 SEI-ADWiki;111
7.1.3.2;6.3.2 ADkwik;112
7.1.3.3;6.3.3 ADDSS;113
7.1.3.4;6.3.4 Archium;114
7.1.3.5;6.3.5 AREL;116
7.1.3.6;6.3.6 Knowledge Architect;117
7.1.3.7;6.3.7 SEURAT;118
7.1.4;6.4 Tool Support for the Hybrid Strategy;119
7.1.4.1;6.4.1 EAGLE;119
7.1.4.2;6.4.2 PAKME;121
7.1.5;6.5 Technologies;121
7.1.5.1;6.5.1 Web Portal;122
7.1.5.2;6.5.2 Blog and Wiki;122
7.1.5.3;6.5.3 Voting and Ranking;123
7.1.5.4;6.5.4 Natural Language Processing;123
7.1.5.5;6.5.5 Ontologies;123
7.1.5.6;6.5.6 Plug-in;125
7.1.5.7;6.5.7 Version Management;125
7.1.5.8;6.5.8 Web 2.0;125
7.1.6;6.6 Summary;126
7.2;7 Establishing and Managing Knowledge Sharing Networks;127
7.2.1;7.1 Introduction;127
7.2.2;7.2 From Networking Platforms to Knowledge Communities;128
7.2.2.1;7.2.1 Networking Platforms;128
7.2.2.1.1;7.2.1.1 AKM Characteristics;130
7.2.2.1.2;7.2.1.2 Peer-to-Peer Networks;130
7.2.2.1.3;7.2.1.3 Grids;135
7.2.2.1.4;7.2.1.4 Semantic Web;137
7.2.2.2;7.2.2 Supported Knowledge Communities;139
7.2.3;7.3 From Knowledge Communities to Social Networks;140
7.2.3.1;7.3.1 Social Communities;141
7.2.3.2;7.3.2 Support for Social Communities;142
7.2.3.2.1;7.3.2.1 Web 2.0;142
7.2.3.2.2;7.3.2.2 Wiki's;143
7.2.4;7.4 Summary;144
8;Part III Experience with Architecture Knowledge Management;146
8.1;8 The GRIFFIN Project: Lessons Learned;150
8.1.1;8.1 Introduction;150
8.1.2;8.2 The Beginning;151
8.1.2.1;8.2.1 Core Model of Architectural Knowledge;151
8.1.2.2;8.2.2 The Architect's Mindset;154
8.1.3;8.3 Sharing Architectural Knowledge;157
8.1.4;8.4 Discovering Architectural Knowledge;160
8.1.5;8.5 Compliance with Architectural Knowledge in DistributedSettings;162
8.1.6;8.6 Tracing Architectural Knowledge;164
8.1.7;8.7 The GRIFFIN Grid;166
8.1.8;8.8 Summary;167
8.2;9 Software Architecture Design Reasoning;168
8.2.1;9.1 Introduction;168
8.2.2;9.2 Software Architecture Design Reasoning;169
8.2.3;9.3 Modeling Architecture Design Reasoning;170
8.2.3.1;9.3.1 Design Concern;173
8.2.3.2;9.3.2 Design Decision;173
8.2.3.3;9.3.3 Design Outcome;175
8.2.4;9.4 An Architectural Design Reasoning Process;175
8.2.5;9.5 Applying AREL to an Industrial Case Study;179
8.2.5.1;9.5.1 Analyze the Design by Reasoning;180
8.2.5.2;9.5.2 Applying Design Reasoning in the Case Study;182
8.2.5.3;9.5.3 Other Findings;184
8.2.5.4;9.5.4 Benefits of Design Reasoning;185
8.2.5.5;9.5.5 Limitations in the Case Study;186
8.2.6;9.6 Summary;187
8.3;10 Modeling and Improving Information Flows in the Developmentof Large Business Applications;188
8.3.1;10.1 Introduction;188
8.3.2;10.2 Information Flow Modeling;190
8.3.2.1;10.2.1 Information Flow: Concept, Focus and Purpose;190
8.3.2.2;10.2.2 Key Concepts and Modeling Notation in FLOW;193
8.3.3;10.3 Designing Feedback and Information Flows;194
8.3.3.1;10.3.1 Designing Information Flows for Large BusinessProjects;195
8.3.3.2;10.3.2 Conclusion: Desired FLOW and ArchitecturalElements;199
8.3.4;10.4 Designing an Experience Forum;200
8.3.4.1;10.4.1 Learning Cycles in General and in SoftwareArchitecture;202
8.3.4.2;10.4.2 Mechanisms for Feedback and Experience;204
8.3.5;10.5 Supporting Feedback and Experience in SOA Projects;205
8.3.5.1;10.5.1 SOA: Aligning Software Services with Business Processes;205
8.3.5.2;10.5.2 SOA as an Example for Large Business Application Projects;206
8.3.5.3;10.5.3 Integrating Feedback into SOA Applications;207
8.3.6;10.6 Summary;208
8.4;11 AKM in Open Source Communities;211
8.4.1;11.1 Introduction;211
8.4.2;11.2 FLOSS Projects in General;212
8.4.3;11.3 Architecture Knowledge Management in FLOSS;214
8.4.4;11.4 How does Architectural Knowledge Appear in FLOSS?;214
8.4.4.1;11.4.1 ``Pure'' FLOSS Projects: Apache HTTP Server;216
8.4.4.2;11.4.2 Hybrid OSS Projects: Apache Axis and Jini;217
8.4.4.2.1;11.4.2.1 Apache Axis;218
8.4.4.2.2;11.4.2.2 Jini Starter Kit;219
8.4.4.3;11.4.3 Research Originated FLOSS Projects: The GlobusToolkit;221
8.4.4.4;11.4.4 Architectural Knowledge Resources in FLOSS;223
8.4.5;11.5 Future Trends and Expectations;224
8.4.6;11.6 Summary;225
8.5;12 Architectural Knowledge in an SOA Infrastructure Reference Architecture;228
8.5.1;12.1 Introduction: Middleware Services and SOA Infrastructure Design in IBM Global Technology Services;228
8.5.1.1;12.1.1 Company Overview: IBM Global Technology Services;229
8.5.1.2;12.1.2 From Labor-Based to Asset-Based Services: Service Products and Service Product Lines;229
8.5.1.3;12.1.3 Middleware Service Product Line: SOA Infrastructure Services;230
8.5.1.4;12.1.4 Supporting Assets: Methods and Reference Architectures;232
8.5.1.5;12.1.5 Architecture Knowledge Management Strategy and Approach;234
8.5.2;12.2 An SOA Infrastructure Reference Architecture;235
8.5.2.1;12.2.1 Objectives and Artifact Overview;235
8.5.2.2;12.2.2 Decision Viewpoint: SOA Decision Modeling;237
8.5.2.3;12.2.3 Physical Viewpoint: Operational Model;242
8.5.2.4;12.2.4 Summary of Approach and Benefits;244
8.5.3;12.3 Harvesting SOA Decision Knowledge from Projects;245
8.5.3.1;12.3.1 Sources of Architectural Decision Knowledge;245
8.5.3.2;12.3.2 Architectural Knowledge Harvesting Process;245
8.5.3.3;12.3.3 Guidance for the Four RIHA Process Steps;246
8.5.4;12.4 Consuming SOA Decision Knowledge;248
8.5.4.1;12.4.1 SOAD Usage during Creation of SOAI RA;249
8.5.4.2;12.4.2 User Experience with SOAD and SOAI RA;249
8.5.5;12.5 Summary;251
8.6;13 Successful Architectural Knowledge Sharing: Beware of Emotions;253
8.6.1;13.1 Introduction;253
8.6.2;13.2 Survey Description;254
8.6.3;13.3 Analysis;254
8.6.3.1;13.3.1 State of AK Sharing Practice;255
8.6.3.2;13.3.2 AK Practices in Context;259
8.6.3.3;13.3.3 Refined Model of Causality;264
8.6.4;13.4 Discussion and Related Work;266
8.6.4.1;13.4.1 Threats to Validity;266
8.6.4.2;13.4.2 Project Success in Literature;266
8.6.4.3;13.4.3 Motivation and Emotion in Architectural Knowledge Sharing;267
8.6.5;13.5 Summary;268
9;References;270
10;Index;285



Ihre Fragen, Wünsche oder Anmerkungen
Vorname*
Nachname*
Ihre E-Mail-Adresse*
Kundennr.
Ihre Nachricht*
Lediglich mit * gekennzeichnete Felder sind Pflichtfelder.
Wenn Sie die im Kontaktformular eingegebenen Daten durch Klick auf den nachfolgenden Button übersenden, erklären Sie sich damit einverstanden, dass wir Ihr Angaben für die Beantwortung Ihrer Anfrage verwenden. Selbstverständlich werden Ihre Daten vertraulich behandelt und nicht an Dritte weitergegeben. Sie können der Verwendung Ihrer Daten jederzeit widersprechen. Das Datenhandling bei Sack Fachmedien erklären wir Ihnen in unserer Datenschutzerklärung.