UML 2.0 Activity Diagrams

Sdílet
Vložit
  • čas přidán 20. 07. 2024
  • Get the Cheat Sheet: goo.gl/Pn79z
    Subscribe to Me: bit.ly/2FWQZTx
    MY UDEMY COURSES ARE 87.5% OFF TIL July 16th ($9.99)
    www.udemy.com/
    ➡️ Python Data Science Series for $9.99 : Highest Rated & Largest Python Udemy Course + 56 Hrs + 200 Videos + Data Science bit.ly/Master_Python_35
    ➡️ New C++ Programming Bootcamp Series for $9.99 : Over 23 Hrs + 53 Videos + Quizzes + Graded Assignments + New Videos Every Month bit.ly/C_Course_35
    Welcome to my tutorial on UML 2.0 Activity Diagrams! In this tutorial, I'll show you all of the symbols used to create activity diagrams.
    Activity diagrams show what actions occur step-by-step to achieve a given goal. Activity symbols are very similar to flowchart notation, so you should find this topic very easy to learn.
    I have the entire image I taught from on my site. I think it will be a great cheat sheet. The program I use is UMLet. It is free and works on all OSs.
    Like the channel? Consider becoming a Patreon! Check it out here:
    ►► / derekbanas
    Watch More Learn in One Videos
    ►► Java - • Java Tutorial
    ►► C++ - • C++ Programming
    ►► Python - • Python Programming
    ►► MySQL - • MySQL Tutorial
    ►► PHP - • PHP Programming
    ►► Kotlin - • Kotlin Tutorial
    ►► C# - • C# Tutorial
    ►► JavaScript - • JavaScript Tutorial

