The Mogno project aims to define and implement an ontology for software
requirements specifications. The implementation means a software
layer that can be used to develop software requirements definition and
It is the first project issued by the labs
of Software Engineering
undergraduate course (curso
de Graduação em
Engenharia de Software) (ou Bacharelado em Engenharia de
Software). You can get more details about this course at
The definition should be suitable for many cases and follows as much as
possible the international standards IEEE Standard 830 (Recommended Practice
for Software Requirements Specifications) and ISO/IEC 9126-1 (Product
Only the definition is not enough for practical purposes. In the
scope of this project there is a interface and the corresponding
reference implementation to be used by client programs. Through the use of
this interface and implementation programs will be able to create software
requirements specifications and manipulate them according to the ontology
Mogno does not include a user interface. In this regard, such a software is
also considered a client program. Kraho is an example of a system that employs
Mogno as its kernel.
Definition of an ontology for
software requirements specifications
Definition of an interface for
programs to make use of a corresponding ontology.
Implementation of this interface.
The interface and corresponding implemantation will use the
Java language (5.0)
This project results in a tool for programmers that not
interact with final users (internationalization is not a concern).
There is not a common and widely used ontology for software
A high-level tool can benefit from an existing support of a
low-level tool that takes care of technical details and exposes a
domain level interface.
As a building block for CASE tools correctness and
performance (in this order) will be enforced.