第二章可行性分析.ppt_第1页
第二章可行性分析.ppt_第2页
第二章可行性分析.ppt_第3页
第二章可行性分析.ppt_第4页
第二章可行性分析.ppt_第5页
已阅读5页,还剩76页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

软件工程 第二章可行性分析 信息工程学院本科生课程 第二章可行性分析 2 1可行性研究的任务2 2可行性研究过程2 3系统流程图2 4数据流图2 5数据字典2 6成本 效益分析2 7小结 开始 问题定义 可性行研究 可行否 项目实施计划 终止项目的建议 结束 Y N 问题的定义与可性行研究 Who What Why 有用的软件 3W 可行性研究 目的 用最小的代价在尽可能短的时间内确定问题是否能够解决 不是解决问题 而是确定问题是否值得去解决 说明该软件开发项目的实现在技术上 经济上和社会条件上的可行性 评述为合理地达到开发目标可能选择的各种方案 GB8567 88 计算机软件产品开发文件编制指南 项目的筹备 规划与准备是软件项目实施的前期工作 它由两个重要的工作阶段构成 一是项目规划及可行性分析 二是项目需求分析 项目准备阶段的第一个工作 是项目的总体规划 首先要做的是明确系统的需求 也就是用户要计算机解决什么问题 即问题定义 系统分析员应该深入现场 了解用户单位对系统的要求 调查开发背景 进行市场调研 经过调查分析 分析员要在较短的时间内对问题进行抽象 概括 并把自己的认识写成书面报告 即项目需求报告 提交给用户方面进行讨论审查 项目需求报告应该尽可能清楚简洁 内容通常包括项目的名称 对问题的概括 项目的目标 项目的规模及对可行性研究的具体建议 即需要用的时间和成本 等等 图2 1通过一个实际项目给出了项目需求报告编写示例 可行性研究 项目需求报告2008年10月1 项目 公司工资管理系统2 问题 在公司日常工资管理工作中 现有系统所承担的工作只能实现工资管理的简单功能 已无法适应目前工作中处理大量数据 如日常打印工资条等 要求 工作效率低下 容易出错 3 项目目标 为了提高公司日常工资管理的效率与准确率 而开发该项软件 该软件应逐步向本市各企业推广 4 项目范围 硬件主要利用现有的计算机网络 增配少量专用设备 软件开发费用预计20000元 5 初步设想 实现 公司工资管理系统 包括工资录入 数据查询 工资条 工资统计 部门设置 人员设置 项目设置等具体功能 要求将各种输出数据以表单形式打印 系统各模块具有添加新数据的功能 系统软件具有权限功能 使不同的用户具有不同的权限 建立后的数据库需要加密 6 可行性研究 由分析员和 公司工资管理部门进行 主要对公司日常工资管理规程和系统实施方案进行研究 建议进行大约3天的可行性研究 研究费用不超过200元 一般的做法是分析员和用户方面的人员一起阅读讨论这份报告 通过修改得到一份双方都满意的文档 当分析员和用户双方就项目需求取得了完全一致的看法 项目的可行性研究即可开始 2 1可行性研究的任务 可行性研究的主要任务是 了解客户的要求及现实环境 从技术 经济和社会因素等三方面研究并论证本软件项目的可行性 编写可行性研究报告 制定初步项目开发计划 GB8566 88 计算机软件开发规范 可行性研究的最根本任务对软件开发以后的行动方针提出建议 可行性研究的内容 1 技术可行性 2 经济可行性 3 操作可行性 4 社会可行性 法律可行性 5 抉择 技术可行性 度量一个特定技术信息系统解决方案的实用性及技术资源的可用性考虑的问题 1 开发风险分析 2 资源分析 3 相关技术的发展 现有技术能否实现新系统 技术难点 建议采用技术的先进性 经济可行性 度量系统解决方案的性能价格比 考虑的问题成本 效益分析 开发 运行的成本 效益 有形成本 效益无形成本 效益价值和成本的关系质量与价值 成本的关系价值 成本的均衡 举例 该系统节省经费 该系统成本 盈亏平衡点 投资回收期 成本及效益分析图 操作可行性 用户使用可能性时间进度可行性组织和文化上的可行性 2 2可行性研究过程 1 复查系统规模和目标2 研究目前正在使用的系统3 导出新系统的高层逻辑模型4 进一步定义问题5 导出和评价供选择的解法6 推荐行动方针7 草拟开发计划8 书写文档提交审查 可行性研究报告的编写 1引言1 1编写目的1 2背景1 3定义1 4参考资料 2可行性研究的前提2 1要求2 2目标2 3条件 假定和限制2 4进行可行性研究的方法2 5评价尺度 可行性研究报告的编写 3对现有系统的分析3 1数据流程和处理流程3 2工作负荷3 3费用开支3 4人员3 5设备3 6局限性 4所建议的系统4 1对所建议系统的说明4 2数据流程和处理流程4 3改进之处4 4影响4 5局限性4 6技术条件方面的可行性 可行性研究报告的编写 5可选择的其它系统方案5 1可选择的其它系统15 2可选择的其它系统2 6投资及收益分析6 1支出6 2收益6 3收益 投资比6 4投资回收周期6 5敏感性分析 7社会条件方面的可行性7 1法律方面的可行性7 2使用方面的可行性 可行性分析的目标 识别用户要求评价系统的可行性进行经济分析和技术分析把功能分配给硬件 软件 人 数据库和其它系统元素建立成本和进度限制生成系统规格说明 形成所有后续工程的基础 可行性分析的出发点是前阶段所书写的文档 即项目需求报告 对于项目需求报告中所确定的目标和规模 如果正确就进一步确认 如果错误则及时修改 为做出正确的可行性分析打好基础 具体地说 分析员应从下面三个方面对项目做出可行性分析 1 技术可行性 使用现有的技术能实现这个系统吗 2 经济可行性 这个系统的经济效益能超过它的开发成本吗 详细在后面介绍成本 效益分析 3 操作可行性 系统的操作方式在该用户组织内行得通吗 必要时还应该进一步从法律 社会效益等更广泛的角度研究每种解法的可行性 可行性分析的主要任务 可行性分析的结论可以是以下四种 1 项目可行 可以立即开始执行 2 需要推迟到某些条件 例如资金 人力 设备等 具备或成熟之后才能开始 3 需要对开发目标进行某些修改之后才能开始进行 4 不能进行或不必进行 例如因技术不成熟 经济上不合算或可能产生负面的社会影响等原因 这种情况下 分析员应该建议尽早终止项目计划 以免浪费人力 物力和财力 可行性分析结束后 要写出可行性分析报告 提交有关专家论证和上级主管部门批准 根据可行性分析结果 如果项目是可行的 那么对该项目的开发工作就继续进行 此时 分析员要做出项目开发的初步计划 1 成本 效益分析成本 效益分析的目的是从经济角度评价开发一个新的软件项目是否可行 开发一个软件系统也是一种投资 期望在将来获得更大的利润 因此在正式进行投资之前 投资商必须对成本 效益进行分析 1 成本估算开发软件的成本主要是人的劳动消耗 软件开发成本的计算方法是以一次性开发过程所花费的代价来计算的 也就是从项目计划 需求分析 总体设计 详细设计 编码 单元测试 整体测试等全过程所花费的代价作为成本 根据代码行进行估计代码行技术是一种简单的方法 它通过估计软件中的代码行数来估计软件的开发成本 用每行代码的成本乘以行数就得到软件的开发成本 根据任务分解进行估计这个方法首先将任务分解成若干子任务 然后对子任务进行成本估计 最后累加起来得出软件开发总成本 表1 1是在典型环境下各开发阶段需要使用的人力的百分比 可供开发人员在对软件成本估计时参考 借助工具软件对成本进行估计这种估计方法需要大量的历史数据为基础 需要良好的数据库系统支持 2 成本 效益分析在进行成本 效益分析之前 首先是要估计软件的开发成本 运行费用以及软件系统将带来的效益 系统的运行费用包括系统的操作费用 如操作人员数量 工作时间以及消耗的物资等 和维护费用 系统将来带来的经济效益包括因使用新的系统而增加的收入加上使用新系统可以节省的运行费用 估计出开发成本和将来带来的效益后 应将二者进行比较 但是 成本是现在的 效益是将来的 所以在对二者进行比较时应考虑到货币的时间价值 货币的时间价值货币的时间价值通常用利率来表示 设年利率为i 现存放资金P元 则在n年后可得钱数为F 若不计复利 则F P 1 i n或P F 1 i n例 假设购置一套应用软件投资20万元 预计可使用5年 每年直接经济效益9 6万元 年利率为5 试计算投入 产出比 解 考虑到货币的时间价值 5年的总体收入应当逐年按照公式计算 并非为恒定的9 6万元 1 5年中 每年的收入折算到当前的数据如表2 1所示 表2 1货币的时间价值 年始 年未 根据上表所列数据 本软件投入 产出比为 41 5630 20 2 0785 实为产出投入比 成本的回收周期 成本的回收周期是衡量一个项目开发价值的一个指标 成本回收周期就是使累计的经济效益等于最初的投资成本所需要的时间 显然 成本回收周期越短 就越快获得利润 则该项目就越值得开发 根据上例 两年后收入17 8513万元 尚欠2 15万元没有收回成本 在第三年还需要 2 15 26 1432 0 259 年 故投资回收期为2 259年 项目的纯收入 衡量项目价值的另一个经济指标是项目的纯收入 也就是在整个生存周期之内的累计经济效益 现在值 与投资成本之差 在计算时要考虑到货币的时间价值 若纯收入为零 则项目的预期效益和在银行存款一样 是不值得投资开发的 若纯收入小于零 那么这个项目显然不值得投资开发 在上例中 根据前面的计算结果 5年纯收入为 41 5630 20 21 5630万元这相当于比较一个待投入的软件项目可能获取的利润和将20万元存入银行所取得的效益 只有当纯收入大于0时 开发软件才有真正的效益 3 可行性分析的步骤 过程 1 复查系统规模和目标 2 研究正在运行的系统 3 建立目标系统的逻辑模型 4 重新定义问题 5 导出和评价各种方案 6 推荐可行性方案 7 草拟开发计划 8 编写可行性分析报告提交审查 4 可行性分析报告编写规范 可行性报告 中最主要的内容是 1 项目的背景 问题描述 实现环境和限制条件等 2 管理概要与建议 重要的研究结果 结论 说明 劝告和影响等 3 推荐的方案 不止一个 候选系统的配置与选择最终方案的原则 4 简略的系统范围描述 分配元素的可行性 5 经济可行性分析结果 经费概算和预期的经济效益等 6 技术可行性 技术风险评价 技术实力分析 已有的工作及技术基础和设备条件等等 7 法律可行性分析结果描述 8 可用性评价 汇报用户的工作制度和人员的素质 确定人机交互功能界面需求 9 其他项目相关的问题 如可能会发生的变更等等 可行性研究报告由系统分析员撰写 交由项目负责人审查 再上报给上级主管审阅 在可行性研究报告中 应当明确项目 可行还是不可行 如果认为可行 接下来还要制定项目开发计划书 项目开发计划项目开发计划书是一种管理性的文档 它的主要内容如下 1 项目概述 包括项目目标 主要功能 系统特点以及关于开发工作的安排 2 系统资源 包括开发和运行该系统所需要的各种资源 硬件 软件 人员和组织机构等 3 费用预算 说明完成项目的总费用及资金计划 4 进度安排 说明开发项目的周期 开始及完成时间 5 交付的产品清单 项目开发计划书供软件开发单位使用 2 3系统流程图 系统流程图是概括地描绘物理系统的传统工具 它的基本思想是用图形符号以黑盒子形式描绘组成系统的每个部件 程序 文档 数据库 人工过程等 系统流程图表达的是数据在系统各部件之间流动的情况 而不是对数据进行加工处理的控制过程 因此尽管系统流程图的某些符号和程序流程图的符号形式相同 但是它却是物理数据流图而不是程序流程图 基本符号 以概括的方式抽象地描绘一个实际系统所用符号 具体地描绘一个物理系统所用符号系统符号 图2 3库存清单系统的系统流程图 2 4数据流图DFD DataFlowDiagram 一种图形化技术 它描绘信息流和数据从输入移动到输出的过程中所经受的变换 在数据流图中没有任何具体的物理部件 它只是描绘数据在软件中流动和被处理的逻辑过程 是系统逻辑功能的图形表示 设计数据流图时只需考虑系统必须完成的基本逻辑功能 完全不需要考虑怎样具体地实现这些功能 所以它也是今后进行软件设计的很好的出发点 数据流图四种基本符号 数据加工 处理 变换 数据源点或终点 外部实体 数据流 dataflow 数据存储文件 或 或 或 数据流图几种附加符号 数据流图的层次结构 为了表达数据处理过程的数据加工情况 需要采用层次结构的数据流图 按照系统的层次结构进行逐步分解 并以分层的数据流图反映这种结构关系 能清楚地表达和容易理解整个系统 在多层数据流图中 顶层流图仅包含一个加工 它代表被开发系统 它的输入流是该系统的输入数据 输出流是系统所输出数据 底层流图是指其加工不需再做分解的数据流图 它处在最底层 中间层流图则表示对其上层父图的细化 它的每一加工可能继续细化 形成子图 分层的数据流图 系统逻辑模型 分层的数据流图 第n 2层 举例学生购买教材系统 学生 教材购销系统 保管员 外部实体 外部实体 教材销售子系统 1 3登记并开领书单 1 2开发票 1 1审查有效性 1 4登记缺书 1 5补售教材 采购 学生 学生 暂缺书单 补售书单 第3层 F1书号单价数量 外部项 便于实现 便于使用 采用逐步细化的扩展方法 可避免一次引入过多的细节 有利于控制问题的复杂度 用一组图代替一张总图 方便用户及软件开发人员阅读 分层DFD图的优点 1 为数据流 或数据存储 命名 1 名字应代表整个数据流 或数据存储 的内容 而不是仅仅反映它的某些成分 2 不要使用空洞的 缺乏具体含义的名字 如 数据 信息 输入 之类 3 如果在为某个数据流 或数据存储 起名字时遇到了困难 则很可能是因为对数据流图分解不恰当造成的 应该试试重新分解 看是否能克服这个困难 画分层DFD的指导原则1 注意数据流图中成分的命名 2 为处理命名 1 通常先为数据流命名 然后再为与之相关联的处理命名 这样命名比较容易 而且体现了人类习惯的 由表及里 的思考过程 2 名字应该反映整个处理的功能 而不是它的一部分功能 3 名字最好由一个具体的及物动词加上一个具体的宾语组成 应该尽量避免使用 加工 处理 等空洞笼统的动词作名字 4 通常名字中仅包括一个动词 如果必须用两个动词才能描述整个处理的功能 则把这个处理再分解成两个处理可能更恰当些 5 如果在为某个处理命名时遇到困难 则很可能是发现了分解不当的迹象 应考虑重新分解 画分层DFD的指导原则1 注意数据流图中成分的命名 画分层DFD的指导原则2 注意父图和子图的平衡 balanceorcoherence 画分层DFD的指导原则3 区分局部文件和局部外部项 局部外部项 局部文件 画分层DFD的指导原则 4 掌握分解的速度 一般来说 每一个加工每次可分为2 4个子加工 最多不得超过7个 5 遵守加工编号规则 顶层加工不编号 第二层的加工编号为1 2 3 n号 第三层编号为1 1 1 2 1 3 n 1 n 2 等号 依此类推 2 5数据字典 用途 DD DataDictionary 数据流图和数据字典共同构成系统的逻辑模型没有数据字典数据流图就不严格 没有数据流图数据字典也难于发挥作用 数据字典的任务是 对于数据流图中出现的所有被命名的图形元素在字典中作为一个词条加以定义 使得每一个图形元素的名字都有一个确切的解释 数据字典的内容 一般说来 数据字典应该由对下列4类元素的定义组成 1 数据流 2 数据流分量 即数据元素 3 数据存储 4 处理 数据流名 说明 简要介绍作用 即它产生的原因和结果 数据流来源 即该数据流来自何方 数据流去向 去向何处 数据流组成 数据结构 每个数据量流通量 数据量 流通量 1 数据流词条的描述 数据流名 发票说明 用作学生已付书款的依据数据流来源 来自加工 审查并开发票 数据流去向 流向加工 开领书单 数据流组成 学号 姓名 书号 单价总价 书费合计 数据元素名 类型 数字 离散值 连续值 文字 编码类型 长度 取值范围 相关的数据元素及数据结构 2 数据元素词条的描述 2 数据元素词条的描述 定义数据符号 被定义为 与 x a b 则表示x由a和b组成 x a b 则表示x由a或由b组成 或 重复 x a 则表示x由0个或多个a组成 可选 表示在两个 之间的内容为词条的注释 m n 重复 x 3 a 8 则表示x中至少出现3次a 最多出现8次 注释符 x a 则表示a在x中出现 也可不出现 例 存折格式 3 数据存储词条的描述 数据存储名 简述 存放的是什么数据 数据组成 数据结构 存储方式 顺序 直接 关键码 存取频率 加工名 加工编号 反映该加工的层次简要描述 加工逻辑及功能简述输入数据流 取值范围 相关的数据元素及数据结构 4 加工逻辑词条的描述 注 加工说明 ProcessSpecification 对数据流图的每一个基本加工 必须有一个基本加工逻辑说明 基本加工逻辑说明必须描述基本加工如何把输入数据流变换为输出数据流的加工规则 加工逻辑说明必须描述实现加工的策略而不是实现加工的细节 加工逻辑说明中包含的信息应是充足的 完备的 有用的 无冗余的 加工逻辑说明 加工说明组成 加工说明描述工具 描述把输入数据流变换为输出数据流的加工过程 是加工说明的主体 自然语言 结构化形式 1 结构化语言 商店业务处理系统中 检查发货单 if发货单金额超过 500thenif欠款超过了60天then在偿还欠款前不予批准else 欠款未超期 发批准书 发货单else 发货单金额未超过 500 if欠款超过60天then发批准书 发货单及赊欠报告else 欠款未超期 发批准书 发货单 2 判定表 如果数据流图的加工需要依赖于多个逻辑条件的取值 使用判定表来描述比较合适 以 检查发货单 为例 3 判定树 判定树也是用来表达加工逻辑的一种工具 有时侯它比判定表更直观 检查发货单 金额 500 金额 500 欠款 60天 不发出批准书 欠款 60天 发出批准书 发货单 欠款 60天 发出批准书 发货单及赊欠报告 欠款 60天 发出批准书 发货单 名称 外部实体名简要描述 什么外部实体有关数据流 数目 5 外部实体词条描述 CASE结构化分析与设计工具 大型软件 卡片形式 excelorrecordinfile 小型软件 卡片应该包含下述信息 名字 别名 描述 定义 位置 2 5 4数据字典的实现 2 6成本 效益分析 成本 效益分析的目的 从经济角度分析开发一个特定的新系统是否划算 从而帮助客户组织的负责人正确地作出是否投资于这项开发工程的决定 2 6 1成本估计 人力成本估计 软件开发成本主要表现为人力消耗 乘以平均工资则得到开发费用 估算技术1 代码行技术2 任务分解技术3 自动估计成本技术 代码行技术 根据经验和历史数据估计实现一个功能需要的源程序行数 用每行代码的平均成本乘以行数就可以确定软件的成本 每行代码的平均成本主要取决于软件的复杂程度和工资水平 代码行技术是比较简单的定量估算方法 当有以往开发类似工程的历史数据可供参考时 这个方法是非常有效的 任务分解技术 首先把软件开发工程分解为若干个相对独立的任务 再分别估计每个单

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论