信息系统设计.ppt

上传人:sccc 文档编号:5983522 上传时间:2023-09-11 格式:PPT 页数:179 大小:6.44MB
返回 下载 相关 举报
信息系统设计.ppt_第1页
第1页 / 共179页
信息系统设计.ppt_第2页
第2页 / 共179页
信息系统设计.ppt_第3页
第3页 / 共179页
信息系统设计.ppt_第4页
第4页 / 共179页
信息系统设计.ppt_第5页
第5页 / 共179页
点击查看更多>>
资源描述

《信息系统设计.ppt》由会员分享,可在线阅读,更多相关《信息系统设计.ppt(179页珍藏版)》请在三一办公上搜索。

1、第四章 信息系统设计,主要内容:针对信息系统设计的各项任务介绍这一阶段的开发方法和对策。,4.1 信息系统设计概述,4.1.1 系统设计的任务 确定系统功能结构依据系统分析文档资料,采用正确的方法来确定系统各功能模块在计算机内应该由哪些程序组成,它们之间用什么方式联结在一起以构成一个最好的系统机内结构;表达设计成果使用一定的工具将所设计的成果表达出来;详细设计与实现考虑到实现系统功能的需要,进行数据库的详细设计、编码设计、输入/输出界面(人机界面)设计等等,4.1.2 系统设计步骤,第一步进行数据库的物理设计。第二步进行编码设计。第三步进行界面设计。第四步进行系统功能设计。,根据总体方案及系统

2、分析的实际需求考虑数据库的存储方式(集中式或分布式);考虑物理库的数量及每一个物理库所包含的数据库表的内容;从查询处理效率等方面考虑数据库表的索引问题等等。,4.1.2 系统设计步骤,第一步进行数据库的物理设计。第二步进行编码设计。第三步进行界面设计。第四步进行系统功能设计。,编码是系统的重要组成部分,与数据的规范性和交换性密切相关,编码一旦被设计处理将会永久使用并常驻于数据库中,因此需要在系统设计阶段给出具有永久性、稳定性的编码设计方案。,4.1.2 系统设计步骤,第一步进行数据库的物理设计。第二步进行编码设计。第三步进行界面设计。第四步进行系统功能设计。,构造良好的界面是未来系统能够顺利运

3、行的重要前提,要使信息系统使用起来更加舒适、更加高效就需要在界面设计方面具有一个全新的设计策略,这个设计策略要在程序设计之前完成。,4.1.2 系统设计步骤,第一步进行数据库的物理设计。第二步进行编码设计。第三步进行界面设计。第四步进行系统功能设计。,基于前述所有工作进行,采用“自顶向下”的原则考虑模块的划分与设计,使模块内部以及模块与模块之间的连接具有合理的结构。功能设计结果的表达方式可以有两种:利用“结构图”来描述模块的功能和模块之间的信息交换;用Rational Rose工具来描述。有一组评价标准来对设计结果进行评价,用一组设计原则对系统模块进行优化设计。,4.1.3 系统设计评价标准,

4、1、运行效率 2、可靠性3、可修改性 4、灵活性5、通用性6、实用性,影响系统处理能力的因素:,系统中间文件的数量临时的、用后抛弃,应减少之 数据文件的次数 检索方案:例:数据库表中包含3种类型的记录:A、B、C每次从头到尾仅一次,遇到就相应处理外存访问次数 文件访问时间主要用于:(记录定位、磁头定位、传输到指定位置)定位和传输建立外存访问次数少的系统程序的调用和其它的系统开销所花费的时间 程序的执行时间程序的执行时间与程序的质量有关,4.1.3 系统设计评价标准,1、运行效率 2、可靠性3、可修改性 4、灵活性5、通用性6、实用性,可靠性应考虑的问题:,校验码例:银行账号 10位,最后1位是

5、校验码特点:增加处理时间,防止一些错误的发生批量控制预定批处理事务的总数若批处理事务运行与人工计算总数不一致则有错,计算机不予处理。建立运行日志和信息追踪降低运行效率,但非常必要文件的存取限制预定义用户操作权限,以备系统检查可靠性指标,可靠性指标:,“平均故障间隔时间”(Mean_Time_Between_Failures,MTBF)“平均修复时间”(Mean_Time_To_Repairs,MTTR)平均每次所用的修理时间(排除故障时间)系统的有效性=MTBF/(MTBF+MTTR)越接近1,系统的有效性越高,4.1.3 系统设计评价标准,1、运行效率 2、可靠性3、可修改性 4、灵活性5、

6、通用性6、实用性,提高系统可修改性的原因:,、客观数据和功能需求的变化系统是在一个实际的客观环境中运行,其数据来自于客观现实,而客观世界是在不断地变化的,它导致客观数据的变化和功能需求的变化,为适应不断变化需求,必然要求信息系统也随之而变化,即对信息系统做相应的修改。、计算机技术在不断地发展计算机技术在不断地发展,硬件价格越来越便宜,新的操作系统和程序语言在不断地出现或升级,计算机网络技术和通讯技术也在不断地发展,这些必然对信息系统产生影响,迫使用户考虑使用新的技术、更新设备、提高系统运行效率、完善系统功能等等。、系统本不完善无论是在系统分析、系统设计、程序设计及调试阶段,都可能会发现一些问题

