到
实际系统中的数据和开发、测试中的数据不同
无法在开发者机器上进行组建
应用行为在开发、稳定化及产品环境中各不相同
规避方案:
解决之道是忠实地在开发环境中配置实际的环境,让开发所用环境接近于要实施产品的环境。如果未来环境是JDK 1.2.2及Solaris 7,那么不要在JDK 1.3及Red Hat Linux上进行开发。对于所用的应用服务器也是如此。同样,要快速地看一下产品数据库中的数据,并将这样的数据用于测试。不要依赖于人工创建的数据。如果产品数据很敏感,则要使之变得不敏感,然后把它配置起来。开发中未能预期到的产品数据将对以下过程产生破坏:
数据检验规则
系统测试行为
系统组件构建(特别地包括:EJB-EJB以及EJB-数据库)
最为糟糕的是,这样还可能产生异常、空指针,以及你从没见过的问题。
备注:
开发人员常把安全性问题放到稳定化阶段才开始解决。要防止这样的陷阱产生,你也可以花费同样多的时间在业务逻辑中改进安全性。
成熟期是一个复杂的过程,其中充满了技术性问题和非技术性问题。你可能会陷于想不到的一大堆问题中,这就是成熟化所意味的一切。开发及稳定化环境过程为你提供了制造更多这样的问题,以及发现这样的问题的地方,不断去做,就可以大大减少风险。
你做的工程越多,你就越能了解什么是可行的,什么是不可行的。你可以对工程问题进行记录,以避免同样的错误重复发生。转贴于:http://www.leadge.com