Komentáře • 378

  • @derekbanas
    @derekbanas  Před 11 lety +135

    I will never understand why universities don't spend more time on courses that directly relate to the degree instead of unrelated courses?

  • @TheSkeptic1976
    @TheSkeptic1976 Před 10 lety +44

    A ForkNode is *not* represented as a diamond as specified around 3:20. It is represented as a line-segment, it can be either a horizontal or vertical, as specified in the UML 2.5 SuperStructure specification in Figure 15.29. From UML SuperStructure 2.5 section 15.3.4:
    " The notation for both ForkNodes and JoinNodes is simply a line segment, as illustrated on the left side of Figure 15.29 (not necessarily in that orientation).When used, however, a ForkNode must have a single incoming ActivityEdge and usually has two or more outgoing ActivityEdges, while a JoinNode usually has two or more incoming ActivityEdges and must have a single outgoing ActivityEdge."

  • @Miguel-ng5wm
    @Miguel-ng5wm Před 8 lety +55

    What I've learned is that NO MATTER WHAT the freaking UML diagram is wrong. According to my fucking SE professor.

  • @derekbanas
    @derekbanas  Před 11 lety +2

    Thank you very much :) So far the voting is going the Game / Android route but that could change. I may be able to slip in Hibernate or Spring? What are you looking for? Either way I'll cover J2EE after the other tutorial. This is just a vote on which is covered next. It isn't an either or vote

  • @derekbanas
    @derekbanas  Před 11 lety +2

    Thank you :) This is technically a Java tutorial as it is a tutorial for all languages. I had to teach UML so I could dive into the complexity that is OO analysis. Then I'll dive in head first for refactoring. After that everything is easy

  • @derekbanas
    @derekbanas  Před 11 lety +1

    I can't imagine finishing a big project without sequence diagrams. It does seem like more organizations I have dealt with lately are trying to work with just simple usage descriptions. I just go and make my sequence diagrams on my own. Magically I continue to finish my projects while others have been failing at an increasing rate. I get the Ed Helms thing all the time :)

  • @derekbanas
    @derekbanas  Před 11 lety

    Thank you :) I do my best to make learning easy. I'm glad you liked the videos

  • @derekbanas
    @derekbanas  Před 10 lety +2

    You're very welcome :) I'm glad I could help

  • @derekbanas
    @derekbanas  Před 10 lety +1

    I'm glad you enjoy them. I don't think about negative comments. Actually some of them help me improve my videos :)

  • @derekbanas
    @derekbanas  Před 11 lety +8

    Thank you :) I do my best to fill in the gaps. It is amazing to me that colleges don't teach this topic. When I first started working for Apple it was a must that I understood Object Oriented Design and how to use UML diagrams.

  • @derekbanas
    @derekbanas  Před 10 lety

    Thank you :) This teaches about activity diagrams, but more importantly it teaches how to solve problems

  • @derekbanas
    @derekbanas  Před 10 lety +1

    What I'm showing here are the standardized rules for many UML diagrams. In the real world you will sometimes leave out explanations in the simple part of your system, while you'll explain beyond the standard when needed. As this series continues I demonstrate that because I create very detailed sequence diagrams

  • @derekbanas
    @derekbanas  Před 11 lety

    Eventually you'll find a few diagram tools that work best for you and then use them. I normally write a use case description and then a sequence diagram and that is it. Check out part 1 of my object oriented design tutorial to see what I use in the real world

  • @derekbanas
    @derekbanas  Před 11 lety +1

    You're very welcome. Thank you :)

  • @derekbanas
    @derekbanas  Před 10 lety

    Hello, I use UMLet. It works on every OS and can either be used as an Eclipse plugin, or on its own. Visual Paradigm is the best in my opinion, but it is also expensive. Most of the time for tutorials and in the real world I use a paper and pencil, or a white board.

  • @derekbanas
    @derekbanas  Před 11 lety

    Thank you :) What are you looking for? The Umlet file?

  • @derekbanas
    @derekbanas  Před 11 lety +1

    Thank you very much :) I greatly appreciate that!

  • @derekbanas
    @derekbanas  Před 11 lety

    Thank you :) I'm working to make videos easier to follow

  • @shmilos
    @shmilos Před 11 lety

    great job! i watched many of your UML videos and they all GREAT! thank you for uploading them :)

  • @derekbanas
    @derekbanas  Před 11 lety

    I normally design all of my logic in a sequence diagram after I complete the usage case. The class diagram is just used to provide an overview of the system. I hope that helps

    • @usamazahid1
      @usamazahid1 Před 4 lety

      Cheatsheet needed....u r tutorial is awesome

  • @cdtje3
    @cdtje3 Před 8 lety

    Thank you for sharing Derek! Although some information flies by really fast, you're easy to follow and fun to listen to!

    • @derekbanas
      @derekbanas  Před 8 lety

      +Christian Slijngard You're very welcome :) I do my best to keep it interesting.

  • @derekbanas
    @derekbanas  Před 11 lety

    That's ok. Always feel free to ask questions

  • @ashfaqhussain7996
    @ashfaqhussain7996 Před 10 lety

    Thanks so much Derek. This is very simple for someone who hasn't done any use cases.

  • @bernicezerafa3603
    @bernicezerafa3603 Před 11 lety +1

    Thanks for all these awesome tutorials :) Instead of having to read a bunch of ppt slides for an exam, I just listened to those tutorials and took some notes and I was done with my diagrams :) Subscribed to your channel. You seem to have many interesting tutorials!

  • @MrHvfan
    @MrHvfan Před 10 lety +1

    Derek, I keep shying away from using UML notation, since I keep ending up with hybrid diagrams. Your videos have really helped to clear things up. Many thanks and greatly appreciated.

    • @derekbanas
      @derekbanas  Před 10 lety

      I'm very happy that I was able to help :) You're very welcome

  • @lmb_codes
    @lmb_codes Před 8 lety +3

    wish i had known of these video series when i was still studying at the university... this is a 100x more enjoyable than i remembered :D

    • @derekbanas
      @derekbanas  Před 8 lety +1

      +Lyndon Michael Bibera Thank you :) I'm glad you liked it.

  • @invinciblekd
    @invinciblekd Před 10 lety +2

    This tutorials were what I was always looking for !! Thanks a lot Derek, Coding is not much a big problem for me but I always struggled when I was asked to develop something from scratch, a lot of back and forth development cycles messes the whole project. Now I know how to proceed for new projects from scratch !

    • @derekbanas
      @derekbanas  Před 10 lety

      I'm very happy that I could help with this. Yes there is a big difference between writing simple programs and large professional ones. I couldn't imagine how I'd make a large application without UML.

    • @abdulbarrothman9677
      @abdulbarrothman9677 Před 10 lety

      what kind of prog. lang. you always use invinciblekd?

    • @invinciblekd
      @invinciblekd Před 10 lety

      Abdulbarr Othman I'm primarily a c++ developer but now shifting slowly to Java !

  • @derekbanas
    @derekbanas  Před 11 lety

    Thank you :) It was fun to make. I like zooming

  • @architect3651
    @architect3651 Před 9 lety +1

    Hey Derek Banas,
    Nice video couple of stuff I would like to point out. The merge and fork you are showing is actually junction nodes (however your depiction is correct). Merge and fork actually is a rectangular black thick line, the arrows differentiate which is fork and merge. I use umlet a lot hence I know the differences.

  • @derekbanas
    @derekbanas  Před 11 lety +1

    You're very welcome :)

  • @ISURUDHARMASIRI
    @ISURUDHARMASIRI Před 10 lety

    Thanks Lot Derek!! All Concepts covered in one Diagram. Cheers!!! (y)

  • @aninhaprsouza
    @aninhaprsouza Před 9 lety +1

    Very helpful, clear, simple and objective explanation (as always).Derek, thank you for help me revise, improve and learn so many important concepts in diverse subjects.

    • @derekbanas
      @derekbanas  Před 9 lety

      Ana Souza Thank you :) You're very welcome

  • @lexugax
    @lexugax Před 11 lety

    Great job! Thanks for sharing your knowledge in such a professional manner.

  • @bassdewd
    @bassdewd Před 9 lety +5

    @1:28 Isn't this supposed to be a decision? And when the two lines recombine it should be a merge. Anyway that's what I learned.

  • @derekbanas
    @derekbanas  Před 10 lety

    Thank you :) It is very nice for you to say that.

  • @michael1winn
    @michael1winn Před 10 lety

    Awesome! This was a great help and very easy to understand!

  • @razer4205
    @razer4205 Před 5 lety

    Hey Derek, what is the difference between marking a node as a call activity node vs making a partition for that node where we explain it? Thank you!

  • @ranjithj6042
    @ranjithj6042 Před 9 lety

    Great Tutorial, Thanks Derek

  • @derekbanas
    @derekbanas  Před 11 lety

    That's funny :) I'm very happy that I was able to help

  • @goferenc
    @goferenc Před 11 lety

    Nowadays I watch your Java tutorials. Those tutorials are awesome. Thanks for them.

  • @PeterKelley
    @PeterKelley Před 9 lety +14

    I'm looking at these videos for possible use by developers in my company and I noticed something at about 2:40 that I'm not sure is right. Here a diamond is being used to execute activities in parallel however my understanding of the semantics of activity diagrams is that a diamond only produces one "activation token" and so only one of those activities can be executed. Normally there would be guard conditions coming out of the diamond to determine which path is picked. The correct notation for what you are describing would be a solid line which generates multiple activation tokens on exit. The merge should also be a solid line as execution continues when all inputs have triggered. The way you have it execution will continue after only one activity completes.

    • @silvanadonato7869
      @silvanadonato7869 Před 9 lety +3

      I was thinking exactly the same, that parallel activities should be joined by a solid line. So, what is the truth?

    • @Brax1982
      @Brax1982 Před 9 lety

      Silvana Donato See the official specification of UML 2.0 (10 years old and I suppose Derek used 2.0 as a shortcut for 2.x), 12.3.30 on fork nodes (the fat black bars). Those are for concurrent flows. Derek is wrong.

    • @Brax1982
      @Brax1982 Před 9 lety

      Peter Kelley Yeah, this is all a bit confusing. But looking at the specs it seems that the fat bars are called forks for outgoing lines and joins for incoming. Accordingly, the diamonds are called decisions for outgoing and merges for incoming. So, technically what you called a "merge" should be a "join". Just to avoid confusion. =)

    • @Brax1982
      @Brax1982 Před 9 lety

      Peter Kelley Yeah, this is all a bit confusing. But looking at the specs it seems that the fat bars are called forks for outgoing lines and joins for incoming. Accordingly, the diamonds are called decisions for outgoing and merges for incoming. So, technically what you called a "merge" should be a "join". Just to avoid confusion. =)

  • @derekbanas
    @derekbanas  Před 11 lety

    You're very welcome :) sorry about the voice. I get that from constant allergy problems

  • @derekbanas
    @derekbanas  Před 11 lety

    I've never been into the uml tools that translate into code. I didn't find them useful and also they are extremely expensive. What tool are you using?

  • @MaximZhuravlevYT
    @MaximZhuravlevYT Před 6 lety +1

    2:33 The words "All at the same time" sound confusing here - does it mean that all actions must be performed at the same moment of time or is it just used as kind of "AND" logical operator which waits until all the actions get done and only after that it goes on?

  • @jubinkuriakose
    @jubinkuriakose Před 9 lety

    Hi Derek, Where does event source and event sink fall into ?
    and also facet and receptable ?
    Awesome video bw!!!

  • @omkarparadkar
    @omkarparadkar Před 10 lety

    Thanks a lot Derek for a very helpful series of tutorials, very neat and precise.

    • @derekbanas
      @derekbanas  Před 10 lety

      You're very welcome :) I'm glad you liked them.

  • @abbaszaidi30
    @abbaszaidi30 Před 11 lety

    Thank for this great service to us. Very clear explanation and easy to understand.

  • @vicvd7217
    @vicvd7217 Před 8 lety

    Awesome as always! I would love to see a UMLet-centric video, too. Though, I did watch your java video, I am still falling short with the specific working of custom elements with that software!

    • @derekbanas
      @derekbanas  Před 8 lety +1

      Thank you :) I'll see what I can do. I'll use UMLet again in my Learn to Program series

  • @derekbanas
    @derekbanas  Před 11 lety

    Thank you :) search for UmLet

  • @SoleilQuiles
    @SoleilQuiles Před 8 lety +1

    I'VE BEEN LOOKING FOR THIS PROGRAM THANNK YOU SO MUCH!

  • @jessechen7376
    @jessechen7376 Před 8 lety

    Great Tutorial, Very Helpful.

  • @kinnareepatel6501
    @kinnareepatel6501 Před 8 lety

    This is my first time using UML. I found it very useful. Thank u Derek

    • @derekbanas
      @derekbanas  Před 8 lety

      +kinnaree patel I'm happy that I could help :)

  • @derekbanas
    @derekbanas  Před 11 lety

    Thank you :)

  • @thaqalain10
    @thaqalain10 Před 11 lety

    Awesome videos as always! Watching it at a rate of 1.5 makes it even more quicker :D

  • @debopriyoweb5672
    @debopriyoweb5672 Před 9 lety +1

    Excellent tutorial series. Thank you very much :)

    • @derekbanas
      @derekbanas  Před 9 lety

      Debopriyo Web Thank you :) You're very welcome

  • @lotusmojo
    @lotusmojo Před 11 lety

    I want to commend you for the great material you post!

  • @jokosi
    @jokosi Před 4 lety

    I very much enjoy the random aggressive inflections you have throughout this video

  • @shadydinesh6
    @shadydinesh6 Před 11 lety

    Thank you very much Derek. I am a fan!

  • @RyzzanSalman
    @RyzzanSalman Před 10 lety

    Are you sure about what you said over that Vertical Fork / Join (what you called partition - 7:54)? Wouldn't it be used when 2 different operations would work at the same time? (sorry about my english...)

  • @SithembisoKhumalo
    @SithembisoKhumalo Před 9 lety

    Awesome video series. Love the design! What program did you use to create presentations (out of curiosity)

    • @derekbanas
      @derekbanas  Před 9 lety

      Sithembiso Khumalo Thank you :) I record with Camtasia 2. I edit with iMovie. The presentation was created in KeyNote

  • @ben_m033
    @ben_m033 Před 10 lety

    Great video, very helpful thanks. How do you show an activity returning a value such as a Boolean?

  • @NicoleBraybrook
    @NicoleBraybrook Před 9 lety +12

    Honestly, what would I do without you?!?

  • @jeffhansen1554
    @jeffhansen1554 Před 4 lety

    Thank you so much for this video. You did an amazing job at explaining it!!

  • @PARASPAUL
    @PARASPAUL Před 9 lety +1

    Hi Derek, thank you for the best UML videos on internet. I've one question : why are there so many diagram techniques(ER diagram, activity, sequence, flowchart,dfd etc) ?Do we need to make all of them before developing an application or they are application specific? Basically my question is when to use what? Thanks in advance.

    • @derekbanas
      @derekbanas  Před 9 lety +5

      PARAS PAUL You're very welcome :) All I ever use are
      1. Use Case : Describe the system step by step
      2. Sequence Diagram : Create the system in picture form that can be translated into code
      3. Class Diagram : Document classes, methods, variables

    • @PARASPAUL
      @PARASPAUL Před 9 lety

      Thank You...that was a quick reply

  • @monsterjta
    @monsterjta Před 11 lety

    Hi Derek. Fork and Guard seem very, very similar. Which condition would you use for, say, a login activity? They both seem like they would fit...

  • @TheTranshallow
    @TheTranshallow Před 9 lety

    THANK YOU MAN. CZcams tutorials are more easier to learn by far.

    • @derekbanas
      @derekbanas  Před 9 lety

      TheTranshallow Your welcome :) I'm glad they help

  • @TheMhankel
    @TheMhankel Před 9 lety

    Derek, your UML tutorials saved my a*s! You make UML very easy to understand! Thanks alot!

    • @derekbanas
      @derekbanas  Před 9 lety

      ***** Thank you :) I'm glad I could help. UML is very important

  • @georgem838
    @georgem838 Před 10 lety

    you are awesome Derek, thank you for tutorials

  • @Marlfox70
    @Marlfox70 Před 8 lety +1

    Isn't this supposed to have swimlanes?

  • @thaqalain10
    @thaqalain10 Před 11 lety

    Haha I actually studied this in uni last year so just going over your videos for next year since it's faster than going through my books & notes ;)

  • @ryannabozniak7168
    @ryannabozniak7168 Před 8 lety

    Derek, I love your videos and have commented on them in the past. I have one question though - how do you handle concurrent operations within a system? I've read that activity diagrams can only do this to a limited extent. Is there another type of diagram you recommend for capturing multiple concurrent operations? I've struggled with this in the past.
    Thanks,
    Ryan

    • @derekbanas
      @derekbanas  Před 8 lety

      +Ryan Nabozniak Thank you :) I use sequence diagrams which I cover here czcams.com/video/cxG-qWthxt4/video.html

  • @derekbanas
    @derekbanas  Před 11 lety

    In this tutorial I'm using UMLet because it is free and identical on every OS. In the real world I use a paper and pencil or a whiteboard.

  • @talatshahgmailcom
    @talatshahgmailcom Před 10 lety

    Thanks for these excellent brief tutorials. Very helpful :)

    • @derekbanas
      @derekbanas  Před 10 lety

      You're very welcome :) I'm glad you liked them

  • @fabiodamico8619
    @fabiodamico8619 Před 9 lety

    @Peter and Silvana, indeed, I'd use a fork/join for that. But as far as I remember activities after a fork would not be executed necessarily at the same time (as the author states in his example) as the only condition to 'join' after the 'fork' is that all the activities are completed, whenever it is.

    • @Brax1982
      @Brax1982 Před 9 lety

      Fabio D'Amico Yeah, it's representing concurrency, not parallelism.

  • @derekbanas
    @derekbanas  Před 11 lety

    I made my own palette out of the basic shapes. You can save your own palettes. Sorry about the confusion

  • @stretchsays
    @stretchsays Před 9 lety +2

    Hi I have the same question as someone else that wasn't answered.. In class service learn using 'swim-lanes' and a solid line to show activities that happen concurrently... do u have another video with said swim lanes?

    • @derekbanas
      @derekbanas  Před 9 lety

      sthembelo dlamini I think you are looking for a sequence diagram. I cover those here czcams.com/video/cxG-qWthxt4/video.html

    • @abj136
      @abj136 Před 6 lety

      Partitions are sometimes used to establish effective swimlanes when you have multiple actors in a model.

  • @BSNayak-vw3dx
    @BSNayak-vw3dx Před 9 lety

    Hi.. I found it very helpful. But i couldn't get idea about using partitioning in class diagrams. DO you have a referencefor that? Thanks

  • @enan2852
    @enan2852 Před 5 lety

    Hello Derek , can an activity be written as a question ? . Btw thanks for the video

  • @jconstant
    @jconstant Před 10 lety

    Really great tutorial, Derek!

  • @tiliondece3895
    @tiliondece3895 Před 8 lety

    Thanks for a great tutorial once again! My cat loved it too :)

    • @derekbanas
      @derekbanas  Před 8 lety

      +Tilion Dece That's funny :) You're very welcome

  • @AAmoo2021
    @AAmoo2021 Před 7 lety +5

    really helpful better than my lecturer

    • @derekbanas
      @derekbanas  Před 7 lety

      I'm very happy that you liked it :)

  • @kmallayev
    @kmallayev Před 4 lety

    Thank you very much for your videos and efforts to explain.

  • @marc_1285
    @marc_1285 Před 6 lety

    Dude, your explanations are awesome.

    • @derekbanas
      @derekbanas  Před 6 lety

      Thank you for the nice compliment :)

  • @abduldaim
    @abduldaim Před 4 lety

    A detailed concept of activity diagrams is provided in this lecture.

  • @rodrigo1300
    @rodrigo1300 Před 4 lety

    I think the ones who disliked this video are the ones who make videos themselves but got jealous of Derek's videos haha. I just started learning UML Diagrams yesterday and I already learned so much in only two videos.

    • @derekbanas
      @derekbanas  Před 4 lety

      That's funny 😁 I'm happy I could help

  • @anu.gupta.92560
    @anu.gupta.92560 Před 11 lety

    thank you .it was very helpful

  • @EmSyed
    @EmSyed Před 9 lety

    A sincere thank you from me! You are a uml legend!

    • @derekbanas
      @derekbanas  Před 9 lety

      EmSyed Thank you for the nice compliment :)

  • @qwe123727
    @qwe123727 Před 10 lety

    Hello Derek, Guard conditions are shown for if..else block, but how do i draw the diagram for if..elif...elif..else case

  • @kcchim8655
    @kcchim8655 Před 6 lety

    suppose to have the swimlanes if not mistaken?

  • @Havreringar
    @Havreringar Před 3 lety

    Still not sure how and when to use these. Would be great to see you breakdown a simple coding problem into UML Acitivity diagram and then code.

  • @schomber
    @schomber Před 8 lety

    Your are just awesome ! Helped me a lot ! Thanks for sharing your knowledge.

    • @derekbanas
      @derekbanas  Před 8 lety

      +Martin Peraic Thank you :) You're very welcome

  • @derekbanas
    @derekbanas  Před 11 lety

    Sorry for the wait. Ill get to JEE topics as soon as possible

  • @montetown5741
    @montetown5741 Před 9 lety +1

    i love listening to this guy saying "merge"

  • @xyh7647
    @xyh7647 Před 7 lety +12

    Reading 3 UML books from the library is not even as 50% of this video
    thankyou sir !

    • @derekbanas
      @derekbanas  Před 7 lety +1

      Thank you for the compliment :)

    • @canncodertriballian3494
      @canncodertriballian3494 Před 6 lety

      I agree this is well put together. Seems like those big tech bibles are mostly self promotion books from what I can see. You have to do a lot of reading before you get into anything useful.

  • @Foba_Bett
    @Foba_Bett Před 3 lety

    Thanks for explaining :)

  • @Brax1982
    @Brax1982 Před 9 lety

    Always enjoy Derek's videos. This particular one is a great starting-off point, but contains quite a few errors on Derek's part which clash with the bold claim that this is all you ever need to know about the subject (I know, that's not face-value). Better check the official specification on decision/merge nodes and fork/join nodes as pertains to concurrency. Plus, the InterruptibleActivityRegion stuff. Well, technically look at the 2.0 specs, although I assume Derek had 2.x in mind.
    In any case, the video inspired me to look up the specs and learn a lot from that. Useful even if these diagrams are mostly for documentation, not design.

  • @pilautalk6846
    @pilautalk6846 Před 10 lety

    Excellent tutorial Derek. Thanks for sharing. Al

    • @derekbanas
      @derekbanas  Před 10 lety

      Pilau Talk Thank you :) You're very welcome

  • @derekbanas
    @derekbanas  Před 11 lety

    You must have one amazing brain if you can take the information in that fast. I'd guess that I have the smartest audience on CZcams :)

  • @emperornephew6487
    @emperornephew6487 Před 3 lety

    thank you for this video, it is informative

  • @TheRoxas13th
    @TheRoxas13th Před 10 lety

    Okay then sir. I'll follow the series :D