Difference between r1.1 and the current
@@ -18,7 +18,7 @@
[http://upload.wikimedia.org/wikipedia/en/2/20/Restaurant-UML-SEQ.gif]
This diagram describes the sequences of messages of the (simple) Restaurant System. This diagram represents a Patron ordering food and wine; drinking wine then eating the food; finally paying for the food. The dotted lines extending downwards indicate the timeline. The arrows represent messages (stimuli) from an actor or object to other objects. For example, the Patron sends message \'pay\' to the Cashier. Half arrows indicate asynchronous method calls.
This diagram describes the sequences of messages of the (simple) Restaurant System. This diagram represents a Patron ordering food and wine; drinking wine then eating the food; finally paying for the food. The dotted lines extending downwards indicate the timeline. The arrows represent messages (stimuli) from an actor or object to other objects. For example, the Patron sends message 'pay' to the Cashier. Half arrows indicate asynchronous method calls.
=== Collaboration Diagram /Communication Diagram (UML 2.0) ===
@@ -45,7 +45,7 @@
=== Activity Diagram ===
Activity diagrams represent the business and operational workflows of a system. An Activity diagram is a variation of the state diagram where the \"states\" represent operations, and the transitions represent the activities that happen when the operation is complete.
Activity diagrams represent the business and operational workflows of a system. An Activity diagram is a variation of the state diagram where the "states" represent operations, and the transitions represent the activities that happen when the operation is complete.
This activity diagram shows the actions that take place when completing a (web) form.
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.
@@ -58,7 +58,7 @@
== 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]].
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.
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 튜토리얼