Domain Analysis

Before haveing additional interviews, the development team first must work within the context of the business-process interview. This is the job of an object modeler. The objective is to produce initial class diagram.

The object modeler looks for nouns, verbs and verb phrases. Some of the nouns will become classes in the model, some will become attributes. The verb and verb phrases can become operations or the labels of associations.

Let's put ourselves in the role of the modeler and start developing the class diagram. From the client's interview we can filtered out these nouns:


Move your mouse over the word list and you'll see what nouns from the list can be eliminated as an attributes, synonyms with other nouns, and nouns that represent classes out of the domain's scope.

And these verbs:

go, search, lend, take, sort, print, put, do, has, have, convert, write, manage, access, read, preview, take a sample, reserve, give, inform, make, set free, check the data, recommend, post, buy, operate, maintain, conclude, browse, input

Now we'll try to form some meaningful groups of nouns.
One group consists of people: member, author, employee, lender, DatabaseSpecialist, DataEntry clerk. This group could stand some subdivision because everyone except the member and author are employees.
Another group consists of library's items like books, journals, samples, reservation, lending.
Third group consists of areas within the library: corridor, lending area, reception place.
In forth group may be these nouns: member's card, data record, paper card, multimedia data, lending record.

abstractClasses Abstract classes partition the class diagram into meaningful groups

This is the initial class diagram, next we'll discover associations between classes and produce more descriptive class diagram tha this one.