7、导致对前一阶段的工作进行修正,到了系统测试阶段也必然会发现一些问题和故障需要给予解决,这些都意味着对系统的修改。、错误在系统运行阶段才能暴露对于一个复杂的系统来说,不可能在系统测试阶段就能够完全彻底地把故障全部排除,有的错误可能会在系统运行阶段才能暴露出来,要把这些错误纠正过来称为运行纠错,这同样意味着对系统进行修改和维护。,4.2 数据库设计和编码设计,4.2.1 数据库设计,数据库系统的三级模式结构,数据库设计内容:,1、用户权限的设计例,教学管理系统设计用户权限表2、索引文件的设计数据检索的一般方法顺序索引文件的查找方法:折半查找等索引特点:占空间、维护复杂3、中间文件或临时文件的设计4

8、、视图(View)的设计 视图是虚表,只保留定义,4.2.2 编码设计,1、编码设计的地位和作用信息系统建设的指导思想数据位于现代数据处理的中心,数据模型是稳定的而处理是多变的。信息分类编码,编码设计步骤,对编码对象进行科学分类 按照一定的规则设计代码,2、分类的原则和方法分类的原则:,科学性:选择事物或概念(即分类对象)中最稳定的本质属性或特征作为分类的基础和依据。系统性:将选定的事物或概念的属性特征按一定的排列顺序予以系统化,并形成一个合理的科学分类体系。可扩展性:要具有可拓展的类目,以保证增加新的事物或概念时,不致于打乱已建立的分类体系,同时还应为下级信息系统在本分类体系的基础上进行延拓

9、细化创造条件。兼容性:与有关标准(包括国际标准、国家标准、行业标准等)协调一致。综合实用性:要从系统出发,把全局问题放在系统整体中处理,以达到全系统最优,信息分类的基本方法:线分类法和面分类法。,(1)线分类法(层级分类法):是将初始的分类对象(即被划分的事物或概念)按所选定的若干属性或特征(作为分类的划分基础)逐次地分成相应的若干层级的类目,并排成一个有层次的、逐级展开的分类体系。上位类:即在线分类体系中一个类目相对于由它直接划分出来的下一级类目而言,称为上位类。下位类:即在线分类体系中,由上位直接划分出来的下一级类目相对于上位类而言,称为下位类。同位类:即在线分类体系中由一个类目直接划分出

10、来的下一级中的各类目,彼此称为同位类。,例如:GB2260-86中华人民共和国行政区划代码采用的是线分类法,将全国行政区划分为三层:第一层为省(自治区、直辖市)第二层为地区(市、州、盟)第三层为县(市、旗、镇、区)。,线分类法的原则:,下位类类目的总范围应与上位类类目相等由某一上位类划分出来的下位类类目的总范围应与上位类类目相等;划分基准当某一个上位类类目划分成若干个下位类类目时,应选择一个划分基准:同位类类目之间不交叉、不重复,并只对应于一个上位类;分类要依次进行,不应有空层或加层。,线分类法的优点是:层次性好,能较好地反映类目之间的逻辑关系使用方便,既符合手工处理信息的传统习惯,又便于计算

11、机处理信息线分类法的缺点是:结构弹性较差,分类结构一经确定,不易改动;分类层次较多时,为其所设计的代码位数会较大,影响数据处理的效率与速度。,(2)面分类法,将所选定的分类对象的若干个属性或特征视为若干个“面”,每个“面”中有可分成彼此独立的若干个类目,再按一定的顺序将各个“面”平行排列。使用时可根据需要将这些“面”中的类目按指定的顺序组合在一起,形成一个新的复合类目。,例如:服装的分类采用面分类法,选择服装材料、男女式样、服装款式三个属性作为三个“面”,每个“面”又可分成若干个类目,如下表。,面分类法的原则:,面 选择分类对象本质的属性或特征作为分类对象的各个“面”类目不同面内的类目不应相互

12、交叉,也不能重复出现“面”位置每个“面”有严格的固定位置“面”的选择以及位置的确定,根据实际需要而定。,面分类法的优点:具有较大的弹性,一个“面”内类目改变,不会影响其它的“面”适应性强,可根据需要组成任何类目,同时也便于计算机处理信息易于添加和修改类目面分类法的缺点:不能充分利用容量,可组配的类目很多,但有时实际应用的类目不多难于手工处理信息,3、代码设计的原则和方法,(1)代码的功能:信息代码:是一个或一组有序的、易于计算机和人识别与处理的符号,有时也称为“码”。功能如下:标识:鉴别编码对象的唯一标志分类:当按编码对象的属性或特征分类,并赋予不同的类别代码时,代码又可以作为区分编码对象类别

