Geek Counter

mod_vvisit_countermod_vvisit_countermod_vvisit_countermod_vvisit_countermod_vvisit_countermod_vvisit_counter

Who's Online

We have 5 guests online

Donate to TechnoGeek

Polls

Would you consider using Agile Methodology in your next software development project?

 

Search Site

Sponsored Links

Domain Modelling using color UML

By Pak-Tjun Chin, on 03-11-2008 06:41

Views : 1512    

Favoured : 39


The Begining

Sometime in 2007, I was approached to initiate a project using an Agile Methodology. I decided on Feature Driven Development (FDD) as some of the developers within the organization that I worked in had prior experience working with FDD. It was also deemed to be the most 'non-agile' of the Agile Methodology which made the methodology more 'acceptable' to other parts of the bank.

Within FDD, there are essentially a couple of phases, a one-time startup phase and an iterative contruction phase.
 
Phases of FDD
Diagram 1: Phases of FDD

One of the key plus points of FDD being adpoted as an Agile Methodology by bigger organizations, that are more predictive rather than adaptive in nature, is its ability to allow for a lot of the planning to be done up front during the startup phase. Due to this, a project would be able to request for seed money to determine project viability up until the completion of the 'Plan by Feature' process. At the end of this process, the project would be able to present its findings to the estimation committee in determining the time and budget required to design and construct the project. This takes a lot of 'guesstimation' work out of a project as compared to other Agile Methodology like eXtreme Programming, that just goes on and on and on, like one of those Energizer battery advertisements.

The focus of this article is on the first process of FDD, which is the development of an Overall Model for the project.
 

Color UML Modelling

Before we can explore what exactly constitutes the development of an Overall Model process, (which I personally feel is a requirements gathering cum high level design phase) we need to understand a bit of color UML modelling, which is the tool in which drives this process. Of course, one may argue, that we can use a variety of other methods to achieve this like use cases, traditional business/functional  requirements specification, etc. It really all boils down to what works best for your project and the kinds of skill-set that the project members have. There is really no right or wrong approach.. The project stakeholders need to have consensus on the approach and then commit to it. Personally, I feel that you can use any approach, or a combination of approaches if it results in the same outcome, which is to adequately define the problem domain of the software system.

However, as the recommended approach for this process in FDD is Color UML Modelling, I am going to stick to it and then see where that takes me.

Color UML modelling was introduced by Peter Coad in 1997 with four colors of Post-itTM Notes: pink-yellow-green-blue.
 
Color
RGB HEX
Pink 250,190,190 #ffbebe
Yellow 250,240,180 #faf0b4
Green 180,230,180 #b4e6b4
Blue 180,200,210 #b4c8d2
Table 1: Hex and RGB codes for Color UML Modelling

The Hex and RGB codes in Table 1 were provided by Jeff De Luca during his engagement to the FDD project that I worked on.
 

Now, what do these 4 colors represent? These colors represent 4 interconnected archetypes that form a domain neutral component (DNC). An archetype, as derived from Webster75 and Haykawa68, represents 'a model in which all things of the same kind more or less follow'. The 4 archetypes are:

  1. The pink moment-interval archetype.
  2. The yellow role archetype.
  3. The blue catalog-entry-like description archetype.
  4. The green party-place-thing archetype.
 
The four interconnected archetypes and their colors
Diagram 2: The four interconnected archetypes and their colors.
 

Each of these four colors corresponds to an archetype's characteristics, the attributes, links, methods, plug-in points, and interactions that corresponding classes follow, more or less.

Thus, if given a class, how do we determine what archetype and color it represents? Well, just follow these 4 easy steps:

  1. Does the class represent a moment in time or interval of time? If so, it's a pink moment-interval.
  2. Otherwise, does the class represent a role? If so, it's a yellowrole.
  3. Otherwise, does the class represent a catalog-like description? If so, it's a blue description.
  4. Otherwise, the class is a greenparty-place-thing.
 

Building the Problem Domain

Now that we've got a bit of backgound on Color UML Modelling, lets get right into understanding a bit more about the first phase of FDD, 'Develop an Overall Model'.

This process is absolutely critical towards the  success (or failure) of a FDD project. The outcome of the process is a UML diagram and a list of features. UML diagram(s) define the problem domain of the software system. If properly implemented, it covers all the relevant areas of business and allows to easily adding features for subsequent releases. The list of features becomes the baseline for the project timelines. In this respect, FDD depends on user requirements as much as waterfall does. The key point here is not the 'What' but the 'How'  in terms of requirements gathering. FDD, through color modelling, brings together the project and business teams in flushing out requirements. The close interaction between business stakeholders and developers forges a healthy engagement by all parties.

