- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
软件制造工程编程
软件制造工程;本章授课内容;程序设计概述 __程序设计在软件开发中的位置;程序设计概述_概念;程序设计概述_作业流程及描述;程序设计概述_作业流程及描述;程序设计概述 –作业流程及描述;程序设计概述 –作业流程及描述;程序设计概述 –作业流程及描述;程序设计概述_工作用表;程序设计原理;程序设计原理;程序设计的一个重要课题就是模块划分和模块设计,把开发的软件系统按功能逐次分割成层次结构,使每一部分完成简单的功能且各个部分之间又保持一定的联系,这种功能设计所包括的内容有:
采用某种设计原理和方法,将一个复杂的系统按功能划分为成模块的层次结构;
确定每个模块的功能,建立与已确定的软件需求的对应关系;
确定模块间的调用关系;
确定模块间的接口,设计接口的信息结构;
评估模块划分的质量及导出模块结构的规则。;1、模块化
模块的概念
在软件的体系结构中,模块是可组合、分解和更换的单元。程序设计单元都被看成为“模块”,所谓模块就是程序对象的有名字的集合,例如,过程、函数、子程序、宏等。
模块化
模块化是把程序划分成若干个独立的模块,每个模块完成一个特定的子功能。;模块具有以下几种基本属性:
接口:指模块的输入与输出;
功能:指模块实现什么功能;
逻辑:描述内部如何实现要求的功能所需的数据和处理流程;
状态:指该模块的运行环境,即模块的调用与被调用关系。
功能、状态与接口反映模块的外部特性,逻辑反映它的内部特性。;模块的概念
一个模块的规模应当取决于它的功能和用途。
应减少接口的代价,提高模块的独立性。
模块的独立性可以由两个定性标准度量,这两个标准分别称为聚合和耦合。;;2、抽象与逐步求精
抽象是认识复杂现象过程中使用的思维工具,即抽出事物本质的共同的特性而暂不考虑它的细节,不考虑其他因素。通过抽象,可以确定组成软件的过程实体。;抽象
软件系统进行模块设计时,可有不同的抽象层次。
在最高的抽象层次上,可以使用问题所处环境的语言概括地描述问题的解法。
在较低的抽象层次上,则采用过程化的方法。
在从概要设计到详细设计的过程中,抽象化的层次逐次降低。当产生源程序时到达最低抽象层次。 ;2、抽象与逐步求精
逐步求精是一种先总体,后局部的思维原则,先抓住主要问题并给予解决,然后分阶段逐步深入考虑问题的细节,也就是逐层分解,分而治之的方法。;3、 信息隐蔽
“为了得到最好的一组模块,应该怎样分解软件呢?”
信息隐蔽指在设计和确定模块时,使得一个模块内包含的信息(过程和数据)对于不需要这些信息的模块来说,是不能访问的。通过信息隐蔽,可以定义和实施对模块的过程细节和局部数据结构的存取限制。
“隐蔽”意味着有效的模块化可以通过定义一组独立的模块而实现,这些独立的模块彼此间仅仅交换那些为了完成系统功能而必须交换的信息。;在一节不和谐的课堂里,老师叹气道:“要是坐在后排聊天的同学能象中间打牌的同学那么安静,就不会影响到前排睡觉的同学。”
这个故事告诉我们,如果不想让坏事传播开来,就应该把坏事隐藏起来,“家丑不可外扬”就是这个道理。
为了尽量避免某个模块的行为去干扰同一系统中的其它模块,在设计模块时就要注意信息隐藏。应该让模块仅仅公开必须要让外界知道的内容,而隐藏其它一切内容。;4、模块独立性
模块独立性指每个模块只完成系统要求的独立子功能,并且与其他模块的联系最少且接口简单。
用两个定性的度量标准耦合性(coupling)和内聚性(cohesion)来衡量模块的独立性。 ;4、 模块独立性
(1)耦合性(coupling)
耦合性也称块间联系。指软件系统结构中各模块间相互联系紧密程度的一种度量。
模块之间联系越紧密,其耦合性就越强,模块的独立性则越差。
模块间耦合高低取决于模块间接口的复杂性、调用的方式及传递的信息。;耦合按从弱到强的顺序可分为以下七种类型:
非直接耦合、数据耦合、标记耦合、控制耦合、外部耦合、共通耦合、内容耦合。
按上述顺序,耦合性逐渐升高,模块独立性逐渐降低。;坎赐患饮坛迁老偏悄苏恒话滔菠婿瓢埋礁硅撰漳绸炉氏姚菲胯裴喳戊鬼淀软件制造工程编程软件制造工程编程;;数据耦合 (Data Coupling)一个模块访问另一个模块时,彼此之间是通过简单数据参数 (不是控制参数、公共数据结构或外部变量) 来交换输入、输出信息的。
举例:
float B( float w){
// 计算水费
….
};标记耦合 (Stamp Coupling)一组模块通过参数表传递记录信息,就是标记耦合。这个记录是某一数据结构的子结构,而不是简单变量。
举例:
float B(struct Fee e){
// 计算水费
….
}
struct Fee{
您可能关注的文档
最近下载
- 招投标合规指引之招标常见问题(第一期).pdf VIP
- 2025版建筑行业临时用工合同范本(2025版).docx
- 痛风性关节炎-课件.ppt VIP
- 人教版二年级上册数学全册教学设计(配2025年秋新版教材).docx
- 2024年《高等教育心理学》教师岗前培训考试复习题库(含答案).docx VIP
- 四川省成都市双流区2024年小升初语文试卷 附解析.doc VIP
- Module4Unit1Willyoutakeyourkite?(教学设计)-英语四年级下册.docx
- 新闻编辑学 (第四版).pptx VIP
- 四川省成都市双流区2024年小升初语文试卷 附解析 .pdf VIP
- (人教2019版)化学必修第一册 全册大单元教学设计.docx
文档评论(0)