Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

UMLet Diagrams like Use Case, Class, Activity, etc

Can you please help me find a detailed tutorial on this topics:

  1. UML
  2. Behavior Diagrams
    1. Use Case Diagrams
    2. Activity Diagrams
  3. Structure Diagrams
    1. Class Diagram
  4. Interaction Diagrams
    1. Sequence Diagram
    2. Communication Diagram

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.

like image 408
user1246567 Avatar asked May 14 '13 15:05

user1246567


People also ask

How many types of UML diagrams are there?

What are the types of UML diagrams? To the uninitiated, it may seem as though there is an infinite number of UML diagrams, but in actuality, UML standards identify 13 types of diagrams that are divided into two groups, defined below.

Which UML diagram is similar to class diagram?

Class diagrams are the only diagrams which can be directly mapped with object-oriented languages and thus widely used at the time of construction. UML diagrams like activity diagram, sequence diagram can only give the sequence flow of the application, however class diagram is a bit different.

What is the diagram type we are learning to use in Umlet?

Class diagrams are one of the most useful types of diagrams in UML as they clearly map out the structure of a particular system by modeling its classes, attributes, operations, and relationships between objects. With our UML diagramming software, creating these diagrams is not as overwhelming as it might appear.


1 Answers

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:

  1. UML Sketching - here you only want to communicate an idea and go through different alternative approaches. It's not specific but it only gives the basic ideas.
  2. UML Blueprint - This is a very detailed type of modeling in which everything is well laid out and there is a definite time of completion.

Next up is the UML Development Process.

  1. Waterfall Model - The development process must follow the Analysis, Design, Coding, and Testing Process strictly. Meaning you can't do the coding without the design, and so on. You must start with the Analysis, Design, Coding and Testing (ADCT) Process. Overlapping within this processes is not allowed.
  2. Iterative (Most Common) - The iterative way is kinda different from the waterfall model in a sense that it is more flexible. You can divide the system into pieces and run the ADCT Process on each piece. Meaning you will not do Analysis just once, which will make your system flexible to changes. No wonder this is a more common type of approach.

Then there's the UML Planning Process

  1. 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.

  2. 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 Diagram

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

  1. Triggers (Machine receives the card/User enters Pin)

  2. Actors

  3. Preconditions (e.g., bank has sufficient funds)
  4. Goals (e.g., Successful conclusions like being able to provide the user funds).
  5. List failed conclusion (ex: invalid card)
  6. Extensions (ex: If pin is invalid after three 3 tries)
  7. Steps of Execution (ex: From customer Inserts card up to the ejection of the card)

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.

Activity Diagram 1Activity Diagram 2Activity Diagram 3Activity Diagram 4

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:

Class Diagram BasicsBasic Method DiagramUML Class Item VisibilityMultiplicityClass Dependence: DependencyClass Dependence: AssociationClass Dependence: Aggregation and CompositionClass Dependence: InheritanceConstraintsPre & Post Condition ConstraintsObject Constraint LanguageAbstract Class DiagramsInterface Class Diagrams

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:

Sequence Diagram 1Sequence Diagram 2Sequence Diagram 3

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.

Communication Diagram 1Communication Diagram 2Communication Diagram 3Communication Diagram 4Communication Diagram 5Communication Diagram 6

These ideas is from the video tutorials of Derek Banas

Here is a list of UML Tools. Some are free. :)

like image 150
Knighk Avatar answered Sep 21 '22 06:09

Knighk