Guidelines for Modeling

Published 21 October 06 04:48 PM | mhatch 

In Enterprise Architecture at Work, the authors include a chapter on guidelines for modeling.  I'm capturing them here as these concepts may be very valuable to reference and keep top of mind in the architecture process.

Conceptual Integrity - "the degree to which a model can be understood by a single human mind, despite it's complexity. The core idea of conceptual integrity is that any good design exhibits a single, coherent vision, which is easy to understand by others."

  • Do not link what is independent (orthogonality)
  • Do not introduce multiple functions that are slightly divergent (generality)
  • Do not introduce what is irrelevant (economy/parsimony)
  • Do not restrict what is inherent (propriety)

Krogtstie, Lindland, Sindre, Defining Quality Aspects for Conceptual Models. 1995
Lindland, Sindre, Solvberg Understanding Quality in Conceptual Modeling, IEEE Software 11(2):42-49 1994
Teeuw, Berg On the Quality of Conceptual Models 1997

  • A model has to provide answers to questions - modeling in itself is not an objective: a model serves a purpose to answer some particular questions.  Make these questions explicit to find appropriate scope and focus.
  • Make a clear distinction between a model and its visualisations - architects have a tendency to consider a visualisation of a model as the model itself.
  • Grice's Maxims (Logic and Conversation, Syntax and Semantics III: Speech Acts.  pp 41-58. 1975)
    • Maxim of Quantity
      • Make your model as informative as necessary
      • Do not make your model more informative than necessary
    • Maxim of Quality
      • Do not model what you believe to be false
      • Do not model that for which you lack adequate evidence
    • Maxim of Relevance
      • Be relevant (i.e. model things related to the modelling goal)
    • Maxim of Manner
      • Avoid obscurity of expression
      • Avoid ambiguity
      • Be brief (avoid unnecessary concepts and relations)
      • Be orderly
  • Model Iteratively - discuss intermediate (stable) versions, use feedback to improve and determine parts that need more detail
  • Model for dynamics - describe forseen changes that can occur
  • Be economical in models - Model only concepts and relationships that are relevant for the given purpose and type of stakeholder
  • Be economical in views - When communicating with a stakeholder, use a view that only includes concepts and relations relevant for that stakeholder
  • Make concepts recognisable - Use the same names stakeholders use
  • Make a model consistent - Apply same concepts as the real world.  Use same terms to denote same concepts
  •  Keep related models consistent - Coherence between models is important: avoid conflictss and use uniform terminology
  • Make models as correct and complete as needed - a model should be a correct representation of something from the real world, focusing on specific aspects. Models do not have to be 100% complete because people can fill in the gaps.  Main structures must be clear, but details and exceptions are left for implementation phase.
  • Treat different concerns orthogonally - different concerns should be addressed in different parts of the model, or related models
Filed under:

Comments

No Comments
Anonymous comments are disabled

Search

This Blog

Syndication

Page view tracker