Communication diagrams show the message flow between objects in an OO application and also imply the basic associations (relationships) between classes. Figure 1 presents a simplified collaboration diagram for displaying a seminar details screen or page. The rectangles represent the various objects involved that make up the application. The lines between the classes represent the relationships (associations, composition, dependencies, or inheritance) between them. The same notation for classes and objects used on UML sequence diagrams are used on UML communication diagrams, another example of the consistency of the UML. The details of your associations, such as their multiplicities, are not modeled because this information is contained on your UML class diagrams: remember, each UML diagram has its own specific purpose and no single diagram is sufficient on its own. Messages are depicted as a labeled arrow that indicates the direction of the message, using a notation similar to that used on sequence diagrams.
Figure 1
Figure 2 summarizes the basic notation for modeling messages on communication diagrams. Optionally, you may indicate the sequence number in which the message is sent, indicate an optional return value, and indicate the method name and the parameters (if any) passed to it. Sequence numbers should be in the format A.B.C.D to indicate the order in which the messages where sent. In Figure 1 message 1 is sent to the Seminar object which in turn sends messages 1.1 and then 1.2 to the Course object. Message 5 is sent to the Seminar object, which sends message 5.1 to enrollment, which in turn sends message 5.1.1 to student, and it finally sends message 5.1.1.1 to itself. Notice how a recursive connection, or a self connection, is required so that student can do this.
Although Figure 1 applies sequence numbers to the messages, my experience is if you feel the need to use sequence numbers on communication diagrams this is a good indication you should be using sequence diagrams instead. The main difference between communication diagrams and sequence diagrams is that sequence diagrams are good at showing sequential logic but not that good at giving you a “big picture view” whereas communication diagrams are the exact opposite.
Figure 2. Message notation.
[sequenceNumber:] methodName(parameters) [: returnValue]
In you see the Seminar Details user interface object collaborates with the seminar object to obtain the information needed to display its information. It first invokes the getter method to obtain the name of the seminar. To fulfill this responsibility, the seminar object then collaborates with the course object that describes it to obtain the name of the course. In this example I showed return values for some messages but not others to provide examples of how to do it. I’ll either indicate the type of the return value, for example string, or the result, such as seminarName. Normally I wouldn’t show return values on this diagram because the messages are named well – my heuristic is to only model return values when it isn’t clear what the message returns. Better yet I try to find a new name for the message (remember, messages map to operations implemented by your classes).
Another trick I often use is to consolidate trivial messages such as getter invocations. In I modeled the series of getter method invocations to obtain the information needed to display the list of students enrolled in a seminar as the single message getInfo. I also added a note to the diagram to make it clear what I was doing, but I typically don’t do that. Why is this important? Because agile developers will only do things that add value, and defining an exact list of getter invocations wouldn’t have added value.
You draw communication diagrams in the same way as you draw sequence diagrams, the only real difference is that you lay out the notation in a different manner. To tell you the truth I rarely find the need to create communication diagrams although I have found them useful in situations where we didn’t have use cases as the primary requirements artifact. Sequence diagrams and use cases seem to go hand in hand because of how easy it is to model the sequential logic of a use case using a sequence diagram. Communication diagrams seem to be preferred by people with a “structure bent”, people that focus on UML class diagrams or class responsibility collaborator (CRC) cards, because of the similarity of communication diagrams with those types of artifacts. As always, follow the AM practice Apply the Right Artifact(s) and use the most appropriate technique for your situation.
3 comments:
Yes indeed, in some moments I can bruit about that I jibe consent to with you, but you may be considering other options.
to the article there is stationary a without question as you did in the decrease publication of this request www.google.com/ie?as_q=ps3 picture ?
I noticed the phrase you procure not used. Or you functioning the dark methods of development of the resource. I take a week and do necheg
Your aferanas :)
[url=http://community.freeskier.com/profiles/profile.php?user_id=27698]VSO Convert X to DVD 3.0[/url] [url=http://www.adulthostedblogs.com/?u=videosealexis7]Extra DVD Copy 5.0[/url]
YouTube Tools Avant Media Player
http://www.adulthostedblogs.com/?u=videosealmira3 Darrens Choice Tv And Radio
[url=http://www.answerbag.com/profile/1237711]MediaChance DVD-lab Pro 2.5[/url] [url=http://www.drawingboard.org/blogs/?u=videosealberta6]DVD to Video Converter[/url]
1 DVD Ripper 6.2.5 Pegasys TMPGEnc DVD Author 3.0.5.149
http://www.adulthostedblogs.com/?u=videosealix8 BSPlayer Pro 2.10
Adobe Master Collection Original DVD-Official
my icq:858499940385
unlock iphone 4
unlock iphone 4
iphone 4 unlock
http://weeklyseven.com/news/2011/march/31/open-secret http://www.roughstock.com/audio/george-strait-here-for-a-good-time
Hi, Ok I have a dell laptop inspiron E1505, I really need help with this malware or whatever it is ! I didn't have a good virus protection, and at the time of infection a prompt kept coming up something like you can delete this virus but you may lose files, damage your computer or it may not restart! I got frustrated seeing the same thing, so instead of downloading a better virus protector I press yes and my computer shut down on me. It restarted, and then I got the virus protector like a dummy. But now Im getting prompts that say, "___dllc:/windows/system32/lasbemo.dll file image does not exists check this against you diskette!! its a buch off different ones. Im lost, Im not good with computer's if your gonna help I need A LOT of detail. Thanks =)
unlock iphone 4 how to unlock iphone 4
unlock iphone 4 [url=http://unlockiphone44.com]iphone 4 unlock[/url] unlock iphone 4 iphone 4 unlock
Post a Comment