2009-05-08 5 views
0

Derzeit bin ich in einem Team, das eine neue eigenständige Anwendung in C# entwickelt. Das letztendliche Ziel ist es, diese Stand-alone-App in eine zuvor entwickelte größere Anwendung zu rollen, die sich auf die gleichen Prozesse bezieht.Methodik für die Entwicklung einer neuen Anwendung, die eventuell in eine alte Anwendung zusammengeführt wird

Meine Frage ist dies: Ich bin auf der Suche nach Informationen über Methoden oder Prozesse, die helfen mit A) Design der neueren Code, insbesondere, wenn der ältere Code nicht die beste Wartung System ist, und B) Integration der neueren Anwendung.

Offensichtlich wird es nichts Spezifisches da draußen geben, unsere Anwendungen sind einzigartig im Design und werden daher Besonderheiten haben, mit denen keine Methodik helfen kann. Ich bin daran interessiert, ein gutes Allgemeinwissen über das Thema zu bekommen.

EDIT: Die bisher Vorschläge, Umgestalten des alten Code, den neuen Code als Container für die Module bauen, und den alten und neuen Code in Unit-Tests decken, sind alle guten Praktiken im Allgemeinen und die Dinge sind Ich übe wenn möglich. Es scheint mir jedoch, dass dies einzelne Teile einer Gesamtmethodik wären.

Antwort

1

Zunächst müssen Sie verstehen, wie die alte Anwendung intern funktioniert. Wie verwaltet es Workflow, Sitzungen, Benutzerberechtigungen usw.?

Wenn Sie Ihren neuen Code entwerfen, sollten Sie besonders darauf achten, kleine, wiederverwendbare Komponenten in einem mehrstufigen Ansatz zu erstellen. Natürlich ist das nichts Besonderes, gute Programmierer werden das immer versuchen, aber im gegebenen Szenario ist es wichtiger. Um es zu einer eigenständigen Anwendung zu machen, müssen Sie einige Teile replizieren, die bereits in der alten Anwendung vorhanden sind, z. Anmeldebildschirm, Workflow-Management usw. Stellen Sie sicher, dass Sie entweder diese Teile aus dem alten System wiederverwenden oder die neue Teile-API kompatibel machen und von der Hauptgeschäftslogik trennen. Dadurch wird es viel einfacher, die neue Anwendung in die alte zu integrieren.

0

Ich bin nicht sicher, ob dies die Antwort ist, nach der Sie suchen, da es sich nicht um eine Methodik, sondern um eine Anwendungsarchitektur handelt.

Wenn Sie Ihren Stand-Alone-Server als einen leichten Container mit den Anwendungskomponenten entwerfen, ermöglichen Sie die Migration der Komponenten zu einem späteren Zeitpunkt in einen größeren Kontext.

0

Fowler empfiehlt alten Code umzuformen. Es dauert einige Zeit aber:

A) es wird einfacher sein, diesen Code mit Ihrem neuen Code zu integrieren;

B) Sie und Ihr Team werden alten Code besser verstehen.

In Ihrem Fall würde ich auch darüber nachdenken, Ihren Code und vielleicht alten Code mit Komponententests abzudecken.