Are domain model diagrams always done using UML? For example I searched for an example of a domain model diagram, how do you know what the open arrows, closed arrows, hollow diamonds, solid diamonds etc. mean? Is it the same as in UML?
Are domain model diagrams always done using UML? For example I searched for an example of a domain model diagram, how do you know what the open arrows, closed arrows, hollow diamonds, solid diamonds etc. mean? Is it the same as in UML?
>> Are domain model diagrams always done using UML?
No. A domain model is an abstraction of what a system does. "System" can be pretty much anything within the scope of the business problem. From a computer application, to the layman description of business processes. UML is concerned with object oriented modeling. Its notation system is generic enough to be applied elsewhere, but an UML domain model that isn't a class diagram is not a UML domain model. Yet, not all system use or understand classes, or even relate to an object based paradigm. So a domain model can be constructed from any notation and for any type of system as long as the people involved agree with it.
Here's an example of another type of domain modeling.
Last edited by Mario F.; 09-24-2011 at 06:33 AM.
Originally Posted by brewbuck:
Reimplementing a large system in another language to get a 25% performance boost is nonsense. It would be cheaper to just get a computer which is 25% faster.
Ok, shouldn't any diagram have a legend or something? For example in the image I posted it doesn't say what the difference between triangular tipped and diamond tipped arrows is?
A related question, a domain model has a description using words, the domain model diagram is just one part of it?
UML diagrams don't require a legend because they are constructed from a formally defined notation. You just need to learn the notation.
Anyways, the white arrows represent a class hierarchic relationship, the black arrows represent a class composition relationship. So the class Hospital derives from the class Provider, and an Insured class contains one or more Plan objects.
Code:class Provider { /* ... */ } class Hospital : public Provider { /* ... */ } class Insured { public: std::vector<Plan> plans; /* ... */ }
Originally Posted by brewbuck:
Reimplementing a large system in another language to get a 25% performance boost is nonsense. It would be cheaper to just get a computer which is 25% faster.