First and for most, let me discuss UML and Use Cases .
UML is just a graphical way of describing software systems. There are two types of UML:
- UML Sketching - here you only want to share the idea and go through various alternative approaches. This is not specific, but only gives basic ideas.
- UML Blueprint is a very detailed type of simulation in which everything is well laid out and there is a certain completion time.
The following is the UML development process.
- Waterfall model. The development process must strictly follow the process of analysis, design, coding and testing. This means that you cannot do coding without design, etc. You should start with the process of analysis, design, coding and testing (ADCT). Overlapping within these processes is not allowed.
- Iterative (most common). The iterative method is slightly different from the waterfall model in the sense that it is more flexible. You can split the system into parts and run the ADCT process on each part. This means that you will not analyze only once, which will make your system flexible for changes. Unsurprisingly, this is a more common type of approach.
Then the UML planning process is completed.
Predictive planning - the result is known throughout the project duration, and everything should work smoothly with all interested parties, "on one page". If you can easily list all the requirements and you are sure that it will not change, use smart planning.
Adaptive planning (Agile Development) - here the developer constantly works with the user for possible changes. They act as “adapters” to change. This flexibility makes it the best option for forecasting.
Finally, use sample diagrams. Usage charts determine how your program will solve problems or provide some features.
Here is an example: 
Examples of the use of Diagrams are usually associated with the interaction of Actors, which can be a Human or an External system. Examples of use are presented by Elipses of the "Insert Card" type.
The line from actor to use cases is called communication lines.
The “include” part means that two or more use cases will try to access one use case. while the “extend” part is when the use-case tries to access an optional use case.
The use case "Select Amount" is a common use case, while two specific use cases are used under it.
After that, the use case description is used. Basically just a description of your use case. for example, “The user enters his card and inserts a pin. After that, the system will check whether the card is active or not stolen, and / or if the entered contact is correct,” etc. This will be wrapped up by saying that the system (security) will provide funds and a receipt.
One more note -
Action diagrams
Action diagrams basically just describe what actions were taken to achieve the ultimate goal. If you are familiar with flowcharts, then it will be easier to understand the concepts of activity diagrams.




Starting nodes are the starting point of the activity diagram, which is symbolized by a shaded circle. The purple colored notes simply describe the various components of the activity diagram.
Class diagrams
Classes describe the types of objects that your program will use, while class diagrams describe these classes and how they are related.
I'll just upload some slide shows to speed up the tutorial:





<T411> 





Sequence diagrams
A sequence of diagrams interacts with the model in your program and provides a logical way to build your system. They describe the interaction between parts of your program.
When creating sequence diagrams, you describe which interactions are triggered and when. They focus on the order of events in all interactions.
Again, here are the sequence diagrams of the tutorial:



Communication diagrams
Communication schemes are used to display relationships between participants. They focus on what interactions are triggered and when. They also describe the order of events in all interactions.






These ideas are from Derek Banas ’s video tutorials .
Here is a list of UML tools . Some of them are free. :)