2008-12-12 51 views
1

我正在重新设计/重做应用程序。问题在于旧的应用程序是用ASP.net 1.0编写的,数据库非常大,有100多个表和300多个视图。数据库以非常低廉的方式处理角色和成员资格。它也涉及一个简单的工作流程。该应用程序在维护时很痛苦。我有大约3-4个月的时间来重做软件。处理应用程序重新设计

数据库设计并不符合我的喜好,但是在时间范围内迁移数据和重新设计数据库可能会使项目走上正轨。

任何人都遇到过这种情况?任何人对我如何去关于这个项目有什么指示?

我很想用.NET 3.5来加快软件的速度。我不确定如果在不考虑数据库的情况下重新设计应用程序是否有意义,那么系统有问题:1.维护和可伸缩性问题。可怜的DB设计特别是在用户管理的情况下,应用程序在很大程度上取决于用户和角色等

+0

我不是域专家 – Perpetualcoder 2008-12-12 18:56:57

+0

是否有任何重构数据库的可能性?如果不重新设计整个事物,也许可以解决数据库最差的区域。我曾经在一个项目上工作过,因为数据库结构变得难以管理,我们决定重做每个版本的特定部分。 – 2008-12-12 19:17:17

回答

2

数据库重新设计是一个巨大的努力。如果你或者你的团队中的某个人不是数据库设计和ETL方面的专家,那么结果可能会比现在糟糕得多。

但是,是否有可能只修复数据库的一个或两个最差的部分,从而实现整体上的改进?看看表现最差的查询,看看有什么不对(不仅仅是从你个人的角度来看,你不喜欢什么,但现在真的不太好)。也许比重新设计更少的东西可能会给你带来重大的性能提升。

如果您不喜欢数据库的原因是它不是真正的关系型,那么可能会通过放入带有新名称的关系表,移动数据并删除旧表以及使用旧表创建视图与当前设计结构相似的名称。 (不要先没有当前的数据库备份!!!!)通过这种方式,您可以开始将代码更改为新的更有效的设计,但是您不会更改的内容仍然可以使用,直到您找到它。

0

如果你不想做数据库的重新设计,你可以随时调整你的用户体验(UI)。如果您选择使用的WebForms工作那么我的建议是使用模型视图演示模式,或者如果你知道很多的JavaScript和HTML和你不喜欢的web表单模型使用新的ASP.NET MVC使用的良好格局。

但是在你要重新构建你的应用程序之前,你必须了解你选择的设计模式。

我希望你能用这个信息做点事情。

+0

使用MVP与webforms的任何参考? – Perpetualcoder 2008-12-14 02:18:26

1

您是否需要重新设计数据库或整个应用程序?你是独自执行任务还是你有很大的帮助?贵公司是否采用任何方法学标准(SDLC流程),或者您是一个独立的IT部门?

四个月听起来非常激进。您需要记录需求,计划,设计,构建和测试每个功能组件,将数据从旧系统转换为新系统,并可能为所有这些场景设置新环境。

底线是:花费大量的时间来估计整个过程所需的工作量。如果是四个月,太好了。我怀疑它会是什么。一旦你对所涉及的工作有详细的记录和详细的估计,把这个给你的老板,并向他解释四个月的时间框架是多么的极端。

如果您主要关注的是是否要重做数据库,考虑到老成语链是取决于其最薄弱的环节。新的应用程序将用.NET编写,但是如果坐在一个糟糕的设计的小型数据库上真的有意义吗?

花时间计划你的项目,你会花更少的时间做实际的开发,测试和重新工作,否则你会遇到的。

希望这会有所帮助。

+0

经济表示,我正在单独进行应用重新设计。我个人认为它几乎不可能在4个月内完成,因为我也是新来的域名。 – Perpetualcoder 2008-12-12 18:25:27

1

这是一种古老的说法,智能数据结构和哑逻辑每次击倒。看到unix philosophy article规则5。当它归结到它,每一个项目我一直在这里我不得不猴子代码来修复损坏的数据结构周围一直有疼痛感。

简答:如果可以的话,重新做数据。

长答案:务实。如果只通过重做数据库的一部分就可以节省一些头痛,那就去做吧。在应用程序逻辑中处理它会比在数据库级别处理更多的苦难。

希望有帮助!

0

我真的不知道项目的范围。但是,重新设计一个100张桌子似乎不现实的系统需要4个月的时间。除此之外,如果你知道这个领域的话。

我的0.02 $

0

加我的$ 0.02,你首先要搞清楚为什么你正在做的重新设计,什么是当前软件的问题,是它的性能,可维护性更好的基础来扩展产品等。然后清楚地说明你的新产品目标(即改进用户体验,性能目标,框架等),这可能会让你更好地了解需要重新设计的内容以及哪些内容有效。