软件工程导论之第2章可行性研究课件_第1页
软件工程导论之第2章可行性研究课件_第2页
软件工程导论之第2章可行性研究课件_第3页
软件工程导论之第2章可行性研究课件_第4页
软件工程导论之第2章可行性研究课件_第5页
已阅读5页,还剩79页未读 继续免费阅读

下载本文档

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

文档简介

2020 4 24 1 2 1可行性研究的任务2 2可行性研究过程2 3系统流程图2 4数据流图2 5数据字典2 6 效益分析 第2章可行性研究 2020 4 24 2 2020 4 24 3 问题定义阶段 目的 弄清用户需要计算机解决的问题根本所在 以及项目所需的资源和经费 任务 在向用户调查的基础上 编写 关于系统规模和目标的报告书 例 教材销售系统学生购买学校教材的手续可能是 先找系办公室开购书申请 用于确定学生可购买的书 凭申请找教材科开购书证明 确定是否卖完 向出纳员交付书款获得领书单 然后到书库找保管员领书 2020 4 24 4 2020 4 24 5 第2章可行性研究 回答 对于上一个阶段所确定的问题有行得通的解决办法吗 系统分析员需要进行一次大大压缩和简化了的系统分析和设计过程 研究问题的范围 探索这个问题是否值得去解 是否有可行的解决办法 2020 4 24 6 2 1可行性研究的任务 可行性研究的目的 不是解决问题 而是确定问题是否值得去解决 可行性研究的实质 进行一次大大压缩简化了的系统分析和设计的过程 也就是在较高层次上以较抽象的方式进行的系统分析和设计的过程 2020 4 24 7 可行性研究的内容 首先进一步分析和澄清问题定义 导出系统的逻辑模型 然后从系统逻辑模型出发 探索若干种可供选择的主要解法 即系统实现方案 对每种解法都研究它的可行性 至少应该从三方面研究每种解法的可行性 2020 4 24 8 主要方面 技术可行性 使用现有的技术能实现这个系统吗 经济可行性 这个系统的经济效益能超过它的开发成本吗 操作可行性 系统的操作方式在这个用户组织内行得通吗 其他方面 运行可行性 系统的运行方式是否可行 法律可行性 系统是否侵犯他人 集体或国家的利益 是否违反法律 2020 4 24 9 分析员应该为每个可行的解法制定一个粗略的实现进度 如果问题没有可行的解 分析员应该建议停止这项开发工程 以避免时间 资源 人力和金钱的浪费 如果问题值得解 分析员应该推荐一个较好的解决方案 并且为工程制定一个初步的计划 可行性研究需要的时间长短取决于工程的规模 一般说来 可行性研究的成本只是预期的工程总成本的5 10 2020 4 24 10 2 2可行性研究过程 1 复查系统规模和目标对问题定义阶段书写的关于规模和目标的报告书进一步复查确认 2 研究目前正在使用的系统新的目标系统必须也能完成旧系统的基本功能 另一方面 新系统必须能解决旧系统中存在的问题 2020 4 24 11 3 导出新系统的高层逻辑模型现有的物理系统 现有系统的逻辑模型 目标系统的逻辑模型 新的物理系统4 进一步定义问题分析员应该和用户一起再次复查问题定义 工程规模和目标 可行性研究的前4个步骤实质上构成一个循环 2020 4 24 12 5 导出和评价供选择的解法首先从技术角度出发排除不可行方案 其次考虑操作可行性 去掉用户不能接受的方案 接下来考虑经济可行性 估计余下的每个可能的系统的开发成本和运行费用 进行成本 效益分析 最后为每个在各方面都可行的系统制定实现进度表 2020 4 24 13 工程进度表 2020 4 24 14 6 推荐行动方针根据可行性研究结果应该做出的一个关键性决定是 是否继续进行这项开发工程 若继续开发 选择一种最好的解法 说明选择这个解决方案的理由 2020 4 24 15 7 草拟开发计划分析员应该为所推荐的方案草拟一份开发计划 制定工程进度表 估计对各类开发人员和各种资源的需要情况 估计系统生命周期每个阶段的成本 给出下一个阶段 需求分析 的详细进度表和成本估计 2020 4 24 16 项目实施计划1 系统概述包括项目目标 主要功能 系统特点 以及关于开发工作的安排2 系统资源包括开发和运行该系统所需要的各种资源如硬件 软件 人员和组织机构等3 费用预算 分阶段的人员费用 机时费用及其他费用4 进度安排 各阶段起始时间 完成文档及验证方式5 要交付的产品清单 2020 4 24 17 8 书写文档提交审查把可行性研究各个步骤的工作结果写成清晰的文档 请用户 客户组织的负责人及评审组审查 以决定是否继续这项工程及是否接受分析员推荐的方案 2020 4 24 18 2 3系统流程图 系统流程图 是概括地描绘物理系统的传统工具 用图形符号以黑盒子形式描绘组成系统的每个部件 程序 文档 数据库 人工过程等 表达的是数据在系统各部件之间流动的情况 而不是对数据进行加工处理的控制过程 2020 4 24 19 2 3 1符号 基本符号 5个 以概括的方式抽象地描绘一个实际系统 2020 4 24 20 系统符号 11个 更具体的描绘物理系统 2020 4 24 21 2020 4 24 22 2 3 2例子 例1 某装配厂有一座存放零件的仓库 仓库中现有的各种零件的数量以及每种零件的库存量临界值等数据记录在库存清单主文件上 当仓库零件数量发生变化时 应该及时修改库存清单主文件 如果哪种零件的库存量少于它的库存临界值 则应该报告给采购部门以便定货 规定每天向采购部门送一次定货报告 该装配厂使用一台小型计算机 处理更新库存清单主文件和产生定货报告 零件库存量的每一次变化称为一个事务 由放在仓库中CRT终端输入到计算机中 系统中的库存清单程序对事务进行处理 更新存储在磁盘上的库存清单主文件 并且把必要的订货信息写在磁带上 最后 每天由报告生成程序读一次磁带 并且打印出订货报告 2020 4 24 23 部件 包括程序 文档 数据库 人工过程等程序 更新库存清单程序产生定货报告程序文档 定货报告数据 磁盘上的库存清单主文件磁带上的定货信息CRT终端输入事务人工过程 无 2020 4 24 24 库存清单系统的系统流程图 2020 4 24 25 2 3 3分层 首先用一张高层次的系统流程图描绘系统总体概貌 表明系统的关键功能 然后分别把每个关键功能扩展到适当的详细程度 画在单独的一页纸上 第一层 描绘系统关键功能 仅用基本符号 2020 4 24 26 第二层 扩展系统关键功能 2020 4 24 27 第三层 合成后的系统流程图 2020 4 24 28 例2 教材销售系统人工教材销售系统 先找系办公室开购书申请 凭申请找教材科开购书证明 向出纳员交付书款获得领书单 然后到书库找保管员领书 2020 4 24 29 人工教材销售的系统流程图 2020 4 24 30 计算机教材销售系统 由计算机实现有效性审查 不该购买或已卖完的教材 收书款和发书仍由人工完成 开购书申请和购书证明可一步完成 增加缺书统计和采购功能 2020 4 24 31 计算机教材销售的系统流程图 2020 4 24 32 2 4数据流图 数据流图 DFD 是一种图形化技术 它描绘信息流和数据从输入移动到输出的过程中所经受的变换 在数据流图中没有任何具体的物理部件 它只是描绘数据在软件中流动和被处理的逻辑过程 2020 4 24 33 2 4 1符号 基本符号 2020 4 24 34 数据源点 终点 通常是人或部门 可重复表示 处理 一个处理框可以代表一系列程序 单个程序或程序的一个模块 数据存储 可以表示一个文件 文件的一部分 数据库的元素或记录的一部分等 数据存储是处于静止状态的数据 数据流 描绘所有可能的数据流向 而不应该描绘出现某个数据流的条件 数据流是处于运动中的数据 2020 4 24 35 附加符号 星号 表示 与 关系 2020 4 24 36 加号 表示 或 关系 2020 4 24 37 异或 表示互斥关系 2020 4 24 38 2 4 2例子 例1 假设采购部每天需要一张定货报表 报表按零件编号排序 表中列出所有需要再次定货的零件 对于每个需要再次定货的零件 应该列出下述数据 零件编号 零件名称 定货数量 目前价格 主要供应者 次要供应者 零件入库或出库称为事务 通过放在仓库中的CRT终端把事务报告给定货系统 当某种零件的库存量少于库存量的临界值时 就应该再次定货 2020 4 24 39 画数据流图的步骤 1 从问题描述中提取数据流图的4种成分数据的源点 终点 通过放在仓库中的CRT终端把事务报告给定货系统 仓库管理员是数据源点 采购部每天需要一张定货报表 采购员是数据终点 处理 采购部需要报表 产生报表 事务的后果是改变零件库存量 因此对事务进行的加工是另一个处理 处理事务 2020 4 24 40 数据流 系统把定货报表送给采购部 定货报表 事务需要从仓库送到系统中 事务 数据存储 处理事务和产生报表这两个处理在时间上明显不匹配 用来产生定货报表的定货信息必须存放一段时间 定货信息 零件库存量和库存量临界值需要存储 库存清单 2020 4 24 41 2020 4 24 42 2 画基本系统模型由若干个数据源点 终点和一个处理组成 定货系统的基本系统模型 2020 4 24 43 3 细化 描绘系统的主要功能 功能级数据流图 定货系统的功能级数据流图 2020 4 24 44 4 对系统主要功能进一步细化 把处理事务的功能进一步分解后的数据流图 2020 4 24 45 细化时注意 当进一步分解涉及如何具体的实现一个功能时就不应该再分解了 当对数据流图分层细化时必须保持信息连续性 也就是说 当把一个处理分解为一系列处理时 分解前和分解后的输入输出数据流必须相同 注意对处理进行编号的方法 2020 4 24 46 2 4 3命名 1 为数据流 或数据存储 命名完整性 具体性 起名字遇到了困难时 试试重新分解 2020 4 24 47 2 为处理命名通常先为数据流命名 然后再为与之相关联的处理命名 完整性 及物动词 宾语 具体性 通常名字中仅包括一个动词 否则进行分解 命名时遇到困难 应考虑重新分解 3 为数据源点 终点命名采用它们在问题域中习惯的名字 2020 4 24 48 2 4 4用途 作为交流信息的工具供有关人员审查确认供用户理解和评价数据流图应该分层 超过9个时应该画分图作为分析和设计的工具描绘系统所完成的功能辅助物理系统的设计时 以定时要求为指南 画出许多组自动化边界 对应不同的物理系统 导出更详细的设计步骤 面向数据流的设计方法 2020 4 24 49 以批量方式更新库存清单 2020 4 24 50 以联机方式更新库存清单 2020 4 24 51 例2 高考录取统分子系统功能如下 1 计算标准分 根据考生原始分计算标准分 存入考生分数文件 2 计算录取线分 根据标准分和招生计划文件中的招生人数 计算录取线分 存入录取线文件 2020 4 24 52 1 提取数据流图的四种成分数据源点和终点 考生处理 1 计算标准分 2 计算录取线分数据存储 1 考生分数文件 2 招生计划文件 3 录取线文件数据流 原始分 标准分 招生人数 录取线分 2020 4 24 53 2 画基本数据流图 2020 4 24 54 3 画功能级数据流图 2020 4 24 55 例3 教材销售系统人工 先找系办公室开购书申请 凭申请找教材科开购书证明 向出纳员交付书款获得领书单 然后到书库找保管员领书 计算机 包括销售和采购两大功能 销售时 根据学生用书表和教材库存清单对购书单进行有效性审查 通过审查后得到有效购书单 并将缺书信息写入缺书表 交完款后开领书单 根据领书单更新教材库存清单 采购时 将缺书表中的信息汇总生成采购单 新书进库时更新教材库存清单 2020 4 24 56 人工教材销售系统的数据流图 2020 4 24 57 基本数据流图 2020 4 24 58 功能级数据流图 2020 4 24 59 销售功能细化的数据流图 2020 4 24 60 采购功能细化的数据流图 2020 4 24 61 2 5数据字典 数据字典 是关于数据的信息的集合 也就是对数据流图中包含的所有元素的定义的集合 数据流图和数据字典共同构成系统的逻辑模型 2020 4 24 62 2 5 1数据字典的内容 数据字典的组成 数据流数据流分量 即数据元素 数据存储处理 用其它工具描述更方便 如IPO图 2020 4 24 63 在数据字典中记录数据元素的下列信息 一般信息定义使用特点控制信息分组信息 2020 4 24 64 2 5 2定义数据的方法 方法 对数据自顶向下分解 数据组成方式 三种基本类型 顺序以确定次序连接两个或多个分量 选择从两个或多个可能的元素中选取一个 重复即把指定的分量重复零次或多次 附加类型 可选即一个分量是可有可无的 重复零次或一次 2020 4 24 65 符号 意思是等价于 或定义为 意思是和 即 连接两个分量 意思是或 即 从方括弧内列出的若干个分量中选择一个 通常用 号隔开供选择的分量 意思是重复 即 重复花括弧内的分量 常常使用上限和下限进一步注释表示重复的花括弧 意思是可选 即 圆括弧里的分量可有可无 2020 4 24 66 例1 标识符 字母字符 字母数字串字母数字串 0 字母或数字 7字母或数字 字母字符 数字字符 2020 4 24 67 例2 购书单 学号 姓名 书号 数量 单价 总价 书费合计学生用书表 学院编号 专业编号 年级 书号 年级 1 2 3 4 学号 10 数字 10 2020 4 24 68 2 5 3数据字典的用途 数据字典最重要的用途是作为分析阶段的工具 数据字典中包含的每个数据元素的控制信息是很有价值的 很容易估计改变一个数据将产生的影响 数据字典是开发数据库的第一步 而且是很有价值的一步 2020 4 24 69 2 5 4数据字典的实现 计算机实现 目前 数据字典几乎总是作为CASE 计算机辅助软件工程 结构化分析与设计工具 的一部分实现的 在开发大型软件系统的过程中 数据字典的规模和复杂程度迅速增加 人工维护数据字典几乎是不可能的 人工实现 采用卡片形式书写数据字典 每张卡片上保存描述一个数据的信息 每张卡片上主要应该包含下述这样一些信息 名字 别名 描述 定义 位置 2020 4 24 70 名字 定货报表别名 定货信息描述 每天一次送给采购员的需要定货的零件表定义 定货报表 零件编号 零件名称 定货数量 目前价格 主要供应者 次要供应者位置 输出到打印机 名字 零件编号别名 描述 惟一地标识库存清单中一个特定零件的关键域定义 零件编号 8 字符 8位置 定货报表定货信息库存清单 名字 定货数量别名 描述 某个零件一次定货的数量定义 定货数量 1 数字 5位置 定货报表定货信息 2020 4 24 71 2 6成本 效益分析 成本 效益分析的目的正是要从经济角度分析开发一个特定的新系统是否划算 从而帮助客户组织的负责人正确地作出是否投资于这项开发工程的决定 2020 4 24 72 2 6 1成本估计 1 代码行技术方法 通常根据经验和历史数据估计实现一个功能需要的源程序行数 一旦估计出源代码行数以后 用每行代码的平均成本乘以行数就可以确定软件的成本 每行代码的平均成本主要取决于软件的复杂程度和工资水平 特点 简单 当有以往开发类似工程的历史数据可供参考时 这个方法是非常有效的 2020 4 24 73 代码行技术分析一个过程控制系统 2020 4 24 74 2 任务分解技术方法 首先把软件开发工程分解为若干个相对独立的任务 再分别估计每个单独的开发任务的成本 最后累加起来得出软件开发工程的总成本 估计每个任务的成本时 通常先估计完成该项任务需要用的人力 以人月为单位 再乘以每人每月的平均工资而得出每个任务的成本 2020 4 24 75 任务分解技术估计软件开发成本 2020 4 24 76 3 自动估计成本技术方法 采用自动估计成本的软件工具特点 可以减轻人的劳动 并且使得估计的结果更客观 但是 采用这种技术必须有长期搜集的大量历史数据为基础 并且需要有良好的数据库系统支持 2020 4 24 77 2 6 2成本 效益分析的方法 成本 效益分析要估计开发成本 运行费用和新系统将带来的经济效益 运行费用 取决于系统的操作费用 操作员人数 工作时间 消耗的物资等等 和维护费用 系统的经济效益 等于因使用新系统而增加的收入加上使用新系统可以节省的运行费用 2020 4 24 78 成本 效益分析涉及的4个概念 1 货币的时

温馨提示

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

评论

0/150

提交评论