Can you please help me find a detailed tutorial on this topics:
I'm really a newbie and I want know what are the ideas in using UML diagrams, there differences, and the tools (like UMLet) that are ideal for novices like me.
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 namely:
Next up is the UML Development Process.
Then there's the UML Planning Process
Predictive Planning - outcome is known for the whole duration of the project and everything should run smoothly with all the stakeholders involve, 'on the same page'. If you can easily list all requirements and you are pretty sure that it will not change, Use predictive Planning.
Adaptive Planning (Agile Development) - here the developer continually works with the user for possible changes. They act as 'adaptor' -- to changes. It's flexibility makes it a better option from the predictive planning.
Finally Use Case Diagrams. Use Case Diagrams define how your program will solve problems or provide some functionality.
Here's an example:
Use Case Diagrams usually deals with the interaction of Actors which could be a Human, or an External system. The Use cases are represented by the Elipses like "Insert Card".
The line from the actor towards the Use Cases are called communication lines.
The 'include' part means that two or more use case will try to access a single use case. whereas the 'extend' part is when a use case will try to access an optional use case.
The 'Select Amount' Use case is a general use case while under it are two specific use cases.
After this is the Use Case Description. Basically just a description of your use case. like " The user enters their card and inputs the pin. The system security will then check if the card is active or not stolen and/or if the inputted Pin is correct", etc. It will be wrapped up by saying that the system (security) will provide the funds and the receipt.
Another thing to note is the
Triggers (Machine receives the card/User enters Pin)
Actors
Activity Diagrams
Activity Diagrams basically just describes what actions occurred to achieve an ultimate goal. If you are familiar with flow charts, then it will be easier to understand the concepts behind Activity Diagrams.
Initial Nodes is the starting point of the Activity Diagram which is symbolize by a shaded circle.The purple colored notes simply describes the different components of an activity diagram.
Class Diagrams
Classes describes types of objects your program will use while Class Diagrams describe those classes and how they relate.
I will just upload some slide shows to make the tutorial faster:
Sequence Diagrams
Sequence diagrams model interactions in your program and provide you with a logical way to layout your system. They are about showing the order of interactions between the parts of your program.
In making sequence diagrams, you describe which interactions are triggered and when. They focus in on the order of events in all interactions.
Again, here are the sequence diagrams of the tutorial:
Communication Diagrams
Communication diagrams are used to show links between participants. They focus in on which interactions are triggered and when. They also describe the order of events in all interactions.
These ideas is from the video tutorials of Derek Banas
Here is a list of UML Tools. Some are free. :)