Ontologies have recently become popular in the context of the
as an appropriate tool for developing a common reference terminology and language in specific application domains. However, the design and specification of an ontology still does not follow a generally accepted methodology, but is considered to be a task based on perception and intuition. This paper tries to remedy this situation by proposing a novel methodology for ontology engineering that is based on the phase model of traditional database design. Accordingly, the design process of an ontology consists of (1) requirements analysis, (2) conceptual design, (3) logical design, and (4) physical design. Detailed design guidelines are given which include continuous evaluation at the end of each phase. The exposition also provides a running example to ease the understanding of the core activities in each stage.