13、的标志排序:当按编码对象发现(产生)的时间、所占有的空间或其他方面的顺序关系分类,并赋予不同的代码时,代码又可作为编码对象排序的标志 特定含义:代码是在一定分类体系下产生的,因此代码可提供一定的特定含义,(2)代码设计的基本原则:,唯一性 合理性 可扩充性 简单性 适用性 规范性,在一个分类编码标准中:每一个编码对象仅有一个代码,一个代码只惟一表示一个编码对象。,(2)代码设计的基本原则:,唯一性 合理性 可扩充性 简单性 适用性 规范性,代码结构要与分类体系相适应。,(2)代码设计的基本原则:,唯一性 合理性 可扩充性 简单性 适用性 规范性,留适当的后备容量以适应不断扩充的需要。,(2)代

14、码设计的基本原则:,唯一性 合理性 可扩充性 简单性 适用性 规范性,代码结构应简单:以节省存储空间减少代码差错率提高处理计算机效率。,(2)代码设计的基本原则:,唯一性 合理性 可扩充性 简单性 适用性 规范性,代码要反映编码对象的特点:有助记忆、填写。,(2)代码设计的基本原则:,唯一性 合理性 可扩充性 简单性 适用性 规范性,在一个分类编码标准中,代码:类型、结构以及编写格式必须统一。,(3)常用代码设计方案,顺序码:是一种用连续数字代表项目名的编码。例如:00 学校 01 数学系 02 物理系 特点:代码位数少,一个项目一个连续号处理容易设计和管理较容易,表意码是把直接或间接表示编码

15、化对象属性的某些文字、数字、记号原封不动作为编码,(3)常用代码设计方案,特点:见码知意,易记、易理解编码数量增加时,位数据增加,使处理不变,位别码:是用不同的位来代表不同的类别,每一位具有某一类别含义。例如:在行政区划代码(GB226084)中:第一、二位描述省(自治区、直辖市)、第三、四位描述市(市、州、盟)、第五、六位描述县(市、旗、镇、区),(3)常用代码设计方案,合成码:是把编码对象用两种以上的代码方案进行组合。例1:,(3)常用代码设计方案,编码方案:省、市、县用顺序码,各位用位别码。位别码和顺序码相结合。,服装代码:“0101001”表示一款纯棉男式中山装“0102002”表示一

16、款纯棉女式西服,特点:容易分类、增加编码层次可从多方面去识别,做各种分类统计容易位数和数据项个数较多。,(3)常用代码设计方案,例2:位别码:描述分类属性;顺序码:每类中用,4、分类编码的设计步骤,选定编码化的对象确定对象所属子系统,即:需编码的项目,编码的名称明确编码化的目的及编码在系统中的作用确定编码使用范围应适用于一个企业中各部门还可在外单位使用确定编码使用期限无特殊情况,应作永久性使用决定编码方法合适的分类方法和代码种类及校验方式,5、编码设计实例,例:教学管理系统,确定编码对象如表4-5。课程编码设计方案:5位数字组成,4.3 人机界面设计,4.3.1 输入/输出方式 4.3.2 操

17、作模式的设计4.3.3 界面统一性设计,4.3.1 输入/输出方式,输入/输出方式校对方式,4.3 人机界面设计,4.3.1 输入/输出方式,输入/输出方式,4.3 人机界面设计,键盘输入 A/D,D/A(即模数、数模)转换 网络或通讯传输 报表 图形输出 批处理/实时处理,4.3.1 输入/输出方式,输入/输出方式校对方式,4.3 人机界面设计,人工校对 二次键入 利用统计中的平衡关系或财务帐目中的平衡关系进行校对,4.3.2 操作模式的设计,1.界面,4.3 人机界面设计,界面:是系统的感知器官。界面的特点:,4.3.2 操作模式的设计,1.界面,4.3 人机界面设计,界面:是系统的感知器

18、官。界面的特点:可见性、可供性。,可见性:有充分的提示信息,说明哪些是用于操作的以及它们的操作方法,提示用户如何实现人机交互,这就是功能的“可见性”。,4.3.2 操作模式的设计,1.界面,4.3 人机界面设计,界面:是系统的感知器官。界面的特点:可见性、可供性。,可供性:每一项功能及其操作方法对于界面所处环境中的大多数用户来说是显而易见的,只需看一眼就可以有所了解,具有这种特点的控制方法成为“可供性”。,4.3.2 操作模式的设计,1.界面,4.3 人机界面设计,界面:是系统的感知器官。界面的特点:可见性、可供性。,可供性的作用:提供了大量的与操作有关的线索。,4.3.2 操作模式的设计,2

