Link to home
Start Free TrialLog in
Avatar of xRalf
xRalf

asked on

Study of a big system in C#

Hello,

I have to study quite large system (e-shop) written in C#. I don't have documentation, UML diagrams, database schemas... The whole system is written in C# (in Visual studio 2005, SQL server 2005).
Could you recommend me some technique, how to identify the crucial (core, most important) parts of the system and to run (and test) it and how to run the other parts of the system? I don't have experience with development of such a big systems (it has been developed by e.g. 7 people for 2 years).
So far I noticed quite strange structure of the system. There are many directories with project file *.vcproj and there is also one directory with *.sln files. I haven't seen this structure before. When I open some *.vcproj in visual studio I'm not able to go to the functions from other directories which are used here (via the using statement).

thanks for help
ASKER CERTIFIED SOLUTION
Avatar of philipjonathan
philipjonathan
Flag of New Zealand image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Avatar of xRalf
xRalf

ASKER

Hi philipjonathan,

there is a solutions folder with about 10 solutions.
What do you mean by "narrow down to the web application"?
I was supposing that yours is a web app? If that's the case, there will be 1 project that is a web application project. To hunt it down, find a project that has web.config in it.

The other projects are probably either DLL, or some backend components that you need to run.

Is this what you meant to ask, or did I misunderstand you?
Avatar of xRalf

ASKER

There is one project with web.config in it. It is the shop interface to the bookkeeping system.
That project might be the starting point of the application. Try to figure out how things flow when a user starts to interact with the eshop. Also try to find out which project references which project. This should give you rough idea what each component is used for.

I'm not sure if this help? I'm not clear how far you already figured out, and which part you are still trying to work out.
Avatar of xRalf

ASKER

Thanks for advise and do you know how to build such a system? I'm trying to build it gradually but I have stuck that there are some dll's missing.
Avatar of xRalf

ASKER

e.g. there are probably missing dll's for (using Iesi.Collections.Generic;). I'm looking for it on the web, but can't find it.
Sorry for late reply, was away for holiday.
To build, you can go to solution explorer and right click on the project that you want to build. Referenced DLL is a "must-have" to build a project. Try to search the bin folders, who knows they are left there when the app programmers compiled it previously.
Can you use the "Edit" -> "Find and Replace" -> "Find in Files" function to search in those files whether you have Iesi.Collections.Generic namespace.
On the "Find in Files" dialog box, click "..." button next to "Look in" combobox, and select the root folder of those files.
Avatar of xRalf

ASKER

The problem is that there are many solution files spread through many directories. Everything is quite clear (maybe downloaded from SVN repository), the bin folders are empty.
I have stuck on Iesi.Collections.Generic. Maybe if I would find DLL's for it, I could proceed to the next level.

It doensn't matter if you have holiday, my situation is similar (this is only hobby activity)
When I mentioned the "Find in Files" function, I mean you can open any solution, then execute the "Find in Files" function, it is able to search not only in that solution, but other folders as well. The referenced DLL must be present, either in source code or in compiled DLL form. Otherwise I don't think you can build the project. If you downloaded the source code online, check with the developer website on the prerequisites, and download accordingly.