Abstract: It seems almost self-evident that “knowledge management” and “knowledge engineering” should be related disciplines that may share techniques and methods between them. However, attempts by knowledge engineers to apply their techniques to knowledge management have been praised by some and derided by others, who claim that knowledge engineers have a fundamentally wrong concept of what “knowledge management” is. The critics also point to specific weaknesses of knowledge engineering, notably the lack of a broad context for the knowledge. Knowledge engineering has suffered some criticism from within its own ranks, too, particularly of the “rapid prototyping” approach, in which acquired knowledge was encoded directly into an iteratively developed computer system. This approach was indeed rapid, but when used to deliver a final system, it became nearly impossible to verify and validate the system or to maintain it. A solution to this has come in the form of knowledge engineering methodology, and particularly in the CommonKADS methodology, which proposes developing a number of models of the knowledge from different viewpoints at different levels of detail. CommonKADS also offers a library of generic models for the “inference structures” – the steps by which certain types of knowledge-based task are tackled. CommonKADS is now the most widely used non-proprietary knowledge engineering methodology. The purpose of this thesis is to show how an analytical framework originally intended for information systems architecture can be used to support knowledge management, knowledge engineering and the closely related discipline of ontology engineering. The framework suggests analysing information or knowledge from six perspectives (Who, What, How, When, Where and Why) at up to six levels of detail (ranging from “scoping” the problem to an implemented solution). The application of this framework to each of CommonKADS’ models is discussed, in the context of several practical applications of the CommonKADS methodology. Strengths and weaknesses in the models that are highlighted by the practical applications are analysed using the framework, with the overall goal of showing where CommonKADS is currently useful and where it could be usefully extended. The same framework is also applied to knowledge management; it is established that “knowledge management” is in fact a wide collection of different approaches and techniques, and the framework can support and extend every approach to some extent, as well as the decision which approach is best for a particular case. Specific applications of using the framework to model medical knowledge and to resolve common problems in ontology development are presented. The thesis also includes research on mapping knowledge acquisition techniques to CommonKADS’ models (and to the framework); proposing some extensions to CommonKADS’ library of generic inference structures; and it concludes with a suggestion for a “pragmatic” KADS for use on small projects. The aim is to show that this framework both characterises the knowledge required for both knowledge management and knowledge engineering, and can provide a guide to good selection of knowledge management techniques. If the chosen technique should involve knowledge engineering, the wealth of practical advice on CommonKADS in this thesis should also be beneficial.