*第3章可行性研究
在进行任何一项较大的工程时,首先都要进行可行性分析和研究。软件可行性研究的是用最小的代价在尽可能短的时间内确定该软件项目是否能够开发,是否值得去开发。本章内容主要包括:可行性研究的任务、可行性研究的具体步骤、可行性研究报告的主要内容、成本–效益分析以及项目开发计划等。
3.1 基础知识
3.1.1 可行性研究的任务
首先需要进行概要的分析研究,初步确定项目的规模和目标,确定项目的约束和限制。把它们清楚的列举出来。然后,分析员进行简要的需求分析,抽象处该项目的逻辑结构,建立逻辑模型。
从逻辑模型出发,经过压缩的设计,探索出若干种可供选择的主要解决方法。对每种解决方法都要研究它的可行性。
可从以下三个方面分析研究每种解决方法的可行性。
1.技术可行性
对要开发项目的功能、性能、限制条件进行分析,确定在现有的资源条件下,技术风险有多大,项目是否能实现。这里的资源包括已有的或可以搞到的硬件、软件资源,现有技术人员的技术水平和已有的工作基础。
2.经济可行性
进行开发成本的估算以及了解取得效益的评估,确定要开发的项目是否值得投资开发。经济可行性研究范围较广,包括成本–效益分析公司经营长期策略、开发所需的成本和资源、潜在的市场前景。
3.社会可行性
要开发的项目是否存在任何侵权、妨碍等责任问题,要开发项目的运行方式在用户组织内是否行得通,现有管理制度、人员素质、操作方式是否可行。
做个app的费用大概多少社会可行性所涉及的范围也比较广,它包括:合同、责任、侵权、用户组织的管理模式及规范和其他一些技术人员常常不了解的陷阱等。
3.1.2 可行性研究的具体步骤
1.确定项目规模和目标
分析员对有关人员进行调查访问,仔细阅读和分析有关的资料,对项目的规模和目标进行定义和确认,清晰地描述项目的一切限制和约束,确保分析员正在解决的问题确实是要解决的问题。
2.研究正在运行的系统
正在运行的系统可能是一个人工操作的系统,也可能是旧的计算机系统,要开发一个新存在什么问题,运行现有系统需要多少费用,对新系统有什么新的功能要求,新系统运行时
软件工程习题与解答46 能否减少使用费用等等。
3.建立新系统的高层逻辑模型
根据对现有系统的分析研究,逐渐明确新系统的功能、处理流程以及所受的约束,然后使用建立逻辑模型的工具——数据流图和数据字典来描述数据在系统中的流动和处理情况。注意,现在还不是软件需求分析阶段,不是完整、详细地描述,只是概括地描述高层的数据处理和流动。
4.导出和评价各种方案
分析员建立了新系统的高层逻辑模型之后,要从技术角度出发,提出实现高层逻辑模型的不同方案,即导出若干较高层次的物理解法。然后再根据技术可行性、经济可行性和社会可行性对各种方案进行评估,去掉行不通的解法,就得到了可行的解法。
5.推荐可行的方案
根据上述可行性研究的结果,同时要根据用户的具体情况,应该决定该项目是否值得去开发。若值得开发,那么可行的解决方案是什么,并且说明该方案可行的原因和理由。该项目是否值得开发的主要因素,从经济上看是否合算,这就要求分析员对推荐的可行方案进行成本–效益分析。
6.编写可行性研究报告
将上述可行性研究过程的结果写成相应的文档,即可行性研究报告,提醒用户和使用部门仔细审查,从而决定该项目是否进行开发,是否接受可行的实现方案。
3.1.3 可行性研究报告的主要内容
一个可行性研究报告的主要内容如下:
(1)引言。
(2)可行性研究前提。
(3)对现有系统的分析。
(4)所建议系统的技术可行性分析。
(5)所建议系统的经济可行性分析。
(6)社会因素可行性分析。
(7)其他可供选择的方案。
(8)结论意见。
3.1.4 成本–效益分析
成本–效益分析的目的是从经济角度评价开发一个新的软件项目是否可行。成本–效益分析首先是估算将要开发的系统的开发成本,然后与可能取得效益进行比较和权衡。效益分有形效益和无形效益两种。
有形效益可以用货币的时间价值、投资回收期和纯收入等指标进行度量;无形效益主要从性质上、心理上进行衡量,很难直接进行量的比较。系统的经济效益等于因使用新的系统而增加的收入加上使用新的系统可以节省的运行费用。运行费用包括操作人员人数、工作时间和消耗的物资等.
第3章可行性研究47
3.1.5 项目开发计划
经过可行性研究后,就得到一个项目是否值得开发的结论. 接下来应制定项目开发计划.
项目开发计划是一个管理性文档, 它的主要内容如下:
(1) 项目概述: 说明项目的各项主要工作; 说明软件的功能, 性能;为完成项目应具备的条件; 用户及合同承包者承担的工作, 完成期限及其他条件限制; 应交付的程序名称, 所使用的语言及储存形式; 应交付的文档.
(2) 实施计划: 说明任务的划分, 各项任务的责任人; 说明项目开发进度, 按阶段应完成的任务, 用图表说明每项任务的开始时间和完成时间; 说明项目的预算, 各阶段的费用支出预算.
(3) 人员组织及分工: 说明开发该项目所需人员的类型, 组成结构和数量等.
(4) 交付期限: 说明项目最后完工交付的日期.
3.2 单元练习
3.2.1 填空题
1. __________的目的就是用最小的代价在尽可能短的时间内确定概软件项目是否能够开发, 是否值得去开发.
2. 可行性研究的目的不是去开发一个软件项目, 而是研究这个软件项目是否________, __________.
3. 可行性研究实质上是要进行一次简化, 压缩了的__________和__________过程, 要在较高层次上以较抽象的方式进行需求分析和设计过程.
4. 可行性研究需要从_________可行性, __________可行性, __________可行性三个方面分析研究每种解决方法的可行性.
5. 技术可行性是对要开发项目的__________, __________, __________进行分析, 确定在现有的资源条件下, 技术风险有多大, 项目是否能实现.
6. 技术可行性一般要考虑的情况包括: _________, __________, __________.
7. 技术可行性的研究包括_________, __________, __________, __________.
8. 社会可行性所涉及的范围包括__________, __________, _________, 用户组织的管理模式, 规范及其他一些技术人员常常不了解的陷阱等.
9. 典型的可行性研究有下列步骤: 确定项目规模和目标, _________, _________, 导出和评价各种方案, 推荐可行的方案和编写可行性研究报告.
10. 一个可行性研究报告的主要内容如下: 引言, 可行性研究的前提, 对现有系统的分析, ________, _________, __________, 其他可供选择方案, 结论意见.
11. 成本—效益分析首先是估算将要开发的系统的________, 然后与可能取得的效益进行_________.
12. 效益分有形效益和无形效益两种. 有形效益可以用_______, _______, _______等指标进行度量; 无形效益主要从性质上, 心理上进行衡量, 很难直接进行衡量, 很难进行量的比较.
软件工程习题与解答48
13. _______就是使累计的经济效益等于最初的投资用所需要的时间. 项目的________是指在整个生存周期之内的累计经济效益(折合成现在的值)与投资之差.
14. 项目开发计划的主要内容有:项目概述, ________, __________, 交付期限.
15. 纯收入是软件生存周期内两项值之差, 这两项是_________与_________.
16. 系统流程图用图形符号表示系统中的各个元素, 表达了系统中各种元素之间的_______.
17. 软件工程有两种效益, 它们是________和_________.
18. 可行性研究具体步骤的最后一步是__________.
19. 系统的经济效益等于________加上_________.
20. 成本—效益分析的目的是从_______评价开发一个新的软件项目是否可行.
21. 系统流程图是描述物理系统的传统工具, 它用________来表示系统中的各个元素.
22. 可行性研究中描述系统高层物理模型的工具是________.
23. 可行性研究实质上是进行一次简化, 压缩了的__________.
24. 可行性研究的第一个具体步骤是___________.
3.2.2 选择题
1. 研究开发资源的有效性是进行( )可行性研究的一方面.
A. 技术
B. 经济
C .社会 D. 操作
2. 在软件的可行性研究中, 可以从不同的角度对软件进行研究, 其中是从软件的功能可行性角度考虑的是( ).
A. 经济可行性
B. 技术可行性
C. 操作可行性
D. 法律可行性
3. 在遵循软件工程原则开发软件过程中, 计划阶段应该依次完成( ).
A. 软件计划, 需求分析, 系统定义
B. 系统定义, 软件计划, 需求分析
C. 需求分析, 概要设计, 软件计划
D. 软件计划, 需求分析, 概要设计
4. 技术可行性要解决( ).
A. 存在侵权否
B. 成本—效益问题
C. 运行方式可行
D. 技术风险问题
5. 在软件工程项目中, 不随参与人数的增加而使软件的生产率增加的主要问题是( ).
A. 工作阶段间的等待时间
B. 生产原型的复杂性
C. 参与人员所需的工作站数
D. 参与人员之间的通信困难
6. 制定软件计划的目的在于尽早对欲开发的软件进行合理估价, 软件计划的任务是( ).
A. 组织与管理
B. 分析与估算
C. 设计与测试
D. 规划与调度
7. 可行性分析中, 系统流程图用于描述( ).
A. 当前运行系统
B.当前逻辑模型
C. 目标系统
D.新系统
第3章可行性研究49
8. 研究软硬件资源的有效性是进行()研究的一方面。
A .技术可行性 B. 经济可行性
C.社会可行性
D. 操作可行性
9. 可行性研究要求进行的需求分析和设计应是()。
A.详细的 B.全面的
C.简化的,压缩的
D.彻底的
10. 在很多项目组成的大型工程中,用顶点表示项目,有向边表示项目之间谁先开工的先后关系,这种用顶点表示活动的图称为AOV网格,其常用的一种储存结构是(A).
为规划整个工程的实现,通常要对上述的顶点进行(B)排序,据此可获得项目的(C)序列.但并不是所有图都能获得这样的系列,如(D)图就不能获得这种序列.因为在这种情况下,所体现的先后关系不是(E).
A:①队列表②连通表
③邻接表④路径表
B: ①选择②归并
③拓扑④置换
C: ①全序②综合
③拓扑④优化
D: ①有回路的方向②无回路的有向
③无回路的AVO网络④所有边的先后关系都是非自反的
E: ①自反的②对称的
③非自反的④非对称的
11. 数据流图是常用的进行软件需求分析的图形工具,其基本符号是( ).
A. 输入,输出,外部实体和加工
B. 变换,加工,数据流和储存
C. 加工,数据流,数据储存和外部实体
D. 变换,数据储存,加工和数据流
12. 判定表和判定树是数据流图中用以描述加工的工具,它常描述的对象是( ).
A. 逻辑判断
B. 层次分解
C. 操作条目
D. 组合组件
13. 系统流程图用于可行性分析中的( )的描述.
A. 当前运行系统
B. 当前逻辑模式
C. 目标系统
D. 新系统
14. 系统流程图是描述( )的工具.
A. 逻辑系统
B. 程序系统
C. 体系结构
D. 物理系统
15. 下列叙述中,( )是正确的.
①软件系统中所有的信息流都可以认为是事务流
②软件系统中所有的信息流都可以认为是变换流
③事务分析和变换分析的设计步骤是基本相似的
A. ①
B. ②
C. ③
D. ②③
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论