Many researchers working in the field of knowledge engineering (KE) are now concerned with identifying a model suitable for developing knowledge-based software and, especially, expert systems (ES). It is important to find a standard model that meets current needs and incorporates techniques successfully implemented in SE (object- or event-orientation, etc.), which are also of keen interest in KE.In this paper, we present an iterative and incremental solution for developing ES, according to which the system domain is derived naturally from the problem domain, thus surmounting the problems now involved in the transition from the conceptual model of the problem to the formal model of the system.As compared with conventional development models, this solution encompasses five main tools, which are:* Use cases with their respective actor interaction diagrams and activity flow diagrams in order to specify the expert system.* The concept dictionary, which allows knowledge engineers to define, bound and select the meaning of each concept used by experts.* The static conceptual model, which provides an overview (concepts and their relations) of the expert system (ES) modelled.* The control and process model, which models the knowledge and metaknowledge used by the expert to attain a goal.* An object-oriented metamodel, which outputs the formal knowledge model, providing an efficient, reusable, extendible and easy-to-implement ES architecture.To demonstrate the robustness of this solution, we describe how it was applied to an ES that interprets the graphs output by an isokinetics machine for a blind person. An isokinetics machine assesses the strength of the muscles of the leg, arm, etc.