摘要:一个大型的复杂的企业信息化系统,前期的需求分析在整个项目生命周期中占举足轻重的位置。这一点在IT界已经形成共识。不过,如何做好需求分析工作,是一个永久的话题。本文以笔者近些年对需求分析工作的理解与把握,形成一点文字与大家分项。
1.现代需求分析要以对象为基础
在自己进行需求分析之前,头脑中要对一个概念要有清晰的认识----对象。世界万物皆对象,一个人、组织、事物等等,从繁杂的事物中找出关键对象,以关键对象在一个企业中的生命周期为主线,沿着这条主线搜集资料,沿着这条主线查找其他对象,事情自然就理顺了。
例如,在HIS系统中,病人肯定是一个关键对象,从病人入院、治疗、出院出发,涉及药房出入库、病床占用、遗嘱等等信息就关联起来了,这也许现代HIS系统提出“以病人”为中心的出发点吧。
2.以用例图为识别对象及用例的工具
我看过很多需求分析书,用例图倒是画了不少,但是画用例图不是目的,用例图仅仅是工具。在以用例图为工具的面向对象的需求分析中,要注意在文档中必须说明以下几点:
1)必须有角色的严格定义。
角色是系统的参与者,必须对其有严格的定义,并指明该角色在整个系统中的地位,建议把角色分级别。呵呵,不过给用户看的那份需求分析书中最好把这级别给去掉。。。。。。
2)用例说明的要点,每个用例,尤其是重要的用例必须严格按以下流程给出说明。
功能概述;
主事件流;
子事件流与异常事件流;
前提条件;
后置条件;
优先等级等等。
3)必要时对用例进行以下说明:
本用例涉及的业务规则是什么。信息系统是企业业务的整合,业务规则是企业进行运转的游戏规则,这些规则一般都有严格的定义,在需求说明书中必须体现这些规则。
处理流程:必要时给出业务流程图。
状态变化:在用例中设计关键对象时,必要时给处状态变化图,以便业务人员及程序设计人员对系统的理解。
3。多多思考,多多倾听
在同客户的交往中,有些客户在无意中说出的东东,也许是对你系统的性能要求,拟或是对系统的约束,遗漏掉这些东东,后期对你系统也许是灾难的。
呵呵,先写这么多,看看有何反馈,我会继续对本文进行整理,直至形成大家公认的规范,希望有经验的系统分析师(面向对象的系统分析)多多提出您的宝贵意见。