11
设计寿命超过40年的Web应用程序的建议
情境 目前,我是一个医疗保健项目的一部分,其主要要求是使用医疗保健提供者使用用户生成的表单来捕获属性未知的数据。第二个要求是数据完整性是关键,并且该应用程序将使用40年以上。我们目前正在将过去40年的客户数据从各种来源(纸张,Excel,Access等)迁移到数据库。将来的要求是: 表单的工作流程管理 表格进度管理 基于安全/角色的管理 报告引擎 手机/平板电脑支持 情况 在短短6个月的时间里,当前的(合同制)架构师/高级程序员采用了“快速”方法,并设计了一个较差的系统。由于他已经设计了一些bean来对数据库执行“删除”操作,所以数据库未规范化,代码已耦合,层没有专用目的,并且数据开始丢失。代码库极度膨胀,并且由于数据库未标准化,因此有些作业只是为了同步数据。他的方法一直是依靠备份作业来还原丢失的数据,并且似乎不相信重构。 将我的发现提交给项目经理之后,建筑师的合同结束后将被撤职。我已经获得了重新架构此应用程序的任务。我的团队由我和一名初级程序员组成。我们没有其他资源。我们已经获得了为期6个月的冻结要求,在此期间我们可以专注于重新构建该系统。 我建议使用像Drupal这样的CMS系统,但是由于客户组织的政策原因,该系统必须从头开始构建。 这是我第一次设计使用寿命超过40岁的系统。我只从事3-5年使用寿命的项目,所以这种情况非常新,但令人兴奋。 问题 哪些设计考虑因素将使系统更“面向未来”? 应该向客户/ PM问什么问题,以使系统更“面向未来”?