信息系统分析与设计-5.ppt
- 文档编号:2639469
- 上传时间:2022-11-04
- 格式:PPT
- 页数:78
- 大小:2.97MB
信息系统分析与设计-5.ppt
《信息系统分析与设计-5.ppt》由会员分享,可在线阅读,更多相关《信息系统分析与设计-5.ppt(78页珍藏版)》请在冰豆网上搜索。
2022/11/41第五部分第五部分信息系统的设计信息系统的设计2022/11/42l系统设计的任务系统设计的任务如何实现系统需求说明书中规定的系统功能如何实现系统需求说明书中规定的系统功能。
避免发生避免发生“水水波效应波效应”l系统设计的阶段系统设计的阶段l概要设计阶段(总体设计阶段)概要设计阶段(总体设计阶段)l详细设计阶段详细设计阶段5.1概述2022/11/43l概要设计的内容概要设计的内容划分系统划分系统确定模块的功能确定模块的功能确模块的调用关系确模块的调用关系确定模块的界面确定模块的界面l图形工具图形工具结构图结构图层次图和层次图和HIPO图图酒店管理信息系统功能结构图酒店管理信息系统功能结构图HMIS收银管理子系统收银管理子系统客房管理子系统客房管理子系统其它管理子系统其它管理子系统客客人人登登记记预预定定登登记记客客房房处处理理历历史史记记录录客客房房查查询询预预定定查查询询餐餐桌桌安安排排菜菜单单作作业业营营业业结结帐帐汇汇总总打打印印各各类类查查询询初初始始设设置置客客帐帐处处理理退退房房处处理理夜夜审审处处理理客客帐帐查查询询报报表表打打印印大型零售商场管理信息系统功能结构图大型零售商场管理信息系统功能结构图TMMIS系系统统维维护护POS系系统统零零售售实实时时系系统统商商品品进进货货管管理理商商品品批批发发管管理理商商品品库库存存管管理理商商品品及及商商品品帐帐管管理理顾顾客客管管理理连连锁锁店店管管理理财财务务管管理理人人事事工工资资管管理理计计划划统统计计管管理理经经理理查查询询2022/11/465.2总体设计的基本概念1.模块模块模块具有输入和输出、逻辑功能、运行程序、模块具有输入和输出、逻辑功能、运行程序、内部数据四种属性。
内部数据四种属性。
模块用长方形标识:
模块用长方形标识:
计算工资计算工资2022/11/472.结构图结构图结构化设计用结构图描述系统的模块结构及模块间的联系。
结构化设计用结构图描述系统的模块结构及模块间的联系。
结构图中的主要成分有:
结构图中的主要成分有:
l模块:
用长方形表示。
模块:
用长方形表示。
l调用:
从一个模块指向另一个模块的箭头表示用前一个调用:
从一个模块指向另一个模块的箭头表示用前一个模块调用后一个模块。
模块调用后一个模块。
l数据:
用带圆圈的小箭头表示从一个模块传递给另一模数据:
用带圆圈的小箭头表示从一个模块传递给另一模块的数据。
块的数据。
l控制信息:
带圆点的小箭头表示一个模块传送给另一模控制信息:
带圆点的小箭头表示一个模块传送给另一模块的控制信息。
块的控制信息。
结构图的层数称为深度,一个层次上的模块总数称为宽度。
结构图的层数称为深度,一个层次上的模块总数称为宽度。
2022/11/481111)图例示意)图例示意)图例示意)图例示意编辑学生记录编辑学生记录读学生记录读学生记录学生数据学生数据无此学生无此学生学号学号调用调用数据信息数据信息控制信息控制信息模块2022/11/4922)SCSC中的四种模块中的四种模块传入模块传入模块(a)(b)AA传出模块传出模块BB变换模块变换模块(c)CD协调模块协调模块E(d)EFF2022/11/41033)SSCC中的选择调用中的选择调用A根据内部判断根据内部判断决定是否调用决定是否调用BBACBDA按另一判定结果按另一判定结果选择调用选择调用C或或D44)SCSC中的循环调用中的循环调用ABCA根据内在的循环重复调用根据内在的循环重复调用B、C等模块等模块2022/11/4113.模块间的联系模块间的联系为了衡量模块的相对独立性,提出了模块间的耦合与为了衡量模块的相对独立性,提出了模块间的耦合与模块的内聚两个标准。
耦合反映模块之间连接的紧密模块的内聚两个标准。
耦合反映模块之间连接的紧密程度,内聚指一个模块内各元素彼此结合的紧密程度程度,内聚指一个模块内各元素彼此结合的紧密程度l模块之间的模块之间的耦合性耦合性l模块自身的模块自身的内聚性内聚性模块独立的含义:
模块独立的含义:
l模块完成独立的功能模块完成独立的功能l符合信息隐蔽和信息局部化原则符合信息隐蔽和信息局部化原则l模块间关连和依赖程度尽量小模块间关连和依赖程度尽量小2022/11/4121111)模块独立性的度量之一)模块独立性的度量之一)模块独立性的度量之一)模块独立性的度量之一:
耦合性耦合性耦合性耦合性u模块间相对独立性(相互依赖程度)的度量模块间相对独立性(相互依赖程度)的度量u耦合性越高,模块独立性越弱耦合性越高,模块独立性越弱无耦合没有依赖关系无耦合没有依赖关系松散耦合有少松散耦合有少量依赖关系量依赖关系紧密耦合有很多依赖关紧密耦合有很多依赖关系系耦合强度依赖的因素:
耦合强度依赖的因素:
一模块对另一模块的引用一模块对另一模块的引用一模块向另一模块传递的数据量一模块向另一模块传递的数据量一模块施加到另一模块的控制的数量一模块施加到另一模块的控制的数量模块间接口的复杂程度模块间接口的复杂程度2022/11/4132222)模块间耦合的类型)模块间耦合的类型)模块间耦合的类型)模块间耦合的类型低低耦耦合合性性高高模模块块独独立立性性弱弱(低耦合低耦合)强强(中耦合中耦合)(较强耦合较强耦合)(强耦合强耦合)无直接耦合无直接耦合数据耦合数据耦合标记耦合标记耦合控制耦合控制耦合外部耦合外部耦合公共耦合公共耦合内容耦合内容耦合2022/11/414a.a.a.a.无直接耦合无直接耦合无直接耦合无直接耦合两个模块没有直接关系两个模块没有直接关系(模块模块11和模块和模块2)2),模块独立性最强。
,模块独立性最强。
模块模块11模块模块22模块模块33模块模块44b.b.数据耦合数据耦合数据耦合数据耦合一模块调用另一模块时,被调用模块的输入、输出都一模块调用另一模块时,被调用模块的输入、输出都是简单的数据是简单的数据(若干参数若干参数)。
属松散耦合。
属松散耦合。
数据耦合举例数据耦合举例数据耦合举例数据耦合举例开发票开发票计算水费计算水费单价单价数量数量金额金额c.c.c.c.标记耦合标记耦合标记耦合标记耦合(特征耦合特征耦合特征耦合特征耦合)如两个模块通过传递如两个模块通过传递数据结构数据结构(不是简单数据,而是记录、不是简单数据,而是记录、数组等数组等)加以联系,或都与一个加以联系,或都与一个数据结构数据结构有关系有关系,则称这两则称这两个模块间存在标记偶合。
个模块间存在标记偶合。
标记耦合举例标记耦合举例标记耦合举例标记耦合举例计算水电费计算水电费计算水费计算水费计算电费计算电费住户情况住户情况水费水费电费电费住户情况住户情况“住户情况住户情况”是一个是一个数据结构数据结构,图中模块都与此数据结构有关图中模块都与此数据结构有关.“计算水费计算水费”和和“计算电费计算电费”本无关本无关,由于引用了此数据结构产生依赖关系由于引用了此数据结构产生依赖关系,它们之间也是它们之间也是标记偶合标记偶合.计算水电费计算水电费计算水费计算水费计算电费计算电费本月本月用水用水量量本月本月用电量用电量水费水费电费电费将标记耦合修改为数据耦合举例将标记耦合修改为数据耦合举例将标记耦合修改为数据耦合举例将标记耦合修改为数据耦合举例d.d.d.d.控制耦合控制耦合控制耦合控制耦合一模块向下属模块传递的信息一模块向下属模块传递的信息(开关量、标志等控制被调开关量、标志等控制被调用模块决策的变量用模块决策的变量)控制了被调用模块的内部逻辑。
控制了被调用模块的内部逻辑。
控制耦合举例控制耦合举例平均平均/最高最高(控制信号控制信号)AA计算平均分计算平均分或最高分或最高分BB成绩成绩读入分数读入分数输出结果输出结果计算平均分计算平均分计算最高计算最高分分平均平均/最高最高?
BB控制耦合增加了理解和编程的复杂性,调用模块必须知道被调模控制耦合增加了理解和编程的复杂性,调用模块必须知道被调模块的内部逻辑,增加了相互依赖。
块的内部逻辑,增加了相互依赖。
去除模块间控制耦合的方法:
去除模块间控制耦合的方法:
(1)
(1)将被调用模块内的判定上移到调用模块中进行将被调用模块内的判定上移到调用模块中进行
(2)
(2)被调用模块分解成若干单一功能模块被调用模块分解成若干单一功能模块改控制耦合为数据耦合举例改控制耦合为数据耦合举例改控制耦合为数据耦合举例改控制耦合为数据耦合举例AA计算平均分计算平均分B1B1平均成绩最高成绩计算最高分计算最高分B2B2e.e.e.e.外部耦合外部耦合外部耦合外部耦合一组模块均与同一外部环境关联一组模块均与同一外部环境关联(例如例如,I/O模块与特定的设模块与特定的设备、格式和通信协议相关联备、格式和通信协议相关联),它们之间便存在外部耦合。
它们之间便存在外部耦合。
外部偶合必不可少外部偶合必不可少,但这种模块数目应尽量少。
但这种模块数目应尽量少。
f.f.f.f.公共耦合公共耦合公共耦合公共耦合(公共数据区耦合公共数据区耦合公共数据区耦合公共数据区耦合)一组模块引用同一个公用数据区一组模块引用同一个公用数据区(也称全局数据区、公共也称全局数据区、公共数据环境数据环境)。
公共数据区公共数据区指:
指:
l全局数据结构全局数据结构l共享通讯区共享通讯区l内存公共覆盖区等内存公共覆盖区等公共数据区公共数据区CCBB模块模块AA、BB、CC间存在错综复杂的联系间存在错综复杂的联系
(1)
(1)软件可理解性降低软件可理解性降低
(2)
(2)诊断错误困难诊断错误困难(3)(3)软件可维护性差,软件可维护性差,(4)(4)软件可靠性差软件可靠性差(公共数据区及全程变量无保护措施公共数据区及全程变量无保护措施)慎用公共数据区和全程变量慎用公共数据区和全程变量!
公共耦合存在的问题:
公共耦合存在的问题:
公共耦合存在的问题:
公共耦合存在的问题:
g.g.g.g.内容耦合内容耦合内容耦合内容耦合一模块直接访问一模块直接访问另一模块的内部另一模块的内部信息信息(程序代码程序代码或数据)或数据)最不好的耦合形式最不好的耦合形式!
ABAB模块代码重叠模块代码重叠Entry1Entry1多入口模块多入口模块模块化设计的原则和目标耦合是影响软件复杂程度和设计质量的重要因素耦合是影响软件复杂程度和设计质量的重要因素目标目标:
建立模块间耦合度尽可能松散的系统:
建立模块间耦合度尽可能松散的系统如何降低模块间耦合度如何降低模块间耦合度:
(1)
(1)尽量使用数据耦合尽量使用数据耦合少用控制耦合少用控制耦合限制公共耦合的范围限制公共耦合的范围坚决避免使用内容耦合坚决避免使用内容耦合
(2)
(2)降低接口的复杂性降低接口的复杂性3)3)模块独立性的度量之二:
模块独立性的度量之二:
内聚性内聚性一个模块内部元素在功能上相互关联的强度一个模块内部元素在功能上相互关联的强度设计目标:
高内聚设计目标:
高内聚(模块在软件过程中完成单一的任务模块在软件过程中完成单一的任务)模块的内聚性类型模块的内聚性类型低低偶然内聚偶然内聚00分分逻辑内聚逻辑内聚11分分内内时间内聚时间内聚33分分聚聚过程内聚过程内聚55分分性性通信内聚通信内聚77分分信息内聚信息内聚99分分高高功能内聚功能内聚1010分分模模块块独独立立性性弱弱(功能分散功能分散)强强(功能单一功能单一)
(1)
(1)
(1)
(1)偶然内聚偶然内聚偶然内聚偶然内聚(巧合内聚巧合内聚巧合内聚巧合内聚)模块内各部分间无联系模块内各部分间无联系ABCMMOVEOTORREADFILEFMOVESTOT模块模块M中的三个语句没有任何联系中的三个语句没有任何联系缺点:
缺点:
可理解性差,可理解性差,可修改性差可修改性差例例:
(2)
(2)
(2)
(2)逻辑内聚逻辑内聚逻辑内聚逻辑内聚把几种相关功能(逻辑上相似的功能)组合在一模块内,把几种相关功能(逻辑上相似的功能)组合在一模块内,每次调用由传给模块的参数确定执行哪种功能。
每次调用由
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 信息 系统分析 设计
![提示](https://static.bdocx.com/images/bang_tan.gif)