Knowledge engineering

The process of building intelligent Knowledge-based systems is called knowledge engineering (KE).  It has a great deal in common with software engineering, and is related to many other areas such as databases, datamining, expert systems, decision support systems and geographic information systems. Knowledge engineering is also related to the field of logic (reasoning) as the knowledge produced by the systems built often have content that is structured by our understanding of how human reasoning or logic works.

Various phases of KE can be listed as:
 * Assessment of the problem
 * Acquisition of data and knowledge
 * Development of a prototype system
 * Development of a complete system
 * Revision and evaluation of the system
 * integration and maintenance of the system

Being still more art than engineering, KE is not as neat as the above list in practice. The phases overlap, the process might be iterative, and many challenges could appear.