Book a Demo

Author Topic: Domain Modeling in the ICONIX process  (Read 20303 times)

fluxtah

  • EA User
  • **
  • Posts: 144
  • Karma: +0/-0
    • View Profile
Domain Modeling in the ICONIX process
« on: March 18, 2004, 12:03:46 pm »
Regarding domain modeling described in applying use case driven object modeling by doug rosenberg and kendall scott, how does the domain model compare to the business model, i guess the domain model is part of the business model or the domain model is another name for business model?

Generally I understand what a Domain Model is used to capture:- The real world objects that make up the problem domain, modeled as a static diagram showing relationships between the objects. Though.. I do not understand how this compares to the business model?

arghhh my newb questions hurt!  ;D


« Last Edit: March 18, 2004, 12:04:33 pm by fluxtah »

mchiuminatto

  • EA User
  • **
  • Posts: 113
  • Karma: +0/-0
    • View Profile
Re: Domain Modeling in the ICONIX process
« Reply #1 on: March 18, 2004, 01:48:47 pm »
Under RUP point of view, Domain Model is a subset of a Business Object Model or an incomplete Busines Object Model focused on things and products related to the business. Is a subset of Business Object Model,  because doesn't include Business Actors and their responsabilities.

For instance, my organization work with Requirements, Use Case Models, Vision Documents, Review Checklists, work Plans etc. A model that describe these objects  without describing the Busines actors that produce and transform the objects,  and how they transforms it, that is a Domain Model

A business object model is a set os business use case realizations including objects and activity diagrams to describe the busines process thas produce an transforms these objets and the busines workers involved.

For my business object model I shoud include the description of the responsabilities of the Use Case Modeller, The Architect, The Use Case Reviewer and some activity diagram showing the work and objects flows.

Hope it helps
Regards.

Marcello

sargasso

  • EA Practitioner
  • ***
  • Posts: 1406
  • Karma: +1/-2
  • 10 COMFROM 30; 20 HALT; 30 ONSUB(50,90,10)
    • View Profile
Re: Domain Modeling in the ICONIX process
« Reply #2 on: March 18, 2004, 02:19:12 pm »
As  understand it, the domain model is "sort of" a differnet view of the business model.

The business model is used to gain insight into the wider scope of the subject system and its use within the organization.  At this level, we see the business process elements and the business organizational elements that "have some visibility" of the system.  

The business model is essentially behavioral even though it contains structural elements - we see organizational structures and high level business processes, and perhaps some actual roles played by actors that are particularly pertinent.

The domain model is the first cut at the structural composition of the organization. However its scope is bounded securely by the "system" under discussion.

Lets see if we can generate an example - say a retail wine distributor developing an online store ;)

We may need to model the business to see how the proposed web site will "fit" into the business.


The company organisations that are involved with the system somehow are:
The warehouse who will be dispaching the wine to customers.
The accounts department who will have to be notified of accounts receivable items (for credit card sales), inventory changes (for restocking and licence/excise matters).
The management will want measurement of sales made through the site.
The marketing department may want measurment of the types of sales made so they can plan what to push etc.
The "art" department may need to be involved in keeping the page "attractive"
The IT department (never forget this one and never leave it out as being too obvious) who have to run and support the site.
There are communicates and subscribes associations between these structures and the "system"
We use this model as a checklist with the business to make sure that no-one is forgotten in the requirements and analysis stages.


Now from that model we can start to derive the set of business objects that are salient to the system:
Order (we may even see at this point that an order appears to have states of "Open", "Authorised" and "Filled".)
Customer (aka "Deliver To")
etc etc

No really detailed fleshing out of these elements is needed - they act as placeholders for discussions with the business, say as in "Do you want to keep records on every customer that buys through the wine site? Lets talk this through and see what impact it will have - and what issues are raised."

Sometimes you need a business model, sometimes not.
Many times I see analysts attempting to avoid domain models - again, they are not really "compulsory" but add a great deal of value, at the least the provide a checklist that can be used to validate the rest of the requirements view and the analysis view.

B
"It is not so expressed, but what of that?
'Twere good you do so much for charity."

Oh I forgot, we aren't doing him are we.

fluxtah

  • EA User
  • **
  • Posts: 144
  • Karma: +0/-0
    • View Profile
Re: Domain Modeling in the ICONIX process
« Reply #3 on: March 18, 2004, 03:42:25 pm »
quality  this is where the noun verb analysis stuff is useful ;D

So where would I put my Models for these activities

In ICONIX they mainly build a model they call the Static Model which goes through the activities you described to identify the key business objects and entities that make up the real world system. I see this activity a little business and a little OO, defining classifiers and associations even before use case...

I think I am confused to wether this is an Analysis Activity or Business Modeling Activity?  ???

cheers!

fluxtah





« Last Edit: March 18, 2004, 03:42:46 pm by fluxtah »

mchiuminatto

  • EA User
  • **
  • Posts: 113
  • Karma: +0/-0
    • View Profile
Re: Domain Modeling in the ICONIX process
« Reply #4 on: March 18, 2004, 04:38:34 pm »
Pleas forgive my ignorance, but ICONIX is a Development Software Process as RUP?, how ICONIX structure the process or where I can find an overview of the process? (a site, a pdf)

Thanks in advanced
Regards.

Marcello

Bruno.Cossi

  • EA User
  • **
  • Posts: 803
  • Karma: +0/-0
    • View Profile
Re: Domain Modeling in the ICONIX process
« Reply #5 on: March 18, 2004, 04:45:46 pm »
Hi Marcello,

look at http://www.iconixsw.com/

Ciao,
Bruno

