UML is a standard language for designing, specifying, developing and documenting the artifacts about software system. It is a pictorial language used to make a software and non-software blueprints.
Once we gather all the requirements from stakeholders, we will document all the process that we need to implement, and we will start to draw the UML diagram to show it to the client to be on a same page. We will go step by step for each module and its process we will draw it sequentially and once it is completed; we will show it to client to confirm the workflow. In case of any corrections client will clear our doubts and we can come on track immediately rather than coding direct.
Process to draw UML diagram:
Process to be followed:
- Open MS visio
- Draw system boundary
- Drag users in the form as per requirement
- Draw shapes inside system boundary
- Interconnect users with their tasks. (Show relation between them)
- Define relationship
- Export to pdf
There are total two types Structural and Behavioural.
Structure Diagrams: These are nothing, but the static parts of any architecture and they are used to represent objects, classes and packages of any software and relationship between each other.
Type of Diagram:
- Class Diagram
- Component Diagram
- Package Diagram
- Object Diagram
- Deployment Diagram
- Profile Diagram
These diagrams are used for dynamic purpose and to show how the system will respond to specific input and how it will react to inputs, within system and its component.
Type of Diagram:
- Activity Diagram
- Use Case Diagram
- Timing Diagram
- State Machine Diagram
- Sequence Diagram
UML diagrams helps us to categories the system into modules as we will be unable to track it in between thousands lines of code.
Benefits of UML Diagrams:
- It offers users with an expressive, ready-to-use visual modelling language to exchange and develop meaningful models
- Provide independence from the specific development processes and programming languages
- It gives specialization and extensibility mechanisms to extend the key concepts.
- Encourages the usage of object-oriented tools
- Forms the basis to learn the modelling language.
Where It Is Used:
- In complex apps those needs collaboration and effective planning with different teams and require a critical or rigorous communication.
- It helps non-programmers to understand the essential requirements, processes, and usage of a software.
- It enable teams to visualize user interactions, static structure of a system, and processes within system effectively with diagrams and save time.
- It eases in software documentation so people can easily understand all about a system.