资源预览内容
第1页 / 共179页
第2页 / 共179页
第3页 / 共179页
第4页 / 共179页
第5页 / 共179页
第6页 / 共179页
第7页 / 共179页
第8页 / 共179页
第9页 / 共179页
第10页 / 共179页
亲,该文档总共179页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
第四章第四章 信息系信息系统设计主要内容:主要内容:针对信息系信息系统设计的各的各项任任务介介绍这一一阶段的开段的开发方法和方法和对策策。整理课件4.1 信息系信息系统设计概述概述 n4.1.1 系系统设计的任的任务 n确定系确定系统功能功能结构构n依据系依据系统分析文档分析文档资料,采用正确的方法来确定系料,采用正确的方法来确定系统各功能模各功能模块在在计算机内算机内应该由哪些程序由哪些程序组成,它成,它们之之间用什么方式用什么方式联结在一起以构成一个最好的系在一起以构成一个最好的系统机内机内结构;构;n表达表达设计成果成果n使用一定的工具将所使用一定的工具将所设计的成果表达出来;的成果表达出来;n详细设计与与实现n考考虑到到实现系系统功能的需要,功能的需要,n进行数据行数据库的的详细设计、编码设计、输入入/输出界面出界面(人(人机界面)机界面)设计等等等等 整理课件4.1.2 系系统设计步步骤 n第一步第一步进行数据行数据库的物理的物理设计。n第二步第二步进行行编码设计。n第三步第三步进行界面行界面设计。n第四步第四步进行系行系统功能功能设计。n根据根据总体方案及系体方案及系统分析的分析的实际需求需求n考考虑数据数据库的存的存储方式(集中式或分布式);方式(集中式或分布式);n考考虑物理物理库的数量及每一个物理的数量及每一个物理库所包含的数据所包含的数据库表的内容;表的内容;n从从查询处理效率等方面考理效率等方面考虑数据数据库表的索引表的索引问题等等。等等。整理课件4.1.2 系系统设计步步骤 n第一步第一步进行数据行数据库的物理的物理设计。n第二步第二步进行行编码设计。n第三步第三步进行界面行界面设计。n第四步第四步进行系行系统功能功能设计。n编码是是系系统的的重重要要组成成部部分分,与与数数据据的的规范范性性和和交交换性性密密切切相相关关,编码一一旦旦被被设计处理理将将会会永永久久使使用用并并常常驻于于数数据据库中中,因因此此需需要要在在系系统设计阶段段给出出具具有有永永久性、久性、稳定性的定性的编码设计方案方案。整理课件4.1.2 系系统设计步步骤 n第一步第一步进行数据行数据库的物理的物理设计。n第二步第二步进行行编码设计。n第三步第三步进行界面行界面设计。n第四步第四步进行系行系统功能功能设计。n构构造造良良好好的的界界面面是是未未来来系系统能能够顺利利运运行行的的重重要要前前提提,要要使使信信息息系系统使使用用起起来来更更加加舒舒适适、更更加加高高效效就就需需要要在在界界面面设计方方面面具具有有一一个个全全新新的的设计策策略略,这个个设计策策略要在程序略要在程序设计之前完成。之前完成。整理课件4.1.2 系系统设计步步骤 n第一步第一步进行数据行数据库的物理的物理设计。n第二步第二步进行行编码设计。n第三步第三步进行界面行界面设计。n第四步第四步进行系行系统功能功能设计。n基于前述所有工作基于前述所有工作进行,行,n采采用用“自自顶向向下下”的的原原则考考虑模模块的的划划分分与与设计,使使模模块内部以及模内部以及模块与模与模块之之间的的连接具有合理的接具有合理的结构。构。n功能功能设计结果的表达方式可以有两种:果的表达方式可以有两种:n利用利用“结构构图”来描述模来描述模块的功能和模的功能和模块之之间的信息交的信息交换;n用用Rational Rose工具工具来描述。来描述。n有一有一组评价价标准来准来对设计结果果进行行评价,价,n用一用一组设计原原则对系系统模模块进行行优化化设计。 整理课件4.1.3 系系统设计评价价标准准 n1、运行效率运行效率 n2、可靠性、可靠性n3、可修改性、可修改性 n4 4、灵活性、灵活性n5 5、通用性、通用性n6 6、实用性用性 整理课件影响系影响系统处理能力的因素:理能力的因素:n系系统中中间文件的数量文件的数量n临时的、用后抛弃,的、用后抛弃,应减少之减少之 n数据文件的次数数据文件的次数 n检索方案:索方案:n例:数据例:数据库表中包含表中包含3 3种种类型的型的记录:A A、B B、C Cn每次从每次从头到尾到尾n仅一次,遇到就相一次,遇到就相应处理理n外存外存访问次数次数 n文件文件访问时间主要用于:(主要用于:(记录定位、磁定位、磁头定位、定位、传输到指定位置)到指定位置)n定位和定位和传输n建立外存建立外存访问次数少的系次数少的系统n程序的程序的调用和其它的系用和其它的系统开开销所花所花费的的时间 n程序的程序的执行行时间n程序的程序的执行行时间与程序的与程序的质量有关量有关 整理课件4.1.3 系系统设计评价价标准准 n1、运行效率运行效率 n2、可靠性可靠性n3、可修改性、可修改性 n4 4、灵活性、灵活性n5 5、通用性、通用性n6 6、实用性用性 整理课件可靠性可靠性应考考虑的的问题:n校校验码n例:例:银行行账号号 1010位,最后位,最后1 1位是校位是校验码n特点:增加特点:增加处理理时间,防止一些,防止一些错误的的发生生n批量控制批量控制n预定批定批处理事理事务的的总数数n若批若批处理事理事务运行与人工运行与人工计算算总数不一致数不一致则有有错,计算机不予算机不予处理。理。n建立运行日志和信息追踪建立运行日志和信息追踪n降低运行效率,但非常必要降低运行效率,但非常必要n文件的存取限制文件的存取限制n预定定义用用户操作操作权限,以限,以备系系统检查n可靠性指可靠性指标整理课件可靠性指可靠性指标:n“平均故障平均故障间隔隔时间”n(Mean_Time_Between_Failures,MTBF)n“平均修复平均修复时间”n(Mean_Time_To_Repairs,MTTR) n平均每次所用的修理平均每次所用的修理时间(排除故障(排除故障时间)n系系统的有效性的有效性=MTBF/(MTBF+MTTR)n越接近越接近1 1,系,系统的有效性越高的有效性越高 整理课件4.1.3 系系统设计评价价标准准 n1、运行效率运行效率 n2、可靠性可靠性n3、可修改性、可修改性 n4 4、灵活性、灵活性n5 5、通用性、通用性n6 6、实用性用性 整理课件提高系提高系统可修改性的原因:可修改性的原因:n、客、客观数据和功能需求的数据和功能需求的变化化n系系统是在一个是在一个实际的客的客观环境中运行,其数据来自于客境中运行,其数据来自于客观现实,而客,而客观世界世界是在不断地是在不断地变化的,它化的,它导致客致客观数据的数据的变化和功能需求的化和功能需求的变化,化,n为适适应不断不断变化需求,必然要求信息系化需求,必然要求信息系统也随之而也随之而变化,即化,即对信息系信息系统做相做相应的修改。的修改。 n、计算机技算机技术在不断地在不断地发展展n计算机技算机技术在不断地在不断地发展,硬件价格越来越便宜,新的操作系展,硬件价格越来越便宜,新的操作系统和程序和程序语言言在不断地出在不断地出现或升或升级,计算机网算机网络技技术和通和通讯技技术也在不断地也在不断地发展,展,这些必些必然然对信息系信息系统产生影响,迫使用生影响,迫使用户考考虑使用新的技使用新的技术、更新、更新设备、提高系、提高系统运行效率、完善系运行效率、完善系统功能等等。功能等等。n、系、系统本不完善本不完善n无无论是在系是在系统分析、系分析、系统设计、程序、程序设计及及调试阶段,都可能会段,都可能会发现一些一些问题导致致对前一前一阶段的工作段的工作进行修正,到了系行修正,到了系统测试阶段也必然会段也必然会发现一些一些问题和故障需要和故障需要给予解决,予解决,这些都意味着些都意味着对系系统的修改。的修改。 n、错误在系在系统运行运行阶段才能暴露段才能暴露n对于一个复于一个复杂的系的系统来来说,不可能在系,不可能在系统测试阶段就能段就能够完全完全彻底地把故障底地把故障全部排除,有的全部排除,有的错误可能会在系可能会在系统运行运行阶段才能暴露出来,要把段才能暴露出来,要把这些些错误纠正正过来称来称为运行运行纠错,这同同样意味着意味着对系系统进行修改和行修改和维护。 整理课件4.2 数据数据库设计和和编码设计 n4.2.1 数据数据库设计 整理课件数据数据库系系统的三的三级模式模式结构构整理课件数据数据库设计内容:内容: n1、用、用户权限的限的设计n例,教学管理系例,教学管理系统n设计用用户权限表限表n2、索引文件的、索引文件的设计n数据数据检索的一般方法索的一般方法n顺序序n索引文件的索引文件的查找方法:找方法:n折半折半查找等找等n索引特点:占空索引特点:占空间、维护复复杂n3、中、中间文件或文件或临时文件的文件的设计n4、视图(View)的的设计 n视图是虚表,只保留定是虚表,只保留定义整理课件4.2.2 编码设计 n1 1、编码设计的地位和作用的地位和作用n信息系信息系统建建设的指的指导思想思想n数据位于数据位于现代数据代数据处理的中心,数据模型是理的中心,数据模型是稳定定的而的而处理是多理是多变的。的。n信息分信息分类编码整理课件编码设计步步骤 n对编码对象象进行科学分行科学分类 n按照一定的按照一定的规则设计代代码 整理课件2 2、分、分类的原的原则和方法和方法分分类的原的原则:n科学性:科学性:n选择事事物物或或概概念念(即即分分类对象象)中中最最稳定定的的本本质属属性性或或特特征征作作为分分类的基的基础和依据。和依据。n系系统性:性:n将将选定定的的事事物物或或概概念念的的属属性性特特征征按按一一定定的的排排列列顺序序予予以以系系统化化,并形成一个合理的科学分并形成一个合理的科学分类体系。体系。n可可扩展性:展性:n要要具具有有可可拓拓展展的的类目目,以以保保证增增加加新新的的事事物物或或概概念念时,不不致致于于打打乱乱已已建建立立的的分分类体体系系,同同时还应为下下级信信息息系系统在在本本分分类体体系系的的基基础上上进行延拓行延拓细化化创造条件。造条件。n兼容性:兼容性:n与有关与有关标准(包括国准(包括国际标准、国家准、国家标准、行准、行业标准等)准等)协调一致。一致。n综合合实用性:用性:n要要从从系系统出出发,把把全全局局问题放放在在系系统整整体体中中处理理,以以达达到到全全系系统最最优 整理课件信息分信息分类的基本方法:的基本方法:线分分类法和面分法和面分类法。法。 n(1)线分分类法法( (层级分分类法法) ):n是将初始的是将初始的分分类对象象(即被划分的事物或概念)按所(即被划分的事物或概念)按所选定的若干定的若干属属性或特征性或特征(作(作为分分类的划分基的划分基础)逐次地分成相)逐次地分成相应的若干的若干层级的的类目,并排成一个有目,并排成一个有层次的、逐次的、逐级展开的分展开的分类体系。体系。 n上位上位类:即在:即在线分分类体系中体系中n一个一个类目目相相对于于由它直接划分出来的由它直接划分出来的下一下一级类目而言,称目而言,称为上位上位类。 n下位下位类:即在:即在线分分类体系中,体系中,n由上位直接划分出来的下一由上位直接划分出来的下一级类目目相相对于上位于上位类而言,称而言,称为下位下位类。 n同位同位类:即在:即在线分分类体系中体系中n由一个由一个类目直接划分出来的下一目直接划分出来的下一级中的各中的各类目,目,彼此彼此称称为同位同位类。 整理课件n例如:例如:GB2260-86中中华人民共和国行政区划代人民共和国行政区划代码采用的是采用的是线分分类法,将全国行政区划分法,将全国行政区划分为三三层:n第一第一层为省(自治区、直省(自治区、直辖市)市)n第二第二层为地区(市、州、盟)地区(市、州、盟)n第三第三层为县(市、旗、(市、旗、镇、区)。、区)。 整理课件线分分类法的原法的原则: n下位下位类类目的目的总范范围应与上位与上位类类目相等目相等n由由某某一一上上位位类划划分分出出来来的的下下位位类类目目的的总范范围应与与上上位位类类目相等;目相等;n划分基准划分基准n当当某某一一个个上上位位类类目目划划分分成成若若干干个个下下位位类类目目时,应选择一个划分基准:一个划分基准:n同位同位类类目目n之之间不交叉、不重复,并只不交叉、不重复,并只对应于一个上位于一个上位类;n分分类要依次要依次进行,不行,不应有空有空层或加或加层。 整理课件n线分分类法的法的优点是:点是:n层次性好,能次性好,能较好地反映好地反映类目之目之间的的逻辑关系关系n使使用用方方便便,既既符符合合手手工工处理理信信息息的的传统习惯,又又便便于于计算机算机处理信息理信息n线分分类法的缺点是:法的缺点是:n结构构弹性性较差,分差,分类结构一构一经确定,不易改确定,不易改动;n分分类层次次较多多时,为其其所所设计的的代代码位位数数会会较大大,影影响数据响数据处理的效率与速度。理的效率与速度。 整理课件(2)面分面分类法法 n将所将所选定的分定的分类对象的若干个属性或特征象的若干个属性或特征视为若若干个干个“面面”,n每个每个“面面”中有可分成彼此独立的若干个中有可分成彼此独立的若干个类目目,n再按一定的再按一定的顺序将各个序将各个“面面”平行排列平行排列。n使用使用时可根据需要将可根据需要将这些些“面面”中的中的类目按指定目按指定的的顺序序组合在一起,形成一个新的复合合在一起,形成一个新的复合类目。目。 整理课件n例如:服装的分例如:服装的分类采用面分采用面分类法,法,选择服服装材料、男女式装材料、男女式样、服装款式三个属性作、服装款式三个属性作为三个三个“面面”,每个,每个“面面”又可分成若干又可分成若干个个类目,如下表。目,如下表。 材料材料 男女式样男女式样 服装款式服装款式 纯棉纯棉 男式男式 中山装中山装 纯毛纯毛 女式女式 西服西服 中长纤维中长纤维 连衣裙连衣裙 整理课件面分面分类法的原法的原则:n面面 n选择分分类对象象本本质的的属属性性或或特特征征作作为分分类对象象的的各各个个“面面”n类目目n不同面内的不同面内的类目不目不应相互交叉,也不能重复出相互交叉,也不能重复出现n“面面”位置位置n每个每个“面面”有有严格的固定位置格的固定位置n“面面”的的选择以及位置的确定,根据以及位置的确定,根据实际需要而定需要而定。 整理课件n面分面分类法的法的优点:点:n具具有有较大大的的弹性性,一一个个“面面”内内类目目改改变,不会影响其它的不会影响其它的“面面”n适适应性性强,可可根根据据需需要要组成成任任何何类目目,同同时也便于也便于计算机算机处理信息理信息n易于添加和修改易于添加和修改类目目n面分面分类法的缺点:法的缺点:n不不能能充充分分利利用用容容量量,可可组配配的的类目目很很多多,但但有有时实际应用的用的类目不多目不多n难于手工于手工处理信息理信息整理课件3 3、代、代码设计的原的原则和方法和方法n(1 1)代)代码的功能:的功能:n信息代信息代码:n是一个或一是一个或一组有序的、易于有序的、易于计算机和人算机和人识别与与处理的符理的符号,有号,有时也称也称为“码” 。n功能如下:功能如下:n标识:鉴别编码对象象的唯一的唯一标志志n分分类:当按当按编码对象的属性或特征分象的属性或特征分类,并,并赋予不同的予不同的类别代代码时,代,代码又可以作又可以作为区分区分编码对象象类别的的标志志n排序排序:当按:当按编码对象象发现(产生)的生)的时间、所占有的空、所占有的空间或其他方面的或其他方面的顺序关系分序关系分类,并,并赋予不同的代予不同的代码时,代代码又可作又可作为编码对象排序象排序的的标志志 n特定含特定含义:代:代码是在一定分是在一定分类体系下体系下产生的,因此代生的,因此代码可提供一定的特定含可提供一定的特定含义 整理课件(2 2)代)代码设计的基本原的基本原则:n唯一性唯一性 n合理性合理性 n可可扩充性充性 n简单性性 n适用性适用性 n规范性范性 在一个分在一个分类编码标准中:准中:每一个每一个编码对象象仅有一个代有一个代码,一个代一个代码只惟一表示一个只惟一表示一个编码对象。象。整理课件(2 2)代)代码设计的基本原的基本原则:n唯一性唯一性 n合理性合理性 n可可扩充性充性 n简单性性 n适用性适用性 n规范性范性 代代码结构要与分构要与分类体系相适体系相适应。整理课件(2 2)代)代码设计的基本原的基本原则:n唯一性唯一性 n合理性合理性 n可可扩充性充性 n简单性性 n适用性适用性 n规范性范性 留适当的后留适当的后备容量容量以适以适应不断不断扩充的需要。充的需要。整理课件(2 2)代)代码设计的基本原的基本原则:n唯一性唯一性 n合理性合理性 n可可扩充性充性 n简单性性 n适用性适用性 n规范性范性 代代码结构构应简单:以以节省存省存储空空间减少代减少代码差差错率率提高提高处理理计算机效率。算机效率。整理课件(2 2)代)代码设计的基本原的基本原则:n唯一性唯一性 n合理性合理性 n可可扩充性充性 n简单性性 n适用性适用性 n规范性范性 代代码要反映要反映编码对象的特点:象的特点:有助有助记忆、填写。、填写。整理课件(2 2)代)代码设计的基本原的基本原则:n唯一性唯一性 n合理性合理性 n可可扩充性充性 n简单性性 n适用性适用性 n规范性范性 在一个分在一个分类编码标准中,代准中,代码:类型、型、结构以及构以及编写格式必写格式必须统一。一。整理课件(3 3)常用代)常用代码设计方案方案n顺序序码:n是一种用是一种用连续数字代表数字代表项目名的目名的编码。n例如:例如:n 00 学校学校n 01 数学系数学系n 02 物理系物理系n n特点:特点:n代代码位数少,位数少,n一个一个项目一个目一个连续号号n处理容易理容易n设计和管理和管理较容易容易整理课件n表意表意码n是把直接或是把直接或间接表示接表示编码化化对象属性的某些文象属性的某些文字、数字、字、数字、记号号原封不原封不动作作为编码 编码编码 中文中文 英文英文 MT MT 米米 Meter Meter CM CM 厘米厘米 Conti-meter Conti-meter MM MM 毫米毫米 Milli-meter Milli-meter TN TN 吨吨 Ton Ton KG KG 公斤公斤Kilo-guam Kilo-guam LR LR 克克 Litre Litre (3 3)常用代)常用代码设计方案方案n特点:特点:n见码知意,易知意,易记、易理解、易理解n编码数量增加数量增加时,位数据增加,使,位数据增加,使处理不理不变整理课件n位位别码:n是用不同的位来代表不同的是用不同的位来代表不同的类别,每一位具,每一位具有某一有某一类别含含义。n例如:例如:n在行政区划代在行政区划代码(GB226084)中:中:n第一、二位描述省(自治区、直第一、二位描述省(自治区、直辖市)、市)、n第三、四位描述市(市、州、盟)、第三、四位描述市(市、州、盟)、n第五、六位描述第五、六位描述县(市、旗、(市、旗、镇、区)、区)1 12 23 34 45 56 6省省市市区区(3 3)常用代)常用代码设计方案方案整理课件n合成合成码:n是把是把编码对象用两种以上的代象用两种以上的代码方案方案进行行组合。合。n例例1 1:代码代码 名称名称210000 辽宁省辽宁省 210100 沈阳市沈阳市 210200 大连市大连市 210201 大连市中山区大连市中山区 210202 大连市沙河口区大连市沙河口区 (3 3)常用代)常用代码设计方案方案n编码方案:方案:n省、市、省、市、县用用顺序序码,n各位用位各位用位别码。n位位别码和和顺序序码相相结合。合。整理课件n服装代服装代码:n“0101001”表示一款表示一款纯棉男式中山装棉男式中山装n“0102002”表示一款表示一款纯棉女式西服棉女式西服材料材料 男女式样男女式样 服装款式服装款式 0101纯棉纯棉0101男式男式 001 001中山装中山装0202纯毛纯毛0202女式女式 002 002西服西服0303中长纤维中长纤维 003 003连衣裙连衣裙n特点:特点:n容易分容易分类、增加、增加编码层次次n可从多方面去可从多方面去识别,做各种分,做各种分类统计容易容易n位数和数据位数和数据项个数个数较多。多。(3 3)常用代)常用代码设计方案方案n例例2 2:位:位别码:描述分:描述分类属性;属性;顺序序码:每:每类中用中用整理课件4 4、分、分类编码的的设计步步骤n选定定编码化的化的对象象n确定确定对象所属子系象所属子系统,即:,即:n需需编码的的项目,目,编码的名称的名称n明确明确编码化的目的及化的目的及编码在系在系统中的作用中的作用n确定确定编码使用范使用范围n应适用于一个企适用于一个企业中各部中各部门n还可在外可在外单位使用位使用n确定确定编码使用期限使用期限n无特殊情况,无特殊情况,应作永久性使用作永久性使用n决定决定编码方法方法n合适的分合适的分类方法和代方法和代码种种类及校及校验方式方式整理课件5 5、编码设计实例例n例例:教教学学管管理理系系统,确确定定编码对象如表象如表4-5。n课程程编码设计方案:方案:n5位数字位数字组成成编码对象编码对象使用范围使用范围使用期限使用期限建议使用的编码方法建议使用的编码方法学生学号学生学号整个系统整个系统长期长期合成码合成码课程编码课程编码整个系统整个系统长期长期合成码合成码教师编号教师编号整个系统整个系统长期长期合成码合成码教室编码教室编码整个系统整个系统长期长期合成码合成码位数位数含义含义取值及含义取值及含义1 1课程大类号课程大类号0 0:人文社科、体育、外语;:人文社科、体育、外语; 1 1:经济、管理学科;:经济、管理学科;2 2:自然学科;:自然学科; 3 3:工程与技术;:工程与技术;2 2、3 3课程中类号课程中类号大类号大类号 0 0: 0101政治;政治;0202哲学;哲学;0303文学;文学;0404法律;法律;0505历史;历史;大类号大类号 1 1: 0101经济;经济;02 02 管理。管理。大类号大类号 2 2: 0101数学;数学;0202物理(包括实验物理);物理(包括实验物理);0303化学。化学。大类号大类号 3 3: 0101机械工程;机械工程;0202电气技术;电气技术;0303电子技术与信息技术;电子技术与信息技术;大类号大类号 4 4: 0101毕业设计;毕业设计;0202课程设计;课程设计;0303各类实习;各类实习; ;0505军训军训4 4、5 5某一类下的某一类下的课程顺序号课程顺序号0 001010101:政治经济学;:政治经济学;1010110101:计量经济学:计量经济学2010120101:高等数学:高等数学:2010220102:线性代数;:线性代数;4050140501:军训:军训整理课件4.3 人机界面人机界面设计 n 输入入/输出方式出方式 n 操作模式的操作模式的设计n 界面界面统一性一性设计 整理课件4.3.1 输入入/输出方式出方式 n输入入/输出方式出方式n校校对方式方式4.3 人机界面人机界面设计整理课件4.3.1 输入入/输出方式出方式 n输入入/输出方式出方式4.3 人机界面人机界面设计n 键盘输入入 n A/D,D/A(即模即模数、数数、数模)模)转换n 网网络或通或通讯传输 n 报表表 n 图形形输出出 n 批批处理理/实时处理理整理课件4.3.1 输入入/输出方式出方式 n输入入/输出方式出方式n校校对方式方式4.3 人机界面人机界面设计n 人工校人工校对 n 二次二次键入入 n 利用利用统计中的平衡关系或中的平衡关系或财务帐目中的目中的平衡关系平衡关系进行校行校对 入学年份入学年份 本科生人数本科生人数 大专生人数大专生人数 学生总数学生总数 1993 1589 189 1778 1994 1487 127 1614 1995 2001 193 2194 1996 1983 270 2253 合计合计 7060 779 7839 整理课件4.3.2 操作模式的操作模式的设计 n1.1.界面界面4.3 人机界面人机界面设计n界面:是系界面:是系统的的感知器官。感知器官。n界面的特点:界面的特点:用用户系系统功能功能界面界面操作信息操作信息系系统操作操作动作作动作作结果果整理课件4.3.2 操作模式的操作模式的设计 n1.1.界面界面4.3 人机界面人机界面设计n界面:是系界面:是系统的的感知器官。感知器官。n界面的特点:界面的特点:可可见性、可供性。性、可供性。n可可见性:性:n有充分的提示信息,有充分的提示信息,说明哪些是用于操作的以及它明哪些是用于操作的以及它们的操作的操作方法,提示用方法,提示用户如何如何实现人机交互,人机交互,这就是功能的就是功能的“可可见性性”。用用户系系统功能功能界面界面操作信息操作信息系系统操作操作动作作动作作结果果整理课件4.3.2 操作模式的操作模式的设计 n1.1.界面界面4.3 人机界面人机界面设计n界面:是系界面:是系统的的感知器官。感知器官。n界面的特点:界面的特点:可可见性、可供性。性、可供性。n可供性:可供性:n每一每一项功能及其操作方法功能及其操作方法对于界面所于界面所处环境中的大多数用境中的大多数用户来来说是是显而易而易见的,只需看一眼就可以有所了解,具有的,只需看一眼就可以有所了解,具有这种特点种特点的控制方法成的控制方法成为“可供性可供性”。用用户系系统功能功能界面界面操作信息操作信息系系统操作操作动作作动作作结果果整理课件4.3.2 操作模式的操作模式的设计 n1.1.界面界面4.3 人机界面人机界面设计n界面:是系界面:是系统的的感知器官。感知器官。n界面的特点:界面的特点:可可见性、可供性。性、可供性。n可供性的作用:可供性的作用:n提供了大量的与操作有关的提供了大量的与操作有关的线索。索。用用户系系统功能功能界面界面操作信息操作信息系系统操作操作动作作动作作结果果整理课件4.3.2 操作模式的操作模式的设计 n2.2.元元动作作4.3 人机界面人机界面设计n含含义: :n是用是用户实现各种操作最基本的各种操作最基本的单元。元。n作用:作用:n可以可以实现在元在元动作的集合上作的集合上的的所有人机交互。所有人机交互。n设计方法方法:n自自顶向下。向下。n例如,例如,输入日期可分解入日期可分解为元元动作:年、月、日。作:年、月、日。整理课件4.3.2 操作模式的操作模式的设计 n3.3.操作模式操作模式4.3 人机界面人机界面设计n属性属性值的的键盘输入入: :n功能功能值的的实现方法方法:n等待系等待系统处理的形式理的形式:n属性属性值的的A/DA/D输入:入:n文本文本输入入n下拉菜下拉菜单n表格表格选择n功能按功能按钮n功能菜功能菜单n图标按按钮n进度条度条n漏斗漏斗n条形条形码整理课件4.3.2 操作模式的操作模式的设计 n4.4.步步骤4.3 人机界面人机界面设计n分解元分解元动作作n进行操作模式的行操作模式的设计n进行界面的行界面的统一性一性设计(后面(后面讲)整理课件4.3.2 操作模式的操作模式的设计 n5.5.示例示例4.3 人机界面人机界面设计n学生基本信息表管理,采用屏幕学生基本信息表管理,采用屏幕键盘交互方式。交互方式。n实现的功能:的功能:n输入新生信息、修改入新生信息、修改错误信息、修正学籍信息、修正学籍变动信息、信息、删除退学除退学学生信息、学生信息、删除已除已毕业学生信息、学生信息、查询信息。信息。n(1)(1)查询功能所需的属性功能所需的属性值:n学号、姓名、班学号、姓名、班级、出生日期、出生日期、专业、年、年级、学院。、学院。n(2)(2)分析分析查询条件的数据条件的数据类型,分解出元型,分解出元动作集合:作集合:n学号、姓名、班学号、姓名、班级、专业、学院;、学院;n出生日期:分解出生日期:分解为年、月、日。年、月、日。n(3)(3)分解功能性分解功能性动作:作:n输入学生信息、修改学生信息、入学生信息、修改学生信息、删除学生信息、除学生信息、查询信息信息n分析分析整理课件4.3.2 操作模式的操作模式的设计 n5.5.示例示例4.3 人机界面人机界面设计n学生基本信息表管理,采用屏幕学生基本信息表管理,采用屏幕键盘交互方式。交互方式。n实现的功能:的功能:n输入新生信息、修改入新生信息、修改错误信息、修正学籍信息、修正学籍变动信息、信息、删除退学除退学学生信息、学生信息、删除已除已毕业学生信息、学生信息、查询信息。信息。n(1)(1)设计属性属性值的操作方案:的操作方案:n学号、姓名、班学号、姓名、班级:键盘输入,可有可无,文本方式入,可有可无,文本方式输入。入。n出生日期:出生日期:键盘输入,年、月、日。入,年、月、日。n专业、学院:、学院:键盘输入。入。n(2)(2)设计功能性功能性动作方案:作方案:n输入学生信息、修改学生信息、入学生信息、修改学生信息、删除学生信息、除学生信息、查询信息:信息:n功能按功能按钮、功能菜、功能菜单、图标按按钮。n设计整理课件4.3.2 操作模式的操作模式的设计 n6.6.注意事注意事项4.3 人机界面人机界面设计n操作要尽可能地:操作要尽可能地:n 发挥计算机的算机的优势;n 符合用符合用户的操作的操作习惯;n 简单、明了,使用方便。、明了,使用方便。整理课件4.3.2 界面界面统一性一性设计n1.1.风格格设计 4.3 人机界面人机界面设计n2.2.导航航设计 n3.3.可靠性可靠性设计 整理课件4.3.2 界面界面统一性一性设计n1.1.风格格设计 4.3 人机界面人机界面设计n2.2.导航航设计 n3.3.可靠性可靠性设计 整理课件4.3.2 界面界面统一性一性设计n1.1.风格格设计 4.3 人机界面人机界面设计n2.2.导航航设计 n3.3.可靠性可靠性设计 n良好的容良好的容错性性n充分的提示信息充分的提示信息n光光标当前位置当前位置n运行状运行状态 整理课件4.3.2 界面界面统一性一性设计n操作模式、界面操作模式、界面风格格统一的目一的目标: 4.3 人机界面人机界面设计n 简单性性n 可靠性可靠性n 易学易学习与易使用性与易使用性n 立即反立即反馈性性整理课件4.4 功能功能设计的基本方法的基本方法 n原原则n自自顶向下。向下。n方法方法n把系把系统或其或其组成部分成部分视为暗盒,基于暗盒,基于输入与入与输出及出及对数数据据变换功能的功能的模模块的逐的逐层分解。分解。n模模块n具有具有4 4种属性的一种属性的一组程序程序语句。句。n4 4种属性:种属性:模模块输入入/l输出出逻辑功能功能运行程序运行程序内部数据内部数据整理课件4.4 功能功能设计的基本方法的基本方法 n示例示例n计算算“圆的面的面积”模模块。n4 4种属性:种属性:n输入:入:R R(半径);(半径);输出:出:S S(面(面积)。)。n逻辑功能:功能:n从从调用者用者处获得得R R;n将将产生的生的S S返回返回给调用者。用者。n内部数据:内部数据:n(圆周率)。周率)。n运行程序:运行程序:n计算算圆面面积(S S)程序。)程序。模模块输入入/l输出出逻辑功能功能运行程序运行程序内部数据内部数据整理课件4.4 功能功能设计的基本方法的基本方法 n表示表示n结构构图。n步步骤n(1)(1)将将逻辑结构构(数据流程(数据流程图)转换成成初始的初始的结构构图;n(2)(2) 对初始初始结构构图进行行优化化设计。整理课件4.4.1 结构构图 n符号:符号:n模模块n模模块之之间的的调用关系用关系n数据数据传递关系关系n数据可以是:数据可以是:n一个数据元素一个数据元素n一一组数据元素构成的数据数据元素构成的数据结构构 n标识:n一些关于一些关于处理理结果的果的标志志n例如:没找到相例如:没找到相应记录的的标志、文件志、文件结束束标志等。志等。4.4 功能功能设计的基本方法的基本方法 AB整理课件4.4.1 结构构图 n符号:符号:n判断判断调用关系用关系4.4 功能功能设计的基本方法的基本方法 CDBABA(a) 满足某一个条件值时的调用(b) 满足条件中三个不同的取值时的调用(a) 在在A模模块中有中有语句句结构:构: 如果如果 条件条件1 成立成立 则 调用用B(B) 在在A模模块中有中有语句句结构:构: 如果如果 条件取条件取值为1 则 调用用B 如果如果 条件取条件取值为2 则 调用用C 如果如果 条件取条件取值为3 则 调用用D整理课件4.4.1 结构构图 n符号:符号:n循循环调用关系用关系4.4 功能功能设计的基本方法的基本方法 BABn转接符号接符号Bdd整理课件4.4.1 结构构图 n符号:符号:4.4 功能功能设计的基本方法的基本方法 BABn转接接BddCDBABA(a) 满足某一个条件值时的调用ABn调用用n判断判断调用用n循循环调用用数据标识(b) 满足条件中三个不同取值时的调用整理课件4.4.1 结构构图 n示例:示例:n根据期末考根据期末考试成成绩发补考通知考通知单的的结构构图如下。如下。4.4 功能功能设计的基本方法的基本方法 产生生补考通知考通知确定确定补考学生考学生获得成得成绩单成绩单发补考通知单的结构图成绩单获得学生地址得学生地址打印打印补考通知考通知打印补考通知学生地址学生学号整理课件4.4.1 结构构图 n优点:点:4.4 功能功能设计的基本方法的基本方法 n1、很高的可、很高的可读性,便于理解和性,便于理解和讨论。n2、“自自顶向下向下”的原的原则。n3、具有、具有较高的高的严密性、灵活性。密性、灵活性。n4、结构构图是后期各是后期各阶段工作的重要保段工作的重要保证。n1、很高的可、很高的可读性,便于理解和性,便于理解和讨论。整理课件4.4.1 结构构图 n优点:点:4.4 功能功能设计的基本方法的基本方法 n1、很高的可、很高的可读性,便于理解和性,便于理解和讨论n2、“自自顶向下向下”的原的原则n3、具有、具有较高的高的严密性、灵活性。密性、灵活性。n4、结构构图是后期各是后期各阶段工作的重要保段工作的重要保证。n2、“自自顶向下向下”的原的原则。n逐逐层扩展得到系展得到系统总体体结构构图。n分散整个分散整个设计任任务n由若干个由若干个设计人人员进行不同部分的行不同部分的设计工作;工作;n既便于管理,又能既便于管理,又能够加快加快设计进度,提高工作效率。度,提高工作效率。整理课件4.4.1 结构构图 n优点:点:4.4 功能功能设计的基本方法的基本方法 n1、很高的可、很高的可读性,便于理解和性,便于理解和讨论。n2、“自自顶向下向下”的原的原则。n3、具有、具有较高的高的严密性、灵活性。密性、灵活性。n4、结构构图是后期各是后期各阶段工作的重要保段工作的重要保证。n3、具有、具有较较高的高的严严密性、灵活性密性、灵活性。n能能准准确确地地表表达达系系统中中各各个个组成成部部分分以以及及它它们之之间的的联结关系;关系;n能能随随着着数数据据流流程程图的的改改变而而改改变,灵灵活活性性强,易易于修改和于修改和维护。整理课件4.4.1 结构构图 n优点:点:4.4 功能功能设计的基本方法的基本方法 n1、很高的可、很高的可读性,便于理解和性,便于理解和讨论。n2、“自自顶向下向下”的原的原则。n3、具有、具有较高的高的严密性、灵活性。密性、灵活性。n4、结构构图是后期各是后期各阶段工作的重要保段工作的重要保证。n4、结结构构图图是后期各是后期各阶阶段工作的重要保段工作的重要保证证。n是系是系统设计的重要工具的重要工具n是程序是程序设计、系、系统测试、系、系统维护工作工作顺利利进行行的重要保的重要保证。整理课件4.4.2 功能模功能模块转换策略策略 n1. 事事务分析分析 n高高层的数据流程的数据流程图特特别是一是一级数据流数据流图所表所表示的示的处理功能都是相理功能都是相对独立的,可把它独立的,可把它们看看成是一成是一类类特定的事特定的事务,将其,将其转换为结构构图。4.4 功能功能设计的基本方法的基本方法 整理课件例:将教学管理系例:将教学管理系统二二级数据流程数据流程图转换成成结构构图4.4 功能功能设计的基本方法的基本方法 整理课件图 4-13 4-13 教学管理系教学管理系统高高层次次结构构图例:将教学管理系例:将教学管理系统二二级数据流程数据流程图转换成成结构构图4.4 功能功能设计的基本方法的基本方法 整理课件将学籍将学籍处理三理三级数据数据流程流程图转换成成结构构图4.4 功能功能设计的基本方法的基本方法 整理课件将排将排课管理三管理三级数据数据流程流程图转换成成结构构图4.4 功能功能设计的基本方法的基本方法 整理课件将将“制定教学制定教学计划划”三三级数据流数据流图转换成成结构构图4.4 功能功能设计的基本方法的基本方法 整理课件将将“统计报表表处理理”三三级数据流程数据流程图转换成成结构构图4.4 功能功能设计的基本方法的基本方法 整理课件教学管理系教学管理系统扩展后的展后的结构构图(各三(各三级数据流数据流图的的组合)合)4.4 功能功能设计的基本方法的基本方法 整理课件教学管理系教学管理系统扩展后的展后的结构构图(各三(各三级数据流数据流图的的组合)合)4.4 功能功能设计的基本方法的基本方法 整理课件4.4.2 功能模功能模块转换策略策略 n2. 变换分析分析 n是一种把叶子是一种把叶子层模模块转换成成结构构图的方法。的方法。4.4 功能功能设计的基本方法的基本方法 n处理功能的分理功能的分类n第一第一类:输入功能。入功能。n第二第二类:变换功能。功能。n第三第三类:输出功能。出功能。n特点特点n对数据的数据的变换只是一些形式上的加工,如只是一些形式上的加工,如编辑、验证、排列等。、排列等。n假假设输入数据流是入数据流是X,该处理功能理功能为G,它它产生的生的数据流是数据流是X;n则X=G(X)。)。整理课件4.4.2 功能模功能模块转换策略策略 n2. 变换分析分析 n是一种把叶子是一种把叶子层模模块转换成成结构构图的方法。的方法。4.4 功能功能设计的基本方法的基本方法 n处理功能的分理功能的分类n第一第一类:输入功能。入功能。n第二第二类:变换功能。功能。n第三第三类:输出功能。出功能。n特点特点n对数据流数据流X X进行行实质性的性的变换,即真正的,即真正的处理;理;n假假设它的功能它的功能为F F,它所,它所产生的数据流是生的数据流是YY;n则Y Y=F=F(X X)。)。整理课件4.4.2 功能模功能模块转换策略策略 n2. 变换分析分析 n是一种把叶子是一种把叶子层模模块转换成成结构构图的方法。的方法。4.4 功能功能设计的基本方法的基本方法 n处理功能的分理功能的分类n第一第一类:输入功能。入功能。n第二第二类:变换功能。功能。n第三第三类:输出功能。出功能。n特点特点n它它对输入数据流入数据流YY进行形式上的加工,如排列行形式上的加工,如排列显示格式等等;示格式等等;n假假设它的功能是它的功能是H H,输出数据流出数据流Y Y,则Y=HY=H(Y Y)。)。整理课件4.4.2 功能模功能模块转换策略策略 n2. 变换分析分析 n是一种把叶子是一种把叶子层模模块转换成成结构构图的方法。的方法。4.4 功能功能设计的基本方法的基本方法 n处理功能的分理功能的分类n第一第一类:输入功能。入功能。n第二第二类:变换功能。功能。n第三第三类:输出功能。出功能。n步步骤n(1)(1)对叶子叶子层模模块中的中的处理功能理功能进行行分分类;n(2)(2)确定确定变换中心中心(第二第二类处理功能)理功能),画出,画出结构构图。整理课件4.4.2 功能模功能模块转换策略策略 n2. 变换分析分析 4.4 功能功能设计的基本方法的基本方法 n示意示意图n采用采用变换分析方法分析方法进行模行模块结构构设计的示意的示意图:输入入变换输出出整理课件4.4.2 功能模功能模块转换策略策略 n2. 变换分析分析 4.4 功能功能设计的基本方法的基本方法 n示意示意图n采用采用变换分析方法分析方法进行模行模块结构构设计的示意的示意图:输入入变换输出出整理课件4.4.2 功能模功能模块转换策略策略 n2. 变换分析分析 4.4 功能功能设计的基本方法的基本方法 n示意示意图n采用采用变换分析方法分析方法进行模行模块结构构设计的示意的示意图:输入入变换输出出整理课件实例例n利用事利用事务分析和分析和变换分析分析绘制的制的“教教师基本信息管理基本信息管理”功能功能结构构图4.4 功能功能设计的基本方法的基本方法 整理课件实例例: “教教师基本信息管理基本信息管理”功能功能结构构图n利用事利用事务分析和分析和变换分析分析绘制制n教教师基本信息管理的一基本信息管理的一级数据流数据流图一一级功能功能结构构图4.4 功能功能设计的基本方法的基本方法 整理课件实例例: “教教师基本信息管理基本信息管理”功能功能结构构图n利用事利用事务分析和分析和变换分析分析绘制制n教教师基本信息管理的二基本信息管理的二级数据流数据流图n添加教添加教师基本信息基本信息二二级功能功能结构构图4.4 功能功能设计的基本方法的基本方法 整理课件实例例: “教教师基本信息管理基本信息管理”功能功能结构构图n利用事利用事务分析和分析和变换分析分析绘制制n“教教师基本信息管理基本信息管理”总的功能的功能结构构图4.4 功能功能设计的基本方法的基本方法 整理课件4.4.3 功能模功能模块优化化设计原原则 n1. 模模块之之间的的耦合耦合原原则4.4 功能功能设计的基本方法的基本方法 n2. 模模块的的内聚内聚性原性原则n3. 模模块的的分解分解原原则 n4. 模模块的的扇入和扇出扇入和扇出原原则 整理课件4.4.3 功能模功能模块优化化设计原原则 n1. 模模块之之间的的耦合耦合原原则4.4 功能功能设计的基本方法的基本方法 n耦合:耦合:n是是对一个一个软件件结构内不同模构内不同模块之之间互互连程度的度量。程度的度量。n影响耦合的主要因素:影响耦合的主要因素:n模模块之之间信息信息传递的复的复杂性。性。n耦合分耦合分类:n简单耦合耦合、数据耦合;、数据耦合;n控制耦合、特征耦合;控制耦合、特征耦合;n公共公共环境耦合;境耦合;n内容耦合。内容耦合。低低中中高高ABn简单耦合:耦合:n模模块之之间仅存在存在调用与被用与被调用关用关系,而没有任何系,而没有任何的信息的信息传递。整理课件4.4.3 功能模功能模块优化化设计原原则 n耦合分耦合分类:4.4 功能功能设计的基本方法的基本方法 n如果两个模如果两个模块之之间存在存在调用与被用与被调用关系;用关系;n并且并且还存在着存在着数据通数据通讯,即通,即通过参数交参数交换信息,而信息,而且交且交换的信息的信息仅仅是数据,是数据,则称称为数据耦合。数据耦合。n(1)(1)数据耦合数据耦合ABxn示例:示例:整理课件4.4.3 功能模功能模块优化化设计原原则 n耦合分耦合分类:4.4 功能功能设计的基本方法的基本方法 n如果两个模如果两个模块之之间存在存在调用与被用与被调用关系;用关系;n并且并且还存在着存在着数据通数据通讯,即通,即通过参数交参数交换信息,而信息,而且交且交换的信息的信息仅仅是数据,是数据,则称称为数据耦合。数据耦合。n(1)(1)数据耦合数据耦合ABxn示例:示例:整理课件4.4.3 功能模功能模块优化化设计原原则 n耦合分耦合分类:4.4 功能功能设计的基本方法的基本方法 n如果两个模如果两个模块之之间存在存在调用与被用与被调用关系用关系;n而且模而且模块A A向模向模块B B传递的信息控制了模的信息控制了模块B B的内部的内部逻辑,那么模,那么模块A A、B B之之间的耦合称的耦合称为控制耦合。控制耦合。n(2)(2)控制耦合控制耦合ABcn示例:示例:整理课件4.4.3 功能模功能模块优化化设计原原则 n耦合分耦合分类:4.4 功能功能设计的基本方法的基本方法 n如果两个模如果两个模块之之间存在存在调用与被用与被调用关系用关系;n而且模而且模块A A向模向模块B B传递的信息控制了模的信息控制了模块B B的内部的内部逻辑,那么模,那么模块A A、B B之之间的耦合称的耦合称为控制耦合。控制耦合。n(2)(2)控制耦合控制耦合ABcn示例:示例:整理课件4.4.3 功能模功能模块优化化设计原原则 n耦合分耦合分类:4.4 功能功能设计的基本方法的基本方法 n如果两个模如果两个模块之之间存在存在调用与被用与被调用关系;用关系;n同同时还存在着存在着数据通数据通讯,并,并且且B B模模块仅使用了使用了A A模模块传递的的数据数据结构中的一部分数据元素构中的一部分数据元素,则模模块A A、B B之之间的耦合称的耦合称为特征特征耦合。耦合。n(3)(3)特征耦合特征耦合ABX,YXn示例:示例:本月用水量本月用水量本月用本月用电量量整理课件4.4.3 功能模功能模块优化化设计原原则 n耦合分耦合分类:4.4 功能功能设计的基本方法的基本方法 n如果两个模如果两个模块或多个模或多个模块通通过一个公共数据一个公共数据环境相境相互作用互作用时,它,它们之之间的耦合的耦合称称为公共公共环境境耦合。耦合。n(4)(4)公共公共环境耦合境耦合An数据耦合的形式:数据耦合的形式:n一个模一个模块往公共往公共环境送数据,境送数据,n另一个模另一个模块从公共从公共环境取数据。境取数据。B公用数据公用数据n介于数据耦合和控制耦合之介于数据耦合和控制耦合之间:n两个模两个模块都既往公共都既往公共环境送数据又从境送数据又从里面取数据。里面取数据。这种耦合比种耦合比较紧密。密。整理课件4.4.3 功能模功能模块优化化设计原原则 n耦合分耦合分类:4.4 功能功能设计的基本方法的基本方法 n(4)(4)公共公共环境耦合境耦合全局全局变量:量:n示例:示例:AB公用公用数据数据Xn假假设有一个全局有一个全局变量是量是这个模个模块的公用数据;的公用数据;n那么模那么模块和之和之间存在存在着公共耦合。着公共耦合。整理课件4.4.3 功能模功能模块优化化设计原原则 n耦合分耦合分类:4.4 功能功能设计的基本方法的基本方法 n(5)(5)公共公共环境耦合境耦合全局全局变量:量:n示例:示例:AB公用公用数据数据Xn假假设有一个全局有一个全局变量是量是这个模个模块的公用数据;的公用数据;n那么模那么模块和之和之间存在存在着公共耦合。着公共耦合。整理课件4.4.3 功能模功能模块优化化设计原原则 n耦合分耦合分类:4.4 功能功能设计的基本方法的基本方法 n(5)(5)内容耦合内容耦合有下述几种情况:有下述几种情况:ABn一个模一个模块访问另一个模另一个模块的内部数据;的内部数据;n一个模一个模块不通不通过正常入口而正常入口而转移到另一个模移到另一个模块的的内部;内部;n两个模两个模块有一部分程序代有一部分程序代码重叠重叠( (只出只出现在在汇编程序中程序中) );n一个模一个模块有多个入口(一个模有多个入口(一个模块有多种功能)。有多种功能)。ABABEntry 1Entry 2.Entry n.整理课件4.4.3 功能模功能模块优化化设计原原则 n耦合小耦合小结:4.4 功能功能设计的基本方法的基本方法 n耦合耦合是影响是影响软件复件复杂程度的一个重要因素。程度的一个重要因素。n应该采取下述采取下述设计原原则:n尽量使用数据耦合,尽量使用数据耦合,n少用控制耦合和特征耦合,少用控制耦合和特征耦合,n限制公共限制公共环境耦合的范境耦合的范围,n完全不用内容耦合完全不用内容耦合。n思考思考题:n请同学同学们例例举出各种耦合的出各种耦合的实例。例。整理课件4.4.3 功能模功能模块优化化设计原原则 n2. 模模块的的内聚内聚性性原原则4.4 功能功能设计的基本方法的基本方法 n内聚:内聚:n标志一个模志一个模块内各个元素彼此内各个元素彼此结合的合的紧密程度。密程度。n即一个模即一个模块内部的各个部分其内部的各个部分其处理理动作的作的组合合强度。度。n内聚与耦合的关系:内聚与耦合的关系:n高内聚意味着模高内聚意味着模块间的松耦合。的松耦合。X、Y、Zn理想内聚的模理想内聚的模块:只做一件事情。:只做一件事情。高内聚高内聚松耦合松耦合n高内聚高内聚 松耦合松耦合求和求和整理课件4.4.3 功能模功能模块优化化设计原原则 n2. 模模块的的内聚内聚性性原原则4.4 功能功能设计的基本方法的基本方法 n内聚分内聚分类:10分分中中高高n功能内聚功能内聚n顺序内聚序内聚n通信内聚通信内聚n过程内聚程内聚n时间内聚内聚n逻辑内聚内聚n偶然内聚偶然内聚9分分7分分5分分3分分1分分0分分低低整理课件4.4.3 功能模功能模块优化化设计原原则 n内聚分内聚分类4.4 功能功能设计的基本方法的基本方法 n(1)(1)功能内聚功能内聚10分分n如果模如果模块内所有内所有处理元素属于一个整体,完成一理元素属于一个整体,完成一个个单一的功能,一的功能,则称称为功能内聚。功能内聚。n功能内聚是最高程度的内聚。功能内聚是最高程度的内聚。n示例示例n计算水算水费n执行修改存行修改存盘n计算机自算机自动排排课n计算某工厂算某工厂职工的工的实发工工资计算水算水费用水量用水量水水费整理课件4.4.3 功能模功能模块优化化设计原原则 n内聚分内聚分类4.4 功能功能设计的基本方法的基本方法 n(2)(2)顺序内聚序内聚9分分n如果一个模如果一个模块内的内的处理元素和同一个理元素和同一个功能密切相关功能密切相关,而且而且这些些处理必理必须顺序序执行行( (通常一个通常一个处理元素的理元素的输出数据作出数据作为下一个下一个处理元素的理元素的输入数据入数据) ),则称称为顺序内聚。序内聚。n示例示例n查询并并显示示查询结果果n先先获得得查询条件,再条件,再执行行显示功能示功能n登登录模模块整理课件4.4.3 功能模功能模块优化化设计原原则 n内聚分内聚分类4.4 功能功能设计的基本方法的基本方法 n(3)(3)通信内聚通信内聚7分分n如果模如果模块中所有元素都使用同一个中所有元素都使用同一个输入数据和入数据和( (或或) )产生同一个生同一个输出数据,出数据,则称称为通信内聚。通信内聚。n示例示例n一个模一个模块,是某工厂,是某工厂“产生生职工工工工资报表和表和计算算职工的平均工工的平均工资”,他,他们都使用都使用职工的工工的工资记录信息。信息。职工工工工资记录产生工生工资报表表计算平均工算平均工资职工工工工资报表表平均工平均工资整理课件4.4.3 功能模功能模块优化化设计原原则 n内聚分内聚分类4.4 功能功能设计的基本方法的基本方法 n(3)(3)通信内聚通信内聚7分分n如果模如果模块中所有元素都使用同一个中所有元素都使用同一个输入数据和入数据和( (或或) )产生同一个生同一个输出数据,出数据,则称称为通信内聚。通信内聚。n示例示例n一个模一个模块有两个有两个动作,他作,他们是是“打印打印货物交接物交接单”和和“港口作港口作业委托委托单”。这两个两个动作都使用了船舶作都使用了船舶货物数据物数据库中的数据。中的数据。打印打印货物交接物交接单港口作港口作业委托委托单船舶船舶货物数据物数据库n这两个例子都是使用了同一个数据,而两个例子都是使用了同一个数据,而产生了不同的生了不同的输出。出。整理课件4.4.3 功能模功能模块优化化设计原原则 n内聚分内聚分类4.4 功能功能设计的基本方法的基本方法 n(4)(4)过程内聚程内聚n如果一个模如果一个模块内部各内部各组成部分的成部分的处理理动作各不相作各不相同,彼此也没有什么关系,但它同,彼此也没有什么关系,但它们都受同一个控都受同一个控制流支配,以决定它制流支配,以决定它们的的执行行顺序,序,则称称为过程程内聚。内聚。n使用程序流程使用程序流程图设计软件件时,常常通,常常通过研究流程研究流程图确定模确定模块的划分,的划分,这样得到的往往是得到的往往是过程内聚程内聚的模的模块。n如果一个模如果一个模块内的内的处理元素是理元素是相关相关的,而且必的,而且必须以特定次序以特定次序执行,行,则称称为过程内聚。程内聚。5分分整理课件4.4.3 功能模功能模块优化化设计原原则 n内聚分内聚分类4.4 功能功能设计的基本方法的基本方法 n(4)(4)过程内聚程内聚n示例示例n如果将如果将“学籍学籍处理理”设计成一个模成一个模块,则该模模块接受的是同一个控制流学籍接受的是同一个控制流学籍处理申理申请的支配,的支配,其内部的各个其内部的各个处理理动作作执行着各不相同的运行着各不相同的运动作:作:基本信息管理、基本信息管理、奖励信息管理、励信息管理、处分信息管理、分信息管理、变动信息管理、信息管理、课外活外活动管理。管理。n提高内聚的方法:提高内聚的方法:n将模将模块分解分解为功能功能模模块。5分分整理课件4.4.3 功能模功能模块优化化设计原原则 n内聚分内聚分类4.4 功能功能设计的基本方法的基本方法 n(4)(4)过程内聚程内聚5分分n示例示例n如果一个模如果一个模块中的中的读入成入成绩单与与查询成成绩单必必须顺序序执行。行。n如果一个模如果一个模块中的中的统计成成绩与打印成与打印成绩必必须顺序序执行。行。n提高内聚的方法:提高内聚的方法:n将模将模块分解分解为功能功能模模块。读入成入成绩单查询成成绩单统计成成绩打印成打印成绩整理课件4.4.3 功能模功能模块优化化设计原原则 n内聚分内聚分类4.4 功能功能设计的基本方法的基本方法 n(5)(5)时间内聚内聚3分分n如果一个模如果一个模块包含的任包含的任务必必须在同一段在同一段时间内内执行,就叫行,就叫时间内聚。内聚。n“初始化初始化”模模块。n示例示例n“初始化初始化”模模块。n在系在系统或程序启或程序启动时必必须做完一系列的初始化工作,如做完一系列的初始化工作,如变量初始量初始化、数化、数组初始化等,它与初始化等,它与时间有关,但有关,但执行次序不重要,所行次序不重要,所处理理的的变量、数量、数组与其后与其后调用的用的许多程序有关。多程序有关。n不同不同专业(不同的任(不同的任务)的学生)的学生选同一同一节课。n紧急故障急故障处理系理系统。n学生学生选课整理课件4.4.3 功能模功能模块优化化设计原原则 n内聚分内聚分类4.4 功能功能设计的基本方法的基本方法 n(6)(6)逻辑内聚内聚1分分n如果一个模如果一个模块完成的任完成的任务在在逻辑上属于相同或相上属于相同或相似的一似的一类,则称称为逻辑内聚。内聚。n“逻辑相似相似”n假假设学生回家,可以乘火学生回家,可以乘火车、汽、汽车、飞机,机,这几几种方式在种方式在逻辑上相似,都是交通工具,但每个交上相似,都是交通工具,但每个交通工具又完全不同,而且只能通工具又完全不同,而且只能选择其中一种,即其中一种,即所所执行的功能不同。行的功能不同。整理课件4.4.3 功能模功能模块优化化设计原原则 n内聚分内聚分类4.4 功能功能设计的基本方法的基本方法 n(6)(6)逻辑内聚内聚1分分n如果一个模如果一个模块完成的任完成的任务在在逻辑上属于相同或相上属于相同或相似的一似的一类,则称称为逻辑内聚。内聚。n“审核会核会计报表表”模模块n示例示例n一个工厂需要一个工厂需要统计男男职工人数和技工人数和技术员人数。人数。资金平衡表金平衡表固定固定资产表表男男职工工技技术员利利润表表.会会计报表表统计人数人数整理课件4.4.3 功能模功能模块优化化设计原原则 n内聚分内聚分类4.4 功能功能设计的基本方法的基本方法 n(7)(7)偶然内聚偶然内聚0分分n如果一个模如果一个模块内的各个任内的各个任务间的关系很松散,的关系很松散,则称称为偶然内聚。偶然内聚。n如果一个模如果一个模块内的各部分的内的各部分的处理理动作彼此没有任作彼此没有任务关系,关系,则称称这些部分的些部分的组合合为偶然内聚。偶然内聚。n示例示例宣宣传部部门生生产部部门工厂工厂产品品n一个工厂(一个工厂(产品)的宣品)的宣传部部门与生与生产部部门。整理课件4.4.3 功能模功能模块优化化设计原原则 n内聚内聚类型判断型判断树4.4 功能功能设计的基本方法的基本方法 模模块仅有一有一个功能?个功能?模模块内各部内各部分关系?分关系?次序重要?次序重要?次序重要?次序重要?逻辑相似?相似?功能内聚功能内聚顺序内聚序内聚通信内聚通信内聚过程内聚程内聚时间内聚内聚逻辑内聚内聚偶然内聚偶然内聚是是否否数据流数据流控制流控制流两者皆非两者皆非是是否否是是否否是是否否整理课件4.4.3 功能模功能模块优化化设计原原则 n3.3.模模块的分解原的分解原则 4.4 功能功能设计的基本方法的基本方法 n模模块的分解:的分解:n指把一个模指把一个模块分解成若干个从属于它的新模分解成若干个从属于它的新模块。 n分解原分解原则:n主要是按功能主要是按功能进行分解,直到无法做出明确的功能行分解,直到无法做出明确的功能定定义为止。止。n在分解在分解时既要考既要考虑到模到模块的内聚性,又要考的内聚性,又要考虑到模到模块之之间的耦合程度,并在的耦合程度,并在这两者之两者之间选择一个最佳一个最佳的方案。的方案。 整理课件4.4.3 功能模功能模块优化化设计原原则 n3.3.模模块的分解原的分解原则 4.4 功能功能设计的基本方法的基本方法 n示例:示例:整理课件4.4.3 功能模功能模块优化化设计原原则 n4.4.模模块的的深度、深度、宽度、度、扇出扇出、扇入原扇入原则 4.4 功能功能设计的基本方法的基本方法 n深度深度AB深度深度3CDn软件件结构中控制的构中控制的层数。数。n层数数过多,有可能多,有可能许多管理模多管理模块过分分简单,应考考虑合并。合并。EF整理课件4.4.3 功能模功能模块优化化设计原原则 n4.4.模模块的的深度、深度、宽度、度、扇出扇出、扇入原扇入原则 4.4 功能功能设计的基本方法的基本方法 n深度深度AB宽度度3CDn软件件结构中同一构中同一层次上模次上模块总数数的最大的最大值。n影响因素:模影响因素:模块的扇出。的扇出。EFn宽度度整理课件4.4.3 功能模功能模块优化化设计原原则 n4.4.模模块的的深度、深度、宽度、度、扇出扇出、扇入原扇入原则 4.4 功能功能设计的基本方法的基本方法 n扇出(扇出(Fan_Out)AB扇出扇出3CDn一个模一个模块直接控制(直接控制(调用)的模用)的模块数目。数目。n或一个模或一个模块对它的直属下它的直属下级模模块的控制范的控制范围。n扇出系数:指其直属下扇出系数:指其直属下级模模块的个数。的个数。n平均扇出:平均扇出:3 34 4,上限,上限为5-95-9EF整理课件4.4.3 功能模功能模块优化化设计原原则 n4.4.模模块的的深度、深度、宽度、度、扇出扇出、扇入原扇入原则 4.4 功能功能设计的基本方法的基本方法 n扇出(扇出(Fan_Out)ABCDn一个模一个模块有多少个上有多少个上级模模块直接直接调用它。用它。n扇入系数:指其直接上扇入系数:指其直接上级模模块的个数。的个数。n扇入越大,由共享扇入越大,由共享该模模块的上的上级模模块数目越多。数目越多。n扇入(扇入(Fan_In)E扇入扇入3整理课件4.4.3 功能模功能模块优化化设计原原则 n4.4.模模块的的深度、深度、宽度、度、扇出扇出、扇入原扇入原则 4.4 功能功能设计的基本方法的基本方法 n扇出(扇出(Fan_Out)ABCDn小小结n扇入(扇入(Fan_In)E扇入扇入3n很好的很好的软件件结构构n顶层扇出比扇出比较高;高;n中中层扇出扇出较少;少;n底底层高扇入(底扇入到公高扇入(底扇入到公共的共的实用模用模块中去)。中去)。AB扇出扇出3CDEF整理课件利用事利用事务分析和分析和变换分析分析绘制的制的“教教师基本信息管理基本信息管理”功能功能结构构图4.4.3 功能模功能模块优化化设计原原则 4.4 功能功能设计的基本方法的基本方法 整理课件4.4.3 功能模功能模块优化化设计原原则 4.4 功能功能设计的基本方法的基本方法 “教教师基本信息管理基本信息管理”模模块优化化结果:果:整理课件4.4.4 功能功能设计小小结n结构化构化设计方法方法( (简称称SDSD方法方法) ),n是基于数据流的是基于数据流的设计方法。方法。4.4 功能功能设计的基本方法的基本方法 n信息流有两种信息流有两种类型:型:n事事务流流n变换流流整理课件4.4.4 功能功能设计小小结n结构化构化设计方法方法( (简称称SDSD方法方法) ),n是基于数据流的是基于数据流的设计方法。方法。4.4 功能功能设计的基本方法的基本方法 n信息流有两种信息流有两种类型:型:n事事务流流n变换流流n设计方法:方法:n分析分析变换整理课件4.4.5 功能功能设计案例案例 4.4 功能功能设计的基本方法的基本方法 n 例子例子 汽汽车数字数字仪表板的表板的设计。n假假设的的仪表板将完成的功能有:表板将完成的功能有:n(1) (1) 通通过模数模数转换实现传感器和微感器和微处理机接口;理机接口;n(2) (2) 在在发光二极管面板上光二极管面板上显示数据;示数据;n(3) (3) 指示每小指示每小时英里数英里数(mph)(mph),行,行驶的里程,每加的里程,每加仑油行油行驶的英里数的英里数(mpg)(mpg)等等;等等;n(4) (4) 指示加速或减速;指示加速或减速;n(5) (5) 超速警告:如果超速警告:如果车速超速超过5555英里英里/ /小小时,则发出超速出超速警告警告铃声。声。n软件需求分析件需求分析阶段段n对上述每条要求以及系上述每条要求以及系统的其他特点的其他特点进行全面的分析行全面的分析评价;价;n建立起必要的文档建立起必要的文档资料,特料,特别是数据流是数据流图。整理课件4.4.5 功能功能设计案例(案例(续) 4.4 功能功能设计的基本方法的基本方法 设计步步骤n第第1 1步步 复复查基本系基本系统模型。模型。n第第3 3步步 确定数据流确定数据流图的特性(的特性(变换流或事流或事务流)流)n第第2 2步步 复复查并精化数据流并精化数据流图。n第第4 4步步 确定确定输入流和入流和输出流的出流的边界,从而孤立出界,从而孤立出变换中心。中心。n第第5 5步步 完成完成“第一第一级分解分解”。n第第6 6步步 完成完成“第二第二级分解分解”。n第第7 7步步 使用使用设计度量和启度量和启发式式规则对第一次分割得到的第一次分割得到的软件件结构构进一步精化。一步精化。整理课件4.4.5 功能功能设计案例(案例(续) 4.4 功能功能设计的基本方法的基本方法 设计步步骤确保系确保系统的的输入入/ /输出数据符合出数据符合实际。n第第1 1步步 复复查基本系基本系统模型。模型。输入入n读旋旋转信号信号n读燃料流燃料流传感器信号感器信号输出出n产生加生加/ /减速减速显示示n产生里程生里程显示示n发出出铃声声n产生生mphmph显示示n产生生mpgmpg显示示整理课件4.4.5 功能功能设计案例(案例(续) 4.4 功能功能设计的基本方法的基本方法 读旋旋转信信号号收集收集和求和和求和信号信号/秒秒(SPS)旋旋转信号信号确定加确定加速速/减速减速产生生加加/减速减速显示示转换成成转/分分(rpm)计算算里程里程产生生里程里程显示示计算算燃料燃料消耗消耗发出出铃声声产生生mph显示示读和和校核校核计算算gph计算算mph和和超速超速值 SPS箭箭头批示批示rpm英里英里钤声声超速超速值gph燃料流燃料流燃料流燃料流传感器信号感器信号SPS产生生mpg显示示rpmmphmpgmphmpg显示示mph显示示水平水平线上箭上箭头下箭下箭头显示示(1) 通通过模数模数转换实现传感器和微感器和微处理机接口;理机接口;(2) 在在发光二极管面板上光二极管面板上显示数据;示数据;(3) 指示每小指示每小时英里数英里数(mph),行,行驶的里程,每加的里程,每加仑油行油行驶的英里数的英里数(mpg)等等;等等;(4) 指示加速或减速;指示加速或减速;(5) 车速超速超过55英里英里/小小时,发出超速警告出超速警告铃声。声。整理课件4.4.5 功能功能设计案例(案例(续) 4.4 功能功能设计的基本方法的基本方法 设计步步骤n第第1 1步步 复复查基本系基本系统模型。模型。n第第2 2步步 复复查并精化数据流并精化数据流图。n确保数据流确保数据流图给出了目出了目标系系统的正确的的正确的逻辑模型;模型;n数据流数据流图中的每个中的每个处理都代表一个理都代表一个规模适中相模适中相对独独立的子功能。立的子功能。n已知需求分析已知需求分析阶段段产生的数字生的数字仪表板系表板系统的数据流的数据流图如如图1 1所示。所示。n该数据流数据流图已已经足足够详细,不需要精化就可以,不需要精化就可以进行行下一个下一个设计步步骤。整理课件4.4.5 功能功能设计案例(案例(续) 4.4 功能功能设计的基本方法的基本方法 读旋旋转信信号号收集收集和求和和求和信号信号/秒秒(SPS)旋旋转信号信号确定加确定加速速/减速减速产生生加加/减速减速显示示转换成成转/分分(rpm)计算算里程里程产生生里程里程显示示计算算燃料燃料消耗消耗发出出铃声声产生生mph显示示读和和校核校核计算算gph计算算mph和和超速超速值 SPS箭箭头批示批示rpm英里英里钤声声超速超速值gph燃料流燃料流燃料流燃料流传感器信号感器信号SPS产生生mpg显示示rpmmphmpgmphmpg显示示mph显示示水平水平线上箭上箭头下箭下箭头显示示(1) 通通过模数模数转换实现传感器和微感器和微处理机接口;理机接口;(2) 在在发光二极管面板上光二极管面板上显示数据;示数据;(3) 指示每小指示每小时英里数英里数(mph),行,行驶的里程,每加的里程,每加仑油行油行驶的英里数的英里数(mpg)等等;等等;(4) 指示加速或减速;指示加速或减速;(5) 车速超速超过55英里英里/小小时,发出超速警告出超速警告铃声。声。图1整理课件4.4.5 功能功能设计案例(案例(续) 4.4 功能功能设计的基本方法的基本方法 设计步步骤n第第1 1步步 复复查基本系基本系统模型。模型。n第第3 3步步 确定数据流确定数据流图的特性(的特性(变换流或事流或事务流)流)n第第2 2步步 复复查并精化数据流并精化数据流图。n通常,系通常,系统中的所有信息流都可以中的所有信息流都可以认为是是变换流;流;n但是,当有明但是,当有明显事事务特性的信息流特性的信息流时,应采用事采用事务分析方法分析方法设计。由数据流由数据流图图1 1所示:所示:n数据沿着数据沿着2 2条通路条通路进入系入系统;n然后沿着然后沿着5 5条通路离开系条通路离开系统。无明无明显的事的事务中心中心变换流流整理课件4.4.5 功能功能设计案例(案例(续) 4.4 功能功能设计的基本方法的基本方法 设计步步骤n第第1 1步步 复复查基本系基本系统模型。模型。n第第3 3步步 确定数据流确定数据流图的特性(的特性(变换流或事流或事务流)流)n第第2 2步步 复复查并精化数据流并精化数据流图。n第第4 4步步 确定确定输入流和入流和输出流的出流的边界,从而孤立出界,从而孤立出变换中心。中心。n第第5 5步步 完成完成“第一第一级分解分解”。n第第6 6步步 完成完成“第二第二级分解分解”。n第第7 7步步 使用使用设计度量和启度量和启发式式规则对第一次分割得到的第一次分割得到的软件件结构构进一步精化。一步精化。整理课件4.4.5 功能功能设计案例(案例(续) 4.4 功能功能设计的基本方法的基本方法 读旋旋转信信号号收集收集和求和和求和信号信号/秒秒(SPS)旋旋转信号信号确定加确定加速速/减速减速产生生加加/减速减速显示示转换成成转/分分(rpm)计算算里程里程产生生里程里程显示示计算算燃料燃料消耗消耗发出出铃声声产生生mph显示示读和和校核校核计算算gph计算算mph和和超速超速值 SPS箭箭头批示批示rpm英里英里钤声声超速超速值gph燃料流燃料流燃料流燃料流传感器信号感器信号SPS产生生mpg显示示rpmmphmpgmphmpg显示示mph显示示水平水平线上箭上箭头下箭下箭头显示示(1) 通通过模数模数转换实现传感器和微感器和微处理机接口;理机接口;(2) 在在发光二极管面板上光二极管面板上显示数据;示数据;(3) 指示每小指示每小时英里数英里数(mph),行,行驶的里程,每加的里程,每加仑油行油行驶的英里数的英里数(mpg)等等;等等;(4) 指示加速或减速;指示加速或减速;(5) 车速超速超过55英里英里/小小时,发出超速警告出超速警告铃声。声。图1整理课件4.4.5 功能功能设计案例(案例(续) 4.4 功能功能设计的基本方法的基本方法 设计步步骤n第第1 1步步 复复查基本系基本系统模型。模型。n第第3 3步步 确定数据流确定数据流图的特性(的特性(变换流或事流或事务流)流)n第第2 2步步 复复查并精化数据流并精化数据流图。n第第4 4步步 确定确定输入流和入流和输出流的出流的边界,从而孤立出界,从而孤立出变换中心。中心。n第第5 5步步 完成完成“第一第一级分解分解”。n第第6 6步步 完成完成“第二第二级分解分解”。n第第7 7步步 使用使用设计度量和启度量和启发式式规则对第一次分割得到的第一次分割得到的软件件结构构进一步精化。一步精化。整理课件4.4.5 功能功能设计案例(案例(续) 4.4 功能功能设计的基本方法的基本方法 设计步步骤n第第5 5步步 完成完成“第一第一级分解分解”。n软件件结构:构:对控制的自控制的自顶向下的分配。向下的分配。n分解:就是分配控制的分解:就是分配控制的过程。程。n具有具有变换流的数据流流的数据流图分解:分解:n将数据流将数据流图映射成一个特殊的映射成一个特殊的软件件结构;构;n软件件结构的特点:控制构的特点:控制输入、入、变换和和输出等信息出等信息处理理过程。程。整理课件4.4.5 功能功能设计案例(案例(续) 4.4 功能功能设计的基本方法的基本方法 设计步步骤n第第5 5步步 完成完成“第一第一级分解分解”。方法如方法如图:图2 2 第一第一级分解的方法分解的方法整理课件4.4.5 功能功能设计案例(案例(续) 4.4 功能功能设计的基本方法的基本方法 设计步步骤n第第5 5步步 完成完成“第一第一级分解分解”。图3 3 数字数字仪表板系表板系统的第一的第一级分解分解数字数字仪表板一表板一级分解后的分解后的结构构图n每个控制模每个控制模块的的名字表明其控制名字表明其控制的模的模块的功能。的功能。整理课件4.4.5 功能功能设计案例(案例(续) 4.4 功能功能设计的基本方法的基本方法 设计步步骤n第第1 1步步 复复查基本系基本系统模型。模型。n第第3 3步步 确定数据流确定数据流图的特性(的特性(变换流或事流或事务流)流)n第第2 2步步 复复查并精化数据流并精化数据流图。n第第4 4步步 确定确定输入流和入流和输出流的出流的边界,从而孤立出界,从而孤立出变换中心。中心。n第第5 5步步 完成完成“第一第一级分解分解”。n第第6 6步步 完成完成“第二第二级分解分解”。n第第7 7步步 使用使用设计度量和启度量和启发式式规则对第一次分割得到的第一次分割得到的软件件结构构进一步精化。一步精化。整理课件4.4.5 功能功能设计案例(案例(续) 4.4 功能功能设计的基本方法的基本方法 设计步步骤(1)(1)分解目分解目标:n第第6 6步步 完成完成“第二第二级分解分解”。n把数据流把数据流图中的每个中的每个处理理映射成映射成软件件结构中一个适构中一个适当的模当的模块。(2)(2)分解方法:分解方法:n从从变换中心的中心的边界开始沿着界开始沿着输入通路向外移入通路向外移动,把,把输入通路中每入通路中每个个处理映射成理映射成软件件结构中构中CaCa控制下的一个低控制下的一个低层模模块;n然后沿然后沿输出通路向外移出通路向外移动,把,把输出通路中每个出通路中每个处理映射成直接或理映射成直接或间接受模接受模块CeCe控制的一个低控制的一个低层模模块;n最后把最后把变换中心内的每个中心内的每个处理映射成受理映射成受CtCt控制的一个模控制的一个模块。下。下图表示表示进行第二行第二级分解的普遍途径。分解的普遍途径。整理课件4.4.5 功能功能设计案例(案例(续) 4.4 功能功能设计的基本方法的基本方法 设计步步骤图a 未未经精化的精化的输入入结构构图b 未未经精化的精化的变换结构构图c 未未经精化的精化的输出出结构构n第第6 6步步 完成完成“第二第二级分解分解”。(3)(3)分解分解结果:果:如如图a a、b b、c c。这是是软件件结构的初步构的初步设计结果。果。整理课件4.4.5 功能功能设计案例(案例(续) 4.4 功能功能设计的基本方法的基本方法 设计步步骤(4)(4)分解后的工作(分解后的工作(为每个模每个模块写写简要要说明与描述):明与描述):n第第6 6步步 完成完成“第二第二级分解分解”。n进出出该模模块的信息的信息( (接口描述接口描述) );n模模块内部的信息;内部的信息;n过程程陈述,包括主要判定点及任述,包括主要判定点及任务等;等;n对约束和特殊特点的束和特殊特点的简短短讨论。n这些描述是第一代的些描述是第一代的设计规格格说明,在明,在设计时期期进一一步的精化和步的精化和补充工作充工作经常常发生。生。整理课件4.4.5 功能功能设计案例(案例(续) 4.4 功能功能设计的基本方法的基本方法 设计步步骤n第第1 1步步 复复查基本系基本系统模型。模型。n第第3 3步步 确定数据流确定数据流图的特性(的特性(变换流或事流或事务流)流)n第第2 2步步 复复查并精化数据流并精化数据流图。n第第4 4步步 确定确定输入流和入流和输出流的出流的边界,从而孤立出界,从而孤立出变换中心。中心。n第第5 5步步 完成完成“第一第一级分解分解”。n第第6 6步步 完成完成“第二第二级分解分解”。n第第7 7步步 对第二次分解得到的第二次分解得到的软件件结构构进行精化。行精化。整理课件4.4.5 功能功能设计案例(案例(续) 4.4 功能功能设计的基本方法的基本方法 设计步步骤n第第7 7步步 对第二次分解得到的第二次分解得到的软件件结构构进行精化。行精化。n根据模根据模块独立原理独立原理进行精化。行精化。n对模模块进行再分解或合并。行再分解或合并。(1)(1)精化方法:精化方法:(2)(2)对“数字数字仪表板表板”软件件结构的精化步构的精化步骤:n输入入结构中的模构中的模块“转换成成rpm”rpm”和和“收集收集sps”sps”合并;合并;n模模块“确定加速确定加速/ /减速减速”放在模放在模块“计算算mph”mph”下面,以减下面,以减少耦合;少耦合;n模模块“加速加速/ /减速减速显示示”放在模放在模块“显示示mph”mph”的下面。的下面。(3) (3) “数字数字仪表板表板”软件件结构的精化构的精化结果:果:整理课件4.4.5 功能功能设计案例(案例(续) 4.4 功能功能设计的基本方法的基本方法 设计步步骤n第第7 7步步 对第二次分解得到的第二次分解得到的软件件结构构进行精化。行精化。n根据模根据模块独立原理独立原理进行精化。行精化。n对模模块进行再分解或合并。行再分解或合并。(1)(1)精化方法:精化方法:(2)(2)对“数字数字仪表板表板”软件件结构所做的精化:构所做的精化:n输入入结构中的模构中的模块“转换成成rpm”rpm”和和“收集收集sps”sps”合并;合并;n模模块“确定加速确定加速/ /减速减速”放在模放在模块“计算算mph”mph”下面,以减下面,以减少耦合;少耦合;n模模块“加速加速/ /减速减速显示示”放在模放在模块“显示示mph”mph”的下面。的下面。(3) (3) “数字数字仪表板表板”软件件结构的精化构的精化结果:果:整理课件4.4.5 功能功能设计案例(案例(续)(2) (2) 对“数字数字仪表板表板”软件件结构所做的精化:构所做的精化:n输入入结构中的模构中的模块“转换成成rpm”rpm”和和“收集收集sps”sps”合并;合并;n模模块“确定加速确定加速/ /减速减速”放在模放在模块“计算算mph”mph”下面;下面;n模模块“加速加速/ /减速减速显示示”放在模放在模块“显示示mph”mph”的下面。的下面。 精化后的数字精化后的数字仪表板系表板系统的的软件件结构构4.4 功能功能设计的基本方法的基本方法 设计步步骤n第第7 7步步 对第二次分解得到的第二次分解得到的软件件结构构进行精化。行精化。(3) “(3) “数字数字仪表板表板”软件件结构的精化构的精化结果:果:整理课件4.4.5 功能功能设计案例(案例(续) 4.4 功能功能设计的基本方法的基本方法 设计步步骤小小结n7 7个个设计步步骤的目的的目的n开开发出出软件的整体表示。即,件的整体表示。即,n一旦确定了一旦确定了软件件结构就把它作构就把它作为一个整体来复一个整体来复查,从而从而进行行评价和精化价和精化软件件结构。构。n这个个时期的修改只需很少的附加工作,却能期的修改只需很少的附加工作,却能对软件件的的质量特量特别是是软件的可件的可维护性性产生深生深远的影响。的影响。整理课件4.4.6 事事务分析分析4.4 功能功能设计的基本方法的基本方法 设计步步骤:范范围:n与与变换分析的分析的设计步步骤大部分相同或大部分相同或类似;似;n主要差主要差别:由数据流:由数据流图到到软件件结构的映射方法不同。构的映射方法不同。n当数据流具有明当数据流具有明显的事的事务特点,即:特点,即:n有一个明有一个明显的的“发射中心射中心”( (事事务中心中心) )时。事事务流映射成的流映射成的软件件结构的特点:构的特点:n一个接收分支和一个一个接收分支和一个发送分支。送分支。整理课件4.4.6 事事务分析分析4.4 功能功能设计的基本方法的基本方法 n发送分支的送分支的结构构映射方法:映射方法:n接收分支接收分支结构构n一个一个调度模度模块,它控制下,它控制下层的所有活的所有活动模模块;n再把数据流再把数据流图中的每个活中的每个活动流通路映射成与它的流特征相流通路映射成与它的流特征相对应的的结构。构。n从事从事务中心的中心的边界界开始;开始;n把沿着接收流通路把沿着接收流通路的的处理映射成模理映射成模块。整理课件4.4.6 事事务分析分析4.4 功能功能设计的基本方法的基本方法 小小结n对于一个大系于一个大系统,常常把,常常把变换分析和事分析和事务分析分析应用到同用到同一个数据流一个数据流图的不同部分,由此得到的子的不同部分,由此得到的子结构形成构形成“构构件件”,可以利用它,可以利用它们构造完整的构造完整的软件件结构。构。n如果数据流没有如果数据流没有显著的事著的事务特点,最好使用特点,最好使用变换分析;分析;n如果具有明如果具有明显的事的事务中心,中心,则应该采用事采用事务分析技分析技术。n如果如果应用分析映射用分析映射规则得到一些确得到一些确实用用处不大、又不必要不大、又不必要的控制模的控制模块,则应该把它把它们合并。合并。n如果一个控制模如果一个控制模块功能功能过分复分复杂,则应该分解分解为两个或多两个或多个控制模个控制模块,或者增加中,或者增加中间层次的控制模次的控制模块。整理课件4.5 基于基于UML的功能的功能设计方法方法 n4.5.1 Struts框架框架 n4.5.1.1 MVC模型模型 nWEBWEB最常用的框架最常用的框架n模型模型- -视窗窗- -控制器(控制器(MVCMVC)整理课件n模型(模型(MODELMODEL):):n包含了包含了应用程序功能核心;用程序功能核心;n封装了封装了应用程序的数据用程序的数据结构和事构和事务逻辑;n集中体集中体现了了应用程序的状用程序的状态。n视窗:(窗:(VIEWVIEW)(模)(模块的外的外观)n应用程序的外在表用程序的外在表现;n可以可以访问模型的数据,但不能改模型的数据,但不能改变这些数据;些数据;n不不了了解解模模型型和和控控制制的的情情况况,当当模模型型发生生改改变时,视窗窗得到通知;得到通知;n界界面面开开发人人员不不需需要要了了解解或或关关心心数数据据库发生生什什么么事事情情,或或者者事事务逻辑组件件进行行了了什什么么操操作作,仅用用界界面面制制作作技技术就行。就行。4.5.1.1 MVC模型模型 4.5 基于基于UML的功能的功能设计方法方法 整理课件n控制器:(控制器:(CONTROLLERCONTROLLER)n对用用户的的输入入做做出出反反映映并并且且将将模模型型和和视窗窗联系系在在一一起起,它它创建并建并设置模置模块。n使用使用MVC框架开框架开发B/S结构的构的应用系用系统方法:方法:n使用使用JavaBean进行模型行模型设计与开与开发;n视窗窗则利用利用JSP来开来开发,客,客户端使用端使用HTML来来实现;n控控制制器器则通通常常使使用用Servlet,它它调用用JavaBean,并并且且负责选择正确的正确的JSP页来来创建和建和显示示动态内容。内容。 4.5.1.1 MVC模型模型 4.5 基于基于UML的功能的功能设计方法方法 整理课件4.5.1.2 Struts框架框架 4.5 基于基于UML的功能的功能设计方法方法 整理课件n1、控制器、控制器(Controller):n作用:从客作用:从客户端接受端接受请求,并且求,并且选择执行相行相应的的业务逻辑,然后把响,然后把响应结果送回到客果送回到客户端。端。n在在StrutsStruts中中实现ControllerController功能的功能的对象及作用:象及作用:n由由ActionServletActionServlet和和ActionMappingActionMapping对象构成;象构成;nActionServletActionServlet:n核心,是一个核心,是一个ServletServlet类型的型的对象,用于接受客象,用于接受客户端的端的请求。求。n它包括一它包括一组基于配置的基于配置的ActionMappingActionMapping对象,每个象,每个ActionMappingActionMapping对象象实现了一个了一个请求到一个具体求到一个具体ActionAction处理器理器对象之象之间的映射。的映射。 4.5.1.2 Struts框架框架 4.5 基于基于UML的功能的功能设计方法方法 整理课件4.5.1.2 Struts框架框架 控制功能4.5 基于基于UML的功能的功能设计方法方法 整理课件n2、模型、模型( (Model) ):n分分为两两类:n系系统的内部状的内部状态和改和改变系系统状状态的的动作。作。nStrutsStruts为ModelModel部分提供了部分提供了ActionAction和和ActionFormActionForm对象。象。nActionAction处理器理器对象是开象是开发者从者从StrutsStruts的的ActionAction类派生的子派生的子类。nActionAction处理器理器对象封装了具体的象封装了具体的处理理逻辑,调用用业务逻辑模模块,并且把响,并且把响应提交到合适的提交到合适的ViewView组件以件以产生响生响应。4.5.1.2 Struts框架框架 4.5 基于基于UML的功能的功能设计方法方法 整理课件n2、模型、模型( (Model) ):nStrutsStruts提供的提供的ActionFormActionForm组件件对象,可以通象,可以通过定定义属性属性描述客描述客户端表端表单数据。开数据。开发者可以由它派生出子者可以由它派生出子类对象,象,利用它与利用它与StrutsStruts提供的自定提供的自定义标记库结合可以合可以实现对客客户端的表端的表单数据的良好封装和支持,数据的良好封装和支持,ActionAction处理器理器对象象可以直接可以直接对它它进行行读写,而不再需要和写,而不再需要和requestrequest、responseresponse对象象进行数据交互。行数据交互。n通通过ActionFormActionForm组件件对象象实现了了对ViewView和和ModelModel之之间交交互的支持。互的支持。StrutsStruts通常建通常建议使用一使用一组JavaBeanJavaBean表示系表示系统的内部状的内部状态,根据系,根据系统的复的复杂度也可以使用像度也可以使用像Entity Entity EJB EJB 和和 Session EJBSession EJB等等组件来件来实现系系统状状态。StrutsStruts建建议在在实现时把把“做什么做什么”( (Action)Action)和和“如何做如何做”(业务逻辑)分离。)分离。这样可以可以实现业务逻辑的重用。的重用。 4.5.1.2 Struts框架框架 4.5 基于基于UML的功能的功能设计方法方法 整理课件n3、视图( (View) ):nStruts应用中的用中的View部分是通部分是通过JSP技技术实现的。的。nStruts提供了自定提供了自定义的的标记库可以使用,通可以使用,通过这些自定些自定义标记可以非常好地和系可以非常好地和系统的的Model部分交互,通部分交互,通过使用使用这些自定些自定义标记创建的建的JSP表表单,可以,可以实现和和Model部分中部分中的的ActionForm的映射,完成的映射,完成对用用户数据的封数据的封装,同装,同时这些自定些自定义标记还提供了模板定制提供了模板定制等多种等多种显示功能。示功能。 4.5.1.2 Struts框架框架 4.5 基于基于UML的功能的功能设计方法方法 整理课件4.5.2 功能功能设计(以(以“教教师基本信息管理基本信息管理”用例用例为例)例)n4.5.2.1 对象及象及类的的设计n1 1、视窗(窗(ViewView)部分部分n系系统分析分析阶段段设计出的三个出的三个对象:象:n教教师基本信息管理基本信息管理页面面对象;象;n教教师信息信息编辑页面面对象;象;n教教师实体体对象;象;n对上述三个上述三个对象采用象采用StrutsStruts框架框架n形形成成的的教教师基基本本信信息息管管理理页面面和和教教师信信息息编辑页面面自自然是然是MVCMVC模型中的模型中的视窗部分(即窗部分(即ViewView部分)。部分)。4.5 基于基于UML的功能的功能设计方法方法 整理课件4.5.2 功能功能设计(以(以“教教师基本信息管理基本信息管理”用例用例为例)例)n4.5.2.1 对象及象及类的的设计n2 2、控制器(、控制器(ControllerController)部分)部分nStrutsStruts框架的框架的控制器控制器构成:构成:n由由ActionServletActionServlet和和ActionMappingActionMapping对象构成。象构成。n应用:用:n在在教教师基基本本信信息息管管理理用用例例中中增增加加两两个个与与之之对应的的对象象控制器控制器对象和教象和教师管理控制管理控制对象。象。4.5 基于基于UML的功能的功能设计方法方法 整理课件4.5.2 功能功能设计(以(以“教教师基本信息管理基本信息管理”用例用例为例)例)n4.5.2.1 对象及象及类的的设计n3 3、模型、模型(Model)(Model)部分部分nStrutsStruts结构构为ModelModel部分提供的部分提供的对象:象:nActionAction和和ActionFormActionFormnStrutsStruts的的建建议n实现时把把“做做什什么么”( (Action)Action)和和“如如何何做做”(业务逻辑)分离,分离,实现业务逻辑的重用。的重用。n依依StrutsStruts的的建建议,设计时采用的方法:采用的方法:n引入两个引入两个对象:教象:教师管理事管理事务和教和教师数据存取数据存取对象;象;n利用数据利用数据库连接池接池对象象实现与数据与数据库的交互。的交互。4.5 基于基于UML的功能的功能设计方法方法 整理课件4.5.2 功能功能设计(以(以“教教师基本信息管理基本信息管理”用例用例为例)例)教教师基本信基本信息管理息管理页面面教教师信信息息编辑页面面控制器控制器教教师管理管理控制控制对象象教教师管理管理事事务对象象教教师数据数据存取存取对象象教教师实体体数据数据库连接池接池4.5 基于基于UML的功能的功能设计方法方法 n 对象及象及类的的设计n4 4、对象及象及类的的设计结果:果:整理课件4.5.2 功能功能设计(以(以“教教师基本信息管理基本信息管理”用例用例为例)例)4.5 基于基于UML的功能的功能设计方法方法 n4.5.2.2 Struts Struts框架方法的映射框架方法的映射 n视窗部分:采用窗部分:采用JSPJSP开开发n方法方法设计的主要工作:的主要工作:n在在后后台台的的教教师管管理理控控制制、教教师管管理理事事务、教教师数数据据存存取取、教教师实体和数据体和数据库连接池上接池上进行。行。整理课件4.5.2 功能功能设计(以(以“教教师基本信息管理基本信息管理”用例用例为例)例)4.5 基于基于UML的功能的功能设计方法方法 n4.5.2.2 Struts Struts框架方法的映射框架方法的映射 n消息的分析:消息的分析:清空清空查询条件条件数据管理数据管理员1:请求清空求清空清空清空查询条件条件查询2:请求求查询获得得查询条件条件2.2:servlet分配分配转发查询教教师信息信息提交提交查询请求求调用教用教师实体体查询数据数据调用事物用事物对象象获得数据得数据库连接接n第一第一组(清空(清空查询条件)条件):n“请求清空求清空”:由角色向教:由角色向教师基本信息管理基本信息管理页面面发起;起;n“清空清空查询条件条件”:n在在页面上面上进行,两个消息均采用行,两个消息均采用JSP技技术实现。整理课件4.5.2 功能功能设计(以(以“教教师基本信息管理基本信息管理”用例用例为例)例)4.5 基于基于UML的功能的功能设计方法方法 n4.5.2.2 Struts Struts框架方法的映射框架方法的映射 n消息的分析:消息的分析:清空清空查询条件条件数据管理数据管理员1:请求清空求清空清空清空查询条件条件查询2:请求求查询获得得查询条件条件2.2:servlet分配分配转发查询教教师信息信息提交提交查询请求求调用教用教师实体体查询数据数据调用事物用事物对象象获得数据得数据库连接接n第一第一组(清空(清空查询条件)条件):n“请求清空求清空”:由角色向教:由角色向教师基本信息管理基本信息管理页面面发起;起;n“清空清空查询条件条件”:n在在页面上面上进行,两个消息均采用行,两个消息均采用JSP技技术实现。整理课件n第一第一组(清空(清空查询条件)条件):“请求清空求清空”是是由角色向教由角色向教师基本信息管理基本信息管理页面面发起,起,“清清空空查询条件条件”又在又在页面上面上进行,两个消息的行,两个消息的实现均采用均采用JSP技技术实现。n第二第二组(添加操作)(添加操作):通通过教教师信息信息编辑页面向面向“教教师管理控制管理控制”对象提交象提交请求,控制求,控制对象将象将请求事求事务提交提交给“教教师管理事管理事务对象象”,“教教师管理事管理事务对象象”则根据根据请求内容求内容向向“教教师数据存取数据存取对象象”发添加教添加教师的消息,的消息,由由“教教师数据存取数据存取对象象”向教向教师实体、数据体、数据库连接池接池发布指令,通布指令,通过获得得连接和存接和存储数数据两个据两个动作作实现存存盘操作。操作。方法的映射方法的映射 4.5 基于基于UML的功能的功能设计方法方法 整理课件n第三第三组(查询操作)操作):在教在教师基本信息管理基本信息管理页面上面上获得得查询条件后,由条件后,由该页面直接向面直接向“教教师管理控制管理控制”对象提交消息,控制象提交消息,控制对象向象向“教教师管理事管理事务”对象提交象提交查询请求消息,事求消息,事务对象再将象再将查询条件消息条件消息转发给“教教师数据存取数据存取”对象,由象,由“教教师数据存取数据存取对象象”向教向教师实体、数据体、数据库连接池接池发布指令,通布指令,通过获得得连接和接和查询数据两个数据两个动作作实现查询操作。操作。n第四第四组(修改操作)和第五(修改操作)和第五组(删除操作)除操作)的的处理方理方式与前面基本相同,都是式与前面基本相同,都是页面向控制面向控制对象象发送消息,送消息,控制控制对象再将象再将这些消息些消息转发给事事务对象,事象,事务对象分象分析操作析操作类型后再把相型后再把相应的操作要求的操作要求转发给数据存取数据存取对象,由数据存取象,由数据存取对象通象通过数据数据库连接池和数据接池和数据实体最体最终实现相相应的数据操作。的数据操作。 方法的映射方法的映射 4.5 基于基于UML的功能的功能设计方法方法 整理课件建立方法:建立方法:方法名返回值参数异常实现方法的文字说明,是生成代码的依据整理课件4.5.2.3 类图的的优化化 n“教教师基本信息管理基本信息管理类图”4.5 基于基于UML的功能的功能设计方法方法 整理课件完成完成“教教师基本信息管理基本信息管理”、“教室教室设施管理施管理”、“学生基本信息管理学生基本信息管理”类图设计后的后的总体体类图4.5 基于基于UML的功能的功能设计方法方法 整理课件优化后的化后的总体体类图4.5 基于基于UML的功能的功能设计方法方法 整理课件4.5.2.4 生成包与程序代生成包与程序代码 n把把类归到各个包中,到各个包中,n对各个各个类进行行检查,查类中的方法是否定中的方法是否定义准确准确n执行生成代行生成代码的操作的操作4.5 基于基于UML的功能的功能设计方法方法 整理课件对类进行行检查操作:操作:4.5 基于基于UML的功能的功能设计方法方法 整理课件生成程序代生成程序代码:4.5 基于基于UML的功能的功能设计方法方法 整理课件
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号