




已阅读5页,还剩78页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
西北师范大学数学与信息科学学院,第1,8章基于组件的软件工程,第5章系统设计,第5章系统设计,西北师范大学数学与信息科学学院,第2,4,5.1设计过程,5.2设计原则,5.3灵感规则,5软件设计分为总体设计和详细设计两个阶段。1,设计阶段结束要传递的文档是根据设计方法具有不同设计文档的设计说明。2、每个设计阶段完成后应进行审查。软件设计,西北师范大学数学与信息科学学院,4,软件开发阶段的信息流,软件设计过程,西北师范大学数学与信息科学学院,5,任务:识别系统的软件结构,分解模块,确定系统的模块层次关系。目标:编写软件的“总体设计说明书”工具:使用的工具数据流程图层次HIPO图软件结构,总体设计挑战,西北师范大学数学与信息科学院,6,结构化设计(SD)技术,软件设计目标,结构设计总体设计(摘要设计)流程设计详细设计总体设计流程包括系统设计阶段:系统的特定设计决策阶段;结构设计阶段:确定软件结构(分区模块)。5.1设计过程,西北师范大学数学与信息科学学院,8,系统设计过程,西北师范大学数学与信息科学学院,9,5.2系统设计的基本原则,5.2.1模块,5.2.2抽象,5.2.3信息隐藏,退出,5.2.4模块独立,模块化:将程序划分为多个模块,每个模块可以完成子功能,将这些模块合并为一个模块,执行指定的功能,并满足问题的功能。进程、函数、子例程和宏可以用作模块。面向对象范例中的对象是模块,对象中的方法也是模块。模块是构成程序的基本组件。西北四大数学和信息科学院,11,基于前面的结论,可以得出以下不等式。e (P1 P2) e (P1) e (P2)表明,单独解决问题P1和P2所需的工作量之和小于将P1和P2合并为一个问题。有两个函数,C(x)表示问题x的复杂性。E(x)表示解决问题x所需的工作量(以小时为单位)。对于P1和P2这两个问题,c (P1) c (p2)是e(P1) e(P2);另一个有趣的特征是c (P1 p2) c (P1) c (p2),3我们考虑问题的时候,只关注与当前问题相关的方面,忽略与当前问题无关的方面,是抽象的。或者抽象是提取事物的本质特征,暂时不考虑细节。5.2.2抽象,5.2.3阶段精细化是人类解决复杂问题时使用的基本技术,也是许多软件工程技术(如规格说明技术、设计和实现技术、测试和集成技术)的基础。逐步细化定义如下:“尽可能推迟对问题细节的考虑,以便您可以集中精力解决关键问题。“西北师范大学数学信息科学学院,14,信息隐藏:设计和确定模块时,一个模块中包含的信息(流程或数据)不能从不需要该信息的其他模块中访问;自己的实施详细信息和数据被“隐藏”。信息本地化意味着:本地化意味着在物理上使某些密切相关的软件元素彼此接近。模块使用本地数据元素是本地化的一个示例。隐藏信息与局部有关吗?5.2.4信息隐藏和本地化,西北师范大学数学和信息科学学院,15,5.2.5模块独立,模块独立概念是模块式、抽象、逐步细化和信息隐藏等概念的直接结果,是完成有效模块设计的基本标准。模块的独立程度可以用两种定性标准来衡量,分别称为凝聚力和耦合。结合测量不同模块相互依赖的程度。凝聚力测量模块内部的元素彼此之间的紧密联系。下面另作详细说明。西北师范大学数学与信息科学学院,16,结合性是程序结构中各个模块之间的相互关联性度量,取决于各个模块之间的接口复杂性、调用模块的方式以及相应信息通过接口传递的方式。低,高,弱,强,耦合性,模块独立,模块间耦合,西北师范大学数学与信息科学院,17,1,耦合,非直接耦合数据耦合特性耦合控制耦合外部耦合公共耦合内容耦合,弱耦合,S1,S2,模块1,控制耦合模块之间传递的控制信息是,T,F,全局简单变量外部耦合,模块a,模块b,内容耦合直接转至访问其他模块内部数据的其他模块的内部数据,西北师范大学数学与信息科学学院,19,内部聚合,低,高,强,弱,内部聚合,模块独立性,软件设计,西北师范大学数学与信息科学学院,20,2,内部聚合,内部聚合:模块中的每个元素彼此有多少偶然的内聚:使用一个模块完成工作集会使工作之间的关系松散。公用门。逻辑聚合:具有相似逻辑功能的多个操作构成一个模块。在时间内聚集:必须在同一时段内执行多个操作。与初始化操作相同。低内聚、中内聚、高内聚、流程内聚:模块内的处理元素相关,必须按特定顺序运行。通信凝聚力:模块的所有元素使用相同的输入数据或生成相同的输出数据。顺序内部聚合:模块的所有处理元素与相同的功能密切相关,这些处理必须按顺序执行。功能内聚:所有处理要素都属于一个功能。西北师范大学数学和信息科学学院,21,5.3启发式规则,1。软件结构改进模块独立集成和分解2。模块大小不能太大。一般可以写在一页上。从心理学角度来看,一个模块包含30多个门后,模块的理解度急剧下降。西北师范大学数学与信息科学学院,22,3。模块的深度、宽度、扇出和风扇流入应具有适当的深度:指示软件结构的控制级别数,通常可以粗略地显示系统的大小和复杂性。宽度:软件结构内同一层中模块总数的最大值。扇出:由一个模块直接控制的模块数。扇入:模块的扇入表示直接调用它的父模块数。西北师范大学数学信息科学院,23,尽可能减少高扇出结构,根据深度增加风机流入。一个模块的扇出数太大意味着模块太复杂,需要调整和控制过多的子模块。必须适当增加中等水平的控制模块。西北师范大学数学与信息科学学院,24,4。模块的范围必须在控制范围内。模块的范围是指受该模块中某个决定影响的所有模块的集合。控制范围:一个模块的控制范围表示模块本身及其所有子模块(直接或间接依赖的模块)的集合。图模块的决定范围;(a)差异结构图;(b)理想结构图;(c)理想结构,西北师范大学,25,5。努力降低模块接口的复杂性。模块接口复杂是软件错误的主要原因之一。6.设计单入口出口模块以避免“病态连接”。7。必须能够预测模块功能。防止模块功能过大的局限性;西北师范大学数学和信息科学学院;表示软件结构的图形工具;5.4.1层次结构图、5.4.2HIPO图、5.4.3结构图、西北师范大学数学和信息科学学院;27,5 . 4 . 1层次结构图和HIPO图通常使用层次结构图表示软件的层次结构。1、层次结构图用于表示软件的层次结构,适合在自顶向下设计软件过程中使用。在层次结构图中,矩形框代表模块,方框之间的连接代表调用关系(上面矩形框代表的模块调用是下面矩形框代表的模块)。西北师范大学数学与信息科学学院,28,学生成绩管理系统层次图,西北师范大学数学与信息科学学院,29,HIPO tu是美国IBM设计的“层次图加输入/处理/输出图”的英文缩写。为了使HIPO图表具有可跟踪性,除了顶层的框以外,h图表(即层次结构图)中的每个框都进行了编号。2,HIPO地图,西北师范大学数学与信息科学学院,30,描述软件结构的图形工具,层次图(h图)中除顶层块外,每个框都编号。编号规则与数据流图中的编号规则相同。例如,将编号添加到地物后,得到图0。这种编号层次结构图称为HIPO图(添加了层次结构图和输入/处理/输出图的英文缩写)。西北师范大学数学与信息科学院学生成绩管理系统HIPO地图,31,图4.6IPO图示例,西北师范大学数学与信息科学院,32,图4.7增强型IPO图(IPO表),西北师范大学数学与信息科学院,33,箱代表模块箭头表示模块的调用关系,为了简单起见,模块之间的调用关系可以用直线表示,没有箭头。尾部是空心圆意味着填充数据的圆是表示软件结构的图形工具,包括控制信息、5.4.2结构、结构图的基本符号、结构图和层次图。西北师范大学数学与信息科学学院,34,方框中表示模块的名称或主要功能。箭头表示模块的调用关系,为了简单起见,模块之间的调用关系可以用直线表示,没有箭头。尾部是空心圆意味着填充数据的圆是表示软件结构的图形工具,包括控制信息、5.4.1结构、结构图的基本符号、结构图和层次图。西北师范大学数学与信息科学学院,35,表示软件结构的图形工具,结构图由6种类型的模块组成,如下图所示。源模块:不调用其他模块的接收模块,仅适用于接收部分的启动。初始输入;缺少模块:仅适用于退出部分的结束,不调用其他模块的退出模块。最后输出。,系统结构图的模块类型,西北师范大学数学与信息科学院,36,结构图的图形符号,西北师范大学数学与信息科学院,37,软件结构图的基本符号,结构图的三个基本结构,西北师范大学数学与信息科学院,38,4.3选择调用和循环调用的表示形式;学生绩效管理系统结构,西北师范大学数学与信息科学学院,41,5.5数据流导向设计方法,5.5.1数据流图类型,5.5.2设计阶段,5.5.3转换设计,终止,5.5.4业务设计,5.5.5设计后处理,西北师范大学数学与信息科学学院根据SD方法设计一般(启发式规则),改进模块结构。注意:模块图与方框图不同。其次,DFD图形的分类通常将DFD图形分类为两种常见类型,分析系统的DFD图形类型的目的是使用其他技术将其转换为初始模块图。transform center(transform center)_ transition analysis transaction _ transaction,5.5.1数据流程图类型,西北师范大学数学和信息科学院接受输入数据(事务)分析,根据每种事务类型选择活动渠道,西北师范大学数学信息科学学院,45,转换数据流实例,1,转换数据流图,西北师范大学数学信息科学大学,46,1,确定数据流图是否具有转换特性或事务特性。2、确定输入流和输出流的边界,以隔离变换中心。3,从变换中心开始,将输入部分和输出部分分别向左和向右变换。4、输入部分可以使用输入、输入、输出部分可以使用输出、提供模块。5、使用设计测量和启发式规则,进一步细化第一次分割获得的软件结构。,转换分析设计阶段,西北师范大学数学与信息科学学院,47,转换系统结构图,西北师范大学数学与信息科学大学,48,转换系统结构图,西北师范大学数学与信息科学大学,49,2,事务数据流程图,西北师范大学,50,事务系统数据流程图52,3,大型系统DFD,转换和事务结构经常共存,西北师范大学数学和信息科学学院,53,事务分析,主模块,h,a,l,m,n, 是,是,是,是,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 护理分级制度及核心制度
- 亲子记忆培训课件
- 行政财务部月度工作总结
- 《诗经·采薇》节选课件教学
- 公司组织的安全救援培训课件
- 销售经理年中工作汇报
- 公司级安全培训教育课件
- 护理宣传小组工作总结
- 经营合作协议书格式【范本】7篇
- 高血压六项解读
- 加油站安全教育培训记录表模板
- 2023年护理三基考试试题库7000题
- 西师版小学五年级上册数学全册教案
- 腰大池置管引流术的护理
- 办公室卫生值日表
- 小学数独游戏校本课程教材(完整资料)
- 2022年11月湖北省罗田县乡镇民政办公室公开招考4名“以钱养事”人员笔试题库含答案解析
- 产生你的企业想法
- 一例老年房颤的个案护理-护理-个案
- 《胆囊癌诊断和治疗指南》(2023年版)解读
- 中式烹调师高级技师试题与答案
评论
0/150
提交评论