Unified Modeling Language(UML) ¶
UML Diagram types ¶
Use Case Diagram ¶
Class Diagram ¶
Sequence Diagram ¶
Collaboration Diagram /Communication Diagram (UML 2.0) ¶
*1.1 Order Food
*2. Serve Wine
*3 Pickup
*3.1 Serve Food
*4 Pay
Statechart Diagram ¶
Activity Diagram ¶
The user starts by filling out the form, then it is checked; the result of the check determines if the form has to be filled out again or if the activity is completed.
Deployment Diagram ¶
Criticisms of UML ¶
Although UML is a widely recognized and used standard, it is criticized for having imprecise semantics, which causes its interpretation to be subjective and therefore difficult for the formal test phase. This means that when using UML, users should provide some form of explanation of their models.
Another problem is that UML doesn't apply well to distributed systems. In such systems, factors such as serialization, message passing and persistence are of great importance. UML lacks the ability to specify such things. For example, it is not possible to specify using UML that an object "lives" in a server process and that it is shared among various instances of a running process.
At the same time, UML is often considered to have become too bloated, and fine-grained in many aspects. Details which are best captured in source code are attempted to be captured using UML notation. The 80-20 rule can be safely applied to UML: a small part of UML is adequate for most of the modeling needs, while many aspects of UML cater to some specialized or esoteric usages.
(However, the comprehensive scope of UML 2.0 is appropriate for model-driven architecture.)
A third problem which leads to criticism and dissatisfaction is the large-scale adoption of UML by people without the required skills, often when management forces UML upon them.
Another problem is that UML doesn't apply well to distributed systems. In such systems, factors such as serialization, message passing and persistence are of great importance. UML lacks the ability to specify such things. For example, it is not possible to specify using UML that an object "lives" in a server process and that it is shared among various instances of a running process.
바깥고리 ¶
http://www.codeproject.com/cpp/oopuml.asp - UML 강좌
http://blog.empas.com/huikyun/ - UML에 대해서 잘 정리된 블로그
http://www.sparxsystems.com.au/resources/uml2_tutorial/ - 좋은 UML 튜토리얼
http://blog.empas.com/huikyun/ - UML에 대해서 잘 정리된 블로그
http://www.sparxsystems.com.au/resources/uml2_tutorial/ - 좋은 UML 튜토리얼