第二章-软件可行性研究与项目开发计划(软件工程).doc
- 文档编号:167333
- 上传时间:2022-10-05
- 格式:DOC
- 页数:14
- 大小:81.50KB
第二章-软件可行性研究与项目开发计划(软件工程).doc
《第二章-软件可行性研究与项目开发计划(软件工程).doc》由会员分享,可在线阅读,更多相关《第二章-软件可行性研究与项目开发计划(软件工程).doc(14页珍藏版)》请在冰豆网上搜索。
第二章软件可行性研究与项目开发计划
2.1可行性研究
在进行任何一项较大的工程时,首先都要进行可行性分析和研究。
目的就是用最小的代价在尽可能短的时间内确定该软件项目是否能够开发,是否值得去开发。
2.1.1可行性研究的任务
首先需要进行概要的分析研究,初步确定项目的规模,目标,约束和限制。
分析员再进行简要的需求分析,抽象出项目的逻辑结构,建立逻辑模型。
从逻辑模型出发,经过压缩的设计,探索出若干种可供选择的解决方法,对每种解决方法都要研究它的可行性。
主要从三个方面考虑:
1.技术可行性
对要开发的项目的功能、性能、限制条件进行分析,确定在现有的资源条件下,技术风险有多大,项目是否能实现。
技术可行性是最难解决的,它一般要包括:
(1)开发的风险:
在给出的限制范围内,能否设计出系统并实现必须的功能和性能。
(2)资源的有效性:
人力资源以及用于建立系统的其他资源是否具备。
(3)技术:
目前的技术水平能否支持这个系统。
(4)开发人员在评估技术可行性时,一旦估计错误,将会出现灾难性后果。
2.经济可行性
进行开发成本的估算以及了解取得效益的评估,确定要开发的项目是否值得投资开发。
3.社会可行性
要开发的项目是否存在任何侵犯、妨碍等责任问题,要开发项目的运行方式在用户组织内是否行得通,现有管理制度、人员素质、操作方式是否可行。
2.1.2可行性研究的具体步骤
典型性的可行性研究有下列步骤:
1.确定项目规模和目标
分析员对有关人员进行调查访问,仔细阅读和分析有关的材料,对项目的规模和目标进行定义和确认,清晰地描述项目的一切限制和约束,确保分析员正在解决的问题确实是要解决的问题。
2.研究正在运行的系统
收集、研究、分析现有系统的文档资料,实地考察现有系统,在考察的基础上,访问有关人员,然后描述现有系统的高层系统流程图,与有关人员一起审查该系统流程图是否正确。
这个系统流程图反映了现有系统的基本功能和处理流程。
3.建立新系统的高层逻辑模型
根据对现有系统的分析研究,逐步明确了新系统的功能、处理流程以及所受的约束,然后使用建立逻辑模型的工具——数据流图和数据字典来描述数据在系统中的流动和处理情况。
现在还不是软件需求分析阶段,不是完整、详细地描述,只是概括地描述高层的数据处理和流动。
4.导出和评价各种方案
分析员建立了新系统的高层逻辑模型之后,要从技术角度出发,提出实现高层逻辑模型的不同方案,即导出若干较高层次的物理解法。
根据技术可靠性、经济可行性、社会可行性对各种方案进行评估,去掉行不通的解法,就得到了可行的解法。
5.推荐可行的方案
根据上述可行性研究的结果,应该决定该项目是否值得去开发。
若值得开发,那么可行的解决方案是什么,并且说明该方案可行的原因和理由。
要求分析员对推荐的可行方案进行成本——效益分析。
6.编写可行性研究报告
将上述可行性研究过程的结果写成相应的文档,即可行性研究报告,提醒用户和使用部门仔细审查,从而决定该项目是否进行开发,是否接受可行的实现方案。
2.1.3可行性研究报告的主要内容
可行性研究报告的主要内容如下:
1.引言
2.可行性研究前提
3.对现有系统的分析
4.所建议系统的技术可行性分析
5.所建议系统的经济可行性分析
6.所建议系统的社会因素可行性分析
7.其它可供选择方案
8.结论意见
2.2系统流程图
1.系统流程图的作用
系统流程图是描绘物理系统的传统工具,它用图形符号来表示系统中的各个元素,例如人工处理、数据处理、数据库、文件、设备等。
它表达了系统中各个元素之间的信息流动的情况。
2.系统流程图的符号
系统流程图的符号如表2-1所示。
表2-1
符号
名称
说明
处理
能改变数据值或数据位置的加工或部件,例如,程序模块、处理机等都是处理。
输入/输出
指出输入或输出(或既输入又输出),是一个广义的不指明具体设备的符号
连接
指出转到图的另一部分或从图的另一部分转来,通常在同一页上。
换页连接
指出转到另一页或由另一页图转来。
数据流
用来连接其他符号,指明数据流动方向。
文档
通常表示打印输出,也可表示用打印终端输入数据
联机存储
表示任何种类的联机存储,包括磁盘、软盘和海量存储器件等
磁盘
磁盘输入/输出,也可表示存储在磁盘上的文件或数据库
显示
CRT终端或类似的显示部件,可用于输入或输出,也可既输入又输出。
人工输入
人工输入数据的脱机处理,例如,填写表格。
人工操作
人工完成的处理,例如,会计在工资支票上签名
辅助操作
使用设备进行的脱机工作
通信链路
通过远程通信线路或链路传送数据
3.系统流程图的例子
下面以某工厂的库房管理为例,说明系统流程图的使用。
2.3成本——效益分析
成本——效益分析的目的是从经济角度评价开发一个新的软件项目是否可行。
成本——效益分析首先是估算将要开发的系统的开发成本,然后与可能取得的效益进行比较和权衡。
效益分有形效益和无形效益两种。
有形效益可以用货币的时间价值、投资回收期、纯收入等指标进行度量;无形效益主要从性质上、心理上进行衡量,很难直接进行量的比较。
下面主要介绍有形效益的分析:
1.货币的时间价值
项目开发后,应取得相应得效益,有多少效益才合算?
这就要考虑货币的时间价值。
通常用利率表示货币的时间价值。
设年利率为i,现存入P元,n年后可得钱数为F,若不计复利则
F=P×(1+n×i)
F就是P元在n年后得价值。
反之,若n年能收入F元,那么这些钱现在得价值是:
P=F/(1+n×i)
2.投资回收期
通常用投资回收期衡量一个开发项目的价值。
投资回收期就是使累计的经济效益等于最初的投资费用所需的时间。
投资回收期越短,就越快获得利润,则该项目就越值得开发。
3.纯收入
衡量项目价值的另一个经济指标是项目的纯收入,也就是在整个生存周期之内的累计经济效益(折合成现在值)与投资之差。
若某项目的纯收入小于零,则该项目是不值得投资的
2.4项目开发计划
包括
1.项目概述:
说明项目的各项主要工作;说明软件的功能﹑性能;为完成项目应具有的条件;用户及合同承包者承担的工作完成的期限及其他条件限制;应交付的程序名称;所使用的语言及程储形式;应交付的文档。
2.实施计划:
说明任务的划分,各任务责任人,项目开发进度,项目的预算,各阶段的费用支出,各阶段应完成的任务,用图表说明每项任务的开始和完成时间。
3.人员组织及分工:
所需人员类型﹑数量﹑组成结构。
4.交付期限:
最后完工日期
第2章例题分析与解答
一、填空题
1.可行性研究实质上是进行一次简化、压缩了的________。
答案:
需求分析与设计
2.可行性研究的三个方面是技术可行性、社会可行性和_________。
答案:
经济可行性
3.可行性研究的第一个具体步骤是__________。
答案:
确定项目的规模与目标
4.若年利率为i,不计复利,P元在n年后的价值F是_________。
答案:
p*(1+n*i)
5.可行性研究中描述系统高层物理模型的工具是_______。
答案:
系统流程图
二、选择题
1.可行性研究的目的是决定( )。
A.开发项目 B.项目值得开发否 C.规划项目 D.维护项目
答案:
B
2.技术可行性要研究的问题之一是( )。
A.存在侵权否B.成本效益问题
C.运行方式可行否D.技术风险问题
答案:
D
3.纯收入是累计效益现在值与投资之( )。
A.和 B.差 C.积 D.商
答案:
B
4.项目开发计划这类文档是一种( )。
A.技术性文档 B.管理性文档 C.需求分析文档D.设计文档
答案:
B
第2章自测题及参考答案
一、名称解释
1.可行性研究 2.技术可行性 3.经济可行性
4.社会可行性 5.货币时间价值6.投资回收期
7.纯收入 8.系统流程图
二、填空题
1.可行性研究的目的是用最小的代价,在尽可能短的时间内,确定________。
(项目值得开发否)
2.可行性研究在进行简要需求分析和设计时,要在高层次上以__________进行。
(较抽象形式)
3.系统流程图用图形符号表示系统中各个元素,表达了系统中各个元素之间的_________。
(信息流动)
4.软件工程有两种效益,它们是无形效益和________。
(有形效益)
5.若年利率为i,不计复利,n年后能收入F元的现在价值P=________。
(F/(1+n×i))
6.纯收入是软件生存周期内两项值之差,这两项是_________。
(经济效益与投资)
7.项目开发计划是一种_________文档。
(管理性 )
8.可行性研究具体步骤的最后一步是________。
(编写可行性报告)
三、选择题
1.研究硬软件资源的有效性是进行( A)研究的一方面。
A.技术可行性 B.经济可行性 C.社会可行性 D.操作可行性
2.可行性研究要进行的需求分析和设计应是( C )。
A.详细的 B.全面的 C.简化、压缩的 D.彻底的
3.可行性分析中,系统流程图用于描述( A)。
A.当前运行系统 B.当前逻辑模型 C.目标系统 D.新系统
4.系统流程图是一种工具,它用于描述( D)。
A.逻辑系统 B.程序系统 C.体系结构 D.物理系统
5.年利率为i,现存入P元不计复利,n年后本金利息为( C )。
A.P×(1+i)n B.P×(1-i×n) C.P×(1+i×n) D.P×(1+i)×n
《软件工程》习题参考答案2
1.可行性研究的任务是什么?
可行研究的任务:
首先需要进行概要的分析研究,初步确定项目的规模,目标,约束和限制。
分析员再进行简要的需求分析,抽象出项目的逻辑结构,建立逻辑模型。
从逻辑模型出发,经过压缩的设计,探索出若干种可供选择的解决方法,对每种解决方法都要研究它的可行性。
主要从三个方面考虑:
⑴.技术可行性:
一般要考虑的情况包括开发的风险即设计出的系统能否达到要求的功能和性能;资源的有效性;相关技术的发展是否支持;
⑵.经济可行性:
进行开发成本的估算以及了解取得效益的评估,确定要开发的项目是否值得投资。
⑶.社会可行性:
要开发的项目是否存在任何侵权问题,运行方式在用户组织内是否可行,现有管理制度﹑人员素质﹑操作方式是否可行。
2.可行性研究有哪些步骤?
⑴.确定项目规模和目标;
⑵.研究正在运行的系统;收集﹑研究﹑分析现有系统的文档资料,实地考察系统访问有关人员,然后描绘现有系统的高层系统流程图。
⑶.建立新系统的高层逻辑模型;使用数据流图和数据字典描述数据在系统中的流动和处理情况。
⑷.导出和评价各种方案;导出若干较高层次的物理解决方法,根据技术可行性﹑经济可行性﹑社会可行性进行评估,得到可行的解决方法。
⑸.推荐可行方案;进行成本~效益分析,决定该项目是否值得开发,若值得开发那么解决方案是什么,并且说明该方案可行的原因和理由。
⑹.编写可行性研究报告;将上述可行性过程的结果写成相应文档,即可行性研究报告。
3.可行性研究报告有哪些主要内容?
⑴.引言:
编写本文档的目的;项目名称﹑背景;
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第二 软件 可行性研究 项目 开发 计划 软件工程