软件工程 第二章 可行性研究

 

2.1.可行性研究的任务
 1.目的:用最小的代价,在尽可能短的时间内确定问题是否能够解决
 2.简化了系统的分析和设计过程

3.研究路线:
 1.分析和澄清问题
 2.导出系统逻辑模型
 3.探索若干重可供选择的主要解法
 4.对每种解法进行可行性研究
 5.对每种可行性解法制定一个粗略的实现进度。

4.
 技术可行性:使用现有的技术能实现这个系统
 经济可行性: 这个系统的经济效益能否超过开发成本
 操作可行性: 系统的操作方式在这个用户组织内能否行的通

可行性研究过程:
 1. 复查系统规模和目标
 确保分析员提交的报告书确实是用户要求解决的问题
 2.研究目前正在使用的系统
 现有系统要完成的工作,就是新系统所必须具备的功能;
 现有的缺陷,新系统必须加以改进
 现有系统所不具备的功能,又是用户必须的,则新系统一定要预以增加
 现有系统所不具备的功能,有时用户必须的,则新系统一定要预以增加
 现有系统所需要的费用是新系统的一个重要的投资依据

3.导出新系统的高层逻辑模型
 从现有的物理系统出发,导出现有物理系统的逻辑模型;
 再以现有物理系统的逻辑模型为基础,设想目标系统的逻辑模型;
 最后根据目标系统的逻辑模型建造新的物理系统

4 定义系统目标 -> 复查系统目标和规模 -> 研究现有系统 ->设计新系统 ->再定义系统目标

5 导出和评价供选择的解法
 分析员从系统的逻辑模型出发,以系统要求为目标,利用在数据流图上划分自定化边界的方法,我们
可以导出若干种较高层次的物理解决法供用户比较和选择。针对多种提供方案,用户从下面考虑:
 1. 从技术角度排除哪些不现实的方案
 2. 从操作角度去掉哪些操作方式或操作过程用户不能接受的方案
 3. 从经济角度估算每个可能系统的成本/效益

6 推荐行动方针
 
2.4 数据流图
 DFD图,描绘信息和数据从输入移动到输出的过程中所经受的变换。反映数据在软件中
流动和被处理的逻辑过程。数据流图是系统逻辑功能的图像表示.

符号:
 四种基本符号:
 数据的源点/终点
 变换数据的处理:一个程序,一系列程序,单个程序或者程序的一个模块,也可以代表用穿孔机或
          目视查数据正确性等人工处理过程。

 数据存储: 文件、数据库元素、记录
 存储:
  把一个数据存入数据存储;
  用一个数据去修改数据存储中的数据;
  从数据存储中读出一个数据;
  从数据存储中检索出一批数据。
 数据流:数据在系统中流动方向。分为单项数据流和双向数据流
 * 表示数据流之间是“与”关系
 + 数据流之间是“或”
 
例如:
 一家工厂的采购部每天需要一张定货报表,报表按零件编号排序,
列出所有需要再次定货的零件。对于需要订货的零件列出其零件编号、零件名称、定货数量、目前价格、
主要供应者、次要供应者。零件入库或出库称为事务,通过放在仓库中的CRT终端把事务报告给定货系统。
当某种零件的库存量少于临界值时就应该再次定货
 分析:

 确定源点和终点:
    数据管理员是数据的源点
    采购员是数据的终点

 加工(处理):
 本题应该完成订货系统这样一个功能。
 
数据流:
 事务需从仓库送到系统中,显示事务是一个数据流
 系统要把订货报表送给采购部,订货报表也是一个数据流。
 
第二步:
 将加工(处理) -- 订货系统进行功能分解成事务处理和产生报表两部分;
 数据存储问题, 题中涉及到存储的信息有:库存清单、订货信息

第三步
 将事务处理进一步分解为接受事务、更新库存清单、处理订货

 

数据流图原则:
 1 确定系统源点和终点
 2 确定系统的输入和输出。保持分解前输入/输出数据流必须相同
 3 自顶向下的方法,逐层画出数据流图(每张数据流图加工处理个数 7加减2)
 4 将必要的存储与加工(处理)相匹配;
 5 画数据流图时应避免线条交叉,必要时可使用重复的外部顶(源点和终点)
 6 画出出错及例外条件处理情况

