预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共127页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

会计学本章授课(shòukè)内容程序设计(chénɡxùshèjì)概述__程序设计(chénɡxùshèjì)在软件开发中的位置程序设计概述(ɡàishù)_概念程序设计概述(ɡàishù)_作业流程及描述程序设计概述_作业(zuòyè)流程及描述程序设计概述–作业(zuòyè)流程及描述程序设计(chénɡxùshèjì)概述–作业流程及描述程序设计概述–作业(zuòyè)流程及描述程序设计概述(ɡàishù)_工作用表程序设计(chénɡxùshèjì)原理程序设计(chénɡxùshèjì)原理程序设计的一个重要课题(kètí)就是模块划分和模块设计,把开发的软件系统按功能逐次分割成层次结构,使每一部分完成简单的功能且各个部分之间又保持一定的联系,这种功能设计所包括的内容有:采用某种设计原理和方法,将一个复杂的系统按功能划分为成模块的层次结构;确定每个模块的功能,建立与已确定的软件需求的对应关系;确定模块间的调用关系;确定模块间的接口,设计接口的信息结构;评估模块划分的质量及导出模块结构的规则。1、模块化模块的概念在软件的体系结构中,模块是可组合、分解和更换的单元。程序设计单元都被看成为“模块”,所谓模块就是程序对象的有名字的集合,例如,过程、函数(hánshù)、子程序、宏等。模块化模块化是把程序划分成若干个独立的模块,每个模块完成一个特定的子功能。模块具有以下几种基本属性:接口:指模块的输入与输出;功能:指模块实现什么功能;逻辑:描述内部如何实现要求的功能所需的数据和处理流程;状态:指该模块的运行环境(huánjìng),即模块的调用与被调用关系。功能、状态与接口反映模块的外部特性,逻辑反映它的内部特性。模块的概念一个模块的规模应当取决于它的功能和用途。应减少接口的代价(dàijià),提高模块的独立性。模块的独立性可以由两个定性标准度量,这两个标准分别称为聚合和耦合。2、抽象与逐步求精抽象是认识复杂现象过程中使用的思维工具,即抽出事物本质的共同的特性而暂不考虑它的细节,不考虑其他因素。通过(tōngguò)抽象,可以确定组成软件的过程实体。抽象软件系统进行(jìnxíng)模块设计时,可有不同的抽象层次。在最高的抽象层次上,可以使用问题所处环境的语言概括地描述问题的解法。在较低的抽象层次上,则采用过程化的方法。在从概要设计到详细设计的过程中,抽象化的层次逐次降低。当产生源程序时到达最低抽象层次。2、抽象与逐步求精逐步求精是一种先总体,后局部的思维原则(yuánzé),先抓住主要问题并给予解决,然后分阶段逐步深入考虑问题的细节,也就是逐层分解,分而治之的方法。3、信息隐蔽“为了得到最好的一组模块,应该怎样分解软件呢?”信息隐蔽指在设计和确定模块时,使得一个模块内包含的信息(过程和数据(shùjù))对于不需要这些信息的模块来说,是不能访问的。通过信息隐蔽,可以定义和实施对模块的过程细节和局部数据(shùjù)结构的存取限制。“隐蔽”意味着有效的模块化可以通过定义一组独立的模块而实现,这些独立的模块彼此间仅仅交换那些为了完成系统功能而必须交换的信息。在一节不和谐的课堂里,老师叹气道:“要是坐在后排聊天的同学能象中间打牌的同学那么安静,就不会影响到前排睡觉的同学。”这个故事告诉我们,如果不想让坏事传播开来,就应该把坏事隐藏起来,“家丑不可外扬”就是这个道理。为了尽量避免某个模块的行为去干扰同一系统中的其它模块,在设计模块时就要注意信息隐藏。应该让模块仅仅公开必须要让外界知道(zhīdào)的内容,而隐藏其它一切内容。4、模块独立性模块独立性指每个模块只完成系统要求的独立子功能,并且与其他模块的联系(liánxì)最少且接口简单。用两个定性的度量标准耦合性(coupling)和内聚性(cohesion)来衡量模块的独立性。4、模块独立性(1)耦合性(coupling)耦合性也称块间联系。指软件系统结构中各模块间相互联系紧密程度的一种度量。模块之间联系越紧密,其耦合性就越强,模块的独立性则越差。模块间耦合高低(gāodī)取决于模块间接口的复杂性、调用的方式及传递的信息。耦合按从弱到强的顺序(shùnxù)可分为以下七种类型:非直接耦合、数据耦合、标记耦合、控制耦合、外部耦合、共通耦合、内容耦合。按上述顺序(shùnxù),耦合性逐渐升高,模块独立性逐渐降低。/数据耦合(DataCoupling)一个模块访问另一个模块时,彼此之间是通过简单数据参数(不是控制参数、公共数据结构或外部变量(biànliàng))来交换输入、输出信息的。举例:floatB(floatw){//计算水费….}标记耦合(StampCoupling)