This week's book giveaway is in the OCAJP 8 forum. We're giving away four copies of OCA Java SE 8 Programmer I Study Guide and have Edward Finegan & Robert Liguori on-line! See this thread for details.
There seems to be alot of value in creating UML to ensure that the understanding of the system and requirements are clear. However, in XP- it seems that the only tools to model with are CRC cards, which are Ok- but aren't as robust as UML. Where does UML fit in with XP?
In short, there is nothing that precludes the usage of UML from XP. Most often, XP teams will use UML on white boards or paper napkins to foster short design sessions.
The soul is dyed the color of its thoughts. Think only on those things that are in line with your principles and can bear the light of day. The content of your character is your choice. Day by day, what you do is who you become. Your integrity is your destiny - it is the light that guides your way. - Heraclitus
Originally posted by Matthew Brown: There seems to be alot of value in creating UML to ensure that the understanding of the system and requirements are clear.
I don't think UML really "ensures" anything. UML, like CRC cards, are tools for communication. As with any form of communication, delivery and reception affect the quality and usefulness of the conversation. Sure UML has its uses and applications where CRC cards would be insufficient. But CRC cards and sessions with them are very effective for getting team members thinking, bouncing ideas off of each other, and even "walking through" designs. Would having people sit at their own desks and bang out UML diagrams with Rational Rose for a week get the same results? Maybe, but I doubt it. On the flipside, UML has a broader scope and if used appropriately can communicate a wider variety of ideas than CRC cards can. I guess my point is that you can't really say one is more effective than the other because they are meant to be used in different contexts.
Matthew X. Brown
Joined: Nov 08, 2000
Regarding the term "robust" I guess I simply meant that you can put alot more detail behind the way that the classes/objects are interacting- not that you can't describe that with CRC cards- its just more formalized within UML. You guys are correct- UML isn't a silver bullet- I just wanted to see how I could marry the two(XP/UML).