Working with app redesign

I am working on a redesign / reapplication project. The problem is that the old application was written in ASP.net 1.0 and the database is quite large with over 100 tables and 300 odd views. The database handles roles and memberships in a very crappy way. It also includes a simple workflow. An app is a pain when it comes to service. I have about 3-4 months to reuse the software.

The design of the database is not to my liking, but looking at the temporary migration data and the redesign of the database, the project can get off track.

Has anyone encountered this situation before? Does anyone have any pointers to me on how to do this?

I would like the software to speed up with .NET 3.5. I'm not sure if the app redesign would be meaningful without considering DB

System problem: 1. Problems of provisioning and scalability. 2. Poor database design especially in the case of user management, the application is highly dependent on users and roles, etc.

+1


source to share


6 answers


Database redesign is a huge endeavor. If you, or someone on your team, is not an expert in database design and ETL, you may be faced with the fact that you have worse than you do now.

However, is it possible to fix only one or two of the worst parts of the database and thus achieve an overall improvement? Look at the worst executable queries to see what is really wrong (not only from your personal point of view, what you don't like, but what really isn't working right now). Perhaps anything less than a general redesign could give you a significant performance boost.



If the reason you don't like the database is because it is not truly relational, perhaps you can compromise by adding new names to relational tables, moving data and deleting old tables, and creating views with old ones. table names that are structured like the current design. (Don't do anything other than the current standby database!) This way you can start changing your code for a new, more efficient design, but stuff you don't get will still work until you get there.

+2


source


Is your fee to recycle the database or the entire application? Are you on a solo mission or do you have a decent amount of help? Does your company use any methodological standards (SDLC processes) or are you an IT department?

Four months sounds very aggressive. You will need to document requirements, plan, design, build and test every functional component, transform data from the old system to the new system, and possibly create new environments for all of these scenarios.

The bottom line is: Spend a decent amount of time evaluating the work it will take to get through the entire process. If it's four months, great. I doubt it will. Once you've documented the details of the effort involved, hand it over to your boss and explain to him how extreme the four month time frame is.



If your main concern is whether a duplicate database needs to be iterated over, consider the old idiom that a chain is only strong as its weakest link. The new app will be written in .NET, but would it really make sense to sit on a shaky database with poor design?

Spend time planning your project and you will spend far less time actually developing, testing, and reworking that you would otherwise be faced with.

Hope it helps.

+1


source


It's kind of an old adage that smart data structures and dumb logic change backwards every time . See Rule 5 in the article on unix philosophy . When it comes down to this, every project I've been to where I had to dine with code to fix corrupted data structures was a pain.

Short answer: Repeat the data you made if you can.

Long answer: be pragmatic. If you can save yourself some headache by just redoing a portion of the database, do so. It will be more pain to deal with in the application logic than at the database level.

Hope it helps!

+1


source


If you don't want to do a database redesign, you can always redesign your user interface (UI). Use a good pattern if you decide to work with web forms then I advise using the View Presenter-pattern or if you know a lot of javascript and html and don't like the webforms model using the new ASP.NET MVC.

But before you are going to refactor your application, you must understand the design pattern you choose.

I hope you can do something with this information.

0


source


I really don't know the scope of the projects. But 4 months to redesign a system that, like 100 tables, seems unrealistic. Except maybe if you know the domain well.

my 0.02 $

0


source


To add my $ 0.02, you first need to understand why you are redesigning, what is the problem with the current software: performance, serviceability, best base for product expansion, etc. Then clearly state the goals for the new product (i.e. improve UX, performance objectives, framework, etc.), perhaps this will give you a better overview of what needs to be redone and what works.

0


source







All Articles