Skip to main content

2009 | Buch

Experience and Knowledge Management in Software Engineering

insite
SUCHEN

Über dieses Buch

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.

Inhaltsverzeichnis

Frontmatter
1. Motivation and Terminology
After reading this chapter, you should be able to:
  • Define the basic concepts in knowledge and experience management.
  • Distinguish between data, information, knowledge, and experience by defining the terms and by providing short examples.
  • Understand why experience and knowledge need to be stored and how they are supposed to be used and reused.
  • Give an overview of the entire field of knowledge management, its relationship to experience exploitation, and point out the most difficult tasks in that field.
  • Explain why ability, motivation, and opportunity to learn are required for effective knowledge work.
Kurt Schneider
2. Fundamental Concepts of Knowledge Management
Chapter 1 provided an overview of the basic terms and goals of experience and knowledge management. Tacit, implicit, and explicit knowledge were distinguished. The basic concepts of data, information, and knowledge were introduced and discussed. A layered model for knowledge transfer was built upon those terms. In the end, the benefit of a number of knowledge management interventions in software engineering situations was evaluated. In Chap. 2, we will look a little deeper into the theoretical foundations of knowledge management. This will provide the background for the remaining chapters.
Kurt Schneider
3. Structuring Knowledge for Reuse
After reading this chapter, you should be able to: Explain why structuring and engineering knowledge is important for reuse. Read and draw mind maps for vague information. Define what a glossary is, give examples for using it in software engineering, and explain how it structures knowledge. Explain the relationship between glossaries and domain models. Name and briefly describe well-known informal and semiformal approaches in the area of structuring knowledge for reuse. Formulate knowledge as patterns and explain why patterns are important for representing knowledge.
Kurt Schneider
4. Formal Representations and Structures
After reading this chapter, you should be able to
  • Define an ontology for a given application domain and explain how it can be used in software engineering.
  • Describe facts and information statements in RDF.
  • Implement an ontology in Protégé, an open-source tool for ontology development.
  • Carry out basic reasoning strategies manually and explain how they work.
  • Name and briefly describe well-known approaches in the area of structuring knowledge for reuse.
Kurt Schneider
5. Experiences: Beyond Knowledge
After reading this chapter, you should be able to Define experience as opposed to knowledge. Draw and explain the experience life-cycle. Give examples of activities carried out in each part of the life cycle. Analyze your own experience with respect to the concepts presented. Decide what needs to be done next when a fellow software engineer turns in an experience report. Name several techniques and tools that support activities in the life cycle. Map experience to a simple ontology or a case-based reasoning system. Discuss advantages and loopholes of explicit experience exploitation.
Kurt Schneider
6. Experience and Knowledge Management at Work
After reading this chapter, you should be able to Explain several techniques for supporting experience management tasks. Describe in detail how the light-weight identification and documentation of experiences (LIDs) technique works. Relate a given experience or knowledge management technique to the classifications and experience management tasks described in the previous chapter. Evaluate a given experience and knowledge management (EKM) technique with reference to the framework described in this book. Contribute to an EKM initiative by pointing out weak spots and making suggestions for improvement – with respect to the principles described above and by comparing them to the cases presented in this chapter. Conceive a knowledge and experience repository that avoids known mistakes. Describe to management what a repository or IT solution can do for an EKM initiative and what it cannot achieve.
Kurt Schneider
7. Solutions of Problems
A customer calls the requirements engineer and tells her about a feature they forgot to put into the specification. Where are data, information, and knowledge in this example?
Kurt Schneider
Backmatter
Metadaten
Titel
Experience and Knowledge Management in Software Engineering
verfasst von
Kurt Schneider
Copyright-Jahr
2009
Verlag
Springer Berlin Heidelberg
Electronic ISBN
978-3-540-95880-2
Print ISBN
978-3-540-95879-6
DOI
https://doi.org/10.1007/978-3-540-95880-2

Premium Partner