软件工程-可行性研究.ppt_第1页
软件工程-可行性研究.ppt_第2页
软件工程-可行性研究.ppt_第3页
软件工程-可行性研究.ppt_第4页
软件工程-可行性研究.ppt_第5页
已阅读5页,还剩63页未读 继续免费阅读

下载本文档

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

文档简介

第二章可行性研究 FeasibilityStudy 不是解决问题 而是确定是否可解 值得解可从下述以下四方面考虑 技术上 人员 当前技术水平 设计语言上等经济性 成本 效益分析操作性 开发出的系统用户能否使用社会性 法律 合同等是否允许注 不要花过多精力 占总成本的5 10 2 1可行性研究的任务 2 2可行性研究的步骤 1 复查定义 明确限制的约束 我们认为用户要的用户要的 1 访问关键人员 2 阅读和分析有关的材料 3 改正含糊或不确切的叙述 2 研究老系统 解决老系统问题 老系统功能 新增功能 新系统效益 注 只了解老系统做什么 而不管怎样做 注意了解与其它系统的接口 老系统效益 2 2步骤 3 导出高层逻辑模型 conceptualdesign 老系统 模型 新模型 新系统 报告应该告诉用户 What 而不是 How 逻辑模型 数据流图与数据字典 2 2步骤 3 逻辑模型4 重新定义 结合用户 1 复查定义注 此时合同未签 应考虑成本 不宜反复太多次 5 导出多种解法 2 2步骤 6 推荐行动方针 7 开发计划 粗略 任务分解 确定负责人 大致进度规划 财务预算 风险分析及对策 8 审查 存档把上述各步骤的工作结果写成清晰的文档 请用户 客户组织的负责人审查评审 2 3系统流程图 SystemFlowDiagram 反映信息在各部分 物理部件 间流动的情况 对数据加工 处理的控制过程 不同于程序流程图 符号 表示系统物理部件箭头 信息流动路径 系统流程图常用符号 符号 概括的形式抽象的描绘物理系统时 处理 能改变数据值或数据位置的加工或部件 例如 程序 处理机 人工加工等都是处理 输入 输出 表示输入或输出 或既输入又输出 是一个广义的不指明具体设备的符号 连接 指出转到图的另一部分或从图的另一部分转来 通常在同一页上换页连接 指出转到另一页图上或由另一页转来数据流 用来连接其它符号 指明数据流动方向详见P29 2 3系统流程图 例 2 3系统流程图 例 某装配厂使用一台小型计算机处理更新库存清单主文件和产生订货报告的任务 零件库存量的每一次变化称为一个事务 由放在仓库中的CRT终端输入到计算机中 系统中的库存清单程序对事务进行处理 更新存储在磁盘上的库存清单主文件 并且把必要的订货信息写在磁带上 最后 每天由报告生成程序读一次磁带 并且打印出订货报告 2 3系统流程图 注 符号 系统部件箭头 信息流动路径 2 3系统流程图 系统流程图 画法 习惯上信息在图中自顶向下或从左向右流动可以在图上加注释 注释较多时 可以另外加一个文档来进行解释复杂系统可以用分层方法来表示首先用一张高层次的系统流程图描绘系统总体概貌 表明系统的关键功能每个关键功能扩展到适当的详细程度 画在单独的一页纸上 2 3系统流程图 4 数据流图 DataFlowDiagram System data function1 符号 P 31 DFD是一种图形化技术 描绘信息流和数据从输入到输出的过程中所经受的变换 数据流图描绘系统的逻辑模型 图中无具体的物理元素 只是描绘信息在系统中流动和被处理的情况数据流图可以作为计算机人员与客户之间的通信工具软件设计的出发点 符号 续 2 4数据流程图 数据流图性质 数据流图中的箭头仅能表示在系统中流动的数据 与程序流程图不同 DFD不能表示程序的控制结构 DFD表现的范围具有很大的灵活性 分层的数据流图 为了表达数据处理过程的数据加工情况 需要采用层次结构的数据流图 按照系统的层次结构进行逐步分解 并以分层的数据流图反映这种结构关系 能清楚地表达和容易理解整个系统 分层数据流图 分层数据流图 分层原则 父图与子图关系 编号 平衡规则 文件局部性 分解程度 在多层数据流图中 顶层流图仅包含一个加工 它代表被开发系统 它的输入流是该系统的输入数据 输出流是系统所输出数据底层流图是指其加工不需再做分解的数据流图 它处在最底层中间层流图则表示对其上层父图的细化 它的每一加工可能继续细化 形成子图 结构化分析方法步骤示例商店业务处理系统 这个数据流图只是一个高层的系统逻辑模型 它反映了目标系统要实现的功能数据流图绘制步骤首先确定系统的输入和输出根据商店业务 画出顶层数据流图 以反映最主要业务处理流程 经过分析 商店业务处理的主要功能应当有销售 采购 会计三大项 主要数据流输入的源点和输出终点是顾客和供应商 然后从输入端开始 根据商店业务工作流程 画出数据流流经的各加工框 逐步画到输出端 得到第一层数据流图 第一层数据流图 加细每一个加工框销售细化 采购细化 检查和修改数据流图的原则 数据流图上所有图形符号只限于前述四种基本图形元素数据流图的主图必须包括前述四种基本元素 缺一不可数据流图的主图上的数据流必须封闭在外部实体之间每个加工至少有一个输入数据流和一个输出数据流 在数据流图中 需按层给加工框编号 编号表明该加工所处层次及上下层的亲子关系规定任何一个数据流子图必须与它上一层的一个加工对应 两者的输入数据流和输出数据流必须一致 此即父图与子图的平衡 图上每个元素都必须有名字数据流图中不可夹带控制流初画时可以忽略琐碎的细节 以集中精力于主要数据流 注意点 数据流与程序流程图中用箭头表示的控制流有本质不同在数据流图中应描绘所有可能的数据流向 而不应该描绘出现某个数据流的条件处理并不一定是一个程序 可以代表一系列程序 单个程序或者程序的一个模块 甚至人工处理过程一个数据存储也并不一定是一个文件 它可以表示一个文件 文件的一部分 数据库的元素或记录的一部分等等通常在数据流图中忽略出错处理 也不包括如打开文件 关闭文件之类的内务处理数据流图的要点是描绘 做什么 而不是 怎么做 2 4数据流程图 数据流图的用途 基本目的 交流信息的工具 因而需要分层 需要画得清楚分析和设计的工具分析员可以着重描绘系统的功能 而不是系统的物理实现方案在数据流图上可以划出自动化边界 每组自动化边界可能意味着一个不同的物理系统数据流图还可以帮助详细设计 面向数据流的设计方法 系统描述 学生持购书单买书 若当前库存有书则给学生开具领书单 若当前库存没有 则打印缺书单给采购员让其购书 书到后通知系统并更新库存信息 问题 请根据售书业务流程 画出顶层DFD和一层的DFD DFD练习 售书系统 领书单进书通知 购书单缺书单 DFD练习 售书系统 1 领书单进书通知 进书通知 购书单缺书单 DFD练习 售书系统 2 F1教材存量表 F2缺书登记表 数据流图 DFD DataFlowDiagram 命名数据流图中每个成分的命名是否恰当 直接影响数据流图的可理解性 因此 给这些成分起名字时应该仔细推敲 下面讲述在命名时应注意的问题 为数据流 或数据存储 命名 名字应代表整个数据流 或数据存储 的内容 而不是仅仅反映它的某些成分 不要使用空洞的 缺乏具体含义的名字 如 数据 信息 输入 之类 如果在为某个数据流 或数据存储 起名字时遇到了困难 则很可能是因为对数据流图分解不恰当造成的 应该试试重新分解 看是否能克服这个困难 数据流图 DFD DataFlowDiagram 为处理命名 通常先为数据流命名 然后再为与之相关联的处理命名 这样命名比较容易 而且体现了人类习惯的 由表及里 的思考过程 名字应该反映整个处理的功能 而不是它的一部分功能 名字最好由一个具体的及物动词 加上一个具体的宾语组成 应该尽量避免使用 加工 处理 等空洞笼统的动词作名字 通常名字中仅包括一个动词 如果必须用两个动词才能描述整个处理的功能 则把这个处理再分解成两个处理可能更恰当些 如果在为某个处理命名时遇到困难 则很可能是发现了分解不当的迹象 应考虑重新分解 例 学生注册课程系统 学生 登记注册课程查询成绩单教师 查询所开课程的学生名单登记成绩单注册管理员 维护教师信息维护学生信息维护课程信息 5 数据字典 DataDictionary 数据字典关于数据的信息集合 也就是对数据流图中包含的所有元素的定义的集合数据字典的内容定义数据的方法数据字典的用途 数据字典的组成 1 数据流 2 数据流分量 数据元素 3 数据存储 4 处理 数据元素组成数据的方式 1 顺序 以确定次序连接两个或多个分量 2 选择 从两个或多个可能的元素中选取一个 3 重复 把指定的分量重复零次或多次 4 可选 一个分量是可有可无的 数据字典包括的其它信息 1 一般信息 名字 别名 描述 2 定义 数据类型 长度 结构 3 使用特点 值的范围 使用频率 使用方式 输入 输出 本地条件值等 4 控制信息 来源 用户 使用它的程序 改变权 使用权等 5 分组信息 父结点 从属结构 物理位置 记录 文件和数据库等 数据字典的定义 和 用于连接两个数据分量 或 即从方括号内列出的若干分量中选择一个 重复 重复花括号内的分量 可选 圆括号内的分量可有可无 数据字典的用途 数据字典最重要的用途是作为分析阶段的工具有助于改进分析员 发小组之间的通信 有助于改进不同开发人员 不同开发小组之间的通信有助于要求所有开发人员根据公共数据字典描述数据和设计模块 避免许多麻烦口问题数据字典是开发数据库的第一步 数据字典应具有的特点 1 通过名字能方便地查阅数据的定义2 没有冗余3 尽量不重复在规格说明的其他组成部分中已经出现的信息4 容易更新和修改5 能单独处理描述每一个数据元素的信息6 定义的书写方法简单 方便且严格7 产生交叉表 错误检测 一致性校验等 数据字典举例 名字 定货报表别名 定货信息描述 每天一次送检采购员的需要定货的零件表定义 定货报表 零件编号 零件名称 定货数量 目前价格 主要供应者 次要供应者位置 输出到打印机 struct定货报表 char零件编号 8 char零件名称 20 int定货数量 float目前价格 structsupplier主要供应者 structsupplier次要供应者 例 卡片形式书写的数据字典 名字 零件编号别名 描述 唯一地标识库存清单中一个特定零件的关键域定义 零件编号 8 字符 8位置 定货报告定货信息库存清单 若修改 零件编号 的定义 则受到影响的数据均列于此 例 若X a和b都是数据元素 以下定义式含义如下 X a bX是由a和 构成X a b X是由a或b构成X a b X是由a或b构成X a a可能在X中出现 也可能不出现X a X由零次或多次重复的a构成X m a nX由m至n个a组成 至少有m个a 至多有n个aX a X可取 至 的任一值X a X为取值的基本数据元素 即a无需进一步定义 数据字典课堂练习 图书馆接待读者办理借书手续 包括 验证验单找书借书登记若各步骤之间均以特定的信息形式联系 请为这项借书业务 不包括还书 续借书 设计数据流图和数据字典 第一层定义词条 1 借书证 证号 单位 姓名 年龄 职务 证章 密码 2 借书单 证号 姓名 1 书号 书名 53 索书单 借书单 可借标记4 谢绝 非法证 不合格单 证单不符 5 已借出 索书单 已借出标记6 借书单 证号 姓名 1 书号 书名 可供标记 已借出标记 57 借书记录 借书单 还书日期8 库存书目 书号 书名 作者 出版社 出版年代 库存总数 借出册数 9 借书登记卡 借书日期 供书单 第二层定义词条 1 1 证号 0001 9999 1 2 单位 2 字母 24 1 3 姓名 2 字母 24 1 4 年龄 15 100 1 5 职务 XUE JIAO ZHZ 2 3 书号 1 字母 2 00001 99999 2 4 书名 1 字母 120 3 2 可借标记 KJ 以下略 第三层定义词条 1 2 1 字母 A a z 例 银行存折 银行存折示意图 银行存折数据字典 6成本 效益分析 Cost Benefit 1 成本估计 CostEstimation 代码行技术 每行代码的平均成本 源代码行数 任务分解技术 人力 工资 经验公式及软件 软件 Boehm sConstructiveCostModel COCOMO v1 0in1970s v2 0in1995 详细讨论见第十三章 2 6成本 效益分析 2 效益估计 BenefitEstimation 例 假设某软件生命周期为5年 现在投资20万元 平均年利率3 从第一年起 每年年底收入4 2万元 问该项目是否值得投资 到第5年底结算时 投资额 200000 1 3 5 231855 元 收入 42000 1 3 4 1 3 3 1 3 2 1 3 1 222984 元 不合算 2 6成本 效益分析 衡量工程价值的经

温馨提示

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

评论

0/150

提交评论