Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

What is the conceptual difference between a Model and a Diagram in software development

I have seen that there is a clear distinction between models and diagrams in software development, but I cant quite fork out the difference between models and diagrams.

For example there is a Use Case Model and an Use Case Diagram but what is the actual difference between the 2?

I do understand the a model is more of an abstract representation of a system but I can't seem to find examples of a model and a diagram I can only find diagrams such as sequence, collaboration, class etc...

Examples of models compared to diagrams would be helpful

Thanks

like image 849
Ryman Holmes Avatar asked Jan 08 '14 17:01

Ryman Holmes


2 Answers

A model is representation-agnostic. It can be rendered, from different points of view using different types of views or diagrams, e.g. the same set of classes can be seen from the static point of view of a class diagram, or from the point of view of their dynamic mutual interaction in a communication diagram.

So, the model is the same, but how we view it is different depending on the information we want to convey.

Think of the model as the data that you would put on a spreadsheet and the diagrams as the different types of charts that you can use to view and interpret that data, for instance, a pie chart or bar chart. It is the same data, but every chart would convey different aspects of the information that can be useful to make decisions.

Similarly, every type of UML diagram conveys different aspects of the design of a system, but they all share a common model that you would probably reuse to create every type of diagram.

Most UML CASE tools let you interact with such model. For instance, in most of these tools if you define a class in a class diagram, it is automatically added to the model and, later, while defining a communication diagram that uses an object of that class you can simply drag it from the model and drop it in your communication diagram, by this, conveying the idea that you are using an object from a class already in the model.

Further information:

  • Diagram vs Model
  • UML Model vs UML Diagram
like image 169
Edwin Dalorzo Avatar answered Oct 12 '22 00:10

Edwin Dalorzo


A diagram is a 2 dimensional depiction of a model.

This is why you can't find examples of a model, since what you are finding is the diagram to explain that model.

like image 41
Tim B Avatar answered Oct 12 '22 00:10

Tim B