From: Eero T. <ee...@us...> - 2005-12-19 19:45:24
|
Hi, On Monday 19 December 2005 13:31, Richard Taylor wrote: > How did you derive this model? Did you do it from the code or the user > interface? =46rom the user interface. > I have tried to autogenerate a class diagram from the RelLib code and it > comes out _much_ more complicated that your domain model. So complicated > that I have failed to lay it out in any kind of readable structure. I > need to try it in umbrella and use the UML layout rules to see if that > helps. Domain model is supposed to capture "what" (data requirements), not "how" (design). What entities are required in the data model and how they relate to each other (i.e. data domain). Therefore it lacks lots of details required in actually implementation (class members, db link tables etc.). > Do you link source explicitly to place, media and event because a source > can have these or because these can have a source? I have a gut feeling > that the datamodel is more complex than your diagram suggests, > but I have not spent the time working it out. It would be nice if you could check I haven't missed or got anything wrong. :-) - Eero > Regards > > Richard > > On Saturday 17 December 2005 20:35, Eero Tamminen wrote: > > Hi, > > > > I tried to do a domain model of the Gramps data i.e. list all the > > separate data entities and their relations. > > > > Entities are separate if: > > - Another entity can relate to multiple items > > - Multiple entities can relate to exactly same item > > - The items are not predetermined (e.g. gender) and > > contain multiple properties (address contains street, city etc) > > - Different things are done for them (e.g. address and > > internet address are usually output differently) > > > > The attached model tries to contain all entities and their > > relations in Gramps: > > - Person > > - Name (person can have multiple names and they can > > change, name change is an event) > > - Relationship (person can have multiple relationship and > > relationships are at least legally associated to events such > > as birth, marriage etc.) > > - Event > > - Place (events happen in some place) > > - Address (person can have multiple addresses and multiple > > persons can live in the same address) > > - Internet address (both places and persons can have > > multiple internet addresses, at least over time) > > - Attribute (persons can have any number of attributes) > > - Media (except for relationships and attributes, things > > can have pictures etc.) > > - Source (every bit of information can have several sources) > > > > Does the model look about right? > > > > Questions: > > - Why events have places and persons addresses i.e. separate entities? > > Both places and addresses have about the same properties. > > - Gender might actually be a separate entity too as nowadays people > > can change it... > > > > > > - Eero > > > > (Domain diagram is the first step before class and database diagrams. > > :-)) |