SE第2章结构化方法.ppt

上传人:za****8 文档编号:14485444 上传时间:2020-07-21 格式:PPT 页数:43 大小:1.11MB
返回 下载 相关 举报
SE第2章结构化方法.ppt_第1页
第1页 / 共43页
SE第2章结构化方法.ppt_第2页
第2页 / 共43页
SE第2章结构化方法.ppt_第3页
第3页 / 共43页
点击查看更多>>
资源描述
1,第二章 结构化方法学,开发软件要回答三个问题:,结构化方法学的主要步骤:,2,2.1 问题定义,3,回答“问题定义阶段定义的问题是否可行?” 最短时间 最小代价 成本/效益分析 可行性分析 技术可行性 经济可行性 操作可行性 法律可行性,2.2 可行性研究,任务 :,4,2.2 可行性研究,旧系统逻辑模型 新系统目标和规模 逻辑模型描述工具 数据流图 数据字典 用例图,复查问题定义、规模和目标 根据新系统模型 分析员误解 用户遗漏 重新定义问题 循环(定义,分析,求解),从逻辑模型导出物理系统方案 不同角度 多个方案 分析各种可选方案 技术可行性 操作可行性 经济可行性 为可行方案制定初步进度计划,得出可行性研究结果 继续开发 终止项目 推荐解决方案 成本/效益,为推荐方案确定开发计划 进度 开发人员 硬件设备 软件工具 各阶段成本估计,可行性研究报告 各步骤结果 推荐方案 开发计划等,问题定义阶段的成果 系统规模和目标报告书 复查任务 改正含糊、二义的描述 改正不正确的描述 核查系统限制和约束,分析现有系统 高层系统流程图 确定系统功能 比较新旧系统 必须完成旧系统的基本功能 必须改正旧系统存在问题 必须增收入、减支出,5,2.2 可行性研究,6,2.3 结构化的需求分析,需求分析是发现、求精、建模、规格说明和复审的过程,是软件开发者和用户相互作用的过程。,任务 : 目标系统必须做什么,不考虑怎么做 建立分析模型 编写需求说明书 步骤 : 发现:需求获取 求精:需求提炼 通过建模表达规格说明:需求描述 复审:需求验证,综合要求 : 功能要求 性能要求 运行要求 未来要求 数据要求,7,基于“数据流(注重算法和数据结构)”,面向用户的 以“图表工具”明确表达系统逻辑模型 以“自顶向下逐层分解”的方式进行系统分析 资料统一,避免重复性,增强一致性 控制复杂性的基本手段 分解:将复杂的问题拆成若干小问题再分别解决的过程 抽象:先考虑问题最本质的属性,暂时略去细节,再逐 层添加细节,直至达到必要的详细程度,特点:,2.3 结构化的需求分析,8,2.3 结构化的需求分析,分析模型的构成与结构化设计的对应关系 :,9,2.3 结构化的需求分析,数据流图 :,用于建立功能模型,提供了功能建模机制也提供了信息流建模机制,是系统逻辑功能的图形表示,没有任何具体的物理元素,描绘了信息在软件中流动和被处理的情况。数据流图的基本要点是描绘“做什么”而不考虑“怎样做”。 数据流图的基本符号 :,正方形(或立方体):表示数据的源点或终点; 圆形(或圆角矩形):代表变换数据的处理; 开口矩形(或两条平行横线):代表数据存储; 箭头:表示数据流,即特定数据的流动方向。,10,2.3 结构化的需求分析,设计系统数据流图的步骤 : 自顶向下分层 步骤 提取数据流图的四个基本成分 画出高层数据流图 逐层分解较高层数据流图中的 处理,得到一套分层数据流图,11,例1(P13): 某工厂采购部门每天要开出定货清单,清单中包括订购部件的部件号、部件名、规格、说明、订购量、当前价格、主要供应商和辅助供应商。 部件入库或出库称为业务,通过仓库中的终端把业务报告给定货系统。 当某种部件的库存量少于库存量临界值以下时,仓库管理员就应该及时通知定货系统开出定货清单,交由采购员采购。,提取数据流图的四个成分,2.3 结构化的需求分析,12,画出高层数据流图,细化基本系统模型,描绘主要功能,2.3 结构化的需求分析,13,2.3 结构化的需求分析,分解关键处理,细化数据流图,分解原则: 分解自然,概念合理 以分层方式对处理编号 父图与子图的平衡,分解前后的数据流必须一致 一个处理一般分解成个子处理 终止分解:分解可能涉及物理实现手段时,14,数据流图例2: 学生使用就餐卡在食堂就餐时,先插入卡,在连接数据库确认卡的身份和金额的合法性之后,输入本次就餐的金额,然后连接数据库,扣除该数值,取回卡,完成本次消费。,2.3 结构化的需求分析,15,2.3 结构化的需求分析,16,2.3 结构化的需求分析,17,2.3 结构化的需求分析,数据字典 :,关于数据的信息集合,DFD中所有元素定义的集合 内容 数据元素:数据字典中不可再分的数据单位 数据结构 数据流 数据存储 外部项 处理(一般不用DD描述),18,数据字典举例:,2.3 结构化的需求分析,19,数据流图中处理的逻辑表达方式 :,用“小说明”来描述处理的逻辑加工 工具 结构化自然语言(伪码) 判定树 判定表,介于自然语言和程序设计语言之间,在自然语言的 基础上,加上有限的词汇和语句而形成的语言 词汇表:DFD中名词(数据元素、数据结构、数据流) 执行性动词 运算符(算术、关系和逻辑运算符) 语句(祈使语句、判断语句、循环语句及复合语句),例如,“接收库存业务”的表达 : GET 库存业务 ; EDIT 库存业务 ; IF 库存业务有错 THEN 置库存业务的错误标志 ELSE 去掉库存业务的错误标志,表达条件和操作之间相关关系的一种规范方法 举例:处理“检查订购单” 的逻辑描述 IF 金额超过500元且未过期 THEN 发出批准单和提货单; IF 金额超过500元且已过期 THEN 不发批准单; IF 金额低于500元 THEN 不论是否过期发批准单和提货单,过期发出通知书,2.3 结构化的需求分析,三种工具比较 结构化自然语言:可以表达各种语句 判定树:适合表达判断 特别是嵌套的多层判断 判定表:适合表达判断 特别是某个处理依赖于多个逻辑条件,20,2.4 结构化设计,任务 : 构建系统的体系结构(模块组织、接口、数据库等) 步骤 : 概要设计:也称为总体设计,确定软件体系结构 详细设计:模块内部的具体设计,21,基本思想:自顶向下的模块化设计方法 设计方法:面向数据流的方法 变换流 变换分析法 事务流 事务分析法 描述方式:软件结构图 优点: 模块可以独立地被理解、编程、调试、排错和修改 简化研制工作,缩短开发周期,减少人力 模块相对独立,提高系统可靠性,2.4 结构化设计,22,信息流与软件结构的映射方法,2.4 结构化设计,23,矩形框表示,内部是模块名 模块名表达模块功能,常用动宾短语 可复用的模块用双纵边矩形框表示 如:,2.4 结构化设计,精确表达系统模块组织结构 反映模块间的相互联系(层次关系、调用关系) 表示: 模块 模块间的调用关系 模块间的信息传递,软件结构图 :,简单调用 判断调用 循环调用,数据信息 控制信息 如 :,24,2.4 结构化设计,优秀的软件结构:,具有层次性(腰鼓形) 最高层模块只有一个,最下层模块完成基本操作 没有模块“越层、同层调用”出现 顶层模块高扇出,中层模块低扇出,底层模块高扇入,25,2.4 结构化设计,软件设计原理:,模块化原理: 模块:单独命名的可以通过名字访问的数据说明、 可执行语句等程序对象的集合。 模块的外部特征:输入、输出、功能 模块的内部特征:内部数据和程序代码 模块化:把一个复杂的大型程序划分成若干个模块, 每个模块完成一个子功能,把这些模块汇 总起来组成一个整体,可以完成指定的功 能而满足问题的要求。,26,2.4 结构化设计,信息隐蔽:一个模块内所包含的信息(数据和代码) 对于不需要这些信息的模块不能访问 3)模块独立性:软件系统中的每个模块只完成一个相对 独立的子功能,且与其它模块间的接口 简单,软件设计原理:,27,2.4 结构化设计,定性度量 内聚:一个模块内各组成元素间彼此联系的紧密程度 耦合:不同模块之间相互联系的紧密程度 影响因素:模块间的联系方式(调用方式) 模块间的接口性质(由信息性质决定) 数据型、控制型、描述型标志、混合型 接口上通过的数据量 结构化设计目标:高内聚、低耦合,3) 模块独立性:,28,2.4 结构化设计,模块间的耦合程度: 无耦合 数据耦合 特征耦合 控制耦合 公共耦合 内容耦合,设计原则:以数据耦合为主,特征耦合为辅,少用 控制耦合,限制公共耦合,杜绝内容耦合,无耦合 : 模块完全独立工作,与其它模块无任何连接,耦合程度最低。,数据耦合 : 模块间仅仅通过参数交换数据信息,是松散耦合,模块间独立性较强。,特征耦合 : 模块间通过参数传递整个或部分数据结构,但只需要部分数据元素。,控制耦合: 模块间传递控制信息,修改模块,将影响到控制模块,降低模块的独立性。,公共耦合: 模块间使用了公共数据,如全程变量、共享通信区、内存的公共覆盖区等,降低系统的可读性、可修改性和可靠性。,内容耦合,形式: (1)访问其它模块的内部数据; (2)不通过正常入口进入其它模块内部;(3)代码重叠; (4)模块有多个入口(多功能),29,2.4 结构化设计,模块的内聚性:,30,软件设计原理,偶然内聚 逻辑内聚 时间内聚 过程内聚 通信内聚 顺序内聚 功能内聚,模块的内聚性:,31,2.4 结构化设计,软件设计原则:,模块分解的启发式规则: 提高模块独立性 模块规模适中 模块的扇入、扇出适当 “腰鼓”形:顶层扇出大、中间扇出较小、底层扇入大 作用域保持在控制域中,作用域:受模块内一个判定影响的模块的集合 控制域:模块本身及其直接或间接下属模块的集合,32,2.4 结构化设计,33,2.4 结构化设计,结构化设计策略:,将数据流图映射为软件结构 数据流图类型 变换型:以变换为中心 由输入、主处理、输出三部分组成 事务型:以事务为中心 一个中心处理将其输入数据流分离成一串 平行的输出数据流,34,2.4 结构化设计,结构图类型 变换型 事务型,35,2.4 结构化设计,变换分析策略构造变换型结构图 步骤 找出逻辑输入、主处理、逻辑输出 设计结构图的第一层和第二层 自顶向下设计下层模块,36,2.4 结构化设计,37,2.4 结构化设计,38,2.4 结构化设计,事务分析策略构造事务型结构图 步骤 识别事务中心处理和事务处理 设计结构图的第一层和第二层 为每个事务处理设计下层操作模块,可以共享 设计细节模块,也可以被操作模块共享,混合型结构图 以变换分析为主,事务分析为辅 举例:定货系统,39,2.4 结构化设计,40,对初始结构图的优化 模块独立性 加强模块内部联系 减少模块之间的联系 优化原则:先使它工作,然后再使它快起来,数据库设计 E-R图转化成对应的关系模式 规范化,2.4 结构化设计,41,问题定义:任务、结果 可行性研究:任务、内容、目的、结果 需求分析:任务、内容、方法、工具 SA方法:基本思想、分析步骤、结果 DFD:作用、基本成分、画法和原则 DD:作用、内容、表示 处理逻辑:作用、几种表示方法及其对比 数据分析:内容、方法,课堂总结(掌握,了解),42,软件设计:任务、步骤 结构化设计:目标、基本思想、设计方法 软件结构图:作用、画法、几个概念 软件设计原理:原理、内聚和耦合的分类 软件设计原则:四个原则 结构化软件设计策略: DFD和结构图的类型、转换策略、步骤 数据库的逻辑设计 结构化程序设计,课堂总结(掌握,了解),43,某超市计划使用计算机系统进行商品的销售与订货管理:商品入库时,接收超市管理员提供的商品入库信息,然后更新商品的库存数据;顾客购买商品时,根据售货员提供的商品销售信息来更新商品的库存数据;当商品的库存数量少于库存临界值时,需要进行订货处理,然后生成商品的订货报表,并通知采购员进行订货。试画出超市销售与订货管理的功能级数据流图。,思考题,
展开阅读全文
相关资源
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!