Page view counter

What goes first in the design of the project?

Last post 03-05-2007 1:32 PM by csharplearner. 4 replies.

Sort Posts:

  • What goes first in the design of the project?

    03-03-2007, 5:29 PM

    In a real time projects, what do you all do?

    Do you guys first design the OO Business layer with classes and then design the database layer or its the other way around?

    ~C#Learner
    *************************************************
    Please remember to Mark As Answer if this post
    answered your question!
    *************************************************
  • Re: What goes first in the design of the project?

    03-03-2007, 5:59 PM
    • Loading...
    • Fredrik N
    • Joined on 06-22-2002, 5:03 AM
    • Sweden
    • Posts 5,333
    • Points 29,632
    • TrustedFriends-MVPs
    I try to use Domain Driven Design as much as possible (depends on the project). In that case I design the domain model first and then the datasource.
    /Fredrik Normén - fredrikn @ twitter

    Microsoft MVP, MCSD, MCAD, MCT

    ASPInsiders
    My Blog
  • Re: What goes first in the design of the project?

    03-03-2007, 8:58 PM
    Answer
    • Loading...
    • flanakin
    • Joined on 10-05-2003, 7:06 PM
    • Washington, DC area
    • Posts 384
    • Points 1,901

    I haven't really delved into the formal theories around domain driven design, but I'd have to say I use this same approach. In my experience, the best approach is really going to depend on the experience of you and your team. Most people seem to start in the database, but I personally think that can cause problems. In the same breath, I have to say I don't think this is a steadfast rule, tho; it really depends on skills and experience. With all that said, my approach tends to start by forming a domain model based on use cases. This domain model represents the data your system will manage. Next, I like to identify the business services that correspond to the domain model; the data access layer, which essentially mimics the business logic layer; and, finally, I wrap it all up by formulating the data model, which is loosely based on the domain model.

    The only thing I like to stress here is that the application's domain model should be designed independently of the data model. The reasoning behind this primarily lies within the fact that you don't want your application domain model held to restrictions of the data store, which could possibly change over time. As far as I'm concerned, the data store is merely an end-point -- an end-point that can (or, perhaps should support the ability to) be replaced with no change to the application, outside of the data access layer.

    Michael Flanakin | Microsoft Consulting Services
    www.michaelflanakin.com
    Filed under: ,
  • Re: What goes first in the design of the project?

    03-04-2007, 1:36 PM
    Answer
    Hi csharplearner,

    I also vote for Domain driven design.
    In my inital experience I saw people design their physical data model first (entity modeling and normalization) and the other models are driven based on this model. But when I started designing the system using UML I did the Domain model first and this drove the other models. After discussing with the designers and in the forums, I feel Domain driven design would be the ideal way out (and again it depends on the size and nature of the project).

    The following links might be helpful to you
    http://www.agiledata.org/essays/agileDataModeling.html
    http://domaindrivendesign.org/

    There is also another methodology called GUIDS or user-centered design, just FYI.
    http://www.it.bton.ac.uk/staff/rng/teaching/notes/GUIDE/
    http://en.wikipedia.org/wiki/User-centered_design

    Hope this helps

    Sundar
    __________________________________________________________
    Please don't forget to mark all the replies that helped you as "Answer"

    Sundar
    ________________________________________________________
    Please don't forget to mark all the replies that helped you as "Answer"
  • Re: What goes first in the design of the project?

    03-05-2007, 1:32 PM
    I agree with you all on domain modelling.Thanks a lot for a good detailed responses. I had been studying Craig Larmen's Applying UML and Patterns: An Object Oriented Approach. - very good book- he also advices on the domain modelling-you guys probably like this book- go for it if you have not read this
    ~C#Learner
    *************************************************
    Please remember to Mark As Answer if this post
    answered your question!
    *************************************************
Page 1 of 1 (5 items)