Ich bereite mich auf die Entwicklung einer Unternehmensanwendung für ein sehr kleines Unternehmen mit 6 Mitarbeitern vor (einschließlich mir selbst - bevor Sie sich fragen, warum ein 6-Personen-Unternehmen eine Unternehmensanwendung benötigt, wir haben eine Menge zu tun, mit einer Menge von Prozessen und Tools, die zur Vereinfachung benötigt werden). Wie immer versuche ich, bei der Einrichtung des Projekts die besten Praktiken zu befolgen; ich werde .NET 3.5 verwenden, wobei die Datenbank auf Windows Server 2003/SQL Server 2005 läuft.
Sollte ich, während ich die Lösung entwickle und teste, alles in meinem Hauptprojekt haben? Was ich meine, ist... In Visual Studio 2008 Professional können Sie sowohl "Datenbankprojekte" als auch alle anderen Projekttypen verwenden. Für diese Anwendung werde ich benötigen:
- Datenbankprojekt mit den Erstellungs- und Testskripten für das neue Datenschema
- C#-Projekte, die den eigentlichen Code/die Anwendung enthalten:
- Kundenseitige Website(s) mit ASP.NET MVC
- Backend-Auftragsabwicklungssystem, wahrscheinlich webbasiert, aber möglicherweise ein "Smart Client".
- SSIS-Projekt mit Paketen zur ETL der "Live"-Anwendungsdaten, die von unseren Anbietern bereitgestellt werden, und zur Migration bestehender Kunden- und Auftragsdaten aus der alten Datenbank.
- Berichtsprojekt für SQL Server Reporting Services
Grundsätzlich frage ich mich, ob es eine gute Idee ist, alle diese Komponenten als Teil einer großen Visual Studio-Lösung (nennen wir sie "EnterpriseSolution") zu haben, oder ob ich sie aufteilen und separat angehen sollte. In den meisten Büchern und Websites, die ich mir angesehen habe, sind sie alle zusammen enthalten, aber sie gehen auch von einem Team aus Entwicklern, DBAs, Architekten und dergleichen aus - in diesem Fall bin ich alle in einem Team. Das Datenbankprojekt und zumindest einige ETL-Prozesse müssen fertiggestellt und in die Produktion geladen werden, bevor der Rest der Anwendung geschrieben wird, da wir die Produkte des neuen Anbieters in eine Live-Umgebung laden müssen (um mit dem Verkauf zu beginnen).
Ich bin ein wenig überfordert, wie ich das Ganze strukturieren soll, aber ich möchte mir einen Gesamtplan zurechtlegen, bevor ich anfange, die Dinge auszulegen und zu programmieren.
Haben Sie Vorschläge, wie man ein solches Projekt in Angriff nehmen kann?