




已阅读5页,还剩101页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1 第二讲可行性研究与需求分析 软件计划与可行性研究软件系统需求分析 2 本章主要内容 软件可行性的内容和步骤 软件需求分析的步骤 需求获取 分析建模 文档编 结构分析方法建立分析模型的描述工具及建立过程 同时给出文档编写规范与实例供学习参考 本章重点 软件需求分析的任务与步骤 结构分析方法建立分析模型的描述工具及建立过程 本章难点 结构分析方法建立分析模型的描述工具及建立过程 基本要求 掌握基本概念 SA SRS DFD DD 和SA方法 会写可行行分析报告 项目开发计划和软件需求说明书 3 2 1软件计划与可行性研究 一 目的 确定软件项目是否能够开发 是否值得去开发 输出 可行性研究报告成本 效益分析项目开发计划 4 对每种解决方法 可从以下三个方面分析研究每种解决方法的可行性 1 技术可行性2 经济可行性3 社会可行性 二 内容 5 1 技术可行性对要开发项目的功能 性能 限制条件进行分析 确定在现有的资源条件下 技术风险有多大 项目是否能实现 资源 已有的或可以获得的硬件 软件资源现有技术人员的技术水平已有的工作基础 6 2 经济可行性进行开发成本的估算以及了解取得效益的评估 确定要开发的项目是否值得投资开发 经济可行性 成本 效益分析公司经营长期策略开发所需的成本和资源潜在的市场前景 7 3 社会可行性要开发的项目是否存在任何侵犯 妨碍等责任问题 要开发项目的运行方式在用户组织内是否行得通 现有管理制度 人员素质 操作方式是否可行 8 1 明确系统目标2 研究正在使用的系统3 设计新系统的概括的逻辑模型4 导出和评价各种方案5 推荐可行的方案6 编写可行性研究报告 三 可行性研究的具体步骤 9 五 可行性研究报告内容 1 引言2 可行性研究前提3 对现有系统的分析4 所建议系统的技术可行性分析5 所建议系统的经济可行性分析6 社会因素的可行性分析7 其他可供选择方案8 结论意见 10 1 引言1 1编写目的阐明编写可行行研究报告的目的 指出读者对象1 2项目背景包括 所建议开发软件的名称 项目的任务提出者 开发者 用户等 项目与其它软件或系统的关系1 3定义项目中专门术语和缩写词的含义1 4参考资料 11 2 可行性研究前提2 1要求列出建议开发软件的基本要求 如功能 性能 输入 输出 基本的数据流程和处理流程 安全保密要求 完成期限等2 2目标可包括 人力与设备费用的节省 处理速度的提高控制精度或生产能力的提高 管理信息服务的该进 人员工作效率的提高2 3条件 假定和限制可包括经费来源和限制 法律政策方面的限制 环境限制 可利用的信息资源 12 2 4可行性研究方法2 5决定可性行的主要因素3 对现有系统的分析3 1处理流程和数据流程3 2工作负荷3 3费用支出3 4人员3 5设备3 6局限性 现有系统存在的问题 为什么需要开发新的系统 13 4 所建议技术可行性分析4 1对系统的简要描述4 2处理流程和数据流程4 3与现有系统比较的优越性4 4采用建议系统可能带来的影响4 5技术可行性评价 14 5 所建议系统经济可行性分析5 1支出 基建投资 其它一次性支出 经常性指出 5 2效益 一次性收益 经常性收益 不可定量收益 5 3收益投资比5 4投资回收周期5 5敏感性分析 15 6 社会因素的可行性分析6 1法律因素6 2用户使用可行性7 其它可供选择的方案8 结论意见可能是 可着手组织开发 待若干条件成熟后开发 要修改目标 经济上不核算等 16 此外 在这个阶段还要写出 项目开发计划 引言项目概述实施计划人员组织分工交付期限专题计划要点 17 6 2软件系统需求分析 需求分析概念结构化分析方法需求分析规格说明书的组成 18 1 什么是需求分析是指开发人员要准确理解用户的要求 进行细致的调查分析 将用户非形式的需求陈述转化为完整的需求定义 再由需求定义转换到相应的形式功能规约 需求规格说明 的过程 一 需求分析概念 19 软件开发是要实现目标系统的物理模型 需求分析的任务就是借助于当前系统的逻辑模型导出目标系统的逻辑模型 解决目标系统 做什么 的问题 20 是要准确地定义新系统的目标 满足用户需要 回答系统必须 做什么 的问题 本阶段要进行以下几方面的工作 1 分析人员和用户对问题识别 双方商定对问题的综合需求 包括 功能需求 性能需求 环境需求和用户界面需求 另外还有可靠性 安全性 保密性 可移植性 可维护性等方面的需求 这些需求一般通过双方交流 调查研究来获取 并达到共同的理解 2 需求分析的基本任务 21 1 分析人员和用户对问题识别 双方商定对问题的综合需求 包括 功能需求 性能需求 环境需求和用户界面需求 另外还有可靠性 安全性 保密性 可移植性 可维护性等方面的需求 22 2 分析与综合 导出软件的逻辑模型 分析人员对获取的需求 进行一致性的分析检查 在分析 综合中逐步细化软件功能 划分成各个子功能 包括 对数据域进行分解 并分配到各个子功能上 以确定系统的构成及主要成分 并用图文结合的形式 建立起新系统的逻辑模型 23 3 编写文档 文档 需求规格说明书初步用户使用手册确认测试计划 24 常用的分析方法 面向数据流的结构化分析方法 SA 面向数据结构的Jackson方法 JSD 面向数据结构的结构化数据系统开发方法 DSSD 面向对象的分析方法 OOA 等 25 二 结构化分析方法 结构化分析 StructuredAnalysis 简称SA 是面向数据流进行需求分析的方法 SA是一种建模活动 该方法使用简单易读符号 根据软件内部数据传递 变换的关系 自顶向下逐层分解 描绘出满足功能需求的软件模型 26 SA方法利用图形等半形式化的描述方式表达需求 用它们形成需求说明书中的主要部分 描述工具是 1 数据流图 DFD 2 描述加工逻辑的工具 结构化语言 判定表 判定树3 数据字典4 实体 联系图 E R 5 层次方框图 27 结构化分析方法最初只是着眼于数据流 自顶向下 逐层分解 建立系统的处理流程 以数据流图和数据字典为主要工具 建立系统的逻辑模型 扩充后 将建模技术扩展到数据建模 功能建模和行为建模 以实体 关系图 数据流图和控制流图 状态 迁移图为工具 数据字典为核心 从不同视点建立系统的分析模型 28 结构化分析的分析模型 实体 关系图 状态 迁移图 数据流图 数据对象描述 加工规格说明 数据字典 控制规格说明 29 SA方法利用图形等半形式化的描述方式表达需求 用它们形成需求说明书中的主要部分 描述工具是 1 数据流图 DFD 2 描述加工逻辑的工具 结构化语言 判定表 判定树3 数据字典4 实体 联系图 E R 5 层次方框图 30 1数据流图 DFD 任何软件系统从根本上都是对数据的加工或变换的工具 当数据在软件系统中移动时 它将被一系列 变换 所修改 1 什么是数据流图数据流图 DFD 就是描述信息流和数据从移动到输出的过程中所经受的变换的图形化技术 数据流图 DataFlowDiam 是SA方法中用于表示系统逻辑模型的一种工具 它以图形的方式描绘数据在系统中流动和处理的过程 由于它只反映系统必须完成的逻辑功能 在DFD图中出现的每个功能都会写在加工说明 ProcessSpecification PSPEC 中 它们一起构成功能模型 31 它可表现的范围可大到整个系统 小到一个模块 在需求分析中常用一组DFD图由粗到精地表示同一软件在不同抽象级别上的功能 这就是分层数据流图 32 分层的数据流图 33 2 数据流图的作用 需求分析时 作为自顶向下的工具描述系统组成部分为技术员 用户间交流提供有力方法 34 3 数据流图组成 数据流图由数据流 加工 又称为数据处理 数据存储 又称为文件 数据源点或终点四种基本成分组成 数据流 加工 数据存储 数据源点 终点 35 36 37 图2 4描述银行取款过程的数据流图 例2 1 数据流图实例 银行取款过程 38 例2 2 高校学生收费系统数据流图 39 例2 3 考务处理系统的功能 1 对考生送来的报名单进行检查 2 对合格的报名单编好准考证号后将准考证送给考生 并将汇总后的考生名单送给阅卷站 3 对阅卷站送来的成绩单进行检查 并根据考试中心制定的合格标准审定合格者 4 制作考生通知单 含成绩及合格 不合格标志 送给考生 5 按地区进行成绩分类统计和试题难度分析 产生统计分析表 40 根据考务处理业务 画出顶层数据流图 以反映最主要业务处理流程及系统与外界的关系 经过分析 考务业务处理的主要功能应当有登记报名单 统计成绩两个主要数据流 输入的源点和输出终点是考生 考试中心和阅卷站 然后从输入端开始 根据考务业务工作流 画出数据流流经的各加工框 逐步画到输出端 得到第0层数据流图 41 42 43 44 45 基本加工逻辑说明 对数据流图的每一个基本加工 必须有一个基本加工逻辑说明描述基本加工如何把输入数据流变换为输出数据流的加工规则描述实现加工的策略而不是实现加工的细节包含的信息应是充足的 完备的 有用的 无冗余的 46 2 用于写加工逻辑说明的工具 结构化语言判定表判定树 47 1 结构化语言 是一种介于自然语言和形式化语言之间的语言由 英语命令动词数据词典中定义的名字有限的自定义词逻辑关系词IF THEN ELSE CASE OF WHILE DO REPEAT UNTIL等组成 48 其基本控制结构有三种 简单陈述句结构 避免复合语句 重复结构 while do或repeat until结构 判定结构 if then else或case of结构 49 例2 3 商店业务处理系统中 检查发货单 if发货单金额超过 500thenif欠款超过了60天then在偿还欠款前不予批准else 欠款未超期 发批准书 发货单else 发货单金额未超过 500 if欠款超过60天then发批准书 发货单及赊欠报告else 欠款未超期 发批准书 发货单 50 2 判定表 如果数据流图的加工需要依赖于多个逻辑条件的取值 使用判定表来描述比较合适 51 以 检查发货单 为例 52 3 判定树 判定表的图形表示 判定树也是用来表达加工逻辑的一种工具 有时侯它比判定表更直观 53 1 数据词典的概念数据词典 DataDictionary 简称DD 就是用来定义数据流图中的各个成分的具体含义的 对数据流图中出现的每一个数据流 文件 加工给出详细定义 2 数据字典组成主要有四类条目 数据流 数据项 数据存储 基本加工 数据项是组成数据流和数据存储的最小元素 3 数据字典 DD 54 3 数据字典词条内容表 数据项 数据流 数据文件名称 别名 取消及定义 组成 组织 备注 55 例2 4 计算机售书系统模型 56 售书系统数据流词条实例 发票 数据流名 发票别名 购书发票组成 学号 姓名 书号 单价 数量 总价 书费合计备注 57 数据文件词条实例 各班学生用书表 文件名 各班学生用书表别名 组成 系编号 专业和班级编号 年级 书号 组织 按系 专业和班编号从小到大排列备注 58 例2 5 为例2 4文件 学生信息表 编写字典条目 解 学生信息表 字典条目如下 59 数据字典是关于数据的集合 也是对数据流图中包含的所有元素的定义的集合 它的作用是对软件中的每个数据规定一个定义条目 在软件分析和设计过程中提供相关数据的描述信息 以保持数据在系统中的一致性 数据流图和数据字典共同构成系统的逻辑模型 没有数据字典数据流图就不严格 没有数据流图数据字典也难于发挥作用 只有数据流图和对数据流图中每个元素的定义放在一起 才能构成系统的规格说明 60 4 实体 联系图 E R 为了把用户的数据要求清楚 准确地描述出来 系统分析员通常建立一个概念模型 概念模型是面向问题的数据模型 是按照用户的观点对数据建立模型 在需求分析模型建立过程中 使用实体 关系图 E R图 来建立数据模型 它描述了从用户的角度看到的数据 反映了用户的现实环境 而与在软件系统中的实现方法无关 数据模型包含三种相互关联的信息 实体 数据对象 属性及联系 61 1 实体E R图中的实体对应于客观世界中的存在的人或物 又称为数据对象 数据对象可以是外部实体 如产生或使用信息的任何事物 行为 如开发票 角色 如学生 教师 单位 如计算机系 会计科 结构 如文件 等 是由一组属性来描述的实体 实体之间是相互联系的 与其它实体没有联系的实体是没有意义的 在E R图中通常用矩形框表示实体 62 2 属性属性定义了实体的性质 实体可以由一个或多个属性定义为 标识符 用来区分不同的实体 根据对所要解决的问题的理解来确定属性 如要开发高校学生收费系统 描述学生可以用学号 姓名 性别 入学日期 所在系别 学生类别 所在班级等属性 常用二维表的形式表示相关属性在E R图中通常用椭圆形或圆角矩形表示属性 63 3 联系客观世界中的事物是相互联系的 如学生与教师存在教与被教 系与学生的管理与被管理的联系 这种联系有三种不同的类型 一对一 如院长与学院的联系 一对多 如系与学生的联系 和多对多 学生与课程间的联系 在E R图中通常用连接相关实体的菱形框表示联系 如下图给出三种联系的示意图 64 65 5 层次方框图 层次方框图是用结构的一系列多层次的矩形框描绘数据的层次结构 树形结构的顶层是一个单独的矩形框 它代表完整的数据结构 下面的各层矩形框代表这个数据的子集 最底层的各个框代表组成这个数据的实际数据元素 不能再分割的元素 66 随着结构的精细化 层次方框图对数据结构描绘得越来越详细 这种非常适合于需求分析阶段的需要 系统分析员从对顶层信息的分类开始 沿图中每条路径反复细化 直到确定数据结构的全部细节为止 见例2 6 用层次方框图描述某计算机公司全部产品的数据结构 67 68 三 结构化分析方法的步骤 概念画出分层数据流图确定数据定义与加工策略复审 69 1 概念结构化分析方法 SA 是面向数据流进行需求分析的方法 是20世纪70年代末提出并发展 适合于数据处理类型软件的需求分析方法 具体来说 结构化分析方法就是按照功能分解的原则 根据软件内部数据传递 变换的关系 自顶向下逐层分解 直到找到满足所有功能要求的可实现的逻辑模型为止 70 2 结构分析方法主要工具 数据流图 数据字典 结构化语言 判定表与判定树等几个工具 3 主要步骤为 由顶向下对系统进行功能分解 画出分层数据流图 由后向前定义系统的数据和加工 确定加工策略和形成数据字典 编写需求说明书 进行需求分析复审 71 3 画出分层数据流图 从系统的基本模型 逐层地对系统进行分解 每分解一次 系统的加工数量就会增多一些 每个加工的功能也就更具体一些 继续重复分解 直到所有的加工都足够简单 不必再分解为止 这种不需要再分解的加工就是我们常说的 基本加工 通过这种分解 对所分析的系统将获得一组分层次的数据流图 用以代替一张含有系统全部加工的总数据流图 具体步骤如下 72 具体步骤 画出系统的输入与输出画出系统的内部对图和加工编号检查复审 73 画出系统的输入与输出 把整个系统看成是一个加工 根据系统从外界的哪些源点接受哪些数据流 以及系统的哪些数据流送到外界的哪些汇点 画出系统的输入和输出图 这张图称为顶层图 74 画出系统的内部 将顶层图的加工分解成若干个加工 并用数据流将这些加工连接起来 使得顶层图中的输入数据流经一连串的加工处理后变换成顶层的输出数据流 这张图称为0层图 从一个加工画出一张数据流图的过程就是对这个加工的分解过程 加工方法如下 75 在数据流的组成或值发生变化的地方画一个加工 这个加工功能就是实现这一变化 也可以根据系统的功能确定加工 当用户把若干数据看作一个单位来处理 这些数据一起到达 一起加工 时 可把这些数据看成一个数据流 通常可以把实际工作中的单据作为一个数据流 对于一些以后某个时间要使用的数据可以组织为一个文件 76 对图和加工编号 父图与子图假定分层数据流图里的某张图 图A 中的某个加工可用另一张图 图B 来分解 我们称图A是图B的父图 图B称为图A的子图 在一张图中 有些加工需要进一步分解 有些加工则不必分解 因此 如果父图中有n个加工 那么它可以有0至n张子图 这些子图位于同一层 但每张子图仅有唯一的父图与之对应 77 编号顶层图只能一张 图中的加工只有一个 不必编号 0层图只有一张 图中的加工号分别是0 1 0 2 或者1 2 子图号就是父图中被分解的加工号 子图中的加工号由子图号 圆点 序号组成 如某图中的某加工号为2 4 2 这个加工分解出来的子图号就是图2 4 2 子图中的加工号分别为2 4 2 1 2 4 2 2等 78 检查复审 对系统的分层数据流图画出后 可根据以下需要注意的要点检查复审 来保证分层数据流图的合理准确性 命名 加工 文件 保持父图与子图的平衡 保持数据守恒 分解的速度适当 79 例2 7 用结构化方法为高校学生收费系统画出分层的数据流图 为了比较清楚地说明画出分层流图 我们在这里只取本系统的一个子系统教材购销系统 80 该子系统有如下功能 根据学校的教学计划 向选课的学生及时供应教材 审查学生购书单的有效性 对有效书单发售所需的教材 对属于计划供应但暂时缺货的教材进行缺书登记 根据缺书登记补充采购所缺的教材 通知学生补购 将缺书登记表汇总为待购计划 待购教材到货后 及时通知学生补购 分析图见图2 20 图2 21 图2 22 81 82 83 84 三 软件需求说明 SRS 软件需求说明 SRSSoftwareRequirementSpecification 又称软件规格说明书 是系统分析人员在需求分析阶段需要完成的文档 是软件需求分析的最终结果 它的作用主要是 作为软件人员与用户之间事实上的技术合同说明 作为软件人员下一步进行设计和编码的基础 作为测试和验收的依据 85 SRS必须用统一格式的文档进行描述 为了使需求分析描述具有统一的风格 可以采用已有的且能满足项目需要的模板 如中国国家标准推荐标准GB9385中描述的SRS模板 也可以根据项目特点和软件开发小组的特点对标准进行适当的改动 形成自己的模板 软件需求说明主要内容包括 引言 任务概述 数据描述需求规定 运行环境规定 附录等几部分 86 1 引言 编写目的 阐明编写需求说明书的目的 指出预期的读者范围 项目背景 待开发的项目名称及项目的开发目的 与项目的应用相关的利益目的及最终目标 项目的委托 开发单位和主管部门 该软件系统与其他系统的关系 定义 列出文档中所用到的专门术语的定义和缩写词的原义 参考资料 包括项目经核准的计划任务书 合同或上级机关的批文 项目开发计划 文档所引用的资料 标准和规范 开出这些资料的作者 编号 发表日期 出自单位或资料来源 87 2 任务概述 产品概述 描述开发意图 应用目标 作用范围 应向读者说明的有关该项目的开发背景 用户特点 列出本软件最终用户的特点 说明操作人员 维护人员的教育水平和技术水平 条件与限制 对设计系统时对开发者的条件与限制 88 3 数据描述静态数据动态数据数据库描述数据字典数据采集 89 4 需求规定 对功能的规定 包括内部及外部功能的规定 功能划分和功能描述 对性能的规定 包括对精度 时间要求 灵活性 适应性等的规定 对输入输出的规定 包括所有输入输出数据 引用接口及接口控制文件 操作员控制的详细描述 数据管理的规定 包括静态数据 动态数据 数据库 数据字典 数据采集的详细描述 其他专门要求 如安全保密性 可使用性 可维护性 可移植性等 90 5 运行环境规定 用户界面 如屏幕格式 报表格式 菜单格式 输入输出时间等 硬件接口 对系统硬件的要求描述 软件接口 支持软件描述 故障处理 91 6 附录 实际的需求说明最好有附录 主要可以描述如格式样本 成本分析 用户调查结果 项目解决的问题描述 特殊的要求等相关信息 如果包含附录 必须指明是不是需求要考虑的部分 92 医院计算机监护系统需求说明1 引言医院做为一个与人民生命健康密切相关的重要机构 势必要在各方面实现信息化 与此同时 对医疗卫生的要求也越来越高 以方便医护人员更好的了解病人的情况 给病人提供及时的治疗 本系统就是针对这方面的迫切需求而设计实现的 1 1编写目的此文档作为用户对即将开发的软件的功能要求 是软件设计和开发者的主要依据 1 2项目背景项目名称 医院计算机监护系统项目委托单位 市医院软件开发单位 学院计算机系计 班软件开发组 需求分析案例 93 2 任务描述2 1目标本系统要求能够监护系统要随时接受每个病人的生理信号 脉搏 体温 血压 心电图等 定时记录病人情况以形成患者日志 当某个病人的生理信号超出医生规定的安全范围时向值班护士发出警告信息 此外 护士在需要时还可以要求系统打印出某个病人的病情报告 本软件系统要求安全 可靠 具有出错处理能力 准确 2 2运行环境本系统是基于C S模式的采用Delphi实现的管理信息系统 ManagementInformationSystem 数据库服务器由Oracle9实现 操作系统 WINDOWS2000AdvanceServer 数据库服务器端软件ORACLE9I 94 3 数据描述 1 数据流程图 95 2 医院监护系统中所要处理的表单 生理信号 表格 生理信号ID 生理信号名称 备注 患者表格 表格 患者ID 患者姓名 患者性别 住址 联系电话 患病名称 入院日期 状态 已出院 住院 备注 患者日志 表格 患者ID 日期 生理信号ID 值 备注 患者生理信号安全范围表 表格 患者ID 生理信号ID 安全范围 备注 96 4 需求规定 1 功能划分本系统由 生理信号输入控制子系统 病人基本信息管理子系统 警报子系统 病人病情管理子系统 组成 生理信号输入控制子系统包含2个功能模块 生理信号输入管理 定时时间调节 病人基本信息管理子系统包含3个功能模块 病人信息输入 病人信息修改 病人信息查询 警报子系统包含2个功能模块 生理信号安全范围控制 警报 病人
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 《谈时间》梁实秋课件
- 亲有过谏使更课件
- 护理人员生物污染预防
- 经济管理系工作总结
- 公司级安全培训频率课件
- 公司级安全培训模板课件
- 零售行业招聘年终总结
- 青年医生病历汇报
- 语言表演教学汇报
- 舌系带过短护理
- 咖啡基础培训课件
- 创伤急救(中医骨伤科学十三五教材)
- 陈德华同志先进事迹材料之一
- 抖音短视频运营一周选题表(每周选题策划)
- 高中生社会实践报告表
- 海南经济特区工伤保险若干规定
- 人体解剖学动作分析
- 某水利水电工程二期混凝土施工监理细则
- 防错原理及案例课件
- DB37-T 1997.1-2019.物业服务规范 第1部分:通则
- 小学数学西南师大四年级上册二加减法的关系和加法运算律《减法的运算性质》教学设计
评论
0/150
提交评论