计算机科学与工程学院软件工程(SoftwareEngineer)第二章可行性研究当接受一个软件开发任务时,就进入软件生命周期的第一个阶段,即进行可行性研究;可行性研究是压缩简化了的系统分析和设计的过程,也就是说在较高层次上以较抽象的方式进行设计的过程;一般说来,可行性研究所需的成本占总工程成本的5%~10%。计算机科学与工程学院软件工程(SoftwareEngineer)2.1可行性研究的任务1.经济可行性2.技术可行性3.运行可行性4.法律可行性5.开发方案可行性计算机科学与工程学院软件工程(SoftwareEngineer)1.经济可行性经济可行性研究主要进行成本效益分析,包括估计项目的开发成本,估算开发成本是否会高于项目预期的全部利润。分析系统开发对其他产品或利润所带来的影响。计算机科学与工程学院软件工程(SoftwareEngineer)2.技术可行性技术可行性研究是系统开发过程中难度最大的、最重要的工作技术可行性研究包括以下几项:(1)风险分析:在给出的限制范围内,能否设计出系统,并实现必要的功能和性能。(2)资源分析:要论证是否具备系统开发所需的各类人员(管理人员和各类专业技术人员)、软件、硬件资源和工作环境等。(3)技术分析:相关技术的发展是否支持这个系统。计算机科学与工程学院软件工程(SoftwareEngineer)3.运行可行性运行可行性研究内容包括新系统规定的运行方式是否可行,如果新系统是建立在原来已担负其他任务的计算机系统上的,就不能要求它在实时在线状态下运行,以免与原有的任务相矛盾。计算机科学与工程学院软件工程(SoftwareEngineer)4.法律可行性法律可行性是指在研究系统开发过程中可能涉及的各种合同侵权、责任以及各种与法律相抵触的问题。计算机科学与工程学院软件工程(SoftwareEngineer)5.开发方案可行性提出系统实现的各种方案并进行评价之后,从中选择一种最优秀的方案。计算机科学与工程学院软件工程(SoftwareEngineer)2.2可行性研究的具体步骤1.复查系统规模和目标2.研究目前正在使用的系统3.导出新系统的高层逻辑模型4.重新定义问题5.导出和评价供选择的方案6.推荐一个方案并说明理由7.推荐行动方针8.书写计划任务书9.提交审查计算机科学与工程学院软件工程(SoftwareEngineer)2.3系统流程图1.系统流程图的作用2.系统流程图的符号3.系统流程图的例子计算机科学与工程学院软件工程(SoftwareEngineer)1.系统流程图的作用系统流程图是描绘物理系统的传统工具,它的基本思想是用图形符号以黑盒子形式描绘系统里面的每个部件(程序、文件、数据库、表格、人工过程等)。系统流程图表达的是部件的信息流程,而不是对信息进行加工处理的控制过程。在可行性研究过程中,利用系统流程图来描述所建议系统的物理模型。计算机科学与工程学院软件工程(SoftwareEngineer)2.系统流程图的符号(1)符号名称说明处理能改变数据值或数据位置的加工或部件,例如,程序模块、处理机等都是处理输入/输出表示输入或输出(或既输入又输出),是一个广义的不指明具体设备的符号连接指出转到图的另一部分或从图的另一部分转来,通常在同一页上换页连接指出转到另一页图上或由另一页图转来数据流用户连接其它符号,指明数据流动方向文档通常表示打印输出,也可以表示用打印终端输入数据联机处理表示任何类型的联机存储,包括磁盘、软件和海量存储器件等计算机科学与工程学院软件工程(SoftwareEngineer)符号名称说明磁盘磁盘输入/输出,也可表示存储在磁盘上的文件和数据库显示CRT终端或类似的显示部件,可用于输入或输出,也可既输入又输出人工输入人工输入数据的联机处理,例如,填写表格等人工操作人工完成的处理,例如,会计在工资汇票上签名辅助操作使用设备进行的脱机操作通信链路通过远程通信线路或链路传送数据2.系统流程图的符号(2)计算机科学与工程学院软件工程(SoftwareEngineer)3.系统流程图的例子订货报告库存文件输入变更记录订货信息库存管理模块报告生成模块计算机科学与工程学院软件工程(SoftwareEngineer)2.4成本/效益分析成本/效益分析首先要估算待开发系统的开发成本,然后与可能取得的效益(有形的和无形的)进行比较与权衡。其中有形的效益可用货币的时间价值、投资的回收期、纯收入等指标进行度量。无形的效益主要是从性质上和心理上进行衡量,很难进行量的比较。但是无形的效益有特殊的潜在价值,且在某些情况下会转化成有形的效益。计算机科学与工程学院软件工程(SoftwareEngineer)2.5实例见教材计算机科学与工程学院软件工程(SoftwareEngineer)习题1.可行性研究的任务是什么?2.可行性研究有哪些步骤?3.可行性研究报告有哪些主要内容?4.信息系统开发项目的经济可行性有什么含义?5.成本/效益分析有哪些度量指标?6.项目开发计划包含什么内容?7.系统模型的作用及建立方法是什么?