软件系统复杂性评价

 

定制软件项目由于其客户化程度很高,以前项目的业务经验可利用的部分又很少,而需求又处于不断变化之中,客户和开发方均不能明确软件的需求,故把握其规模和复杂性就比较困难。况且人为的因素对其评价结果影响很大,如客户方为了压低竞标价格或不了解信息系统本身的特点,领导或项目经理过于乐观等,均会影响对软件系统复杂性的评价。虽然,准确评价软件系统的复杂性涉及很多因素,但我们也可以参考一些因素来进行一个定性的评价。

1.                系统的接口:系统与外部系统的接口越多,系统就越复杂;外部系统接口的复杂性主要体现在外部系统的不可控性,你必须处理安全的问题,异常的问题,你必须要自己保证数据的质量,如空、参照完整性失败和数据重复等;再者,一般来讲外部的系统数据接口的资料不完整,有时不得不同客户一块研究业务的规则,这样实现接口就更复杂了;

2.                系统模块:模块的大小,我们通常认为拥有30-50个主要的Form可以认为是一个模块;一般可以认为5个模块的系统是一个小型系统;当然,模块多数会由客户提出,在用户明确需求之前,模块的大小是不好把握的;

3.                算法复杂度:有些模块,功能点看似不多,但算法模型却很复杂,需要大量的计算,这部分要引起足够的重视;

4.                业务模型和流程的复杂性:有时业务很复杂,如复杂的分类和层次,复杂的业务对象和关系,复杂的流程,如多层次的审批、反审批等;

5.                业务对象的多少和关系:在用户需求明确之前,只能粗略统计一下系统拥有多少业务对象,通常认为小于100个业务对象的系统是一个小系统。

6.                Web界面:通常使用web界面实现系统比windows界面的工作量大,尤其在流程控制、复杂界面实现方面有困难。

以上仅是一些粗浅的想法,仅供参考。

posted on 2006-06-15 17:30  木人(我现在不是老大)  阅读(752)  评论(0)    收藏  举报

导航