UMLet schemas such as Use Case, Class, Activity, etc.

Could you help me find a detailed tutorial on these topics:

  • UML
  • Behavior charts
    • Use chart examples
    • Action diagrams
  • Structural diagrams
    • Class diagram
  • Interaction diagrams
    • Sequence diagram
    • Communication scheme

I am really a beginner and I want to know what are the ideas for using UML diagrams, differences and tools (like UMLet) that are perfect for beginners like me.

+8
uml class-diagram sequence-diagram
source share
3 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:

  • 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: Use Case Diagram

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 -

  • Triggers (the machine receives a card / user comes into contact)

  • Actors

  • Prerequisites (for example, the bank has sufficient funds).
  • Objectives (for example, successful conclusions, for example, the ability to provide user funds).
  • List of failed completions (for example: invalid card)
  • Extensions (for example: if the output is invalid after three attempts 3 )
  • Execution steps (for example: from a client Inserting a card to popping a card)

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.

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

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:

Class diagram basicsBasic method diagramUML Class Item VisibilityMultiplicityClass Dependence: DependencyClass Dependence: Association <T411> Class Dependence: InheritanceConstraintsPre & Post Condition ConstraintsObject Constraint LanguageAbstract Class DiagramsInterface Class Diagrams

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:

Sequence Diagram 1Sequence Diagram 2Sequence Diagram 3

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.

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

These ideas are from Derek Banas ’s video tutorials .

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

+27
source share

You must first understand what UML is and what NOT

So, start by reading Craig Larman's article What is UML and Not

Then, to get an idea of ​​how UML can be used "incorrectly" or how UML should not be used

Read the ULE Fever Death article by ALEX E. BELL. Pay attention to industry experts (PHILIPPE KRUCHTEN, GADY BOOCH), commenting on this article.

Do not try to learn every detail of UML notation.

% 20 of UML is enough for your% 80 needs. Try not to use "lesser-known" functions. You do not need to use all UML diagrams. Use the one you get.

Best modeling tool

The best modeling tools are free places for drawing, such as white boards, flip charts, even paper. Not CASE tools. Find the wall and turn it into a free drawing area with tools such as Blackboard similar to whiteboards

Try Agile Modeling

Check the side to get an idea of Agile Modeling

Find a good UML book

To find out short and concise UML notation:

UML Distilled: A Quick Guide to Standard Object Modeling Languages ​​(3rd Edition) by Martin Fowler

Apply process UML (RUP) in a flexible way

The Use of UML and Templates: An Introduction to Object Oriented Analysis and Design and Iterative Development (3rd Edition) by Craig Larman (author)

For a short and enjoyable guide with recommendations

UML Elements (TM) 2.0 Style by Scott W. Ambler (author)

If you don’t like books or don’t want to spend money

For class diagrams:

Check out UML Basics: Class Diagram

For sequence diagrams

Check UML Basics: Sequence Diagram

Action diagrams

Mark UML Basics: Action Diagram

Check UML Activity Diagrams 2

For usage usage diagrams

Check UML 2 Use Example Charts

Be careful. Use cases are text stories that talk about the interaction between the user (actor) and the system to achieve the goal. Therefore, diagrams of using random situations without the use of text texts are useless. To learn more about use cases, read the following free book chapters:

For Sate Machine Charts

Check Sparx EA UML 2 State Machine Diagram

For component diagrams

Note UML Basics: Component Diagram

For Deployment Diagrams Check Sparx EA UML 2 Deployment Diagram

PS: There are other diagrams, but they are most widely used.

And Google is ... For example, I google and see the side http://www.uml-diagrams.org/uml-25-diagrams.html . This seems like a good side for details.

+3
source share

Here's how I learned a few terms when I started. (I was still studying, so if I'm wrong, feel free to edit)

UML is just a way to describe how a system works using flowcharts. They have certain characters to represent different meanings.

Use case diagrams just say how something (they call it an actor) interacts with the system! An activity diagram is what it sounds, various actions that occur for a particular action!

Here is an example: Activity chart for the banking system (UML) There are some more that I haven’t answered, but the answers from others are pretty good.

+1
source share

All Articles