I have inherited an ASP.NET application that is a disaster architecturally, however it works and it is in live production use. In order to enhance the application in the future I need to totally re-architect it, but I need to preserve the existing front-end functionality - the changes that are being asked of me are more backend integration than front-end functional or user interaction.
The basic issue is this - the bulk of the business logic is in stored procs (and the rest is in UI codebehind files) - there is no business domain model of which to speak. I need to refactor logic out of the database (and down from the UI) into code, but the behaviour of the application is fundamentally bound up in these stored procs. So the question is this - how do you go about a complete re-architecting of this kind?
I understand refactoring in small steps, I've read fowler etc. I am really looking for practical advice from people who have been through a similar process.
Thanks!
Edit I should have said, ideally I want to re-engineer iteratively, during a multiple release cycle.