This is kind of a refinement of SAKryukov’s answer, he’s, in my view, definitely heading in the right direction.
Depending on the size of the project - DoxyGen
] together with Graphwiz
] can help you get a detailed overview of the project with a graphical representation of the inheritance tree and other class interaction.
Doxygen can be set up to use Graphwiz to generate the various graphical representations based on the source code. DoxyGen can be set up to work with all of the code - even if it's a documentation tool, it can generate output for undocumented code, private variables, and so on.
This may help you decide how to organize the code into separate dll’s.
Depending on the size of the project, it’s also possible to use DoxyGen as a foundation for a tool that may partially automate the process – probably not a trivial task - it’s open source so you may modify it in any way you want.
Update for database layer
This is a great tool, easily modifiable to suit your needs, Database Helper v 2.0.0
] - The tool also shows how to use SMO.