First time here. I’m Andrea, SE student at Genoa University (Italy).
I’m preparing to attend a Software Engineering exam, and one main requisite is that we’re able to use and manage UML diagrams.
I’ve got a simple (i hope) question for you, which’s making me trouble: How shall I decide wether to use Activity or Sequence or State Machine diagrams to model something?
I mean, I know each diagram characteristics, but I feel like they’re quite similar, and are able to express same concepts.
I hope someone will suggest me some kind of criteria to decide (eg: model the ‘typical life’ of an object, model some sort of interaction between different objects, etc.)
Thanks everybody who’s going to reply something.
It’s a pleasure to deal which such active and non-spammed forums
I am no expert as I have been working on UML modeling for about 1 month. For me, Activity diagrams are most value when you are in the early stages of development. Sometimes, you must describe what should happen, NOT what will make it happen. If you are to describe how the system should act, I found that user diagrams and then activity diagrams are the first two.
I find that sequence diagrams require you to describe the interactions between components that you haven’t designed yet. So, they eventually will be valuable, but I think they describe “how does the system perform the operations defined in the activity diagram”.
Another aspect I observed is that UML modeling is extremely iterative. Ideas are proposed, tested, and refined.
I would appreciate other’s feedback as well. Hope your exams went well.