UML 2.0 Activity Diagrams
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
I will never understand why universities don't spend more time on courses that directly relate to the degree instead of unrelated courses?
Me lo chiedo anche io fratè
I don't understand either. And I am here to learn. Lmao
Me three!
Funny you say this, I am watching this video for a course in my MS in ML Engineering.
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."
What I've learned is that NO MATTER WHAT the freaking UML diagram is wrong. According to my fucking SE professor.
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
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
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 :)
Thank you :) I do my best to make learning easy. I'm glad you liked the videos
You're very welcome :) I'm glad I could help
I'm glad you enjoy them. I don't think about negative comments. Actually some of them help me improve my videos :)
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.
Hello May I know where is the part1?
Thank you :) This teaches about activity diagrams, but more importantly it teaches how to solve problems
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
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
You're very welcome. Thank you :)
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.
Thank you :) What are you looking for? The Umlet file?
Thank you very much :) I greatly appreciate that!
Thank you :) I'm working to make videos easier to follow
great job! i watched many of your UML videos and they all GREAT! thank you for uploading them :)
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
Cheatsheet needed....u r tutorial is awesome
Thank you for sharing Derek! Although some information flies by really fast, you're easy to follow and fun to listen to!
+Christian Slijngard You're very welcome :) I do my best to keep it interesting.
That's ok. Always feel free to ask questions
Thanks so much Derek. This is very simple for someone who hasn't done any use cases.
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!
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.
I'm very happy that I was able to help :) You're very welcome
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
+Lyndon Michael Bibera Thank you :) I'm glad you liked it.
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 !
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.
what kind of prog. lang. you always use invinciblekd?
Abdulbarr Othman I'm primarily a c++ developer but now shifting slowly to Java !
Thank you :) It was fun to make. I like zooming
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.
You're very welcome :)
Thanks Lot Derek!! All Concepts covered in one Diagram. Cheers!!! (y)
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.
Ana Souza Thank you :) You're very welcome
Great job! Thanks for sharing your knowledge in such a professional manner.
@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.
Thank you :) It is very nice for you to say that.
Awesome! This was a great help and very easy to understand!
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!
Great Tutorial, Thanks Derek
That's funny :) I'm very happy that I was able to help
Nowadays I watch your Java tutorials. Those tutorials are awesome. Thanks for them.
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.
I was thinking exactly the same, that parallel activities should be joined by a solid line. So, what is the truth?
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.
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. =)
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. =)
You're very welcome :) sorry about the voice. I get that from constant allergy problems
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?
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?
Hi Derek, Where does event source and event sink fall into ?
and also facet and receptable ?
Awesome video bw!!!
Thanks a lot Derek for a very helpful series of tutorials, very neat and precise.
You're very welcome :) I'm glad you liked them.
Thank for this great service to us. Very clear explanation and easy to understand.
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!
Thank you :) I'll see what I can do. I'll use UMLet again in my Learn to Program series
Thank you :) search for UmLet
I'VE BEEN LOOKING FOR THIS PROGRAM THANNK YOU SO MUCH!
I'm happy I could help :)
Great Tutorial, Very Helpful.
This is my first time using UML. I found it very useful. Thank u Derek
+kinnaree patel I'm happy that I could help :)
Thank you :)
Awesome videos as always! Watching it at a rate of 1.5 makes it even more quicker :D
Excellent tutorial series. Thank you very much :)
Debopriyo Web Thank you :) You're very welcome
I want to commend you for the great material you post!
I very much enjoy the random aggressive inflections you have throughout this video
Thank you :)
Thank you very much Derek. I am a fan!
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...)
Awesome video series. Love the design! What program did you use to create presentations (out of curiosity)
Sithembiso Khumalo Thank you :) I record with Camtasia 2. I edit with iMovie. The presentation was created in KeyNote
Great video, very helpful thanks. How do you show an activity returning a value such as a Boolean?
Honestly, what would I do without you?!?
Nicole Braybrook Thank you :) I'm glad to be able to help
check other tutorials
Thank you so much for this video. You did an amazing job at explaining it!!
Thank you for the compliment :)
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.
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
Thank You...that was a quick reply
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...
THANK YOU MAN. CZcams tutorials are more easier to learn by far.
TheTranshallow Your welcome :) I'm glad they help
Derek, your UML tutorials saved my a*s! You make UML very easy to understand! Thanks alot!
***** Thank you :) I'm glad I could help. UML is very important
you are awesome Derek, thank you for tutorials
Thank you :) I appreciate that.
Isn't this supposed to have swimlanes?
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 ;)
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
+Ryan Nabozniak Thank you :) I use sequence diagrams which I cover here czcams.com/video/cxG-qWthxt4/video.html
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.
Thanks for these excellent brief tutorials. Very helpful :)
You're very welcome :) I'm glad you liked them
@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.
Fabio D'Amico Yeah, it's representing concurrency, not parallelism.
I made my own palette out of the basic shapes. You can save your own palettes. Sorry about the confusion
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?
sthembelo dlamini I think you are looking for a sequence diagram. I cover those here czcams.com/video/cxG-qWthxt4/video.html
Partitions are sometimes used to establish effective swimlanes when you have multiple actors in a model.
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
Hello Derek , can an activity be written as a question ? . Btw thanks for the video
Really great tutorial, Derek!
Jim Constant Thank you :)
Thanks for a great tutorial once again! My cat loved it too :)
+Tilion Dece That's funny :) You're very welcome
really helpful better than my lecturer
I'm very happy that you liked it :)
Thank you very much for your videos and efforts to explain.
Dude, your explanations are awesome.
Thank you for the nice compliment :)
A detailed concept of activity diagrams is provided in this lecture.
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.
That's funny 😁 I'm happy I could help
thank you .it was very helpful
A sincere thank you from me! You are a uml legend!
EmSyed Thank you for the nice compliment :)
Hello Derek, Guard conditions are shown for if..else block, but how do i draw the diagram for if..elif...elif..else case
suppose to have the swimlanes if not mistaken?
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.
Your are just awesome ! Helped me a lot ! Thanks for sharing your knowledge.
+Martin Peraic Thank you :) You're very welcome
Sorry for the wait. Ill get to JEE topics as soon as possible
i love listening to this guy saying "merge"
Reading 3 UML books from the library is not even as 50% of this video
thankyou sir !
Thank you for the compliment :)
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.
Thanks for explaining :)
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.
Excellent tutorial Derek. Thanks for sharing. Al
Pilau Talk Thank you :) You're very welcome
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 :)
thank you for this video, it is informative
Okay then sir. I'll follow the series :D