An enterprise model is a “computational representation of the structure, activities, processes, information, resources, people, behavior, goals, and constraints of a business, government, or other enterprises”, as defined in Wikipedia. Enterprise models have been used for a long time in information systems design, and it is possible to identify three main ways of utilising enterprise models:
- Models as sketches. Models are used as sketches to describe possible solutions to problems or to document existing solutions in order to facilitate communication among stakeholders. The idea is to use the models as informal support for communication and description.
- Models as blueprints. Models are used as blueprints for implementing IT systems and services. The idea is that the models shall be sufficiently precise and formal for programmers, database designers and other IT experts to build a functioning system.
- Executable models. Executable models take the idea of models as blueprints one step further. The models shall be formal enough to be automatically translatable into executable code. In this way, the coding step is eliminated, thereby reducing cost and risk for introducing errors.
Research in enterprise modelling has focused on three issues:
- What is the right balance between expressiveness and usability in enterprise modelling languages? A language for enterprise modelling can be highly expressive, allowing for preciseness and reasoning support, often through some logic based formalism. This is fine for building advanced and comprehensive models, but the drawback is that the modelling process becomes more difficult, in particular for business experts with limited time and experience of modelling.
- Which are the right concepts for modelling enterprises? There exist many different types of enterprise models: information models, conceptual models, activity models, process models, role models, goal models, business models, and so on. For each type of enterprise model, there also exist many alternative languages and notations based on different concepts. There is an ongoing search for the most appropriate concepts for capturing all the different aspects of enterprises, and how the resulting models are to be related to each other.
- How should you build enterprise models? Building enterprise models is a complex undertaking as it requires the contribution from many stakeholders with different perspectives, ranging from end users and business experts to management and information systems designers. Therefore, methods for building enterprise models are needed, and there is today more and more consensus that these methods need to be agile as well as participative.
At SYSLAB, we have worked on enterprise modelling for several years. Initially, we focused mainly on conceptual models, but in the last years there has been much work on process models and recently also business models.
A state-of-the-art survey of enterprise modelling can be found here.