![第5讲结构化设计_第1页](http://file3.renrendoc.com/fileroot_temp3/2022-6/10/2551c4c0-ce0f-4759-81a3-c4a4c3f664b7/2551c4c0-ce0f-4759-81a3-c4a4c3f664b71.gif)
![第5讲结构化设计_第2页](http://file3.renrendoc.com/fileroot_temp3/2022-6/10/2551c4c0-ce0f-4759-81a3-c4a4c3f664b7/2551c4c0-ce0f-4759-81a3-c4a4c3f664b72.gif)
![第5讲结构化设计_第3页](http://file3.renrendoc.com/fileroot_temp3/2022-6/10/2551c4c0-ce0f-4759-81a3-c4a4c3f664b7/2551c4c0-ce0f-4759-81a3-c4a4c3f664b73.gif)
![第5讲结构化设计_第4页](http://file3.renrendoc.com/fileroot_temp3/2022-6/10/2551c4c0-ce0f-4759-81a3-c4a4c3f664b7/2551c4c0-ce0f-4759-81a3-c4a4c3f664b74.gif)
![第5讲结构化设计_第5页](http://file3.renrendoc.com/fileroot_temp3/2022-6/10/2551c4c0-ce0f-4759-81a3-c4a4c3f664b7/2551c4c0-ce0f-4759-81a3-c4a4c3f664b75.gif)
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、何帆-湖南理工学院1第5讲 结构化设计(Structured Design)何帆-湖南理工学院2主要内容n软件设计步骤n软件结构设计n软件结构设计的图形工具:HIPO图和结构图何帆-湖南理工学院3软件设计步骤软件设计分为软件设计分为概要设计概要设计和和详细设计详细设计n概要设计概要设计(又称总体设计又称总体设计)确定设计方案确定设计方案结构设计结构设计n详细设计详细设计软件过程设计软件过程设计接口设计接口设计数据设计数据设计何帆-湖南理工学院4软件设计步骤n概要设计的基本步骤概要设计的基本步骤确定设计方案确定设计方案软件结构设计软件结构设计数据文件设计数据文件设计制定测试方案制定测试方案书写概
2、要设计文档书写概要设计文档何帆-湖南理工学院5软件设计步骤n概要设计的基本步骤确定设计方案1. 设计供选择的方案2. 推荐最佳实现方案例如:需要开发一个网络办公系统,该系统可设计成B/S模式或者C/S模式两种方案。然后根据需要选择适合的方案。何帆-湖南理工学院6软件设计步骤n概要设计的基本步骤软件结构设计1.功能分解汽车配件管理系统进货出货存货管理统计何帆-湖南理工学院7软件设计步骤n概要设计的基本步骤软件结构设计2.设计软件结构 分析员应把模块组织成层次结构,顶层模块依次调用它的下一层模块。M1M11M14M12M13何帆-湖南理工学院8软件设计步骤n概要设计的基本步骤数据文件设计1.数据结
3、构设计2.数据库设计数据字典E-R图数据文件或数据库何帆-湖南理工学院9软件设计步骤n概要设计的基本步骤:制定测试计划何帆-湖南理工学院10软件设计步骤n概要设计的基本步骤:书写概要设计文档1.系统说明2.用户手册3.测试计划4.详细的软件工程进度计划5.数据文件设计结果何帆-湖南理工学院11软件设计步骤n详细设计详细设计的基本任务的基本任务数据结构设计数据结构设计接口设计接口设计过程设计过程设计代码,输入输出,网络设计代码,输入输出,网络设计编写详细设计说明书,软件系统的操作编写详细设计说明书,软件系统的操作手册手册复审复审何帆-湖南理工学院12软件结构设计软件结构设计的基本原理:n软件的模
4、块化n模块独立性n抽象和逐步求精n信息隐蔽和局部化何帆-湖南理工学院13模块化 模块又称构件,它一般具有如下五个基本属性:n名称:模块的名称最好能表达模块的功能n接口:模块的输入输出。n功能:即指该模块实现什么功能,做什么事情。n逻辑:即描述模块内部怎么做。n状态:即该模块使用时的环境和条件。何帆-湖南理工学院14模块化模块化(模块化(Modularization)是把系统分割)是把系统分割成能完成独立功能的模块。成能完成独立功能的模块。1. 模块化可产生的效果模块化可产生的效果n减少复杂性减少复杂性n提高软件的可靠性提高软件的可靠性n提高可维护性提高可维护性n有助于软件工程的组织管理有助于软
5、件工程的组织管理n有助于信息屏蔽有助于信息屏蔽何帆-湖南理工学院15模块化2. 模块分割方法模块分割方法n横向分割横向分割根据根据输入输出等功能输入输出等功能的不同来分割模块的不同来分割模块n纵向分割纵向分割根据系统对信息进行根据系统对信息进行处理过程中不同的阶段处理过程中不同的阶段来来分割分割n模块分割顺序模块分割顺序先确定中心控制模块,由控制模块指示从属模先确定中心控制模块,由控制模块指示从属模块,逐次进行分解。块,逐次进行分解。 何帆-湖南理工学院16模块独立性 所谓模块的所谓模块的独立性独立性,是指软件系统中每,是指软件系统中每个模块只涉及软件要求的具体的子功能,个模块只涉及软件要求的
6、具体的子功能,而和软件系统中其它的模块的接口是简而和软件系统中其它的模块的接口是简单的。单的。 例如:若一个模块只具有单一的功能且例如:若一个模块只具有单一的功能且与其它模块没有太多的联系,则称此模与其它模块没有太多的联系,则称此模块具有模块独立性。块具有模块独立性。何帆-湖南理工学院17模块独立性模块独立性的评价标准模块独立性的评价标准:n模块大小模块大小n模块之间的联系程度模块之间的联系程度 (耦合耦合)n模块内的软件元素的联系程度模块内的软件元素的联系程度 (内聚内聚)n模块信息的隐蔽程度模块信息的隐蔽程度何帆-湖南理工学院18模块独立性1. 模块的耦合模块的耦合软件结构中软件结构中模块
7、之间模块之间互相依赖的程度用耦合来互相依赖的程度用耦合来度量。度量。n内容耦合内容耦合n公共耦合公共耦合n外部耦合外部耦合n控制耦合控制耦合n标记耦合标记耦合n数据耦合数据耦合n非直接耦合非直接耦合何帆-湖南理工学院19模块的耦合模块的耦合n内容耦合 如果一个模块直接访问另一个模块的内部数据;或者一个模块不通过正常入口转到另一模块内部;或者两个模块有一部分程序代码重迭;或者一个模块有多个入口,则两个模块之间就发生了内容耦合。在内容耦合的情形,被访问模块的任何变更,或者用不同的编译器对它再编译,都会造成程序出错。这种耦合是模块独立性最弱的耦合。 何帆-湖南理工学院20模块的耦合模块的耦合n 公共
8、耦合若一组模块都访问同一个公共数据环境,则它们之间的耦合就称为公共耦合。若只是两个模块之间有公共数据环境,则公共耦合有两种情况:松散公共耦合和紧密公共耦合。只有在模块之间共享的数据很多,且通过参数表传递不方便时,才使用公共耦合。何帆-湖南理工学院21模块的耦合模块的耦合n外部耦合一组模块都访问同一全局简单变量而不是同一全局数据结构,而且不是通过参数表传递该全局变量的信息,则称之为外部耦合。 外部耦合引起的问题类似于公共耦合,区别在于在外部耦合中不存在依赖于一个数据结构内部各项的物理安排。何帆-湖南理工学院22模块的耦合模块的耦合n控制耦合如果一个模块通过传送开关、标志、名字等控制信息,明显地控
9、制选择另一模块的功能,就是控制耦合。这种耦合的实质是在单一接口上选择多功能模块中的某项功能。因此,对被控制模块的任何修改,都会影响控制模块。何帆-湖南理工学院23模块的耦合模块的耦合n标记耦合如果一组模块通过参数表传递记录信息,就是标记耦合。事实上,这组模块共享了某一数据结构的子结构,而不是简单变量。这要求这些模块都必须清楚该记录的结构,并按结构要求对记录进行操作。n数据耦合如果一个模块访问另一个模块时,彼此之间是通过数据参数(不是控制参数、公共数据结构或外部变量)来交换输入、输出信息的,则称这种耦合为数据耦合。数据耦合是松散的耦合,模块之间的独立性比较强。何帆-湖南理工学院24模块的耦合模块
10、的耦合n非直接耦合如果两个模块之间没有直接关系,它们之间的联系完全是通过主模块的控制和调用来实现的,这就是非直接耦合。这种耦合的模块独立性最强。何帆-湖南理工学院25模块的耦合模块的耦合n耦合性越低,模块的独立性越强,否则越弱。何帆-湖南理工学院26模块独立性在模块划分时,应尽量降低模块间的耦合程度,在模块划分时,应尽量降低模块间的耦合程度,采取以下原则:采取以下原则:n在传递信息时,尽量使用数据耦合,少用控制在传递信息时,尽量使用数据耦合,少用控制耦合耦合n用参数传递信息,不采用内容耦合,尽量控制用参数传递信息,不采用内容耦合,尽量控制公共环境耦合公共环境耦合n模块间调用,参数最好只有模块间
11、调用,参数最好只有1个,最多不超过个,最多不超过4个个n设计模块尽量做到把模块之间的连接限制到最设计模块尽量做到把模块之间的连接限制到最少少何帆-湖南理工学院27模块的内聚(1) 巧合内聚(偶然内聚)当几个模块内凑巧有一些程序段代码相同,又没有明确表现出独立的功能,把这些代码独立出来建立的模块即为巧合内聚模块。它是内聚程度最低的模块。 (2) 逻辑内聚这种模块把几种相关的功能组合在一起,每次被调用时,由传送给模块的控制型参数来确定该模块应执行哪一种功能。逻辑内聚模块比巧合内聚模块的内聚程度要高。因为它表明了各部分之间在功能上的相关关系。何帆-湖南理工学院28模块的内聚 (3) 时间内聚(经典内
12、聚) 这种模块大多为多功能模块,但要求模块的各个功能必须在同一时间段内执行。 例如初始化模块和终止模块。时间内聚模块比逻辑内聚模块的内聚程度又稍高一些。在一般情形下,各部分可以以任意的顺序执行,所以它的内部逻辑更简单。何帆-湖南理工学院29模块的内聚 (4) 过程内聚使用流程图做为工具设计程序的时侯,常常通过流程图来确定模块划分。把流程图中的某一部分划出组成模块,就得到过程内聚模块。这类模块的内聚程度比时间内聚模块的内聚程度更强一些。(5) 通信内聚如果一个模块内各功能部分都使用了相同的输入数据,或产生了相同的输出数据,则称之为通信内聚模块。何帆-湖南理工学院30模块的内聚(6) 信息内聚 这
13、种模块完成多个功能,各个功能都在同一数据结构上操作,每一项功能有一个唯一的入口点。例如下图所示的模块是一个信息内聚的模块。信息内聚模块可以看成是多个功能内聚模块的组合,并且达到信息的隐蔽,增加了模块的独立性。 何帆-湖南理工学院31模块的内聚 (7) 功能内聚一个模块中各个部分都是为完成一项具体功能而协同工作,紧密联系,不可分割的。则称该模块为功能内聚模块。功能内聚模块时内聚性最强的模块。何帆-湖南理工学院32模块的内聚n一个模块内各个元素彼此结合的紧密程度用内聚来度量。n模块的内聚性越高,模块的独立性越强,否则独立性就弱 何帆-湖南理工学院33模块设计启发规则结构设计中,模块独立性比较强的模
14、块应是高内聚低耦合的模块。在软件设计过程中应注意:在软件设计过程中应注意:n1. 提高模块独立性提高模块独立性n2. 注意模块的可靠性、通用性、可维护性、注意模块的可靠性、通用性、可维护性、简单性简单性n3. 模块的大小应适中模块的大小应适中n4. 模块的深度、宽度、扇出和扇入应适当模块的深度、宽度、扇出和扇入应适当n5. 模块接口简单清晰模块接口简单清晰何帆-湖南理工学院34模块设计启发规则设计得好的软件结构,顶层扇出高,中间扇出较少,下层调用公共模块。 Model1M21M31M22何帆-湖南理工学院35软件结构设计的图形工具n 层次图(或HIPO图)何帆-湖南理工学院36结构图结构图1.
15、 结构图的符号 n方框代表模块,框内注明模块的名字和主要功能。n方框之间的大箭头或直线表示模块的调用关系。 n带注释的小箭头表示模块调用时传递的信息及其传递方向。v尾部加空心圆的小箭头表示传递数据信息。v尾部加实心圆的小箭头表示传递控制信息。n选择结构,见(a)n循环结构,模块 H 循环调用模块 A,B,C,见(b)何帆-湖南理工学院37结构图的绘制n【例】招聘考试成绩管理系统的结构图招聘考试成绩管理系统输入处理输出何帆-湖南理工学院38结构图的绘制n【例】学生成绩管理系统的结构图招聘考试成绩管理系统原始数据处理数据输出计算考生总分排序输入数据原始数据统计结果选择打印原始数据考生总分排序结果何帆-湖南理工学院39小结概要设计阶段:确定设计方案和结构设计。详细设计阶段:过程设计、接口设计和数据设计。模块(module)是能够单独命名,独立地完成一定功能,能独立地设计、编制、调试、查错、修改与维护的程序语句的集合。评价模块分割的标准:()模块的大小()模块之间的联系程度(耦合)()模块内的联系程度(内聚)()模块信息的隐蔽程度何帆-湖南理工学院40练习n请将汽车配件管理信息系统进行模块分割,尽可能的使模块的独立性高。何帆-湖南理工学院41软件设计方法 从系统设计的角度出发,软件设计方法可
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年度大清包劳务合同(市政道路施工管理协议)
- 2025年度废铁进出口代理与运输服务合同
- 2025年度科技展会场地布置及维护服务合同
- 2025年起动脚蹬杆项目建议书
- 2025年超低频振动标准合作协议书
- 多元化教学方法实施方案计划
- 仓库工作总结计划指引
- 社会媒体策略的实践与回顾计划
- 如何通过案例分析优化年度计划
- 社区民生保障的新措施计划
- 定量包装商品培训
- 毛戈平-+毛戈平深度报告:再论毛戈平商业模式与核心壁垒:个人IP+化妆学校+线下服务
- 第二章美容手术的特点及其实施中的基本原则美容外科学概论讲解
- 山东省潍坊市2024-2025学年高三上学期1月期末考试生物试卷含答案
- 2025年“春训”学习心得体会例文(3篇)
- 中央2025年公安部部分直属事业单位招聘84人笔试历年参考题库附带答案详解
- 咯血病人介入术后护理
- 2025年春新外研版(三起)英语三年级下册课件 Unit4第1课时Startup
- 人教版(2025新版)七年级下册数学第七章 相交线与平行线 单元测试卷(含答案)
- 2025-2025学年度第二学期高二物理教学计划
- 幼儿园市级课一等奖-大班语言健康绘本《我的情绪小怪兽》有声绘本课件
评论
0/150
提交评论