What is the sequence of UML diagrams in project?
At First let me say some fact about this question, you cannot implement all the nine diagrams given by the UML in one project; you can but can be very rare scenario. The way UML is implemented in project differs from project to project & company to company. The Second very important point is to remember is generally all diagrams are not implemented
In the project, but some basic diagrams are important to have in order that the project is readable. When we talk about projects every project have phases for example (Requirements phase, coding phase, design phase etc). As every phase of the software cycle proceeds these diagrams come into picture. Some of the diagrams span across multiple phases.
1) Requirement phase:
The Requirement phase is the phase where you generally gather requirement and Use Cases are the best things to make explanation of the system. In requirement phase you may further make complicated Use Cases more simple and easy to understand by using the activity diagrams, but I do not see it as must in every project. If the Use cases are really complicated then go for an Activity diagram. For example CRUD (creates, read, delete and update) operation use cases have no significance for making the activity diagrams. So in brief the outcome UML documents from requirement phase will be Use Case and Activity diagram documents (Activity diagram documents will only be there if there are complicated Use Cases to be simplified).
2) Design phase:
The Design phase is the phase where you design your technical architecture of your own project. Again in this you do not use all UML documents of a project.
But the next document after the Use of Case document will be the Component diagram.The Component diagrams form a high level classification of the system. So after "Use Cases" just try to come out with a high level grouping /classification of related functionalities. This must be compulsory diagram as outcome of this document will form the "NAMESPACES" structure of .NET project.
Now once your high level grouping is completed you can go ahead with the class diagrams. Especially from Use Case you get the "NOUNS" and "VERBS" that can form the class name and the method name respectively. From my point of view the class diagrams should be compulsory in projects.
The Object diagrams are not compulsory it depends on how complicated your project. The Object diagrams show the relation b/w instances of class at the runtime. In brief it captures the state & relation of classes at any given moment of time. For example you have class that creates objects of various classes, it's like a factory. In the class diagram you will only show that it as a simple class with a method known as "CreateObject". But in the object diagrams actually you will show the types of instances create from that object.
The Collaboration diagrams mainly depict interaction b/w object to depict some purpose. I find this diagram to be more useful than Object diagrams as they are addressed for some specific purpose for example "Login Process" which will use "Login object", "User Object" etc to fulfill the login purpose. So if you find the process much complicated then go for this diagram.
I see as a thumb rule if there is an activity diagram which shows some serious complicated scenarios. I will like to go for this diagram in order to simplify the description.
The State chart diagram is again generated if your project requires it. If your project has some complicated start and end states to show then this diagram is much useful. Recently I was making a call center project where the agent phone pickup & hang state has to be depicted. Hence my first state was when agent picks up the phone & the final stage was when agent hangs the phone, in b/w process was very complicated, which can only be shown by using the state chart diagrams.
The Sequence diagrams are required if some sequence is complicated. Do not confuse in sequence diagrams with the Activity diagram, The Activity diagrams map to a Use Case while sequence diagrams show object interaction in sequence. The Deployment diagrams are again not a compulsory requirement. It will show the h/w and s/w deployment of your system.
3) Implementation phase:
In this phase mostly class diagrams are re-engineered with source code. But other diagrams are also present for validity check for example state chart diagrams will be used in case to check that the both activity b/w those states follow the proper logic. If some things have to be changed then again there is iteration backward to the Requirement phase.
4) Testing phase:
This phase mostly goes for testing department. I am not talking about preparing the UTP plans but SITP plans. Where the testing department will see at all diagrams to prepare a test plan and execute it. For example it will see the Use Case document to see the business rules; it will see the activity diagram and sequence diagrams to see the proper flow of the modules. If some things are not proper then there is iteration back to the Design phase.
![1130_UML.png](https://www.expertsmind.com/CMSImages/1130_UML.png)
Figure :-Phase mapping with UML documents