软件开发涉及多方面的技术,包括开发方法、软硬件平台、
网络结构、系统布局和结构、输入输出技术、系统
相关技术等。应该全面和客观地分析软件开发所涉及的技术,以及这些技术的
成熟度和
现实性。
成熟技术是被多人采用并被反复证明行之有效的技术,因此采用成熟技术一般具有较高的成功率。另外,成熟技术经过长时间、大范围使用、补充和优化,其精细程度、优化程度、可操作性、
经济性等方面要比新技术好。鉴于以上原因,软件项目开发过程中,在可以满足系统开发需要、能够适应系统发展、保证
开发成本的条件下,应该尽量采用成熟技术。
在软件
项目开发过程中,有时为了解决系统的特定问题,为了使所开发系统具有更好的适应性,需要采用某些先进或
前沿技术。在选用先进技术时,需要
全面分析所选技术的成熟程度。有许多报道的先进技术或
科研成果实际上仍处在实验室阶段,其实用性和适应性并没有得到完全解决,也没有经过大量实践验证,在选择这种技术时必须慎重。例如,许多文章中已经报道了
指纹识别技术,而且市场上也有实验性产品,但指纹识别技术至今仍有许多重大技术难题没有突破,离具体应用仍有一定距离。因此,在项目开发中要谨慎选用这种技术。如果不加分析,在项目中盲目采用指纹识别技术,应用时肯定会出现许多难以解决的具体问题。
许多技术总的来说可能是成熟和可行的,但是在开发队伍中如果没有人掌握这种技术,而且在
项目组中又没有引进掌握这种技术的人员,那么这种技术对本系统的开发仍然是不可行的。例如,
分布对象技术是
分布式系统的一种
通用技术,但是如果在开发队伍中没有人掌握这种技术,那么从技术可行性来看就是不可行的。
技术可行性评价是通过原有系统和欲开发系统的
系统流程图和
数据流图,对系统进行比较,分析新系统具有的优越性,以及对设备、现有软件、用户、系统运行、开发环境、
运行环境和
经费支出的影响,然后评价新系统的技术可行性。主要包括以下几个方面: