After that I did some research and came up with the below points.
- Think sitecore data templates as Object Oriented classes.
- Use template inheritance as OO Inheritance.
- Use Class Diagrams to do the initial modeling of data in the site.
- Think only about the data in the site. Don't think about the design.
- MS Visio (or any that kind of tool) can be used for draw your initial models
I found following links very useful
http://gettingtoknowsitecore.blogspot.com/2010/01/inheritance-content-modeling-sitecore.html
http://maigruen.netzkern.de/data-modeling-in-sitecore.aspx
http://sdn.sitecore.net/Developer/Fundamental%20Concepts/Template.aspx
http://sdn.sitecore.net/upload/sdn5/developer/fundamentals.pdf
2.3 Templates and Field
Please let me know your idea/methodology about this as comments below.