5 结构化分析方法[精].ppt
文本预览下载声明
软件工程 第五讲 结构化分析方法 朱建凯 上次课的阅读与思考 张海藩《软件工程》3.1、3.2、3.3 思考: 1、为什么用户需求文档要对每一条需求进行编号? 2、哪些人应该参加需求评审? ------------------------------------------------------------------------ 1、需求跟踪的需要;验收与测试的需要;交流和分工的需要; 2、双方(技术)负责人;项目经理;市场方;系统分析师; 本次课程要学习的内容 需求文档的作用(重要) 什么是分析,什么是需求分析(重要) 数据流图的绘制(非常重要) 数据字典(重要) 使用自然语言定义需求规约的问题 不确定性 读者和作者必须以同样的方式对同样的文字有相同的翻译。 过于灵活 同一个事情可以有多种表达方式。 不方便模型化 自然语言不适合结构化表达。 结构化的语言规约 需求规约的作者写作的自由度必须通过预定义模板来限定。 所有的需求都必须用统一的标准方式来表达。 使用的术语必须是有限定的。 这样的好处就是即保留了自然语言的优势,同时它的不一致性又得到了约束。 表单式需求规约 对功能或者入口进行定义. 描述所有的输入以及它们来自哪里. 面熟所有的输出以及它们到哪里去. 指出相关系的其他实体. 前置和后置条件 (如果有的话). 这个功能的副作业是什么 (如有). Form-based node specification 作业二: 84页 第1题、第8题 阅读: 教材 4.2, 4.3, 4.4 思考题: 软件分析过程的意义何在? 操作指南和测试计划依据需求来写,目的何在? ? 在读者还书时,读者填写还书单,由管理人员将其输入系统后,系统根据其中的学号,从借书文件中读出该读者的借阅记录,获取该书的还书日期,判定该图书是否逾期,以便按规定做出相应的罚款; ? 在对一些过时或无继续保留价值的图书进行注销时,管理人员从图书目录文件中删除相关的记录; ? 当图书馆领导提出查询要求时,系统应依据查询要求,分别给出相应的信息。 其中假定,“为购入的新书编制图书卡片”,“读者首先填写借书单”等功能,均由人工实现。 根据问题陈述,按功能可以把该系统分为两“大块”,即:借还书等事务的处理,以及咨询事务处理。 ---进行功能抽象。 (注:不同的功能抽象将导致不同的结果!但应该是等价的。) 于是,可以根据这一抽象,可以识别: 1)顶层数据流:借还书等事务处理要求 咨询事务要求 以及相关的数据流 2)数据源和数据潭为:图书管理人员,读者以及时钟。 基于以上分析,可形成该系统的环境图: 图书管理系统 图书管理员 图书管理要求 查询要求 图书统计表 图书情况 读者情况 读者 系统时钟 当前日期 罚款单 其中:3个输入流:图书管理要求,查询要求,系统时钟 图书管理要求=入库单 借书单 还书单 注销单 查询要求=读者情况 图书情况 图书统计表 4个输出流:图书统计表,图书情况,读者情况 通过“打碎”、“分派”,可形成如下0层DFD: 1 处理借还 书等事务 2 处理咨询 事务 图书管理要求 查询要求 当前日期 目录文件 借书文件 读者文件 罚款单 读者情况 图书情况 图书统计表 其中:保持输入与输出的一致; 引入三个文件,对顶层DFD进行细化。 (注:存在数据库设计问题) 以同样方式,对加工1进行分解,形成: 1。1 入库新书 1。2 借书 1。3 还 书 1。4 注销图书 图书管理要求 处理图书管理要求 目录文件 罚款单 当前日期 借书文件 读者文件 入库单 借书单 注销单 还书单 其中:注意平衡问题;平面化问题。当然,还可以继续细化 1。2 借书 目录文件 借书文件 例如:借书 读者文件 借书单 1。2。1 检查读者的有效性 读者文件 1。2。2 检查读者的资格 1。2。3 办理借书 1。2。4 检查图书库存 借书单 无效读者 有效读者借书单 借书超限 核准后的借书单 该书已借完 借书记录 借书文件 目录文件 注意:其中粗线数据流! 5)需求文档的作用 其作用可概括为: 第一也是最重要的,作为软件开发组织和用户之间一份事实 上的技术合同书;是产品功能及其环境的体现。 第二,对于项目的其余大多数工作,它是一个管理控制点。 第三,对于产品的设计,它是一个正式的、受
显示全部