162 |
developed for descriptions on an abstract level (many constructs |
developed for descriptions on an abstract level (many constructs |
163 |
cannot be directly expressed in any programming language) |
cannot be directly expressed in any programming language) |
164 |
[booch-jacobson-rumbaugh98uml-user-guide-onpage-12]_, but the current |
[booch-jacobson-rumbaugh98uml-user-guide-onpage-12]_, but the current |
165 |
trend is to use it also on the concrete level, as to fully unify the |
trend in research is to use it also on the concrete level, as to fully unify the |
166 |
architectural documentation and program code: the program code might |
architectural documentation and program code: the program code might |
167 |
be generated from highly detailed diagrams |
be generated from highly detailed diagrams |
168 |
[harrison-barton-raghavachari00uml-to-java]_, or diagrams |
[harrison-barton-raghavachari00uml-to-java]_. |
169 |
may be produced from the source code |
Another use of UML is in reverse engineering, where |
170 |
|
diagrams may be produced from the source code |
171 |
[pierce-tilley02connecting-documentation-rose]_. |
[pierce-tilley02connecting-documentation-rose]_. |
172 |
|
|
173 |
Against this trend, we still use UML only to plan and document our software |
In this article we focus on the more conventional use of UML |
174 |
architecture on a general level. UML functions as a common language for |
to plan and document software |
175 |
communication within our software development team, and for this purpose we |
architecture on a general level. |
176 |
prefer human-drawn diagrams that abstract from the gory details |
UML can function as a common language for |
177 |
of code to be more comprehensible to us: |
communication within a software development team, and for this purpose |
178 |
|
human-drawn (non-autogenerated) diagrams show the semantically meaningful |
179 |
|
features at the right level of abstraction are preferred: |
180 |
|
|
181 |
"You draw diagrams to visualize a system from different |
"You draw diagrams to visualize a system from different |
182 |
perspectives, so a diagram is a projection into a system. |
perspectives, so a diagram is a projection into a system. |