系统设计原则
被考次数: 6次
被考频率: 中频率
答错率:    44%
知识难度:
考试要求: 掌握     
知识路径:  > 嵌入式系统的项目开发与维护知识  > 系统设计知识  > 系统设计方法


本知识点历年真题试卷分布
>> 试题列表    
 

 
       在将系统的需求规约转换为系统设计的过程中,设计人员通常采用抽象、模块化、信息隐蔽等设计原则。
       抽象
       抽象是在系统设计的规模逐渐增大的情况下,控制复杂性的基本策略。抽象是认识复杂现象过程中使用的思维工具,即抽出事物本质的共同特性而暂不考虑它的细节。
       软件设计中的主要抽象手段有过程抽象和数据抽象。过程抽象(也称功能抽象)是指任何一个完成明确定义功能的操作都可被使用者当作单个实体看待,尽管这个操作实际上是由一系列更低级的操作来完成的。数据抽象是指定义数据类型和施加于该类型对象的操作,并限定了对象的取值范围,只能通过这些操作修改和观察数据。
       模块化
       模块是程序中数据说明、可执行语句等程序对象的集合,或者是单独命名和编址的元素。在系统体系结构中,模块是可组合、可分解和可更换的单元。
       模块化是指解决一个复杂问题时自顶向下逐层把系统划分成若干模块的过程。每个模块完成一个特定的子功能,所有的模块按某种方法组装起来,成为一个整体,完成整个系统所要求的功能。
       开发一个大而复杂的系统,将它进行适当的分解,不但可降低其复杂性,还可减少开发工作量,从而降低开发成本,提高软件生产率。这是模块划分的依据。
       (1)划分模块时,尽量做到高内聚、低耦合,保持模块的相对独立性,并以此原则优化初始的系统体系结构。
       (2)一个模块的作用范围应在其控制范围之内,且判定所在的模块应与受其影响的模块在层次上尽量靠近。
       一个模块的作用范围是指受该模块内一个判定影响的所有模块的集合。一个模块的控制范围指模块本身及其所有下属模块(直接或者间接从属于它的模块)的集合。
       (3)系统结构的深度、宽度、扇入和扇出应适当。
       (4)模块的大小要适中。
       信息隐蔽
       信息隐蔽是指在设计和确定模块时,使得一个模块内包含的信息对于不需要这些信息的其他模块来说,是不能访问的。通过抽象,可以确定组成软件的过程实体;通过信息隐蔽,可以定义和实施对模块的过程细节和局部数据结构的存取限制。
       由于一个系统在整个生存期内要经过多次修改,所以在划分模块时要采取措施,使得大多数过程和数据对软件的其他部分是隐蔽的。这样,在将来修改软件时偶然引入错误所造成的影响可以局限在一个或几个模块内部,避免影响到软件的其他部分。
       模块独立
       模块独立是指模块只完成系统要求的独立的子功能,并且与其他模块的接口简单,符合信息隐蔽和信息局部化原则,模块间关联和依赖程度尽可能小。衡量模块独立性的标准是耦合度和内聚度。内聚度是衡量同一个模块内部的各个元素彼此结合的紧密程度;耦合度是衡量不同模块彼此间相互依赖的紧密程度。
       (1)内聚。内聚是一个模块内部各个元素彼此结合的紧密程度的度量。一个内聚程度高的模块(在理想情况下)应当只做一件事。一般模块的内聚性分为7种类型,如下图所示。
       
       内聚的种类
       .偶然内聚(巧合内聚)。指一个模块内的各处理元素之间没有任何联系。
       .逻辑内聚。指模块内执行若干个逻辑上相似的功能,通过参数确定该模块完成哪一个功能。
       .时间内聚。把需要同时执行的动作组合在一起形成的模块称为时间内聚模块。
       .过程内聚。指一个模块完成多个任务,这些任务必须按指定的过程执行。
       .通信内聚。指模块内所有处理元素都在同一个数据结构上操作,或者指各处理使用相同的输入数据或者产生相同的输出数据。
       .顺序内聚。指一个模块中各个处理元素都密切相关于同一功能且必须顺序执行,前一功能元素的输出就是下一功能元素的输入。
       .功能内聚。这是最强的内聚,指模块内所有元素共同作用完成一个功能,缺一不可。
       (2)耦合。耦合是模块之间的相对独立性(互相连接的紧密程度)的度量。耦合取决于各个模块之间接口的复杂程度、调用模块的方式以及通过接口的信息类型等。一般模块之间可能的耦合方式有7种类型,如下图所示。
       
       耦合的种类
       .无直接耦合。指两个模块之间没有直接的关系,它们分别从属于不同模块的控制与调用,它们之间不传递任何信息。因此,模块间耦合性最弱,模块独立性最高。
       .数据耦合。指两个模块之间有调用关系,传递的是简单的数据值,相当于高级语言中的值传递。
       .标记耦合。指两个模块之间传递的是数据结构。
       .控制耦合。指一个模块调用另一个模块时,传递的是控制变量,被调用模块通过该控制变量的值有选择地执行模块内某一功能。因此,被调用模块内应具有多个功能,哪个功能起作用受调用模块控制。
       .外部耦合。模块间通过软件之外的环境联结(如I/O将模块耦合到特定的设备、格式、通信协议上)时,称为外部耦合。
       .公共耦合。指通过一个公共数据环境相互作用的那些模块间的耦合。
       .内容耦合。当一个模块直接使用另一个模块的内部数据,或通过非正常入口而转入另一个模块内部,这种模块之间的耦合为内容耦合。
 

更多复习资料
请登录电脑版软考在线 www.rkpass.cn

京B2-20210865 | 京ICP备2020040059号-5
京公网安备 11010502032051号 | 营业执照
 Copyright ©2000-2025 All Rights Reserved
软考在线版权所有