19、.元动作,4.3 人机界面设计,含义:是用户实现各种操作最基本的单元。,作用:可以实现在元动作的集合上的所有人机交互。,设计方法:自顶向下。,例如,输入日期可分解为元动作:年、月、日。,4.3.2 操作模式的设计,3.操作模式,4.3 人机界面设计,属性值的键盘输入:,功能值的实现方法:,等待系统处理的形式:,属性值的A/D输入:,文本输入下拉菜单表格选择,功能按钮功能菜单图标按钮,进度条漏斗,条形码,4.3.2 操作模式的设计,4.步骤,4.3 人机界面设计,分解元动作,进行操作模式的设计,进行界面的统一性设计(后面讲),4.3.2 操作模式的设计,5.示例,4.3 人机界面设计,学生基本信

20、息表管理,采用屏幕键盘交互方式。实现的功能:输入新生信息、修改错误信息、修正学籍变动信息、删除退学学生信息、删除已毕业学生信息、查询信息。,(1)查询功能所需的属性值:学号、姓名、班级、出生日期、专业、年级、学院。(2)分析查询条件的数据类型,分解出元动作集合:学号、姓名、班级、专业、学院;出生日期:分解为年、月、日。(3)分解功能性动作:输入学生信息、修改学生信息、删除学生信息、查询信息,分析,4.3.2 操作模式的设计,5.示例,4.3 人机界面设计,学生基本信息表管理,采用屏幕键盘交互方式。实现的功能:输入新生信息、修改错误信息、修正学籍变动信息、删除退学学生信息、删除已毕业学生信息、查

21、询信息。,(1)设计属性值的操作方案:学号、姓名、班级:键盘输入,可有可无,文本方式输入。出生日期:键盘输入,年、月、日。专业、学院:键盘输入。(2)设计功能性动作方案:输入学生信息、修改学生信息、删除学生信息、查询信息:功能按钮、功能菜单、图标按钮。,设计,4.3.2 操作模式的设计,6.注意事项,4.3 人机界面设计,操作要尽可能地:发挥计算机的优势;符合用户的操作习惯;简单、明了,使用方便。,4.3.2 界面统一性设计,1.风格设计,4.3 人机界面设计,2.导航设计,3.可靠性设计,具有统一的风格色彩适中突出主题,4.3.2 界面统一性设计,1.风格设计,4.3 人机界面设计,2.导航

22、设计,3.可靠性设计,4.3.2 界面统一性设计,1.风格设计,4.3 人机界面设计,2.导航设计,3.可靠性设计,减少操作错误的措施:输入操作符尽可能简单、易记忆,提示要简短、明了;对一些参数设置缺省值;容忍用户操作失误;有运行状态提示,防止错误积累;检测用户错误,屏蔽输入错误,及时提供出错信息。,良好的容错性充分的提示信息光标当前位置运行状态,4.3.2 界面统一性设计,操作模式、界面风格统一的目标:,4.3 人机界面设计,简单性 可靠性 易学习与易使用性 立即反馈性,4.4 功能设计的基本方法,原则自顶向下。方法把系统或其组成部分视为暗盒,基于输入与输出及对数据变换功能的模块的逐层分解。

23、模块具有4种属性的一组程序语句。4种属性:,模块,输入/l输出,逻辑功能,运行程序,内部数据,4.4 功能设计的基本方法,示例计算“圆的面积”模块。4种属性:输入:R(半径);输出:S(面积)。逻辑功能:从调用者处获得R;将产生的S返回给调用者。内部数据:(圆周率)。运行程序:计算圆面积(S)程序。,模块,输入/l输出,逻辑功能,运行程序,内部数据,4.4 功能设计的基本方法,表示结构图。步骤(1)将逻辑结构(数据流程图)转换成初始的结构图;(2)对初始结构图进行优化设计。,4.4.1 结构图,符号:模块模块之间的调用关系数据传递关系数据可以是:一个数据元素一组数据元素构成的数据结构 标识:一

24、些关于处理结果的标志例如:没找到相应记录的标志、文件结束标志等。,4.4 功能设计的基本方法,A,B,4.4.1 结构图,符号:判断调用关系,4.4 功能设计的基本方法,C,D,B,B,(a)满足某一个条件值时的调用,(b)满足条件中三个不同的取值时的调用,(a)在A模块中有语句结构:如果 条件1 成立 则 调用B,(B)在A模块中有语句结构:如果 条件取值为1 则 调用B 如果 条件取值为2 则 调用C 如果 条件取值为3 则 调用D,4.4.1 结构图,符号:循环调用关系,4.4 功能设计的基本方法,B,A,B,转接符号,B,d,d,4.4.1 结构图,符号:,4.4 功能设计的基本方法,

25、B,A,B,转接,B,d,d,C,D,B,B,(a)满足某一个条件值时的调用,A,B,调用,判断调用,循环调用,数据,标识,(b)满足条件中三个不同取值时的调用,4.4.1 结构图,示例:根据期末考试成绩发补考通知单的结构图如下。,4.4 功能设计的基本方法,产生补考通知,确定补考学生,获得成绩单,成绩单,发补考通知单的结构图,成绩单,获得学生地址,打印补考通知,打印补考通知,学生地址,学生学号,4.4.1 结构图,优点:,4.4 功能设计的基本方法,1、很高的可读性,便于理解和讨论。2、“自顶向下”的原则。3、具有较高的严密性、灵活性。4、结构图是后期各阶段工作的重要保证。,1、很高的可读性

