数据库软考易混淆知识之软件工程
一、耦合
1、耦合性从低到高排列:非直接耦合、数据耦合、标记耦合、控制耦合、外部耦合、公共耦合、内容耦合
2、常考耦合介绍:
1)数据耦合:一个模块访问另一个模块时,彼此之间通过数据参数(不是控制参数、公共数据结构或外部变量)来交换输入、输出信息
2)标记耦合:一组模块通过数据结构本身传递
3)公共耦合:一组模块都访问同一个公共数据环境
4)内容耦合:一个模块直接访问另一个模块的内部数据、一个模块不通过正常入口转到另一个模块内部、两个模块有一部分程序代码重叠、一个模块有多个入口
3、模块间耦合的高低取决于模块间接口的复杂性、调用的方式、传递的信息
二、内聚
1、偶然内聚:一个模块内的各个处理元素之间没有任何联系
2、逻辑内聚:模块内执行几个逻辑相似的功能,通过参数确定该模块完成哪一个功能
3、时间内聚:把需要同时执行的动作组合在一起形成的模块
4、通信内聚:模块内所有处理元素都在同一个数据结构上操作,或者各处理使用相同的输入数据或者产生相同的输出数据
5、顺序内聚:一个模块中各个处理元素都密切相关与同一功能且必须顺序执行,前一个功能元素的输出就是下一个功能元素的输入
6、功能内聚:是最强的内聚,指模块内所有元素共同完成一个功能,缺一不可
三、面向对象开发步骤
1、面向对象分析:为了获得对应用问题的理解,主要任务是:抽取和整理用户需求并建立问题域精确模型
2、面向对象设计:采用协作的对象、对象的属性和方法说明软件解决方案的一种方式,强调的是定义软件对象和这些软件对象如何协作来满足需求
3、面向对象实现:采用面向对象程序设计语言来实现系统
4、面向对象测试:根据规范说明来验证系统设计的正确性
四、软件设计阶段
结构化设计方法 | 面向对象设计方法 | |
概要设计阶段 | 进行软件体系结构的设计、数据设计和接口设计 | 进行体系结构设计、初步的类设计/数据设计、结构设计 |
详细设计阶段 | 进行数据结构和算法的设计 | 进行构件设计 |
结构化设计和面向对象设计是两种不同的设计方法,结构化设计根据系统的数据流图进行设计,模块体现为函数、过程及子程序;面向对象设计基于面向对象的基本概念进行,模块提现为类、对象和结构