JourneymanDave

  • EA User
  • **
  • Posts: 72
  • Karma: +0/-0
    • View Profile
Re: Domain Modeling in the ICONIX process
« Reply #6 on: March 18, 2004, 07:34:36 pm »
There's a really nice book available that walks you through practical examples of using ICONIX too.  Check out "Use Case Drive Object Modeling: A Practical Approach", by Rosenberg & Scott, ISBN #0201432897.  

JourneymanDave

  • EA User
  • **
  • Posts: 72
  • Karma: +0/-0
    • View Profile
Re: Domain Modeling in the ICONIX process
« Reply #7 on: March 18, 2004, 07:41:14 pm »
Oh, there's also a good book about business modeling with UML, using the Eriksson-Penker UML profile.  Title is "Business Modeling with UML: Business Patterns at Work", by Penker et. al, ISBN #0471295515.  

fluxtah

  • EA User
  • **
  • Posts: 144
  • Karma: +0/-0
    • View Profile
Re: Domain Modeling in the ICONIX process
« Reply #8 on: March 19, 2004, 12:57:12 am »
yeh I do have that book though it doesnt say where the model resides in a project :( a simple  newb question probably, I am just stuck as to wether to put my static model  in my EA Business Model View or Analysis Model View...

regards

Ian

JourneymanDave

  • EA User
  • **
  • Posts: 72
  • Karma: +0/-0
    • View Profile
Re: Domain Modeling in the ICONIX process
« Reply #9 on: March 19, 2004, 06:03:29 am »
If it's really a static model, I'd put it in the Business Model.  When you get into Analysis, you have to start considering the dynamic behavior of the system.

fluxtah

  • EA User
  • **
  • Posts: 144
  • Karma: +0/-0
    • View Profile
Re: Domain Modeling in the ICONIX process
« Reply #10 on: March 19, 2004, 06:11:50 am »
Cool, I put it into the business model view  ;D

cheers!

Ian

mchiuminatto

  • EA User
  • **
  • Posts: 113
  • Karma: +0/-0
    • View Profile
Re: Domain Modeling in the ICONIX process
« Reply #11 on: March 19, 2004, 12:30:23 pm »
Thanks Bruno

The more I read about ICONIX, the more I like RUP. There’s a couple of things that I don’t like about ICONIX.

a)      The functional model is based upon a system point of view. Am I right?
b)       It’s a subset of RUP. Under which criteria they trimmed down RUP?, if RUP must be specialized depending on the project, the organization, the people etc?

In the other hand maybe I’ve got a false impression about ICONIX, my arguments are too light and I need to read more. Time will tell.

Thanks again.

Regards.

Marcello

JourneymanDave

  • EA User
  • **
  • Posts: 72
  • Karma: +0/-0
    • View Profile
Re: Domain Modeling in the ICONIX process
« Reply #12 on: March 19, 2004, 01:51:15 pm »
The way I read ICONIX, it is a lightweight version (so, yes I guess a subset) of RUP.  Sort of the "Bare Essentials of RUP" approach, that de-emphasizes the lesser-used notations of the UML, and adds significant new emphasis on Robustness Analysis to facilitate that awkward stage right after completing Use Cases.

Remember too though, that the RUP can handle - and in fact encourages - a tweaked framework.  If you've ever looked at the official RUP product on CD from Rational, it allows you to specify some parameters around how heavy you want the process to be and sort of "roll your own" as it relates to your sepcific project.  

The only point in saying that is that you don't necessarily have to count points off from ICONIX because it's not as all-encompassing as RUP.  In real-life, even RUP is not as all-encompassing as RUP  ;)

As usual though, use what works for you in your projects and don't sweat those things that don't.


Bruno.Cossi

  • EA User
  • **
  • Posts: 803
  • Karma: +0/-0
    • View Profile
Re: Domain Modeling in the ICONIX process
« Reply #13 on: March 19, 2004, 02:09:53 pm »
Hi Marcello,

I think Dave has described it well. In fact, on most of the projects I have seen RUP used, it has not been used fully. That is probably where ICONIX comes to play - it does some of the thinking about which areas of RUP to implement for you.
It may be right for your project, or not. It can help you save time and therefore money - I always like that :-)

Ciao,
Bruno


Quote
Thanks Bruno

The more I read about ICONIX, the more I like RUP. There’s a couple of things that I don’t like about ICONIX.

a)      The functional model is based upon a system point of view. Am I right?
b)       It’s a subset of RUP. Under which criteria they trimmed down RUP?, if RUP must be specialized depending on the project, the organization, the people etc?

In the other hand maybe I’ve got a false impression about ICONIX, my arguments are too light and I need to read more. Time will tell.

Thanks again.



mchiuminatto

  • EA User
  • **
  • Posts: 113
  • Karma: +0/-0
    • View Profile
Re: Domain Modeling in the ICONIX process
« Reply #14 on: March 19, 2004, 03:15:13 pm »
Dave

I absolutely agree with you when you say:

"In real-life, even RUP is not as all-encompassing as RUP".

ICONIX must be a Lightweight version of RUP, but is the right one for me, for my organization, for the project I have to face, for the people is involved in, for my client organization, for the project's budget, even for my country culture? I think every time I face a project I have to put into the mixer all these variables, push the button and extract the right sized version of RUP, maybe will be the same as ICONIX or maybe not, but I'm sure that will be the right one for me.

My intention is not to discount points to ICONIX, I'm just saying that from my personal point of view, I bet on choosing by my own from a complete tool set than choosing from one that has already been downsized by some one else.

Bruno, money doesn't make you happy (but helps a lot) :D

Thanks guys and have a nice weekend.
Regards.

Marcello