26、,便于理解和讨论。,4.4.1 结构图,优点:,4.4 功能设计的基本方法,1、很高的可读性,便于理解和讨论2、“自顶向下”的原则3、具有较高的严密性、灵活性。4、结构图是后期各阶段工作的重要保证。,2、“自顶向下”的原则。,逐层扩展得到系统总体结构图。分散整个设计任务由若干个设计人员进行不同部分的设计工作;既便于管理,又能够加快设计进度,提高工作效率。,4.4.1 结构图,优点:,4.4 功能设计的基本方法,1、很高的可读性,便于理解和讨论。2、“自顶向下”的原则。3、具有较高的严密性、灵活性。4、结构图是后期各阶段工作的重要保证。,3、具有较高的严密性、灵活性。,能准确地表达系统中各个组成

27、部分以及它们之间的联结关系;能随着数据流程图的改变而改变,灵活性强,易于修改和维护。,4.4.1 结构图,优点:,4.4 功能设计的基本方法,1、很高的可读性,便于理解和讨论。2、“自顶向下”的原则。3、具有较高的严密性、灵活性。4、结构图是后期各阶段工作的重要保证。,4、结构图是后期各阶段工作的重要保证。,是系统设计的重要工具是程序设计、系统测试、系统维护工作顺利进行的重要保证。,4.4.2 功能模块转换策略,1.事务分析 高层的数据流程图特别是一级数据流图所表示的处理功能都是相对独立的,可把它们看成是一类类特定的事务,将其转换为结构图。,4.4 功能设计的基本方法,例:将教学管理系统二级数

28、据流程图转换成结构图,4.4 功能设计的基本方法,图 4-13 教学管理系统高层次结构图,例:将教学管理系统二级数据流程图转换成结构图,4.4 功能设计的基本方法,将学籍处理三级数据流程图转换成结构图,4.4 功能设计的基本方法,将排课管理三级数据流程图转换成结构图,4.4 功能设计的基本方法,将“制定教学计划”三级数据流图转换成结构图,4.4 功能设计的基本方法,将“统计报表处理”三级数据流程图转换成结构图,4.4 功能设计的基本方法,教学管理系统扩展后的结构图(各三级数据流图的组合),4.4 功能设计的基本方法,教学管理系统扩展后的结构图(各三级数据流图的组合),4.4 功能设计的基本方法

29、,4.4.2 功能模块转换策略,2.变换分析 是一种把叶子层模块转换成结构图的方法。,4.4 功能设计的基本方法,处理功能的分类第一类:输入功能。第二类:变换功能。第三类:输出功能。,特点对数据的变换只是一些形式上的加工,如编辑、验证、排列等。假设输入数据流是X,该处理功能为G,它产生的数据流是X;则X=G(X)。,4.4.2 功能模块转换策略,2.变换分析 是一种把叶子层模块转换成结构图的方法。,4.4 功能设计的基本方法,处理功能的分类第一类:输入功能。第二类:变换功能。第三类:输出功能。,特点对数据流X进行实质性的变换,即真正的处理;假设它的功能为F,它所产生的数据流是Y;则Y=F(X)

30、。,4.4.2 功能模块转换策略,2.变换分析 是一种把叶子层模块转换成结构图的方法。,4.4 功能设计的基本方法,处理功能的分类第一类:输入功能。第二类:变换功能。第三类:输出功能。,特点它对输入数据流Y进行形式上的加工,如排列显示格式等等;假设它的功能是H,输出数据流Y,则Y=H(Y)。,4.4.2 功能模块转换策略,2.变换分析 是一种把叶子层模块转换成结构图的方法。,4.4 功能设计的基本方法,处理功能的分类第一类:输入功能。第二类:变换功能。第三类:输出功能。,步骤(1)对叶子层模块中的处理功能进行分类;(2)确定变换中心(第二类处理功能),画出结构图。,4.4.2 功能模块转换策略

31、,2.变换分析,4.4 功能设计的基本方法,示意图,采用变换分析方法进行模块结构设计的示意图:,输入,变换,输出,4.4.2 功能模块转换策略,2.变换分析,4.4 功能设计的基本方法,示意图,采用变换分析方法进行模块结构设计的示意图:,输入,变换,输出,4.4.2 功能模块转换策略,2.变换分析,4.4 功能设计的基本方法,示意图,采用变换分析方法进行模块结构设计的示意图:,输入,变换,输出,实例,利用事务分析和变换分析绘制的“教师基本信息管理”功能结构图,4.4 功能设计的基本方法,实例:“教师基本信息管理”功能结构图,利用事务分析和变换分析绘制教师基本信息管理的一级数据流图一级功能结构图

