Different proposals exist to represent the software maintenance process. However most of them are very informal or too focussed on a specific goal. We have developed a semi-formal ontology where the main concepts, according to the literature related to software maintenance, have been described. This ontology, besides representing static aspects, also represents dynamic issues related to the management of software maintenance projects. In order to develop an ontology a suitable methodology should also be followed. REFSENO was the methodology used in this work. The ontology that this work presents is not a preliminary idea but it has already been used in software maintenance environments, such as MANTIS, which is currently working successfully.