数据流图用途:
 作为交流信息的工具
 作为分析和设计的工具
 数据流图可以辅助物理系统设计
 数据流图对详细设计也有帮助


2.5.3 数据字典用途
1 作为分析阶段的攻击
2 用于开发小组之间的通信
3 可控制程序和模块的改变
4 开发数据库的基础

2.5.4 数据字典的实现
开发小系统时可以建立卡片
为每个卡片上注明名字、别名、描述、定义、位置、控制信息、使用特点;

 

 问答

 

可行性研究的任务是什么?
首先需要进行概要分析研究,初步确定项目的规模,目标,约束和限制。分析员再进行简要的需求分析,抽象出项目的逻辑结构
建立逻辑模型。从逻辑模型出发,经过压缩的设计,探索出若干可供选择的解决方法,对每种解决方法都要研究它的可行性。
1. 技术可行性:一步要考虑的情况包括 开发的风险即设计出系统能否到要求的功能和性能;资源的有效性;相关技术的发展是否可行。
2. 经济可行性:进行开发成本的估算以及了解取得效益的评估,确定要开发的项目是否值得投资。
3. 社会可行性:要开发的项目是否存在任何侵权问题,运行方式在用户组织内是否可行,现有现有管理制度、人员素质、操作方式是否可行

2.可行性研究有哪些步骤
 1.确定项目规模和目标
 2.研究正在运行的系统、收集、研究、分析现有系统的文档资料,实地考察系统访问有关人员,然后描绘现有系统的高层系统流程图
 3.建立新系统的高层逻辑模型;使用数据流图和数据字典描述数据在系统中的流动和处理情况
 4.导出和评价各种方案;导出若干较高层次的物理解决方法,根据技术可行性、经济可行性、社会可行性。得到可行的解决方法
 5.推荐可行性方案;进行成本效益分析,决定该项目是否值得开发。若值的开发那么解决方案是什么,并说明该方案可行性的原因
 6. 编写可行性研究报告;将上述可行性过程的结果写成相应的文档,即可行性研究报告

3 可行性研究报告有哪些主要内容?
 1.引言:编写本文档的目的、项目名称、背景、本文档用到的专门术语和参考资料
 2.可行性研究前提:说明开发项目的功能、性能和基本要求;达到的目标;各种限制条件;可行性研究方法和决定可行性的主要因素
 3.对现有系统的分析:说明现有系统处理流程和数据流程;工作负荷;各种费用支出;所需各类专业技术人和数量;所需设备;
 4.所建议的技术可行性:所建议系统的建议说明;处理流程和数据流程;现有系统比较的优越性;采用做建议系统对用户的影响;对各种设备
现有软件、开发环境、运行环境的影响;对经费支出的影响;对技术可行性的评价
 5.所建议系统的经济可行性分析:说明建议系统的钱良各种支出,各种效益;效益投资比;投资顺收周期
 6.社会因素可行性分析:说明法律因素,对合同责任、侵犯专利权、侵犯版权等问题的分析;说明使用可行性,是否满足用户行政管理、工作制度
 7.其他可供选择方案:逐一说明其他可供选择的方案,并说明未被推荐的理由
 8.结论意见:说明项目是否能开发;还需要什么条件才能开发;对项目目标有何变动

4.成本-效益分析可用那些指标进行度量?
 1.投资回收率:通常把建立系统若干年后能取得收益折算成现有价值和开发系统所需的费用进行比较得出投资回收率
 2.投资回收期:就是使累计的经济效益等于最初的投资费用所需的时间
 3.纯收入:整个生存周期之内的累计经济效益与投资之差

5. 项目开发计划有那些内容?
 1.项目概述:说明项目的各项主要工作;说明软件的功能、性能;为完成项目应具有的条件;用户合同承受着承担的工作完成期限以其
条件限制;应付的程序名称;所使用的语言及语言及存储形式;应交付文档
 2.实施计划:说明任务的划分,个任务责任人,项目开发进度,项目的预算,各阶段的费用支出,个阶段应完成的任务,用图表说明每项
任务的开始和完成时间
 3.人员组织以及分工:所需要人员类型、数量、组成结构
 4.交付期限:最后完工日期

 
 

 

 

 

 

 


 

 

 

 

 

 

 


 

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值