最近接触的项目(企业应用)中都存在以下几个问题,对开发进度都有不同程度的影响。在这里提出来,我并不是打算给出解决方案(当然了,也给不出来),只是把所有我碰到的问题都列出来,给大家参考。

给出我的参考解决办法,虽然不一定是很好的。

第一:概念不一致
在一个部门,卡号是指本部门员工编号;另一个部门则是指饭卡编号。很头疼是吧?如果开始没有搞清楚的话,进入开发阶段后我想会更头疼。这些概念不一致有部门之间固有的,也有因为需求了解时配合人员自己理解不同导致的。

我是这么做的:建立统一的字典对需求说明书全文中关键字词进行说明,保证关键字词在文章中代表唯一的意思。。

第二:多个操作界面
本身系统中就有很多个操作界面。同一个功能,由于使用部门的不同,又会增加一些操作界面。如何处理好这些过程很重要。

我是这么做:这个问题我现在还很头疼,因为界面是不同的,所以我无法减少界面方面的工作。所以我做的是对所有的处理过程进行整理建模,采用相关模式来减少处理过程的工作量。基本保证处理过程只要已经有了。进行少量工作即可再次使用。因为项目不同,具体情况不同,这里也就没法写的更详细了。

第三:与原有其他系统的交互(预留接口给其他已有或者将有系统)
这个也是很头疼的问题,特别是原有系统都已经不知道是谁(公司)开发的时候。

我是这么做的:本系统采用XML(web service等)方式提供接口,外部系统直接通过对方数据库交互。看对方数据库也是很头疼的一件事情啊。。。

第四:业务中很多的特殊情况
总会从客户那里得知,这种情况下要如何如何特殊处理;哪种情况下要如何如何特殊处理。怎么样在统一和特殊之间找到平衡点,很头疼啊。

我是这么做的:DDD

以下是会给系统增加复杂性的东西,不是说这些有什么问题,而是我认为如果能避免还是尽量避免的好。他们会给你的开发和将来维护造成很多的困扰。
第一:多线程,是指需要自己进行控制的多线程。
第三:多平台