The modeling starts with a short introduction to UML for domain experts. by the chief modeller. My project was very fortunate to have Jeff De Luca play this role. While the expectation was not to have every project member become UML gurus overnight, it was agreed that the introductory session was very helpful in setting the stage for the actual domain modelling sessions to follow.

Domain Walkthrough by a Domain Expert

Diagram 3: Domain Walkthrough by a Business Domain Expert

The modeling sessions themselves are split into iterations. Each iteration commences with a  domain expert (business stakeholder with subject matter expertise) detailing a a small fragment of business. This constitutes the user 'story' that is to be captured and elaborated. It should take no more that 15 minutes per user 'story'.

Modelling Group Comprising of Domain Experts and Developers

Diagram 4: Domain Walkthrough by a Business Domain Expert Modelling Group Comprising of Domain Experts and Developers

The team then splits into several modeling groups; each of them includes developers and domain experts. Each group creates UML model(s) that reflects the story. The teams then present and discuss the models. At the end of iteration the best one is chosen/merged. The modelling sessions continue until the overall domain model that satisfies all the stories is created.

Modelling Group Presenting their Model to the Project Team

Diagram 5: Modelling Group Presenting their Model to the Project Team

The good overall domain model covers all of the business stakeholder's requirements. It supposed to be stable, that is, user requirements for the application may change, while the business stays relatively the same. In addition to creating object-oriented model of business, this process indirectly indicates the duration of construction phase. FDD rule of thumb says that the development team will spend approximately 6 months of development for each 2 weeks of modeling.

The Overall Domain Model

Diagram 6: The Overall Domain Model

Domain Modelling By Example

Let us now go though a practical example of a domain model creation. I have picked one of the domain models ofr the project that I was working on which details the domain of the application user.

Domain Walkthrough

At the start of the session, the domain expert detailed the requirements of a end-user interacting with the application. The following notes (just a sample of what was actually noted) were taken during and shortly after the walkthrough:
  1. A user can change their default BUID to any other BUID in the system. They can only belong to a single BUID at any point in time.
  2. The BUID list held by the system is used for the creation of submissions, and for their transfer between BUIDs.
  3. When created, a pricing submission is assigned the default BUID of the creating user.
  4. As the default view, the application will show all pricing submissions for the current default BUID of the logged in user.
  5. A user can list pricing submissions that they have created.
  6. The list of pricing submissions must be sorted by the pricing submission status, then by last modified date (descending).

Domain Model

Domain Model Example

Diagram 7: Domain Model of DPC User

From the domain walkthough, it was noted that there were 2 parties involved in this application, an 'Employee' (represented by the 'Employee' class) and an 'Organization' (represented by the 'BUID' class). We had just a single 'role' represented by the 'DPCUser' class.We also identified 3 'description' entries and a couple of 'moment-interval' entries.

Some of the business rules captured during the domain walkthough included the ability of the DPC User to list all its Pricing Submissions. This is represented by the 1-Many relationship between 'DPCUser' and 'PricingSubmission'. There is also the method 'listCreatedPricingSubmissions' associated with this requirement.
 
A pricing submission could only have one DPC User as its creator, which is represented by the Many-1 association.

In summary, the domain model paints a complete picture of the business requirements for the DPC User domain. Eventually, all the domain models would be merged into the overall domain model.

Domain Model Merge

Overall Domain Model
Diagram 8: Overall Domain Model
Towards the end of each week, all the domain models would be merged into a overall domain model. This is to ensure that the overall domain is consistent in its structure and behaviour.

Conclusion

The Good

  • Provided the opportunity for business and technology teams to work in close face-to-face collaboration. This is pure gold as the level of engagement with business stakeholders shoots up the roof, which is something that is rarely achieved in an outsorcing model. This intangible benefit has been noted as one of the key proponents against technology outsourcing.
  • Provided the developers with immediate first hand answers to their questions rather than having to go through a 3rd party like a business analyst or the project manager, which may take a couple of weeks to close off.
  • Allowed for team dynamics to go through its normal course of forming, storming, norming and performing much quicker than a waterfall project. During the domain modelling sessions of my project, the storming happened quick, thick and fast. This really helped the project team to normalize and perform further on in the project lifecycle.
  • Allowed business stakeholders to visualize where their money is going to early on. Color models were easily understood by business stakeholders.
 

The Bad

  • The cost of having a big team engagement this early on in the project lifecycle may not be viable as compared to a waterfall approach, whereby it is normal that only a business analyst and solution designer need to be engaged.
  • The availability of good object-oriented developers. The project had a lot of difficulty trying to round up even 5 in-house developers whom were strong in OOAD. Eventually, we had to procure external contractors to establish a strong development team.
  • It can also be said that doing so much design up front goes against the spirit of Agile.

