Schneider | Experience and Knowledge Management in Software Engineering | E-Book | www.sack.de
E-Book

E-Book, Englisch, 247 Seiten

Schneider Experience and Knowledge Management in Software Engineering


1. Auflage 2009
ISBN: 978-3-540-95880-2
Verlag: Springer Berlin Heidelberg
Format: PDF
Kopierschutz: 1 - PDF Watermark

E-Book, Englisch, 247 Seiten

ISBN: 978-3-540-95880-2
Verlag: Springer Berlin Heidelberg
Format: PDF
Kopierschutz: 1 - PDF Watermark



Nowadays, there is software everywhere in our life. It controls cars, airplanes, factories, medical implants. Without software, banking, logistics and transportation, media, and even scientific research would not function in the accustomed way. Building and maintaining software is a knowledge-intensive endeavour and requires that specific experiences are handled successfully. However, neither knowledge nor experience can be collected, stored, and shipped like physical goods, instead these delicate resources require dedicated techniques. Knowledge and experience are often called company assets, yet this is only part of the truth: it is only software engineers and other creative employees who will effectively exploit an organisation's knowledge and experience. 

Kurt Schneider’s textbook is written for those who want to make better use of their own knowledge and experience – either personally or within their group or company. Everyone related to software development will benefit from his detailed explanations and case studies: project managers, software engineers, quality assurance responsibles, and knowledge managers. His presentation is based on years of both practical experience, with companies such as Boeing, Daimler, and Nokia, and research in renowned environments, such as the Fraunhofer Institute. Each chapter is self-contained, it clearly states its learning objectives, gives in-depth presentations, shows the techniques’ practical relevance in application scenarios, lists detailed references for further reading, and is finally completed by exercises that review the material presented and also challenge further, critical examinations. The overall result is a textbook that is equally suitable as a personal resource for self-directed learning and as the basis for a one-semester course on software engineering and knowledge management.

Schneider Experience and Knowledge Management in Software Engineering jetzt bestellen!

Autoren/Hrsg.


Weitere Infos & Material


