I'm currently studying for an examination and one of the sample paper questions is to discuss the limitations of UML. Most of the material I'm finding on the net is relating to a specific UML implementation or language. I'm wondering from a generalists point of view what would you consider the limitations of UML to be?
|
|||||||||
We're looking for long answers that provide some explanation and context. Don't just give a one-line answer: please explain why you're recommending it as a solution. Answers that don't explain anything will be deleted. See Good Subjective, Bad Subjective for more information. |
|||||||||
|
Difficulties I've come up against trying to use the UML:
Finally a minor bugbear of mine which isn't much of a limitation but does cause cognitive problems when using the UML to represent ObjC: in ObjC |
|||||||||||||||
|
|
Limitation 1: be quickly out-of-sync with the source Limitation 1bis: need constant effort to keep it in sync Limitation 2: it answers "how" it is, but not "why" Limitation 3: lack of expressiveness:
Limitation 4: you can hardly express unusual concepts (reflection, first class functions, closures, pointers of pointers, annotations, dynamics...) |
|||||||||||||||||||
|
|
Just an observation: People don't share their UML Models as freely as they share their code. Even if they did, there would be compatibility issues of the software tools used (there is no exchange format, XMI is insufficient) Regarding diagram types. In computer books that I happen to like, the authors seem to prefer only a simplified diagram type ("Head First Design Patterns" use only simplified class diagrams; "Portlets in action" almost exclusively uses sequence diagrams). Other diagram types seem to be much less frequently used in the computer literature. Let alone other UML constructs such as the "object constraint language". |
|||
|