软件设计概述精PPT学习教案_第1页
软件设计概述精PPT学习教案_第2页
软件设计概述精PPT学习教案_第3页
软件设计概述精PPT学习教案_第4页
软件设计概述精PPT学习教案_第5页
已阅读5页,还剩80页未读 继续免费阅读

下载本文档

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

文档简介

1、会计学1 软件设计概述精软件设计概述精 第1页/共85页 第2页/共85页 第3页/共85页 5.1 5.1 软件设计的任务软件设计的任务 软件需求:解决软件需求:解决“做什么做什么” 软件设计:解决软件设计:解决“怎么做怎么做” 第4页/共85页 映射映射 第5页/共85页 第6页/共85页 F工具工具 如何描述软件的总体结构如何描述软件的总体结构 F方法方法 用什么方法有问题结构导出用什么方法有问题结构导出 软件结构软件结构 F评估准则评估准则 什么样的软件结构是什么样的软件结构是 “ “最优的最优的” 第7页/共85页 3. 3. 软件设计方法软件设计方法 F结构化设计方法结构化设计方法

2、(SD)(SD) F面向数据结构的设计方法面向数据结构的设计方法(JSD(JSD方法方法) ) F面向对象的设计方法面向对象的设计方法(OOD)(OOD) 第8页/共85页 第9页/共85页 结构化设计方法 模块设计 体系结构设计 软件设计的任务软件设计的任务-确定系统怎么做确定系统怎么做 结构化设计活动划分为两个阶段:结构化设计活动划分为两个阶段: 确定系统的整体体系结构-总体设计 确定各模块的具体实现-详细设计 界面设计 构件级程序设计 表示工具:表示工具: 总体设计 详细设计 层次图 (Hierarchy) IPO图(Input-Process-Output) 模块说明 程序框图 盒图(

3、N-S图) 决策表 PDL语言 第10页/共85页 第11页/共85页 模块化:模块化:把程序划分成若干个模块,每个模块完成一个子功能把程序划分成若干个模块,每个模块完成一个子功能 ,把这些模块集总起来组成一个整体,可以完成指定的功能,把这些模块集总起来组成一个整体,可以完成指定的功能, 满足问题的功能。满足问题的功能。 模块:模块:一个拥有明确定义的输入、输出和特性的程序实体。一个拥有明确定义的输入、输出和特性的程序实体。 第12页/共85页 构件:构件:可重复使用的软件组件。可重复使用的软件组件。 经过适当设计和实现的类也可以称为经过适当设计和实现的类也可以称为构件构件,他们在某个,他们在

4、某个 领域中具有一定的通用性,可以在不同的计算机软件系统中复领域中具有一定的通用性,可以在不同的计算机软件系统中复 用。将这些构件储存起来变成一个构件库,就为基于构件的软用。将这些构件储存起来变成一个构件库,就为基于构件的软 件开发模型提供了技术基础。件开发模型提供了技术基础。 第13页/共85页 第14页/共85页 第15页/共85页 结构化分析的结果结构化分析的结果结构化设计的工具结构化设计的工具 数据流图数据流图初始结构图初始结构图 数据字典数据字典设计数据字典设计数据字典 伪码伪码 实现方面实现方面伪码伪码 实体关系图实体关系图数据库设计数据库设计 事务框图事务框图分层、细化事务模分层

5、、细化事务模 型型 第16页/共85页 来源:结构化分析来源:结构化分析来源:结构化分析 数据流图 字典项 伪码 实体关系图 事务框图 环境的限制质量的标准 转化分析细化设计 进入实现阶 段 初始结构框图 第17页/共85页 第18页/共85页 第19页/共85页 第20页/共85页 文件管理文件管理 网络管理网络管理 设备管理设备管理 高速缓冲存储器高速缓冲存储器 对虚拟文件的对虚拟文件的 字节流字节流, , 虚拟文件可为虚拟文件可为 任何设备和实任何设备和实 体体 抽象抽象 第21页/共85页 第22页/共85页 信息隐蔽:对模块内部信息访问的约束 信息隐蔽的基本原则: 功能独立,高内聚且

6、低耦合 第23页/共85页 高可复用性的期望: 功能复用是代码级的,它基于必要的功能理解,而功能的语义是不 一致的、多理解的。 希望软件复用是全方位的,不但是代码级的复用,还应该有源程序 级的复用。 面向对象方法的高可复用性: 对象的语义表示是唯一的,这使得代码级的复用简单且自然。 类的继承性是源程序级的复用机制 ,它允许用已有的程序构架来 简单地构造新的应用。并且仍保持高维护性,这种技术带来复用概念 的新突破。 4. 4.软件复用:软件复用: 利用已有的现成构件,不必一切都从头做起。利用已有的现成构件,不必一切都从头做起。 第24页/共85页 第25页/共85页 模块化是好的软件设计的一个基

