UML 2.0 Activity Diagrams

Поделиться
HTML-код
  • Опубликовано: 27 янв 2025

Комментарии • 379

  • @TheSkeptic1976
    @TheSkeptic1976 10 лет назад +47

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

  • @derekbanas
    @derekbanas  11 лет назад +139

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

    • @samueledenicola6234
      @samueledenicola6234 4 года назад +1

      Me lo chiedo anche io fratè

    • @SilVer-hu2ps
      @SilVer-hu2ps 4 года назад +4

      I don't understand either. And I am here to learn. Lmao

    • @DagmawiAbate
      @DagmawiAbate 3 года назад

      Me three!

    • @Pizzaeater7534
      @Pizzaeater7534 2 года назад

      Funny you say this, I am watching this video for a course in my MS in ML Engineering.

  • @derekbanas
    @derekbanas  11 лет назад +1

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

  • @Miguel-ng5wm
    @Miguel-ng5wm 9 лет назад +60

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

  • @derekbanas
    @derekbanas  11 лет назад +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  11 лет назад +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.

    • @Natalie-rg4hm
      @Natalie-rg4hm 2 года назад +1

      Hello May I know where is the part1?

  • @derekbanas
    @derekbanas  12 лет назад +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  11 лет назад +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  12 лет назад +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  12 лет назад

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

  • @derekbanas
    @derekbanas  11 лет назад +2

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

  • @derekbanas
    @derekbanas  12 лет назад

    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

  • @MrHvfan
    @MrHvfan 11 лет назад +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  11 лет назад

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

  • @derekbanas
    @derekbanas  12 лет назад

    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 4 года назад

      Cheatsheet needed....u r tutorial is awesome

  • @derekbanas
    @derekbanas  11 лет назад

    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  11 лет назад

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

  • @derekbanas
    @derekbanas  11 лет назад

    That's ok. Always feel free to ask questions

  • @TheTranshallow
    @TheTranshallow 9 лет назад

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

    • @derekbanas
      @derekbanas  9 лет назад

      TheTranshallow Your welcome :) I'm glad they help

  • @invinciblekd
    @invinciblekd 11 лет назад +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  11 лет назад

      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 11 лет назад

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

    • @invinciblekd
      @invinciblekd 11 лет назад

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

  • @PeterKelley
    @PeterKelley 10 лет назад +15

    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 10 лет назад +3

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

    • @Brax1982
      @Brax1982 9 лет назад

      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 9 лет назад

      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 9 лет назад

      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  11 лет назад +1

    You're very welcome. Thank you :)

  • @derekbanas
    @derekbanas  12 лет назад

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

  • @kinnareepatel6501
    @kinnareepatel6501 9 лет назад

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

    • @derekbanas
      @derekbanas  9 лет назад

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

  • @derekbanas
    @derekbanas  12 лет назад

    Yes that is true, but I'm not sure what you are referring to in the video?

  • @thaqalain10
    @thaqalain10 11 лет назад

    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 ;)

  • @derekbanas
    @derekbanas  12 лет назад

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

  • @jokosi
    @jokosi 5 лет назад

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

  • @NicoleBraybrook
    @NicoleBraybrook 9 лет назад +12

    Honestly, what would I do without you?!?

    • @derekbanas
      @derekbanas  9 лет назад +1

      Nicole Braybrook Thank you :) I'm glad to be able to help

    • @emperornephew6487
      @emperornephew6487 3 года назад +1

      check other tutorials

  • @derekbanas
    @derekbanas  12 лет назад

    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.

  • @bernicezerafa3603
    @bernicezerafa3603 12 лет назад +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!

  • @PeterKelley
    @PeterKelley 10 лет назад

    Also at about 4:50 the object node has 2 outgoing flows. I believe that there is a default in this circumstance but I always forget whether it is a fork or a merge. Better to show what happens explicitly.

    • @Brax1982
      @Brax1982 9 лет назад

      Peter Kelley No, that seems to be legit, at least for the actual 2.0 from 2005. Just looking at the specification.

  • @lmb_codes
    @lmb_codes 9 лет назад +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  9 лет назад +1

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

  • @goferenc
    @goferenc 12 лет назад

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

  • @ashfaqhussain7996
    @ashfaqhussain7996 11 лет назад

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

  • @DannyEck
    @DannyEck 11 лет назад

    awesome. 2 follow up Q's:
    1. As an engineer, is is crazy to expect business people to provide activity diagrams? (As opposed to "umm.... just make it work by next month")
    2. Why do you sound EXACTLY like Ed Helms?

  • @rodrigo1300
    @rodrigo1300 5 лет назад

    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  5 лет назад

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

  • @cuanotto
    @cuanotto 10 лет назад

    You deserve many,many more likes and subscribes

    • @derekbanas
      @derekbanas  10 лет назад

      Cuan Otto Thank you :) I'm doing my best to improve so more people find the videos useful.

  • @derekbanas
    @derekbanas  11 лет назад +1

    Thank you very much :) I greatly appreciate that!

  • @derekbanas
    @derekbanas  12 лет назад

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

  • @shmilos
    @shmilos 11 лет назад

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

  • @solsearain
    @solsearain 8 лет назад +1

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

    • @derekbanas
      @derekbanas  8 лет назад +1

      I'm happy I could help :)

  • @derekbanas
    @derekbanas  11 лет назад

    Thank you :) search for UmLet

  • @jconstant
    @jconstant 10 лет назад

    Really great tutorial, Derek!

    • @derekbanas
      @derekbanas  10 лет назад

      Jim Constant Thank you :)

  • @TheMhankel
    @TheMhankel 10 лет назад

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

    • @derekbanas
      @derekbanas  10 лет назад

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

  • @derekbanas
    @derekbanas  11 лет назад

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

  • @derekbanas
    @derekbanas  11 лет назад +1

    You're very welcome :)

  • @eugenek777
    @eugenek777 3 года назад

    I love this video, I watched it in 2015, I'm watching it not - it's simple and clear

    • @derekbanas
      @derekbanas  3 года назад

      Thank you :) I'm happy it helped

  • @caseylloyd1899
    @caseylloyd1899 9 лет назад

    Helpful and useful tutorial. Gotta finish my game design assignment with a good activity diagram ;)

    • @derekbanas
      @derekbanas  9 лет назад

      Casey Lloyd Thank you :) I'm glad I could help

  • @adihamshari
    @adihamshari 10 лет назад

    Just noticed from the previous comments that u were using UMLet as a mac user, thanks again :)

    • @derekbanas
      @derekbanas  10 лет назад +1

      adi hamshari I always try to use tools that are free and available on every OS.

  • @EmSyed
    @EmSyed 10 лет назад

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

    • @derekbanas
      @derekbanas  10 лет назад

      EmSyed Thank you for the nice compliment :)

  • @architect3651
    @architect3651 9 лет назад +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  12 лет назад

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

  • @thaqalain10
    @thaqalain10 11 лет назад

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

  • @derekbanas
    @derekbanas  11 лет назад

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

  • @fabiodamico8619
    @fabiodamico8619 9 лет назад

    @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 9 лет назад

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

  • @xyh7647
    @xyh7647 8 лет назад +12

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

    • @derekbanas
      @derekbanas  8 лет назад +1

      Thank you for the compliment :)

    • @canncodertriballian3494
      @canncodertriballian3494 6 лет назад

      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.

  • @marc_1285
    @marc_1285 7 лет назад

    Dude, your explanations are awesome.

    • @derekbanas
      @derekbanas  7 лет назад

      Thank you for the nice compliment :)

  • @cdtje3
    @cdtje3 9 лет назад

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

    • @derekbanas
      @derekbanas  9 лет назад

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

  • @aninhaprsouza
    @aninhaprsouza 10 лет назад +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  10 лет назад

      Ana Souza Thank you :) You're very welcome

  • @engruby8
    @engruby8 9 лет назад

    You are such a GREAT tutor.. you are a professor.. thanks.. you save my time of reading a UML book

    • @derekbanas
      @derekbanas  9 лет назад

      eng R Thank you for the compliment :) You're very welcome

  • @derekbanas
    @derekbanas  11 лет назад

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

  • @AAmoo2021
    @AAmoo2021 8 лет назад +5

    really helpful better than my lecturer

    • @derekbanas
      @derekbanas  8 лет назад

      I'm very happy that you liked it :)

  • @VerumAdNauseam
    @VerumAdNauseam 10 лет назад +8

    Not to be a putz but at 1:26 you called the fork a merge. No big deal, the kind of mistake that we all make. Overall a very awesome tutorial, thank you for making them. :D

    • @derekbanas
      @derekbanas  10 лет назад +1

      Sorry about that. I'm glad you liked it aside from that :)

    • @aotoki1154
      @aotoki1154 5 лет назад

      Don't think that's a fork, it should be a decision, fork doesn't look like that.

  • @MsNoone911
    @MsNoone911 10 лет назад

    nice Derek , you really helped me !

  • @michael1winn
    @michael1winn 11 лет назад

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

  • @derekbanas
    @derekbanas  12 лет назад

    Thank you :)

  • @rjeption
    @rjeption 11 месяцев назад

    watching this for my test today!

  • @omkarparadkar
    @omkarparadkar 10 лет назад

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

    • @derekbanas
      @derekbanas  10 лет назад

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

  • @derekbanas
    @derekbanas  11 лет назад

    UMLet is the name. It is free and works on every OS

  • @debopriyoweb5672
    @debopriyoweb5672 10 лет назад +1

    Excellent tutorial series. Thank you very much :)

    • @derekbanas
      @derekbanas  10 лет назад

      Debopriyo Web Thank you :) You're very welcome

  • @oliveryt7168
    @oliveryt7168 3 года назад +1

    1:29 isnt that a decision node, rather than a merge node?

  • @georgem838
    @georgem838 11 лет назад

    you are awesome Derek, thank you for tutorials

    • @derekbanas
      @derekbanas  11 лет назад

      Thank you :) I appreciate that.

  • @MaximZhuravlevYT
    @MaximZhuravlevYT 6 лет назад +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?

  • @pilautalk6846
    @pilautalk6846 10 лет назад

    Excellent tutorial Derek. Thanks for sharing. Al

    • @derekbanas
      @derekbanas  10 лет назад

      Pilau Talk Thank you :) You're very welcome

  • @jeffgomez88
    @jeffgomez88 10 лет назад

    Excellent presentation on UML Activity Diagrams. I have a more profound understanding of the topic.

    • @derekbanas
      @derekbanas  10 лет назад

      ***** Thank you :) I'm happy i could help.

  • @derekbanas
    @derekbanas  12 лет назад

    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?

  • @tiliondece3895
    @tiliondece3895 9 лет назад

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

    • @derekbanas
      @derekbanas  9 лет назад

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

  • @abbaszaidi30
    @abbaszaidi30 11 лет назад

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

  • @PeterKelley
    @PeterKelley 10 лет назад +1

    At 5:45 shouldn't the interrupting edge cross the boundary of the interruptible activity region? That is how you know to destroy all the activation tokens in the interruptible activity region.

    • @Brax1982
      @Brax1982 9 лет назад

      Peter Kelley Yeah. That lightning arrow is an interrupting edge and the specs (2.0) say: "Interrupting edges of a region must have their source node in the region and their target node outside the region in the same activity containing the region."
      Nitpick: The interrupting edge should have a standard arrow head. =P

    • @Brax1982
      @Brax1982 9 лет назад

      Peter Kelley Yeah. That lightning arrow is an interrupting edge and the specs (2.0) say: "Interrupting edges of a region must have their source node in the region and their target node outside the region in the same activity containing the region."
      Nitpick: The interrupting edge should have a standard arrow head. =P

  • @siddharthmakadia
    @siddharthmakadia 8 лет назад

    really helpful saved the exam

  • @bassdewd
    @bassdewd 9 лет назад +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.

  • @abduldaim
    @abduldaim 5 лет назад

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

  • @ranjithj6042
    @ranjithj6042 10 лет назад

    Great Tutorial, Thanks Derek

  • @lotusmojo
    @lotusmojo 11 лет назад

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

  • @bernardrouhi451
    @bernardrouhi451 7 лет назад

    well explained. just I think you forgot to mention that the partition also can be used in the case of multiple actions happening for example if passenger verified at the check-in counter, the boarding ticket will be provided and at the same time luggages will be collected.

    • @derekbanas
      @derekbanas  7 лет назад +1

      Thank you :) Yes good point

  • @JamesJohnHudson
    @JamesJohnHudson 12 лет назад

    So what's the difference between the use case and this? i mean is one more of a preference thing or do you have to use them both?

  • @kmallayev
    @kmallayev 4 года назад

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

  • @TheRoxas13th
    @TheRoxas13th 11 лет назад

    Nice Explanation about the notation! But i have a question sir, are we only need this information to create the activity diagram?

  • @lexugax
    @lexugax 11 лет назад

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

  • @rass284
    @rass284 9 лет назад

    Thank you a lot ! tutorial is brilliant !

    • @derekbanas
      @derekbanas  9 лет назад

      +Rass Muradov You're very welcome :) Thank you

  • @coffeeneia
    @coffeeneia 11 лет назад

    Its quite confusing in using activity diagram to model use case diagram visually. Thanks to your video, I got it crystal clear :)

    • @derekbanas
      @derekbanas  11 лет назад +1

      Thank you :) I'm glad I could help

  • @shadydinesh6
    @shadydinesh6 11 лет назад

    Thank you very much Derek. I am a fan!

  • @jessechen7376
    @jessechen7376 8 лет назад

    Great Tutorial, Very Helpful.

  • @schomber
    @schomber 9 лет назад

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

    • @derekbanas
      @derekbanas  9 лет назад

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

  • @stanl2922
    @stanl2922 11 лет назад

    Awesome tutorial. It helped me alot. Thanks

  • @m.alisetiapratama6932
    @m.alisetiapratama6932 8 лет назад

    Whose point of view activity diagram usually based on? User or system? Thanks

  • @itshaz1
    @itshaz1 10 лет назад +1

    Great Tutorial. Thank you

    • @derekbanas
      @derekbanas  10 лет назад +1

      Shabaz Budhwani Thank you :) You're very welcome

  • @Mindstimulators_talent
    @Mindstimulators_talent 11 лет назад

    thank you .it was very helpful

  • @howieg2019
    @howieg2019 3 года назад

    your tutorials are easy to follow i'm just thinking out loud, if you could post these up on vimeo so i could download these, and watch them offline, since google chrome don't let people download youtube videos

    • @derekbanas
      @derekbanas  3 года назад

      Thank you :) Sorry I only make .003 cents per view on RUclips. On Vimeo I'd have to pay almost $1000 per year to host my videos and I'd make no money from them. I just can't afford to do that.

  • @vineetp1068
    @vineetp1068 10 лет назад

    Helpful tutorial !