Information Model
An information model in software engineering is a representation of concepts and the relationships, constraints, rules, and operations to specify data semantics for a chosen domain of discourse. Typically it specifies relations between kinds of things, but may also include relations with individual things. It can provide sharable, stable, and organized structure of information requirements or knowledge for the domain context.
It is very easy to put together a class diagram and assume that it is correct.
One should not put off testing until you have coded your application. Test every time you add information to your model. Let the models do the work of finding discrepancies for you.
The modeler should take notice of errors early, while they are cheap and less painful to fix.
The term information model in general is used for models of individual things, such as facilities, buildings, process plants, etc.
In those cases the concept is specialised to
- facility information model,
- building information model,
- plant information model.
Such an information model is an integration of a model of the facility with the data and documents about the facility.
Within the field of
software engineering and data modeling an information model is usually an abstract, formal representation of entity types that may include their properties, relationships and the operations that can be performed on them.
The entity types in the model may be kinds of real-world objects, such as devices in a network or occurrences.
The types themselves may be abstract such as for the entities used in a billing system.
Typically, they are used to model a constrained domain that can be described by a closed set of entity types, properties, relationships and operations.
An information model provides formalism to the description of a problem domain without constraining how that description is mapped
to an actual implementation in software. There may be many mappings of the information model.
Such mappings are called data models, irrespective of whether they are object models entity relationship models or XML schemas.
Modeling Models
UML Design Foundations