7、本准则模块化是好的软件设计的一个基本准则 高层模块高层模块 从整体上把握问题从整体上把握问题, ,隐蔽细节隐蔽细节 复杂问题复杂问题 较小问题较小问题 分解分解 可减小解题所需的总的工作可减小解题所需的总的工作 分解分解 第26页/共85页 C(p1)C(p2) 则则 E(p1)E(p2) 其中:其中: p1和和p2是两个问题是两个问题 C(x)是由是由x问题决定的复杂性问题决定的复杂性 E(x)是解决是解决x问题所需要的工作量问题所需要的工作量 C(p1+p2) C(p1) +C(p2) E(p1+p2) E(p1) +E(p2) 试验发现 模块划分得越小成本越低模块划分得越小成本越低 ,但

8、是,但是 集成成本却随着模块划分得越小集成成本却随着模块划分得越小 成本越高。成本越高。 如何确定模块化分的最小成本区,并保证模块的最佳性能,是设如何确定模块化分的最小成本区,并保证模块的最佳性能,是设 计活动中的主要任务之一。计活动中的主要任务之一。 第27页/共85页 成成 本本 或或 工工 作作 量量 模块数量模块数量 软件总成本软件总成本 集成成本集成成本 成本成本/ /模块模块 M 最小成本区域最小成本区域 第28页/共85页 第29页/共85页 第30页/共85页 偶然内聚:各成分之间并没有关系,只是把分散在多处的功能合在一起 逻辑内聚:仅仅是逻辑功能相关成分合在一起 时间内聚:必

9、须在同一时间执行,并无功能逻辑的成分合在一起 过程内聚:过程顺序相关的功能成分合在一起 通讯内聚:需要对相同的外部数据进行操作的成分合在一起 顺序内聚:一个内部成分的输出是另一个内部成分的输入,将它们合起来 功能内聚:只完成单一的功能 低低 高高 内容耦合:一个模块直接修改另一个模块的内容 公共耦合:两个以上的模块共同引用一个全局数据 外部耦合:若允许一组模块访问同一个全局变量 控制耦合:接收模块的动作依赖于控制信号 标记耦合:两个模块接口的参数包含相同的内部结构 数据耦合:仅是模块之间的数据传递 非直接耦合:模块之间没有消息传递 低低 高高 内聚-模块内部各成分之间的关联程度 耦合-模块之间

10、的依赖程度 第31页/共85页 第32页/共85页 内聚:一个模块内各个元素彼此结合的紧密程度。 偶然内聚:一个模块完成一组任务,任务之间的关系很松散。公共语句。 逻辑内聚:若干个逻辑功能类似的任务组成一个模块。 时间内聚:若干个任务必须在同一段时间内执行。如初始化工作。 低内聚 中内聚 高内聚 过程内聚:模块内的处理元素是相关的,且必须以特定次序执行。 通信内聚:模块中所有元素都使用同一个输入数据,和/或产生同一个 输出数据。 顺序内聚:模块中所有处理元素和同一个功能密切相关,且这些处理必 须顺序执行。 功能内聚:所有处理元素属于一个整体,完成一个单一的功能。 模块A模块B模块C S1; S

11、2; 模块A 模块B模块C 模块A模块B模块C 模块D 第33页/共85页 模模 块块 独独 立立 性性 弱弱( (功能分散功能分散) ) 强强( (功能单一功能单一) ) 第34页/共85页 ABC M MOVE O TO R READ FILE F MOVE S TO T 模块模块M中的三个语句没有任何联系中的三个语句没有任何联系 缺点:缺点:可理解性差,可理解性差, 可修改性差。可修改性差。 例例: : 第35页/共85页 第36页/共85页 ABC EFG ABC EFG A1B1C1 EFGEFG模块内部逻辑模块内部逻辑 E E、F F、G G逻辑逻辑 功能相似,组功能相似,组 成新

12、模块成新模块EFGEFG 公用代码段公用代码段 公用代码段公用代码段 缺点:增强了耦合程度(控制耦合)不易修改,缺点:增强了耦合程度(控制耦合)不易修改, 效率低。效率低。 第37页/共85页 第38页/共85页 第39页/共85页 建立方程组系数矩阵建立方程组系数矩阵 全部任务纳入一个全部任务纳入一个 模块,得到一过程模块,得到一过程 性模块性模块 高斯消去法高斯消去法 回回 代代 高斯消去法解题流程高斯消去法解题流程 第40页/共85页 读入读入 成绩单成绩单 读入并审查读入并审查 成绩单成绩单 审查审查 成绩单成绩单 统计统计 成绩成绩 打印打印 成绩成绩 统计并打印统计并打印 成绩成绩