In conclusion, I must admit that the 3-week domain modelling session that I went through was pretty intense and at times chaotic. However, the goodness that came out of it far out-weighted the negatives. Would I do it again? Yes, with the right team and project mindset.
 

Last update: 05-11-2008 12:47

Favoured Print Send to friend

Quote this article on your site

To create link towards this article on your website,
copy and paste the text below in your page.




Preview :


Monday, 03 November 2008

Powered by QuoteThis © 2008


Add this page to your favorite Social Bookmarking websites
Reddit! Del.icio.us! JoomlaVote! Google! Live! Facebook! StumbleUpon! Yahoo! Free social bookmarking plugins and extensions for Joomla! websites!
Comments
Add New
+/-
Write comment
Name:
Email:
 
Title:
UBBCode:
[b] [i] [u] [url] [quote] [code] [img] 
 
 
Please input the anti-spam code that you can read in the image.
jww   |125.70.57.xxx |2009-01-06 20:55:50
Mister Morehouse shook his head savagely. "Nonsense," he
shouted,"confounded nonsense! I tell you. That rule means common
pigs, not Guinea pigs." "Pigs is pigs." Flannery said
firmly. Mister Morehouse bit his lip and world of warcraft goldthen flung his arms out wildly. "Very well," he shouted " You
shall hear of this. Your president shall hear of this. It is anworld of warcraft gold outrage. I have offered you fifty cents. You refuse it. Keep the pigs
until you are ready to take the fifty cents. But, by Gorge, Sir, if
one hair of those pigs' heads is harmed, I will have the law on
you." He wow power levelingturned and walked out, slamming the door.
Flannery carefully lifted the
box from the desk and put it in a corner. Mister Morehouse world of warcraft goldquickly wrote a letter to the president of the transportation express
co...
jww   |125.70.57.xxx |2009-01-06 20:44:25
Our story today is called "Pigs Is Pigs". It was written world of warcraft goldby Ellis Parker Butler. Here iswow powerleveling Shep O'Neal with the story.
Mike Flannery, the agent world of warcraft goldof the Interurban Express Company leaned over the desk in thewow power leveling company's office in Westcote and shook his fist. Mister dofus kamasMorehouse, angry dofus kamasand red, stood on the other side of the desk, shaking with fury. The Lord of the Rings Online Goldargument had been long and hot. At last, Mister MorehouseLOTRO Gold had become speechless. The cause fly for fun penyaof the trouble lay on the desk between the two men. It was a box with flyff penyatwo Guinea pigs inside."Do as you like them." shouted Flannery,
"Pay for them and Final Fantasy XI giltake them. Or don't pay for them and ffxi gilleave them here. Rules eq2 platare rules, Mister Morehouse. And Mike Flannery is not going to break...
wow gold   |125.70.57.xxx |2009-01-06 20:43:06
Raju and Savitri lived inwow gold Tanjore in the state of Tamil Nadu. Raju worked in the rice fields wow goldof a local landlord or zamindar for six months a year. In turn, hewow gold received four sacks of rice as salary. He would then wow goldsell three of them in the local market and keep one sack for himself for
food. At thewow gold local market he would exchange the rice for vegetables, flour, and wow goldgroceries. Savitri would do the cooking and washing and look after the
home. One year there was a severe drought. There was no rain and
the rice fields dried up. By April, the two werewow gold getting tired of eating nothing but rice. So one day, they decided to go
dig for tubers. They wow goldtook an axe to cut firewood and set off. Throughout wow goldthe day Raju cut branches and Savitri searched around for tubers wow goldand mushrooms. In the evening they sat under a tree exhausted. Raju put
wow gold  - wow gold   |218.108.222.xxx |2008-12-30 22:45:53
Where wow gold
you will find wow goldme inbuy wow golddisagreement buy wow goldis on the subject cheap wow goldof huntercheap wow gold changes. It is wow power levelingabsurd to wow power levelingsay that power levelingwe haven't power leveling attempt to address PvP concerns.
wer   |222.125.192.xxx |2008-12-30 01:28:43
e can also reverse. 20gb mp3 player this observation. buy cheap wow gold One question we might ask about successful nongame uses of. buy eve isk virtual worlds is. cheapest wow gold whether they too are . Cheapest wow gold special cases. digital mp3 player One obvious example. gamecard world of warcraft is erotic imagery. guild wars gold The zaftig avatar has. guild wars gold been a trope of 3D rendering . lord of the rings online gold since designers have been able to scrape. lotro gold together enough. lotro gold polygons to model a torso. lotro po but examples start far. powerleveling earlier than virtual worlds. powerleveling wow In fact, visual representation. serveur wow of voluptuous womanhood. world of warcraft 60 day predates the invention. world of warcraft time card of agriculture by the. wow game card same historical. wow game cards interval as agriculture. wow gold predates the present. wow gold This is a deep pattern. wow gold cheap It is also a ...
wer   |222.125.192.xxx |2008-12-30 01:28:30
After three hours it. 1GB MP3 PLAYER became apparent that. 1GB MP3 PLAYER in a world as vast. 1gb mp3 players as WoW there seemed. 2GB MP3 PLAYER to be something. best mp3 player for everybody to do. buy mp3 player Out subject had little. buy mp3 players time for the actual. cheap mp3 player core values of the game. cheap wow power leveling becoming a more powerful. des po wow character etc and instead. gold wow focussed on activities. gold wow that made her happy . wearing clothes. and picking flowers. mp3 mp4 player A stereotype of a. female in a male. mp3 player 2gb video dominated gameworld. mp3 player wholesale perhaps stereotypes. exist for a reason.  Interestingly. mp4 players our subject was reluctant. po wow to interact with other. power level characters and . world of warcraft card was moderately intimidated. WOTLK LEVEL by those ranked higher than her. wow leveling service Everyone else seem. wow lvl to know what they are doing. wow lvl 60 ...
wer   |222.125.192.xxx |2008-12-30 01:28:17
Saving up the gold. 2GB MP3 PLAYER to get a mount. 4GB MP3 PLAYER was a real challenge. 8GB MP3 PLAYER for me and I started. buy cheap wow gold saving when I was. canon digital camera level 39 and. carte wow finally had enough . cd key gold at level 41. cheap mp3 players So off I ran to. cheap world of warcraft gold the Easvale logging. dvd player camp east of Goldshire. gold wow to pay for. karte wow my training and. mp3 player to buy my horse. mp3 player I chose the Chestnut Mare. mp4 player which I love. play war games If you are an. world of warcraft buy gold alliance player. world of warcraft card you are familiar. wotlk with Goldshire. wotlk It is the place. WOTLK Power leveling where you play the. wow account early game. wow europe You are a level 5 running . wow geld around discovering this. wow gold wonderful world of warcraft. wow gold You fight your first. wow gold verkaufen wolves here, and adventure. wow kaufen into your first mines here. wow le...
wer   |222.125.192.xxx |2008-12-30 01:28:02
World of Warcraft mods. buy wow gold are extensions to. buying gold world of warcraft World of warcraft. cheap wow gold WoW Mods serves many purposes. cheap wow gold from giving you a. cheap wow gold new look to your interface . cheapest wow gold to displaying additional. clé cd info to help you in raids. compte wow Mods also makes your life. eve isk easier giving you. free online war games options that Blizzard. mp3 players never dreamed of. portable mp3 player The authors. portable mp3 players of WoW mods are. sell wow gold fans of the game. world of warcraft gold taking it upon themselves. wow to create modifications. wow for World of Warcraft and. wow acc sharing it with the. wow authentication online community. wow card Most of the WoW Mods. wow compte on this website are . wow gold standalone mods meaning . wow gold you need nothing other than. wow gold the game itself. wow gold to get it to work. wow gold Others are addons to. wow gold an already existin...
wer   |222.125.192.xxx |2008-12-30 01:27:41
???????????. ?????? ??????. ???? ??????????????. ?????? ??????????. ?? ????. ???? ???????????. ?? ??????????????????. ?? ??????????????????????????????????????. ??????????. [url=http://www.zhanshenbb.com]???? ???????????????????????. ???? ????????????. [url=http://www.zhanshenbb.c... ????????????????. ?????? ????????????????. ???? ??????????????????. ???? ????????????. ????????. ????. ??????. ????????.
qanlyp  - 123456   |123.145.172.xxx |2008-12-23 22:16:30
Professional WoW Power Leveling store,We offer cheap WoW Power Leveling,cheap World of Warcraft ).Free Guide to help you Buy WoW Gold,WoW Power Leveling, and sessions are really cheap, wow power leveling,normally a lot less than the WoW Gold, minimum wage offered in the US because most buy WoW Gold, of the workers who are leveling are based in China.WoW Gold, Not only thatwotlk gold, but they normally are wow gold,buy WoW Gold able to level faster than the Cheap WoW Gold average player considering they have workers rotating Cheap WoW Gold shifts along with many many practices in the game. wow gold,wow gold,name the character as wow gold,wow gold,Cheap WoW Gold One of warcraft gold,wow leveling,the best part of leveling a brand new character is Cheap WoW Gold that you will have a fresh reputation of the WoW Gold and WoW Gold would be able to name the character as you like.World of warcraft Power Leveling,World of warcraft Power Leveling,wow power level,w...

3.26 Copyright (C) 2008 Compojoom.com / Copyright (C) 2007 Alain Georgette / Copyright (C) 2006 Frantisek Hliva. All rights reserved."