32、,4.4 功能设计的基本方法,实例:“教师基本信息管理”功能结构图,利用事务分析和变换分析绘制教师基本信息管理的二级数据流图添加教师基本信息二级功能结构图,4.4 功能设计的基本方法,实例:“教师基本信息管理”功能结构图,利用事务分析和变换分析绘制“教师基本信息管理”总的功能结构图,4.4 功能设计的基本方法,4.4.3 功能模块优化设计原则,1.模块之间的耦合原则,4.4 功能设计的基本方法,2.模块的内聚性原则,3.模块的分解原则,4.模块的扇入和扇出原则,4.4.3 功能模块优化设计原则,1.模块之间的耦合原则,4.4 功能设计的基本方法,耦合:是对一个软件结构内不同模块之间互连程度的度

33、量。影响耦合的主要因素:模块之间信息传递的复杂性。,耦合分类:,简单耦合、数据耦合;控制耦合、特征耦合;公共环境耦合;内容耦合。,低,中,高,A,B,简单耦合:模块之间仅存在调用与被调用关系,而没有任何的信息传递。,4.4.3 功能模块优化设计原则,耦合分类:,4.4 功能设计的基本方法,如果两个模块之间存在调用与被调用关系;并且还存在着数据通讯,即通过参数交换信息,而且交换的信息仅仅是数据,则称为数据耦合。,(1)数据耦合,A,B,x,示例:,4.4.3 功能模块优化设计原则,耦合分类:,4.4 功能设计的基本方法,如果两个模块之间存在调用与被调用关系;并且还存在着数据通讯,即通过参数交换信

34、息,而且交换的信息仅仅是数据,则称为数据耦合。,(1)数据耦合,A,B,x,示例:,4.4.3 功能模块优化设计原则,耦合分类:,4.4 功能设计的基本方法,如果两个模块之间存在调用与被调用关系;而且模块A向模块B传递的信息控制了模块B的内部逻辑,那么模块A、B之间的耦合称为控制耦合。,(2)控制耦合,A,B,c,示例:,4.4.3 功能模块优化设计原则,耦合分类:,4.4 功能设计的基本方法,如果两个模块之间存在调用与被调用关系;而且模块A向模块B传递的信息控制了模块B的内部逻辑,那么模块A、B之间的耦合称为控制耦合。,(2)控制耦合,A,B,c,示例:,4.4.3 功能模块优化设计原则,耦

35、合分类:,4.4 功能设计的基本方法,如果两个模块之间存在调用与被调用关系;同时还存在着数据通讯,并且B模块仅使用了A模块传递的数据结构中的一部分数据元素,则模块A、B之间的耦合称为特征耦合。,(3)特征耦合,A,B,X,Y,X,示例:,本月用水量,本月用电量,4.4.3 功能模块优化设计原则,耦合分类:,4.4 功能设计的基本方法,如果两个模块或多个模块通过一个公共数据环境相互作用时,它们之间的耦合称为公共环境耦合。,(4)公共环境耦合,A,数据耦合的形式:一个模块往公共环境送数据,另一个模块从公共环境取数据。,B,公用数据,介于数据耦合和控制耦合之间:两个模块都既往公共环境送数据又从里面取

36、数据。这种耦合比较紧密。,4.4.3 功能模块优化设计原则,耦合分类:,4.4 功能设计的基本方法,(4)公共环境耦合,全局变量:,示例:,A,B,公用数据,X,假设有一个全局变量是这个模块的公用数据;,那么模块和之间存在着公共耦合。,4.4.3 功能模块优化设计原则,耦合分类:,4.4 功能设计的基本方法,(5)公共环境耦合,全局变量:,示例:,A,B,公用数据,X,假设有一个全局变量是这个模块的公用数据;,那么模块和之间存在着公共耦合。,4.4.3 功能模块优化设计原则,耦合分类:,4.4 功能设计的基本方法,(5)内容耦合,有下述几种情况:,A,B,一个模块访问另一个模块的内部数据;,一

37、个模块不通过正常入口而转移到另一个模块的内部;,两个模块有一部分程序代码重叠(只出现在汇编程序中);,一个模块有多个入口(一个模块有多种功能)。,A,B,A,B,Entry 1Entry 2.Entry n,.,4.4.3 功能模块优化设计原则,耦合小结:,4.4 功能设计的基本方法,耦合是影响软件复杂程度的一个重要因素。,应该采取下述设计原则:,尽量使用数据耦合,少用控制耦合和特征耦合,限制公共环境耦合的范围,完全不用内容耦合。,思考题:,请同学们例举出各种耦合的实例。,4.4.3 功能模块优化设计原则,2.模块的内聚性原则,4.4 功能设计的基本方法,内聚:标志一个模块内各个元素彼此结合的

