很多人认为企业信息化的前提是业务流程要相对固化,因为计算机能处理的都是规则化的东西。这种看法无疑是对的,但如何正确地看待和处理相对二字却是让很多IT人非常头痛的(IT
就是挨踢说法也是由此产生)。当今世界各行各业唯一不变的就是时刻都在变化,企业信息化应该要能让自己的企业更能适应各种各样的变化。于是矛盾产生了。很多人都懂得事后修改不如事前规划并实现来得好,因为这样省时、省力、省钱。因此这就对需求调查分析工作提出了更高的要求。
在需求分析报告中一定要有对所分析对象的将来发展变化的前瞻性和预见情的陈述。只有如此架构和实现人员才可能在实现过程中充分考虑并留下可扩展接口。因此对前瞻和预见性陈述得越多、越精、越准则后其因业务变化而产生的修改或修改程度就会越少,将来产品的可扩充情和可扩展情也越强。这也要求需求分析人员对业务非常熟悉(我猜这也是我们这行业务专家比技术专家值钱的原因,因为业务专家必须通过较长时间的浸泡才可,而技术专家则不然)。
在需求分析报告中还要有对分析对象本次要解决问题的范围的确定描述。人要解决一个问题要考虑其周边的一些问题,但周边的一些问题是否要列入本次要解决问题的范围则要认真考良。一句话就是要分清主次,把本次要解决的问题圈定在一个范围之内而避免将问题无限扩大或减少。
对软件产品的功能需求与性能需求描述也很重要。功能需求是指产品要能够及时无误做那些事情。性能需求是指除功能需求之外的其他需求,也叫非功能需求,如产品的实现某项功能时的响应时间、可靠情、可移值情、所需要的资源等。功能需求大家比较不容易忽略,也会描述得很清楚。与性能需求相对比,性能需求往往很容易被忽略,但评定一个软件的好坏,其各方面的性能也会起决定性的作用。
对由软件使用者引起的异常状况的处理也应在需求分析时有所考虑。人非圣贤,谁能无过,而在企业中前段流程中所犯的错误肯定会甚至是最终结果。当后段人员发现前段或前几段人员的错误时某些错误的结果已产生,这时提供什么方式让用户或维护人员来纠正这些错误就成了必须要考虑的事情。需求分析人员必须要明白每一业务的最终目的是什么,为了实现这些目的那些因素是企业内部可协调的,那些是不可协调的。
本文只是列举了笔者认为需求分析中比较容易忽略的几个点,其实我还觉得有很多东西因我水平和文笔的原因没有表达出来,只好草草收编。也望诸君指正及扩充!
需求调查与分析注意点