一个非常广泛的应用程序开始是基于访问的系统(用于数据库存储)。表格用VB5和/或VB6编写。随着.NET成为开发社区的固定装置,某些模块已被重写。由于跨技术和额外的工作,这两种技术彼此满意,这似乎很尴尬和可能成本高昂。当然,应用程序使用 ODBC OLEDB和MYSQL。

您会认为花时间和资源完全重新开发.NET下的应用程序会更具成本效益吗? 为了开发更稳定的应用程序,使用.NET是否有意义?或继续追逐访问错误,在.NET中添加新功能(在.NET和访问之间可能不会创建新的错误),然后在时间约束下将旧访问模块重写为.NET模块,以防止适当的设计和开发?

更新该应用程序使用OLEDB和MySQL-我更正了以前的语句。

另外,为了进一步支持重写:从那以后,我发现 “移植” 到.NET开始,存在的VBA/VB6代码基本上被转换为.NET等效。从我的理解来看,没有做任何事情来提高性能或利用新的图书馆或技术。

我认为,这会产生非常脆弱且不稳定的应用程序。随着每一个新更新,这变得越来越明显。作为服务台技术员,我注意到报告的问题有所增加。使用该软件的客户注意到了问题的增加,并正在对此发表评论。

有帮助吗?

解决方案

许多人不鼓励从头开始重写应用程序,有时我同意推理。但是在大多数情况下,我发现重写该应用程序是最小痛苦的解决方案,并且需要将访问中写入的任何内容移植到.NET - 时期。不要误会我的意思,访问权限就有其位置,可以为组织提供大量功能,但是如果它变成了人们依靠的成熟应用程序,那么它就会变得越来越多。

将扩展的VBA移至.NET中的一个转换可能不需要太多时间。但是,如果VBA一开始不是很好,那可能不是一个很好的解决方案。重新设计/重写将需要更长的时间来编写,但从长远来看将更容易维护。

我几乎总是在从头开始重写的营地,涉及到访问权限,并不后悔一次。

其他提示

我同意重构方法。这很可能是一个缓慢的过程,可能需要花费数月的时间才能完成,但是通过一次移动一个功能 /部分具有很大的优势,包括:

  1. 维护产品功能。
  2. 能够保持新版本的能力。
  3. 时间压力被删除。

祝你好运

通常,从头开始“重写”应用程序(这是大多数程序员在他们的一生中至少几次的正常冲动)是一种灰心的做法,因为您将从具有已知功能集(和已知错误的应用程序)中转到!到具有最可能较小功能的应用程序,更重要的是 - 未知错误。用户可能会感到沮丧,等等。

如果您在一段时间内慢慢重构应用程序,从而在更长的时间内不断发展其架构,您可能会更好。

我经历了该规模的重写遇到的一个巨大挑战是必须同时维护两个代码库。如果修复了旧系统中的错误,则必须确保该功能在新系统中正常工作,反之亦然。一次升级一个模块可以最大程度地减少维护头痛。

在传统和替换系统上运行的完整回归测试套件也将很有帮助。

我同意JAS,不要仅仅为了改写清酒而重写应用程序。他们可能永远不需要调试或改进,那么为什么要浪费时间呢?但是,如果您觉得新开发人员的专业知识有所移动,从访问.NET的访问中,您可能必须在为时已晚之前迁移。这似乎不太可能,但可能会考虑。

尽管从开发的角度来看,这可能不是盈利,但如何使不同的应用程序围绕影响用户传播?它需要更多的用户培训吗?他们在犯更多错误吗?它会增加支持电话的数量,因为他们找不到东西?

“您会认为花时间和资源完全重新开发.NET下的应用程序会更具成本效益吗?”

这不是可以在这里回答的问题。

从要求金字塔的顶部:有人做出决定,他希望可以通过商业计划证明合理。在该业务计划中,它应该说明转换申请需要多少小时+需要额外的费用,并且在同一业务计划中,收益也按照金钱表示。

那就是这样做的方法。如果没有业务计划。然后,答案是首先在可以追溯到某些高级用例的业务计划上工作,以进行影响分析以验证项目的开始。

如果导致更改的业务目标的最初驱动力甚至不是基于金钱,那么这个人可能是为此付出的代价,因此必须完成。

如果没有业务计划,但“刚刚完成”,请尝试将其提交给高层管理层。包括高级用途案例,成本,重新设计小时,建造的时间,额外的操作费用,对管理员和终结者的新培训,项目管理和潜在风险。

恕我直言,这不是技术问题。

许可以下: CC-BY-SA归因
scroll top