UML 2.0 Activity Diagrams

Video Statistics and Information

Video
Captions Word Cloud
Reddit Comments
Captions
well hello internet and welcome to part 2 of my UML 2 video tutorial today I'm going to show you everything there is to know about activity diagrams so here on your screen is a giant activity diagram and I'm going to be zooming in on it if you can't read it don't worry about that so you may be asking yourself what exactly is an activity diagram what just simply shows what actions occur to achieve an ultimate goal and activity diagrams for the most part use symbols that are very similar to those used in flowchart notation so if you understand that you'll have no problem with activity diagrams so let's just get right into it I'm gonna describe every single thing you could ever want to know about these guys so let's zoom in right here and this right here well the whole entire thing from start to finish is known as the activity flow and this right here is unknown as a note like you see right there and it looks like a note and it is pointing out the beginning of your activity diagram which is the initial node which is just a dot arrows as they point towards an activity or an action as this is known are known as incoming edges and arrows that are leaving those actions are known as outgoing edges and the flow of your activity diagram is totally going to be documented based off of the direction the arrows are going to be pointing and as we scroll on down here you can see all the things that are going on right here and then we get to something new this guy right here is known as a merge and what this does is combines edges that are separated by a decision so basically what we're doing here is setting up a user account system and here if the user is authorized to use it it's going to go in this direction and perform certain actions and if they are not authorized to set up a new account they will go down here and we will reject them and these two things right here authorized as well as not authorized are known as guard conditions and then as you come out of here you can see that all of these merge back to a merge triangle or a merge point now there are other types of merges as you can see right here and I'll zoom in so you can see it really well and the tool that I'm using is UML let which is a free piece of software for creating things like this and it's free and it works on every operating system so that's why I picked it right here you can see another merge however what is going on here is we are documenting what are known as multiple actions if you ever want to document that we are going to be verifying email verifying password and verifying phone numbers all at the same time this is exactly how you do it and in this situation this is known as a fork and then whenever we merge back this is known as a merge and then we can move on to whatever other actions need to be performed after these three things are verified at the same time so that's the difference between what we showed you before this guy over here is making a decision with guard conditions and these could also be things like X is greater than or equal to 10 and this could be X is less than 10 so basically anything that would calculate out as a true or a false statement can be used in this type of merge however these guys are created to show that three different actions are going to be occurring at exactly the same time so hopefully that makes sense and then we get down into this situation here this is known as a time event so basically we're saying after we make this decision to create the account or reject the account we are then going to wait 30 seconds and then we are going to move on to account information pending now a time event can be used in another way actually as an initial note as you can see right here this is listed as an initial node and in this situation this is known as a repeating time event as this note points out and this whole entire diagram and everything is available in a link underneath the video if you want to use this as a cheat sheet and basically what we're going to be doing here is that every 30 seconds we are going to call for the system to be updated that is what's going on and this is just going to be something that just runs and runs and runs inside of our activity flow even though it's going to be separate from our activity flow and then we come to this little notation anytime you would like to briefly just list the name of a certain number of activities and then document them somewhere else this is known as a call tivity node and you will recognize it just through the use of this upside-down pitchfork and in this situation you will see a box somewhere that will have an initial node as well as a final node and it will document every action that needs to occur represented by this little block here known as update system so that's something that we'd use whenever you are kind of limited in regards to space then if we come over here you're going to see a whole bunch of new things first thing I want to talk about is the object node which is right here this is account information pending and object nodes are used to represent data that is flowing through an activity and an object node is represented as just a normal rectangle as you see you're on the screen in comparison to actions which are rounded off rectangles and it is also very common to attach a note to an object node that is going to document exactly what information or what exactly that object represents so in this situation the note also makes a lot of sense to hook to any object nodes that you create then we get into this guy right here which is what we call an interruption region and you would use one of these whenever you want to demonstrate an activity that can end before completion of the activity and you will specifically see that over here where we see what we have listed here as an interrupting event so let's say that the customer comes in here tries to set up a brand new account and then the user decides to cancel the account in that situation you'd put this little lightning-shaped little arrow over here and then go directly to account cancelled which will then eventually link to the final node that will end the entire activity flow so anytime you have an interruption region which surrounds a block of activity nodes you know that somewhere inside of there you're going to find an interruption event which is represented by this lightning shaped arrow and then we get to something else let's say we come to this part of the activity flow and this is verify account by phone and you know that you want to request as much information as humanly possible that's why we have request information listed right here and what we're going to do here is with little circle with an X inside of it which is known as the flow final node we are going to designate that this is going to be the end of asking for additional information however it is not going to be the end of the activity flow which is only going to be represented with this final node shape that you see over here so hopefully that makes sense basically we're going to come to verify account by information and then let's say we want to continue asking them as many questions as they'll possibly answer in that situation we're going to have a flow final node just like you have right here and we're going to continue asking them questions over and over and over again that was the easiest way for me to figure out how we could slap that flow final node in there so if that doesn't make sense leave a comment below and I'll explain further then we come to something else let's say that we're verifying the account information by phone and the customer complaints sorry looks like I didn't put customer inside of there or it messed up whenever I zoomed in in that situation whenever we would need to move into another area where the customer complaint would be handled we would create what is known as a partition and you can see here this is just basic new account registration on this side and then we have this big giant thick line here that is going to be called a partition or it's known as a partition and on this side is the complaint department in that situation we are going to after the customer complains pass that over to the complaint department which might be another piece of software that we have and the complaint department is going to handle those customer complaints also if you do not want to use partitions you could also use what are known as annotations as you can see here I have complaint department listed between brackets and in that situation where you don't want that partition listed but you want to instead put annotations inside of all these activity nodes of course you would be able to do that as well so let's zoom out here and let me get my bearings so I know exactly what's going on and basically we come down inside of this area which is pretty easy to understand what we're doing here is just like we did before where we are passing objects around we are going to be representing objects that are going to be passed from one activity node to another using these little blocks right here and this is known as an checked out put pin and that means that the object is leaving the receive order activity and it's going to be moved over to verify credit card funds activity this is known as the object output pin and this is known as the object input pin and then it will be moved over and then as we move on we could also document exactly what part of the object is being passed from one activity to another and this is known as a transformation and yes you normally do list it as transformation as I have it on the screen and as you can see right here receive verification that we can place this order and send it for shipment that's exactly the part of the order that is going to be sent to the shipping department the order items specific part is sent to shipping Co shipping doesn't care at all about the price of the items then you have these two guys which I skipped over there for a second these are known as signals and this represents interactions with external sources send signals which is what this guy is right here is going to send out to an outside service to verify the credit card has enough funds to pay for the order and that data can be a message or just any type of data that is being sent to an external source and here this is going to represent a receive signal which is going to be receiving some form of message or data from an outside source and this guy basically whenever you hit the verify credit card funds this is just like saying pause until we receive a signal that tells us to move on and actually in actuality you could start an activity altogether without an initial node but instead use a receive signal and basically all that's going to mean is this part of your activity is only going to be triggered whenever it receives a signal as you can see right here so in this situation this would be known as the initial node for this part of the activity and then once it receives that signal it would perform certain types of actions until that part of our activity flow would come to an end with an ending node and then finally we're going to come to the last two parts of an activity diagram these are known as connectors this is very very simple let's say you started out listing a whole bunch of activities on your piece of paper and then you get to the right side paper and you no longer have any more space to continue listing nodes very simply could just draw a circle put a letter inside of it and then follow up the activity nodes that need to be created from there fourth on the left side of your paper so real simple you're just connecting one part of your activity flow to the next and of course this can be used on any additional pages that you create and that brings us to the final part and this is called expansion regions and these are used to represent groups of items that need certain actions to be performed on all of them so one thing that would make sense is let's say that we had a whole list of out of stock items these blocks right here which are listed as four blocks but it's not going to represent four out of stock items this is just the way that you would draw this is going to enter in here and then we're going to contact all of our suppliers for all of those out of stock items and hopefully reach some level of resolution in regards to ordering Newlands or what have you so there you go that is pretty much everything you could ever want to know about activity diagrams like I said I'm going to take this whole entire jug undoh thing and a link to this image is available underneath the video feel free to leave questions or comments below otherwise till next time
Info
Channel: Derek Banas
Views: 528,331
Rating: 4.8443937 out of 5
Keywords: UML, UML 2.0 Activity Diagrams, 2.0, Activity, Diagrams, Activity Diagrams, UML Activity Diagram, Activity Diagram Example, UML Activity Diagram Tutorial, Activity Diagram Symbols, Activity Diagrams UML
Id: XFTAIj2N2Lc
Channel Id: undefined
Length: 12min 23sec (743 seconds)
Published: Wed Nov 07 2012
Related Videos
Note
Please note that this website is currently a work in progress! Lots of interesting data and statistics to come.