38、紧密程度。即一个模块内部的各个部分其处理动作的组合强度。,内聚与耦合的关系:,高内聚意味着模块间的松耦合。,X、Y、Z,理想内聚的模块:只做一件事情。,高内聚松耦合,高内聚松耦合,求和,4.4.3 功能模块优化设计原则,2.模块的内聚性原则,4.4 功能设计的基本方法,内聚分类:,10分,中,高,功能内聚顺序内聚通信内聚过程内聚时间内聚逻辑内聚偶然内聚,9分,7分,5分,3分,1分,0分,低,4.4.3 功能模块优化设计原则,内聚分类,4.4 功能设计的基本方法,(1)功能内聚,10分,如果模块内所有处理元素属于一个整体,完成一个单一的功能,则称为功能内聚。功能内聚是最高程度的内聚。,示例,计

39、算水费执行修改存盘计算机自动排课计算某工厂职工的实发工资,计算水费,用水量,水费,4.4.3 功能模块优化设计原则,内聚分类,4.4 功能设计的基本方法,(2)顺序内聚,9分,如果一个模块内的处理元素和同一个功能密切相关,而且这些处理必须顺序执行(通常一个处理元素的输出数据作为下一个处理元素的输入数据),则称为顺序内聚。,示例,查询并显示查询结果先获得查询条件,再执行显示功能登录模块,4.4.3 功能模块优化设计原则,内聚分类,4.4 功能设计的基本方法,(3)通信内聚,7分,如果模块中所有元素都使用同一个输入数据和(或)产生同一个输出数据,则称为通信内聚。,示例,一个模块,是某工厂“产生职工

40、工资报表和计算职工的平均工资”,他们都使用职工的工资记录信息。,职工工资记录,产生工资报表,计算平均工资,职工工资报表,平均工资,4.4.3 功能模块优化设计原则,内聚分类,4.4 功能设计的基本方法,(3)通信内聚,7分,如果模块中所有元素都使用同一个输入数据和(或)产生同一个输出数据,则称为通信内聚。,示例,一个模块有两个动作,他们是“打印货物交接单”和“港口作业委托单”。这两个动作都使用了船舶货物数据库中的数据。,打印货物交接单,港口作业委托单,船舶货物数据库,这两个例子都是使用了同一个数据,而产生了不同的输出。,4.4.3 功能模块优化设计原则,内聚分类,4.4 功能设计的基本方法,(

41、4)过程内聚,如果一个模块内部各组成部分的处理动作各不相同,彼此也没有什么关系,但它们都受同一个控制流支配,以决定它们的执行顺序,则称为过程内聚。,使用程序流程图设计软件时,常常通过研究流程图确定模块的划分,这样得到的往往是过程内聚的模块。,如果一个模块内的处理元素是相关的,而且必须以特定次序执行,则称为过程内聚。,5分,4.4.3 功能模块优化设计原则,内聚分类,4.4 功能设计的基本方法,(4)过程内聚,示例,如果将“学籍处理”设计成一个模块,则该模块接受的是同一个控制流学籍处理申请的支配,其内部的各个处理动作执行着各不相同的运动作:基本信息管理、奖励信息管理、处分信息管理、变动信息管理、

42、课外活动管理。,提高内聚的方法:将模块分解为功能模块。,5分,4.4.3 功能模块优化设计原则,内聚分类,4.4 功能设计的基本方法,(4)过程内聚,5分,示例,如果一个模块中的读入成绩单与查询成绩单必须顺序执行。,如果一个模块中的统计成绩与打印成绩必须顺序执行。,提高内聚的方法:将模块分解为功能模块。,读入成绩单,查询成绩单,统计成绩,打印成绩,4.4.3 功能模块优化设计原则,内聚分类,4.4 功能设计的基本方法,(5)时间内聚,3分,如果一个模块包含的任务必须在同一段时间内执行,就叫时间内聚。,“初始化”模块。,示例,“初始化”模块。在系统或程序启动时必须做完一系列的初始化工作,如变量初

43、始化、数组初始化等,它与时间有关,但执行次序不重要,所处理的变量、数组与其后调用的许多程序有关。,不同专业(不同的任务)的学生选同一节课。,紧急故障处理系统。,学生选课,4.4.3 功能模块优化设计原则,内聚分类,4.4 功能设计的基本方法,(6)逻辑内聚,1分,如果一个模块完成的任务在逻辑上属于相同或相似的一类,则称为逻辑内聚。,“逻辑相似”,假设学生回家,可以乘火车、汽车、飞机,这几种方式在逻辑上相似,都是交通工具,但每个交通工具又完全不同,而且只能选择其中一种,即所执行的功能不同。,4.4.3 功能模块优化设计原则,内聚分类,4.4 功能设计的基本方法,(6)逻辑内聚,1分,如果一个模块

44、完成的任务在逻辑上属于相同或相似的一类,则称为逻辑内聚。,“审核会计报表”模块,示例,一个工厂需要统计男职工人数和技术员人数。,资金平衡表,固定资产表,男职工,技术员,利润表,.,会计报表,统计人数,4.4.3 功能模块优化设计原则,内聚分类,4.4 功能设计的基本方法,(7)偶然内聚,0分,如果一个模块内的各个任务间的关系很松散,则称为偶然内聚。,如果一个模块内的各部分的处理动作彼此没有任务关系,则称这些部分的组合为偶然内聚。,示例,宣传部门,生产部门,工厂产品,一个工厂(产品)的宣传部门与生产部门。,4.4.3 功能模块优化设计原则,内聚类型判断树,4.4 功能设计的基本方法,模块仅有一个

