Advantages of UML:
There are two main advantages of UML:
- Readability: - Representing your whole architecture in flowchart, class diagrams, ER diagrams etc makes your project more readable. Especially when programmer's change jobs handover becomes easier. More the project is not readable more the dependencies.
- Reusability: - After the system is more readable and broken down to pieces, it becomes easier to identify redundant and similar modules. Thus increasing reusability.
Disadvantages of UML:
The various disadvantages of UML are:
- Still no specification for modeling of user interfaces.
- Business rule specification – a group exists for this within the OMG, so we should see something in UML
- Poor for distributed systems – no way to formally specify serialization and object persistence.
- Example – no way to specify that an object resides on a server process and shared among instances of a running process.
As per my learning there are 13 types of UML Diagrams that are one by one described as under:

1. Activity Diagram:
Activity diagram is typically used for business process modeling, for modeling the logic captured by a single use case, or for visualizing the detailed logic of a business rule. Complicated process flows in the system are captured in the activity diagram. Similar to a state diagram, an activity diagram also consists of activities, actions, transitions, initial and final states, and guard conditions. But difference is state diagrams are in context of simulation while activity gives detail view of business logic.
Let us consider the example of attending a course lecture, at 8 am.

2. Class Diagram:
The best way to identify classes is to consider all "NOUNS" in use cases as classes, "VERBS" as methods of classes, relation between actors can then be used to define relation between classes. The relationship or association between the classes can be either an "is-a" or "has-a" relationship which can easily be identified from use cases.
Sketch of a conceptual class diagram.

3. Object Diagram:
An object is an instance of a class. Object diagram captures the state of classes in the system and their relationships or associations at a specific point of time. Object diagrams can be imagined as the snapshot of a running system at a particular moment. In a brief, object diagrams are used for:
- Making the prototype of a system.
- Reverse engineering.
- Modeling complex data structures.
- Understanding the system from practical perspective.





khadir husPosted Oct 7, 2011, 9:43 PM
Sir, can you please show me how to draw Uml diagrams for e academia
Dorababu MekaPosted May 17, 2011, 9:43 AM
Nice and crystal clear explanation
Anil KumarPosted May 16, 2011, 4:59 AM
what a way to expose UML !
Ankit NandekarPosted Apr 18, 2011, 6:46 AM
thnx sir very useful article