Prima di tutto, prendi seriamente in considerazione il bit di PHP - se hai il codice C # e presumibilmente le abilità per cui buttarlo via? Esistono diversi modi per fornire siti Web validi, moderni, flessibili e conformi agli standard utilizzando C #
In secondo luogo, quello che devi davvero fare è stabilire il controllo su ciò che hai - a prescindere dal grado di riscrivere l'applicazione (posso vedere la sostituzione del front-end flash con HTML5 e Javascript) se non lo fai avere gli strumenti e le pratiche giuste per finire con lo stesso pasticcio di nuovo.
Quindi una lettura di questo libro potrebbe aiutare: Sviluppo di applicazioni Brownfield in .NET - non è pesante ed è pieno di buoni guida.
Dovresti essere in grado di gestire molti dei problemi rielaborando sistematicamente il codice, ma il database è un po 'più impegnativo. Puoi fare varie cose intelligenti - ad es. se cambi le strutture delle tabelle puoi includere viste che contengono la vecchia struttura, ma alla fine coinvolgerà il dolore.
Se davvero stai riscrivendo l'app da zero, allora fai proprio questo. Ignora ciò che è successo prima in termini di codice, stabilisci le tue storie utente (puoi usare l'applicazione corrente per "informare" le tue storie e l'ordine in cui passi attraverso il backlog), elaborare il tuo schema idealizzato e avanzare da lì. .
Non posso commentare quale approccio ti darà il risultato finale desiderato - ma un approccio di refactoring come per il libro ti porterà risultati visibili (in particolare in termini di consegna ai tuoi utenti) a molto prima.