1;Preface;6
2;Acknowledgments;10
3;Contents;12
4;1 Motivation and Terminology;16
4.1;1.1 Objectives of this Chapter;16
4.1.1;1.1.0 ;16
4.1.1.1;1.1.0.0 Recommended Reading for Chap. 1;16
4.2;1.2 A Guided Tour of Experience and Knowledge Management;16
4.2.1;1.2.1 Knowledge Helps an Organization to Act and React Better;17
4.2.2;1.2.2 Examples of Knowledge Workers in Software Projects;20
4.2.2.1;1.2.2.0 Example 1.1 (Knowledge workers);20
4.2.2.2;1.2.2.1 Hypotheses Related to Experiences;21
4.2.3;1.2.3 Spreading Knowledge and Experiences;22
4.2.4;1.2.4 What Others Call ''Knowledge Management'';23
4.3;1.3 Data, Information, Knowledge and Beyond;24
4.3.1;1.3.0 ;27
4.3.1.1;1.3.0.0 Example 1.2 (Requirements text);27
4.4;1.4 Application of Knowledge Management in Software Engineering;35
4.4.1;1.4.1 Facts and Terms;35
4.4.1.1;1.4.1.0 Example 1.3 (Requirements);35
4.4.2;1.4.2 Rules and Standards;36
4.4.2.1;1.4.2.0 Example 1.4 (Software standards);37
4.4.3;1.4.3 Procedures and Templates;38
4.4.3.1;1.4.3.0 Example 1.5 (Risk management);38
4.4.4;1.4.4 Engineering and Production Data;39
4.4.5;1.4.5 Competencies and People;39
4.4.5.1;1.4.5.0 Example 1.6 (Database expertise);39
4.4.6;1.4.6 Skills and Relationships;40
4.4.6.1;1.4.6.0 Example 1.7 (Java skills);40
4.4.7;1.4.7 Opinions and Decisions;41
4.4.7.1;1.4.7.0 Example 1.8 (Adopting UML);41
4.5;1.5 Facilitating Workplace Learning;41
4.6;1.6 Problems for Chapter 1;42
5;2 Fundamental Concepts of Knowledge Management;44
5.1;2.1 Objectives of this Chapter;44
5.1.1;2.1.0 ;44
5.1.1.1;2.1.0.0 Recommended Reading for Chap. 2;44
5.2;2.2 Learning Modes and the Knowledge Life-Cycle;45
5.2.1;2.2.1 Loops in Learning: Argyris and Schön;45
5.2.1.1;2.2.1.0 Example 2.1 (Single-loop learning in software engineering);46
5.2.1.2;2.2.1.0 Example 2.2 (Programmer);47
5.2.2;2.2.2 A Knowledge Management Life-Cycle;48
5.2.2.1;2.2.2.0 Example 2.3 (Combination);49
5.2.3;2.2.3 Kolb's Learning Cycle;51
5.2.4;2.2.4 Classical Modes of Reasoning;52
5.2.5;2.2.5 Reflective Practitioners and Breakdowns: Donald Schön;54
5.2.6;2.2.6 Popper: When Should We Trust a Theory?;54
5.2.6.1;2.2.6.0 Example 2.4 (Falsification);55
5.3;2.3 Knowledge in People, Teams, and Organizations;55
5.3.1;2.3.1 The Scope Dimension in Knowledge Creation;55
5.3.2;2.3.2 Group Interactions and Shared Maps;57
5.3.2.1;2.3.2.0 Example 2.5 (Adapting or adjusting);57
5.3.3;2.3.3 Other Related Theories and Approaches;59
5.4;2.4 Software Engineering Knowledge;61
5.4.1;2.4.1 Software Engineering from a Knowledge Perspective;61
5.4.1.1;2.4.1.1 Defining Software Engineering;61
5.4.1.2;2.4.1.2 Core Activities: Requirements, Design, and Software Construction;63
5.4.1.3;2.4.1.3 Software Quality and Support;65
5.4.1.4;2.4.1.4 Domain Knowledge and Other Knowledge Areas;69
5.4.1.5;2.4.1.5 Summary;69
5.4.2;2.4.2 The Software Engineering Body of Knowledge;70
5.4.2.1;2.4.2.1 Evaluation of SWEBOK as a Matchmaker;73
5.5;2.5 Appropriate Knowledge Management for Software Engineering;74
5.5.1;2.5.0 ;75
5.5.1.1;2.5.0.1 Example 2.6 (Systems school);75
5.5.1.2;2.5.0.1 Example 2.7 (Organizational school);75
5.5.1.3;2.5.0.1 Example 2.8 (Supporting managers);77
5.6;2.6 Types of Tools Supporting Knowledge Management;78
5.6.1;2.6.0 ;79
5.6.1.1;2.6.0.1 Example 2.9 (Supporting communication);79
5.6.1.2;2.6.0.1 Example 2.10 (Socialization);80
5.7;2.7 Problems for Chapter 2;80
6;3 Structuring Knowledge for Reuse;82
6.1;3.1 Objectives of this Chapter;82
6.1.1;3.1.0 ;82
6.1.1.1;3.1.0.1 Recommended Reading for Chap. 3;82
6.2;3.2 The Vision of a Shared Language;83
6.2.1;3.2.0 ;83
6.2.1.1;3.2.0.1 Example 3.1 (Challenges for effective knowledge transfer);83
6.3;3.3 Overview and Comparison of Structuring Approaches;85
6.3.1;3.3.0 ;87
6.3.1.1;3.3.0.1 Example 3.2 (Use case terms);87
6.3.1.2;3.3.0.1 Example 3.3 (UML domain model);87
6.3.1.3;3.3.0.1 Example 3.4 (Generating code);87
6.4;3.4 Structuring Vague Information: Mind Maps;87
6.4.1;3.4.0 ;87
6.4.1.1;3.4.0.1 Example 3.5 (Brainstorming and mind maps);87
6.5;3.5 Semiformal Approaches in Software Engineering;92
6.5.1;3.5.1 Use Cases;92
6.5.1.1;3.5.1.0 Example 3.6 (Typical use case: Withdrawing money at an ATM);92
6.5.1.2;3.5.1.1 Use Case Aspects in Detail;95
6.5.1.3;3.5.1.1 Example 3.7 (Formal use cases);97
6.5.1.4;3.5.1.1 Example 3.8 (Deriving other models from use cases);97
6.5.2;3.5.2 Glossaries;98
6.5.2.1;3.5.2.1 Variants of Glossaries;100
6.5.2.2;3.5.2.1 Example 3.9 (Using glossary for a software engineering task);101
6.5.2.3;3.5.2.2 Summary: Strengths and Weaknesses of Different Approaches;102
6.5.3;3.5.3 Domain Models;102
6.5.3.1;3.5.3.1 Elements of Domain Models;103
6.5.3.2;3.5.3.2 Misuse Cases for Security, or ''What Must Not Happen'';106
6.5.3.3;3.5.3.2 Example 3.10 (Misuse case);107
6.6;3.6 Metamodels and Instantiation;107
6.6.1;3.6.0 ;108
6.6.1.1;3.6.0.2 Example 3.11 (Instances or classes);108
6.7;3.7 Patterns as Experience Representation;108
6.8;3.8 Problems for Chapter 3;111
7;4 Formal Representations and Structures;113
7.1;4.1 Objectives of this Chapter;113
7.1.1;4.1.0 ;113
7.1.1.1;4.1.0.2 Recommended Reading for Chap. 4 ;113
7.2;4.2 Concept and Purpose of Ontologies;113
7.2.1;4.2.0 ;115
7.2.1.1;4.2.0.2 Example 4.1 (OpenGALEN medical ontology);115
7.3;4.3 Representing Knowledge Items;116
7.3.1;4.3.1 Resource Description Framework;117
7.3.1.1;4.3.1.0 Example 4.2 (Concept);117
7.3.2;4.3.2 RDF Triples for Simple Statements;117
7.3.2.1;4.3.2.0 Example 4.3 (George Miller);118
7.3.2.2;4.3.2.0 Example 4.4 (Predicates);119
7.3.3;4.3.3 RDF Graphs for Multiple Related Statements;120
7.3.3.1;4.3.3.0 Example 4.5 (Related statements about George Miller, continued);120
7.3.4;4.3.4 Ontologies, Schemas, and Namespaces Provide Structure;122
7.3.5;4.3.5 Semantics Through Resource Description Framework Schema (RDFS);123
7.3.5.1;4.3.5.1 Summary: Sharing Semantics;124
7.4;4.4 Defining Ontologies with Web Ontology Language (OWL);125
7.4.1;4.4.1 Ontology Metainformation (Header);126
7.4.1.1;4.4.1.0 Example 4.6 (OWL);126
7.4.2;4.4.2 Creating Classes in Class Axioms;126
7.4.2.1;4.4.2.0 Example 4.7 (Classes in different class axioms);126
7.4.3;4.4.3 Properties;128
7.5;4.5 Ontologies and Object-Oriented Terminology;128
7.5.1;4.5.0 ;128
7.5.1.1;4.5.0.0 Example 4.8 (Independent attributes);128
7.6;4.6 Software Engineering Ontologies;130
7.6.1;4.6.1 Software Engineering Ontologies on the Internet;130
7.6.2;4.6.2 Small Software Engineering Ontology for Exercise;131
7.6.2.1;4.6.2.0 Example 4.9 (Software engineering ontology);131
7.7;4.7 A Tool for Working with Ontologies: Protg;134
7.8;4.8 Benefits from Using Ontologies;141
7.8.1;4.8.1 Semantic Queries and Reasoning;141
7.8.1.1;4.8.1.0 Example 4.10 (Queries about George Miller, continued);141
7.8.1.2;4.8.1.0 Example 4.11 (Meaning in semiotics);142
7.8.1.3;4.8.1.0 Example 4.12 (Query);142
7.8.2;4.8.2 Preserving Knowledge for the Organization;143
7.8.3;4.8.3 Benefits Through Adequate Presentation;144
7.8.3.1;4.8.3.0 Example 4.13 (Domain-specific interface);144
7.9;4.9 Problems for Chapter 4;147
8;5 Experiences: Beyond Knowledge;149
8.1;5.1 Objectives of this Chapter;149
8.1.1;5.1.0 ;149
8.1.1.1;5.1.0.0 Recommended Reading for Chap. 5;149
8.2;5.2 What is Experience, and Why is it Different?;149
8.2.1;5.2.0 ;150
8.2.1.1;5.2.0.0 Example 5.1 (Experienced architect);150
8.2.1.2;5.2.0.0 Example 5.2 (Terrible experience);151
8.2.1.3;5.2.0.0 Example 5.3 (Testing experience);152
8.3;5.3 Valuable Experience in Software Engineering;153
8.3.1;5.3.0 ;155
8.3.1.1;5.3.0.0 Levels of Exchange;155
8.4;5.4 Experience Life-Cycle;156
8.4.1;5.4.0 ;157
8.4.1.1;5.4.0.0 Experience Management Tasks and Activities;157
8.4.2;5.4.1 Activating and Eliciting Raw Experience;158
8.4.3;5.4.2 Experience Engineering and Storing;159
8.4.3.1;5.4.2.0 Tasks Within Experience Engineering;160
8.4.4;5.4.3 Dissemination;162
8.4.4.1;5.4.3.0 Example 5.4 (Order is important);163
8.4.4.2;5.4.3.0 Example 5.5 (Expecting an emerging match);165
8.4.5;5.4.4 From Dissemination to Activation (Next Cycle);165
8.4.5.1;5.4.4.0 Expected Contents of Feedback;166
8.4.6;5.4.5 Software Engineering Specifics;167
8.4.6.1;5.4.5.0 Example 5.6 (Xerox machine: A different domain);167
8.4.6.2;5.4.5.0 Example 5.7 (Helpdesk: A different domain);168
8.5;5.5 Challenges to Software Engineering Experience Reuse;169
8.5.1;5.5.0 ;169
8.5.1.1;5.5.0.0 Example 5.8 (Avoiding mistakes);169
8.5.2;5.5.1 Can Experience Management Replace Experts?;170
8.5.3;5.5.2 Do Not Rely on Altruism altruism ;171
8.5.4;5.5.3 Barriers to Experience Flow;173
8.5.4.1;5.5.3.0 Example 5.9 (Fears and barriers);173
8.5.4.2;5.5.3.0 Example 5.10 (No reuse);174
8.5.5;5.5.4 Essential: Management Support;174
8.6;5.6 Problems for Chapter 5;176
9;6 Experience and Knowledge Management at Work;178
9.1;6.1 Objectives of this Chapter;178
9.1.1;6.1.0 ;179
9.1.1.1;6.1.0.0 Recommended Reading for Chap. 6;179
9.2;6.2 Specific Experience Management Techniques;179
9.2.1;6.2.1 Interviews, Workshops, and Post-Mortems;179
9.2.1.1;6.2.1.1 Techniques for Post-Mortems;182
9.2.2;6.2.2 Light-Weight Identification and Documentation of Experiences;183
9.2.2.1;6.2.2.1 Inherent Dilemma: Impact Versus Confidentiality;185
9.2.2.2;6.2.2.2 Fundamental Concepts in LIDs: Useful for Other Elicitation Techniques, Too;187
9.2.3;6.2.3 Case-Based Techniques for Dissemination;187
9.2.4;6.2.4 Expert Networks;189
9.2.4.1;6.2.4.1 Experience Life-Cycle Based on Communication;189
9.3;6.3 Experience Bases;192
9.3.1;6.3.0 ;192
9.3.1.1;6.3.0.1 Example 6.1 (Protégé as a base);192
9.3.2;6.3.1 Overview of Experience Management Functionalities;193
9.3.2.1;6.3.1.1 Important Quality Aspects of an Experience Base;195
9.3.3;6.3.2 Experience Organization Must Correspond with Experience Volume;196
9.3.4;6.3.3 Focus Contents;197
9.3.5;6.3.4 Seed seed the Base;198
9.3.5.1;6.3.4.0 Example 6.2 (Seeding a risk management base);198
9.3.6;6.3.5 Link Experiences to a Work Process or Product;199
9.3.6.1;6.3.5.1 Do Not Neglect Associated Material;199
9.3.6.2;6.3.5.1 Example 6.3 (Supported processes);199
9.3.7;6.3.6 Encourage Feedback and Double-Loop Learning;199
9.3.7.1;6.3.6.1 Elicit Experience During Dissemination;200
9.4;6.4 Experience and Knowledge Management in Companies;201
9.4.1;6.4.1 The NASA Software Engineering Laboratory and its Experience Factory;201
9.4.2;6.4.2 Experience Brokers at Ericsson;204
9.4.2.1;6.4.2.0 Example 6.4 (Two-level support in a hardware store);205
9.4.3;6.4.3 DaimlerChrysler: Electronic Books of Knowledge and the Software Experience Center;206
9.4.3.1;6.4.3.1 Knowledge Management with Electronic Books of Knowledge and TechClubs;207
9.5;6.5 Internet and Web 2.0;208
9.5.1;6.5.1 Impact of Internet Technologies on EKM Initiatives;208
9.5.2;6.5.2 Using the New Internet in an Innovative Way;210
9.5.3;6.5.3 Integrating Technology and Workplace Learning;212
9.6;6.6 Where We Stand Today;212
9.6.1;6.6.1 The Age of Software;212
9.6.2;6.6.2 Experts in Structuring, Modeling -- and Learning;213
9.6.3;6.6.3 A Tool Is Not Enough;214
9.7;6.7 Problems for Chapter 6;214
10;7 Solutions of Problems;216
10.1;7.1 Chapter 1;216
10.2;7.2 Chapter 2;219
10.3;7.3 Chapter 3;222
10.4;7.4 Chapter 4;227
10.5;7.5 Chapter 5;230
10.6;7.6 Chapter 6;234
11;References;237
12;Glossary;243
13;Index;245



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.