软件工程项目可行性分析与常用模板示例目录软件工程项目可行性分析与常用模板 (1)1可行性分析的目的和作用 (4)1.1.可行性分析的目的 (4)1.2.可行性分析的作用 (4)2可行性分析的工作组织 (5)3技术能力上的可行性分析 (6)3.1.开发的冒险性 (6)3.2.现有资源的可用性 (6)3.系统确定的开发技术 (8)4.软硬件用户的服务功能 (8)4系统开发与运行环境的可行性分析 (8)4.1.形势的急迫性问题 (9)4.2.现行管理体制和管理水平问题 (9)4.3.系统方案是否与现实环境相吻合 (9)4.4.人员配备及培训 (10)5经济投资能力的可行性分析 (11)5.1.费用估计 (11)5.2.经济效益估计 (12)6可行性分析报告的质量要求 (13)7可行性分析报告模板 (14)7.1.封面 (14)7.2.目录 (14)7.3.摘要 (14)7.4.正文 (14)7.5.相应的附件 (15)7.6.附图 (16)附录:可行性分析报告模板示例——信息系统可行性分析报告 (17)第1章引言 (17)第2章可行性分析的前提 (17)第3章对现有系统的分析 (18)第4章所建议的系统 (19)第5章可选择的其他系统方案 (20)第6章投资及效益分析 (20)第7章社会因素方面的可能性 (21)第8章结论 (21)可行性分析也称为可行性研究、可行性分析报告。
可行性分析的目的是用最小的代价在尽可能短的时间内确定该软件项目是否能够开发,是否值得开发。
可行性分析实质上是被简化和压缩的需求分析和设计过程,在较高层次上以较抽象的方式进行的需求分析和设计过程。
在当前组织内外的具体条件下,系统开发工作必须具备所需的资源和条件,看其是否满足系统目标的要求。
工程项目的可行性分析是对拟建项目在技术和经济上是否可行进行的分析论证和评价。
经过对项目在技术上是否先进、适用、可靠,规模上是否合理,经济上是否能获得预期效益等各方面进行系统的分析、论证,通过比较多个方案,提出评价意见。
通过可行性分析报告,向政府和项目建设单位推荐最佳方案。
一般来说,在信息系统中,以计算机为基础的系统开发往往受资源缺乏和令人忧虑的开发周期的困扰,因此,对系统分析说明书的可行性分析就显得十分重要了,这不仅是必须的而且应该是慎重的。
可行性分析在计划阶段的初期就能识别出一个病态系统,从而避免不必要的损失并解决诸多专业难题。
在建立一个管理信息系统时,可行性分析主要关注4个领域。
(1)经济可行性。
对开发的价值、价格与从所开发的系统得到的收入或利益的比较进行评价,考查系统开发的可行性。
(2)技术可行性。
研究功能、性能和可能影响系统能力的各种约束,根据现有的技术条件,考虑能否达到提出的要求。
技术方面的可行性包括如下几个方面。
●人员和技术力量的可行性。
即有多少科技人员,其技术力量和开发能力如何,有没有系统开发的可行性;●基础管理的可行性。
即现有的管理基础、管理技术、统计手段等能否满足新系统开发的要求;●组织系统开发方案的可行性。
即合理地组织人、财、物和技术力量并进行实施的技术可行性;●计算机硬件的可行性。
包括各种外围设备、通信设备、计算机设备的性能是否能满足系统开发的要求,以及这些设备的使用、维护及其充分发挥效益的可行性;●计算机软件的可行性。
包括各种软件的功能能否满足系统开发的要求,软件系统是否安全可靠,本单位对使用、掌握这些软件技术的可行性。
(3)系统生存环境可行性。
确定系统开发的运行环境和它的生命周期。
(4)各种选用方案。
对用于该系统开发的各种处理方法进行评价。
可行性分析要根据需求信息与限制条件,针对系统方案中确定的长期目标和短期目标,分别对计算机资源利用、技术能力等在时间和空间的配合上是否可按照计划达到目标并获得预期的效果进行分析。
还要确定系统分析说明书的目标是否明确,方案是否切实可行,是否满足组织进一步发展的要求。
可行性分析的最终结果可以编写成可行性分析报告,是上级管理部门决定是否开发系统的重要依据。
1可行性分析的目的和作用1.1.可行性分析的目的可行性分析是在建设前期对工程项目的一种考查和鉴定,对拟议中的项目进行全面与综合的技术、经济能力方面的调查,以判断它是否可行。
可行性分析的目的,就是把所有与项目的投资效果有关的因素综合起来加以分析,对系统分析说明书(或项目建议书)中所提出的各项问题逐一审查。
可行性分析要回答下列问题:●技术能力上是否可行?●系统开发运行环境是否可行?●经济投资能力如何?●系统需要多长时间才能建立起来?●需要多少人力、物力?●系统分析说明书或项目建议书是否符合现行系统的实际情况?·系统分析说明书或项目建议书对新系统的效益分析是否有依据?通常,在得到肯定回答后,写出的可行性报告便成为申请拨款或贷款的先决条件。
大家都知道,上级管理部门对下级的具体问题不可能了解得十分清楚,批准项目时主要是依据可行性分析报告。
在下面做可行性分析工作的人员,绝对不能把可行性分析变为对付上级、欺骗上级的“可批性”分析。
可行性分析的基本目的,就是全面分析新建系统的投资效益(包括经济的、社会的效益)。
1.2.可行性分析的作用可行性分析的作用是:●作为项目投资决策的依据;●作为筹集建设资金的依据;●作为投资方与有关部门签定协议、合同的依据;●作为编制下阶段规划设计的依据可行性分析是根据批准的系统分析说明书或项目建议书进行进一步深化,收集资料对项目进行进一步论证和定位,并进行综合评选,以确定经济上合理、技术上先进、条件上具备、实施上可行的最佳方案,为项目决策提供依据。
可行性研究报告需要得到行业专家的论证和主观部门的批准。
可行性分析最终要指出:●提交的系统分析报告是否可行;●有没有必要修改。
可行性分析是以系统分析说明书或项目建议书为目标的分析,这里需要强调指出:计算机信息管理系统的建设不同于一般工程项目的建设。
工程项目可行性分析是对工程立项决策的分析,分析的对象以初选目标为前提,而计算机管理信息系统是建立在本单位、本部门内的,只能在申请立项、对本单位内部进行广泛调查、按照立项的准则写出系统分析说明书后,才能进行可行性分析。
信息管理系统的可行性分析着眼于已有的条件,提出需要怎样变革,以及达到什么样的效果。
可行性分析工作是非常重要的,也是十分细致的,否则,就可能导致信息管理系统建设的失败。
2可行性分析的工作组织可行性分析的工作组织是指该项工作由哪个部门来承担,需要哪些专业工种参加。
笔者认为,可行性分析工作一般有如下几种形式。
(1)由建立系统的单位来承担这种方式存在的问题也是明显的。
由于是本单位的人、本单位的事,所以不容易听到不同的意见,也许只是在一片赞扬声中走了过场。
(2)委托科研机构承担科研机构拥有各方面的专家和工程师,拥有情报资料系统,能够进行客观的、公正的独立分析,但也有不足的一面,他们的分析结果往往不易被接受,尤其容易受到企业中层领导的批(3)“三结合”方式由主持编写系统分析说明书或项目建议书的工作人员、科研单位的技术专家、本单位的中层管理干部共同参与可行性分析,由科研单位的专家提出分析报告草案供讨论,这种方式效果较为理想。
3技术能力上的可行性分析开发一个项目时,与技术可行性有关的问题主要有:·开发的冒险性;·现有资源的可用性;·系统确定的开发技术;·软、硬件用户的服务功能;·网络与网络工程的建设。
3.1.开发的冒险性开发的冒险性是指系统元素能否设计成在分析期间所揭露的约束范围内达到必需的功能和性能。
3.2.现有资源的可用性(1)人力资源在开发新系统中,人是主要的软件开发资源。
一般来讲,一个项目的计划者要从评估和选择完成开发所要求的技术开始来指定编制的设置人员(管理人员、高级工程师等)及专业(远程通信、数据库、微处理技术等)人员。
对于大项目来说,不同人员在各阶段的参与程度不同,管理人员在系统的初期参与较多,在开发阶段中的各期间逐渐减少,而高级技术人员在整个系统的实现全过程都积极参与,初级技术人员在详细设计、编码和早期测试阶段参与最多。
不同开发人员与系统开发示意图(2)硬件资源在资源的范畴内,硬件也是一种软件开发工具。
在可行性分析阶段应考虑3种硬件类型,即开发系统、目标机器和新系统的其他硬件。
这里的开发系统是指开发中所使用的计算机和有关外围设备。
例如,对于一台8位计算机的处理器来说,一台32位的计算机便可作为开发系统。
目标机器是一台把软件作为计算机系统的一部分加以执行的处理器。
以计算机为基础的系统的其他硬件元素可以指定为用于软件开发的资源,例如,一个自动排字的软件项目在开发期间的某一时刻可能需要一台照相排版机。
分析硬件资源时,主要考虑以下4个方面的指标是否符合系统方案设计要求,即主机类型、外存储器、外设及辅助设备,同时要慎重考虑计算机产品的性能/价格比,还要考虑可靠性是否符合要求。
(3)软件资源软件资源可分为两大类型,即支撑软件和实用软件。
支撑软件在开发阶段起辅助作用,包括范围广泛的各类工具。
最普通的支撑软件工具是程序设计语言的编译程序,它已成为开发者的必备工具之一。
当软件作为一种资源时,应遵循以下两条原则:●尽可能利用已开发好并且有实用价值的现有软件;●对有风险的现成软件一般最好不用,因为修改现有软件的费用可能会大于开发同等新软件所需的费用。
对一个程序员来说,修改一个有问题的软件还不如自己去重新开发。
在分析软件资源时主要考虑以下几点是否满足用户要求:●操作系统是否选择恰当(Windows、UNIX等);●实用程序是否选择恰当;●数据库管理系统是否选择恰当;●高级编程语言是否选择恰当(Java、C、FORTRAN);●汉字处理软件、应用软件包是否选择恰当,这里要特别提醒的是,在计划工作阶段往往忽略软件资源的分析,只在开发阶段关心这件事。
及早指定软件资源要求,可以进行各种选用方案的技术评价,并能及时地获得所需的系统开发方案。
3.系统确定的开发技术系统确定的开发技术主要考证有关的技术是否已进行到足以支持该系统的建立的程度。
对系统方案中所涉及的关键技术问题都应逐个进行可行性分析。
例如,管理中使用的模型在国内外还处于理论研究阶段,所以在计算机系统中使用十分困难。
生产作业排序、生产能力平衡、综合计划平衡等问题在系统设计方案中要考虑周全。
在开发工作的许多阶段,需要分析并生成业务作业说明。
在分析现行系统时,应能向用户提供说明现行系统运行方式的过程手册。
如果系统的逻辑结构复杂,则应检查确认系统是否已包括了所含条件的各种组合,以及它所对应各种组合的作业是否切实可行。
可以采用决策树技术(如图4-2所示)验证系统逻辑,决策树技术的作用如下:●表明逻辑结构;●指出经过的操作;●强调不正常的操作。