13、 第41页/共85页 第42页/共85页 产生工产生工 资报表资报表 计算平计算平 均工资均工资 职工工职工工 资记录资记录 职工工职工工 资报表资报表 平均平均 工资工资 产生职工工资报表并计算平均工资模块产生职工工资报表并计算平均工资模块 第43页/共85页 开领开领 书单书单 登记登记 售书售书 发票发票 领书单领书单 售售 书书 登记表登记表 文件文件 删除删除 修改修改 第44页/共85页 第45页/共85页 建立方程组系数矩阵建立方程组系数矩阵 高斯消去法高斯消去法 回回 代代 高斯消去法解题流程高斯消去法解题流程 第46页/共85页 第47页/共85页 建立方程组系数矩阵建立方程

14、组系数矩阵 高斯消去法高斯消去法 回回 代代 高斯消去法解题流程高斯消去法解题流程 第48页/共85页 第49页/共85页 内容耦合:一个模块直接修改另一个模块的内容内容耦合:一个模块直接修改另一个模块的内容 公共耦合:两个以上的模块共同引用一个全局公共耦合:两个以上的模块共同引用一个全局 数据数据 外部耦合:若允许一组模块访问同一个全局变外部耦合:若允许一组模块访问同一个全局变 量量 控制耦合:模块之间传递的参数含有控制信息控制耦合:模块之间传递的参数含有控制信息 标记耦合:两个模块接口的参数包含相同的内标记耦合:两个模块接口的参数包含相同的内 部结构部结构 数据耦合:模块之间通过参数交换数

15、据信息。数据耦合:模块之间通过参数交换数据信息。 非直接耦合:模块之间没有消息传递非直接耦合:模块之间没有消息传递 低低 高高 耦合耦合-模块之间的依赖程度模块之间的依赖程度 第50页/共85页 1.非直接耦 合 2.数据耦合 3.特征耦合 4.控制耦合 5.外部耦合 6.公共耦合 7.内容耦合 弱耦 合 中耦 合 较强耦合 强耦 合 模块1模块2 模块3模块4 数据耦合 通过简单变量 交换数据 特征耦合 通过数据结 构交换数据 非直接耦合 模块之间没有信息传递 模块 A 模块 B 模块 C 模块 D 模块 L 模块 N 全局性数据结构 公共耦合 Flag=1? S1S2 模块1 控制耦合 模

16、块之间传 递的是控制 信息 TF 全 局 性简单变量 外部耦合 模块A 模块B 内容耦合 访问其它模块的内部数据 直接跳到其他模块内部执行 第51页/共85页 无耦合没有依赖关系无耦合没有依赖关系 松散耦合有松散耦合有 少量依赖关系少量依赖关系 紧密耦合有紧密耦合有 很多依赖关系很多依赖关系 第52页/共85页 第53页/共85页 模模 块块 独独 立立 性性 弱弱 ( (低耦合低耦合) ) 强强 ( (中耦合中耦合) ) ( (较强耦合较强耦合) ) ( (强耦合强耦合) ) 第54页/共85页 模块模块1 1模块模块2 2 模块模块3 3模块模块4 4 第55页/共85页 第56页/共85

17、页 开发票开发票 计算水费计算水费 单价单价 数量数量 金额金额 第57页/共85页 计算水电费计算水电费 计算水费计算水费计算电费计算电费 用水量用水量 用电量用电量 水费水费 电费电费 第58页/共85页 第59页/共85页 计算水电费计算水电费 计算水费计算水费计算电费计算电费 住户情况住户情况 水费水费 电费电费 住户情况住户情况 “住户情况住户情况”是一个数据结构,图中模块都与此数据结是一个数据结构,图中模块都与此数据结 构有关。构有关。 “计算水费计算水费”和和“计算电费计算电费”本无关,由于引用了此数本无关,由于引用了此数 据结构产生依赖关系,它们之间也是标记偶合。据结构产生依赖

18、关系,它们之间也是标记偶合。 第60页/共85页 计算水电费计算水电费 计算水费计算水费计算电费计算电费 本月本月 用水量用水量 本月本月 用电量用电量 水费水费 电费电费 第61页/共85页 第62页/共85页 A A 计算平均分计算平均分 或最高分或最高分 B B 平均/最高成绩 第63页/共85页 读入分数读入分数 输出结果输出结果 计算平均分计算平均分 计算最高分计算最高分 平均平均/ /最高最高? ? 调用逻辑性模块调用逻辑性模块 B B时,须先传递时,须先传递 控制信号控制信号( (平均分平均分 / /最高分最高分) ),以选,以选 择所需的操作。择所需的操作。 控制模块必须知控制模块必须知 道被控模块的内道被控模块的内 部逻辑,增强了部逻辑,增强了 相互依赖。相互依赖。 B B 第64页/共85页 第65页/共85页 A A 计算平均分计算平均分 B1B1 平均成绩最高成绩 计算最高分计算最高分 B2B2 第66页/共85页 A A 发奖牌发奖牌 名次名次 ( (开关量开关量) ) 奖牌奖牌 控制耦合控制耦合 被调用模块内被调用模块内 处理逻辑模式处理逻辑模式 功能功能A

温馨提示

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

最新文档

评论

0/150

提交评论