Course Hero Logo

Precise.docx - Pg 1 Introduction and background for...

Course Hero uses AI to attempt to automatically extract content from documents to surface to you and others so you can study better, e.g., in search results, to enrich docs, and more. This preview shows page 1 - 2 out of 6 pages.

Pg 1Introduction and background for Information Modeling/DDDStepping back from the immediate task of database design, it is helpful to appreciate that amodelstarts and ends with a mental structure, in our head, using top level concepts that are innate andare subclassed to fit thedomainunder consideration.It also helps to knowthe human concepts that can be used to achieve precision in our models. (how can youconceptually model if you don’t know what modeling concepts are available)?I call thesetop level concepts (topcats)-- here are the main ones -- {State, Event, Action, Location, Path, Sound,Image, Amount, Number, Manner, Time, Thing, , , } These and their subtypes are what we think with and thereforewhat we model with.. (see the references -Jackendoff/Rucker).If I can’t encompass the structure and intent of a model in my head, then I can’t develop, revise,or improve it. This capability to make a model better is often expressed as being able to“wrapmy head around it”. Such a well recognized human characteristic brings me to my main point:We work best by recognizing significantboundarieswithin an area, and then work to wrap ourhead around each bounded context in turn, in order to manipilate it.These bounded areas arethebounded contextsin theDomain Driven Designperspective.**Note: the meaning of the wordmodelis as complex as is the meaning of the wordgameand as difficult topindown. So, this means thatmodelsare not characterizedby necessary and sufficient conditions (iff), but rather byfamily-likeresemblances. Our task, as developers, is tocharacterize and documentthesefamily resemblanceswithin an organizational domain of information modeling. ( see references L. Wittgenstein).*As a bonus for learning this perspective, you will have a solid initial approach to thinking abouthow to partition and then implement your own applications. “Data type structures are designedseparate from the Service Functionsthat operate on them”. (Other concepts such asmodularization are also crucial in software design and will be discussed on other papers).Just to give some made up examples: Suppose the Service Functions access the BoundedContexts as follows:Note that theparametersof the service functions are thedata typesof the bounded contexts!!But the data types ARE the objects! What a beautiful simplification!1.) Service-FunctionA1 throughService-FunctionA10are targeted for the objects of boundedcontext “1” .e.g. made up examples: function(datatype1, datatype2, datatype3, . . .) → result of valueSuppose Service-FunctionsAn target the Bounded Context “1”, employee, department, . . objectsService-FunctionA1( employee, department) →results in insurance status of employeeService-FunctionA2( employee, department, companyPolicy) → results in number of dependentsof employee2.)Suppose Service-FunctionB1 through Service-FunctionB5 are targeted to BC“2”.

Upload your study docs or become a

Course Hero member to access this document

Upload your study docs or become a

Course Hero member to access this document

End of preview. Want to read all 6 pages?

Upload your study docs or become a

Course Hero member to access this document

Term
Spring
Professor
N/A
Tags
Domain specific language

Newly uploaded documents

Show More

  • Left Quote Icon

    Student Picture

  • Left Quote Icon

    Student Picture

  • Left Quote Icon

    Student Picture