3、探索适合于信息化的工作流程。
客户有的时候会提出对信息系统的要求,但是,客户所提到的要求,是在他的理解中,信息系统应该具有的样子。系统分析员应该深入挖掘这些要求背后的隐含目标,以便设计最适合客户,也最有利于实现的系统框架。例如,为了控制员工的工作时间,客户可能要求在软件限时使用。可是,能够实现控制员工工作时间的手段有很多,而且,客户提到的并不一定是最适合、最有效的方式。
4、合理使用批处理方式。
对于一些规模不大的系统,集中处理(批处理)的方式是合适的。可是,如果系统的规模很大,涉及的交易很多,而且对交易的实时性要求很高,集中的批量处理不是一个很好的方法。是否使用批处理方式,要根据业务需求的类型,系统的容量,以及以后的发展趋势决定。
5、留有操作痕迹
一个数据的产生,应该有一定的来由,不应该有没有根源的数据。
保留操作痕迹可能造成数据空间的急剧增加,但是,对于一些重要的数据,必须做到操作可以追溯。追溯的内容根据操作的重要程度有所不同,一般可能包括以下内容:操作人员,操作时间,操作以前的状况,操作以后的状况,操作所通过的模块,操作的机器信息。
6、操作可以恢复
对于错误的操作,可以恢复到操作以前的状况。恢复过程作为一个重要的操作,应该留有痕迹。也就是说,业务数据恢复到了操作以前的状况,但是系统必须纪录前一次操作和本次逆向操作的有关信息,以备核查。同时,逆操作应该比操作本身具有更高的授权级别和操作限制。
7、重要流程有校验的功能
所谓重要流程,指对下一步操作有重要影响的流程,或者无法回溯的流程。例如,发送客户对账单,对账单发到客户手里以前还可以重新打印已修复一些错误,但是,如果已经发给客户,即使可以修复,也会产生一定的不良影响。因此,在这些流程上应该进行比较细致的校验。校验可以采用自动校验,前提是有比较可靠的校验算法,否则,通过有经验的操作员进行校验是比较有效的方式。另外,一旦发现校验失败的案例,必须把这些案例作为重要的时间进行核查,以找到原因,纠正以前的校验算法。
八、逆向沟通的实现条件
1、熟悉业务流程的业务逻辑分析师
系统分析员熟悉业务流程是实现逆向沟通的前提。在进入一个新的领域以前,系统分析员必须花费大量的经历,了解这个行业的状况,行业的发展趋势,行业内企业的运作模式,行业的目标企业在这个行业所处的地位等信息。这些信息会为以后分析客户的需求,了解需求的质量,分析需求的合理性打下很好的基础。
2、工作由被动转变为主动
如果认为提出一个完整的需求是客户的责任,那么一切逆向沟通都会被认为是没有必要的。如前所述,虽然客户对需求的质量负有最终的责任,但是,系统分析员的积极沟通,将会提高需求的质量,减少项目搁浅的可能性。另外,有很多责任是无法具体定位为客户的责任还是项目组的责任。因此,采用积极的手段,确保项目的成功是系统分析员应该采用的态度。
综述
良好的需求分析是软件成功的基础。以上是作者对需求分析工作实践的一次小结以及综合性的思考,是对需求分析本身所做的一次分析。在此基础上,作者提出了逆向沟通的设想,即系统分析员主动进行沟通,提出指导性意见。当软件融合了客户和系统分析员双方智慧,其质量将会进一步得以提高。