45、功能?,模块内各部分关系?,次序重要?,次序重要?,逻辑相似?,功能内聚,顺序内聚,通信内聚,过程内聚,时间内聚,逻辑内聚,偶然内聚,是,否,数据流,控制流,两者皆非,是,否,是,否,是,否,4.4.3 功能模块优化设计原则,3.模块的分解原则,4.4 功能设计的基本方法,模块的分解:指把一个模块分解成若干个从属于它的新模块。分解原则:主要是按功能进行分解,直到无法做出明确的功能定义为止。在分解时既要考虑到模块的内聚性,又要考虑到模块之间的耦合程度,并在这两者之间选择一个最佳的方案。,4.4.3 功能模块优化设计原则,3.模块的分解原则,4.4 功能设计的基本方法,示例:,4.4.3 功能模块

46、优化设计原则,4.模块的深度、宽度、扇出、扇入原则,4.4 功能设计的基本方法,深度,A,B,深度3,C,D,软件结构中控制的层数。层数过多,有可能许多管理模块过分简单,应考虑合并。,E,F,4.4.3 功能模块优化设计原则,4.模块的深度、宽度、扇出、扇入原则,4.4 功能设计的基本方法,深度,A,B,宽度3,C,D,软件结构中同一层次上模块总数的最大值。影响因素:模块的扇出。,E,F,宽度,4.4.3 功能模块优化设计原则,4.模块的深度、宽度、扇出、扇入原则,4.4 功能设计的基本方法,扇出(Fan_Out),A,B,扇出3,C,D,一个模块直接控制(调用)的模块数目。或一个模块对它的直

47、属下级模块的控制范围。扇出系数:指其直属下级模块的个数。平均扇出:34,上限为5-9,E,F,4.4.3 功能模块优化设计原则,4.模块的深度、宽度、扇出、扇入原则,4.4 功能设计的基本方法,扇出(Fan_Out),A,B,C,D,一个模块有多少个上级模块直接调用它。扇入系数:指其直接上级模块的个数。扇入越大,由共享该模块的上级模块数目越多。,扇入(Fan_In),E,扇入3,4.4.3 功能模块优化设计原则,4.模块的深度、宽度、扇出、扇入原则,4.4 功能设计的基本方法,扇出(Fan_Out),A,B,C,D,小结,扇入(Fan_In),E,扇入3,很好的软件结构顶层扇出比较高;中层扇出

48、较少;底层高扇入(底扇入到公共的实用模块中去)。,A,B,扇出3,C,D,E,F,利用事务分析和变换分析绘制的“教师基本信息管理”功能结构图,4.4.3 功能模块优化设计原则,4.4 功能设计的基本方法,4.4.3 功能模块优化设计原则,4.4 功能设计的基本方法,“教师基本信息管理”模块优化结果:,4.4.4 功能设计小结,结构化设计方法(简称SD方法),是基于数据流的设计方法。,4.4 功能设计的基本方法,信息流有两种类型:,事务流,变换流,4.4.4 功能设计小结,结构化设计方法(简称SD方法),是基于数据流的设计方法。,4.4 功能设计的基本方法,信息流有两种类型:,事务流,变换流,设

49、计方法:分析变换,4.4.5 功能设计案例,4.4 功能设计的基本方法,例子 汽车数字仪表板的设计。假设的仪表板将完成的功能有:(1)通过模数转换实现传感器和微处理机接口;(2)在发光二极管面板上显示数据;(3)指示每小时英里数(mph),行驶的里程,每加仑油行驶的英里数(mpg)等等;(4)指示加速或减速;(5)超速警告:如果车速超过55英里/小时,则发出超速警告铃声。,软件需求分析阶段对上述每条要求以及系统的其他特点进行全面的分析评价;建立起必要的文档资料,特别是数据流图。,4.4.5 功能设计案例(续),4.4 功能设计的基本方法,设计步骤,第1步 复查基本系统模型。,第3步 确定数据流

50、图的特性(变换流或事务流),第2步 复查并精化数据流图。,第4步 确定输入流和输出流的边界,从而孤立出变换中心。,第5步 完成“第一级分解”。,第6步 完成“第二级分解”。,第7步 使用设计度量和启发式规则对第一次分割得到的软件结构进一步精化。,4.4.5 功能设计案例(续),4.4 功能设计的基本方法,设计步骤,确保系统的输入/输出数据符合实际。,第1步 复查基本系统模型。,输入读旋转信号读燃料流传感器信号,输出产生加/减速显示产生里程显示发出铃声产生mph显示产生mpg显示,4.4.5 功能设计案例(续),4.4 功能设计的基本方法,读旋转信号,收集和求和,信号/秒(SPS),旋转信号,确

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 建筑/施工/环境 > 农业报告


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号