软件工程自考复习资料-全 下载本文

了对象模型中操作和约束的含义、动态模型中动作的意义。

功能建模过程:确定输入值和输出值、建立数据流图。

5. 在面向对象方法中,信息隐蔽通过对象的封装性来实现。类结构分离了接口和实现,

从而支持了信息隐蔽。

6. 面向对象有三个基本要素:抽象、封装性(信息隐蔽)、共享性。面向对象技术在三个

级别上促进了共享:同一个类中的共享(如同一类中有相同的数据结构)、在同一个应用中的共享、在不同应用中的共享(如库类这种机制)。

7. 在确定属性时,所有修饰性名词词组是侯选定属性。在确定类时,所有名词是候选的

类。常用动词或动词词组来表示关联。与时间联系在一起的瞬时操作是动作,有时间间隔的操作是活动。

8. 在类的层次结构中,上层称作父类或超类,下层成为子类。

9. 面向对象的主要特征:对象惟一性(对象本身惟一的标识,通过这种标识可找到相应

对象)、分类性(具有一致的数据结构和行为的对象抽象成类)、继承性、多态性。

二、 面向对象分析

1. 面向对象分析就是抽取和整理用户需求并建立问题域精确模型的过程。目的是对客观

世界的系统进行建模。 2. 面向对象分析中的定义结构:

一般-特殊结构:也称分类结构,是“或”、“is a”的关系。 整体-部分结构:也称组装结构,是“与”、“has a”的关系。

3. 面向对象分析模型的作用:明确问题要求,为用户和开发人员提供明确需求、为用户

和开发人员提供一个协商基础、作为后继的设计和实现的

25

框架。

三、 面向对象设计

1. 重用也叫再用或复用,指同一事物不作修改或稍加改动就可多次重复使用。 软件复用的范围:数据复用、模块复用、结构复用、设计复用、规格说明复用。 软件复用技术:合成技术、生成技术、面向对象的软件复用技术。 2. 面向对象设计分为:

系统设计:内容包括:系统分解、确定并发性、处理及其任务分配、数据存储管理、

全局资源的处理、选择软件控制机制、人机交互接口设计。

对象设计:内容包括:获得操作、确定操作的目标对象、算法设计、优化设计、控制

的实现、调整继承、关联的设计。

3. 面向对象设计准则:模块化、抽象、信息隐蔽、低耦合、高内聚。 4. 面向对象设计中的三种内聚:操作内聚、类内聚、一般-具体内聚。

5. 面向对象的开发方法:Booch方法(原是面向Ada语言的,并处于面向对象开发方法

的奠基性地位)、Coad方法、OMT方法、OOSE方法。

6. 面向程序设计中提高重用性的准则:(1)提高方法的内聚。(2)减小方法的规模。(3)

保持方法的一致性。(4)把策略与实现分开。(5)全面覆盖。(6)尽量不使用全局信息。

7. 面向程序设计中提高扩充性的准则:(1)封装实现策略。(2)不要用一个方法遍历多

条关联链。(3)避免使用多分支语句。(4)精心确定公有方法。

8. 面向程序设计中提高健壮性的准则:(1)预防用户的操作错误。(2)检查参数的合法

性。(3)不要预先确定限制条件。(4)先测试后优化。

26

9. 保持设计结果清晰易读的主要因素:(1)用词一致。(2)使用已有的协议。(3)减少

消息模式的数目。(4)避免模糊的定义。

10. 面向对象软件的测试分为算法层、类层、模块层、系统层四个层次进行。

11. 面向对象设计的启发规则:(1)设计结果清晰易懂。(2)一般-具体结构的深度应适当。

(3)设计简单的类。(4)使用简单协议。(5)使用简单操作。(6)把设计变动减到最小。

设计简单的类应注意:(1)避免包含过多的属性。(2)有明确定义。(3)尽量简化对

象间的合作关系。(4)不要提供太多操作。

四、 形式化方法

1. 形式化规约的目标是无二义性、一致性和完整性。形式化规约语言由语法、语义、一组

关系组成。集合论是维也纳开发方法等形式化方法的基础。

语义指出语言如何表示系统需求。经典的语义定义方法有:指称语义、代数语义、操作语义方法。

2. 有限状态机是实时系统设计中的一种数学模型,由一个有限的状态集合、一个有限的输

入集合、一个变迁函数组成。

优点:简单易用,状态间的关系能直观看到。

缺点:任何时刻系统只能有一个状态,无法表示并发性,不能描述异步并发系统。

3. Petri网是在软件分析中,用一种系统的数学和图形的描述和分析的方法。使用图形工具,

可以表示系统结构和动态行为方面的信息。

4. Petri网理论认为,任何系统是由表示状态的元素和表示状态变化的元素组成。用位置表

示状态的元素,符号为“○”。用转移表示状态变化的元素,符号为“—”或 “|”。

27

5. Petri网的行为特征分析方法有可覆盖性树、矩阵方程求解、分层或简化三类。Petri网

到程序结构的转换方法:流程图方法、编程语言的方法、面向对象的程序设计方法。

6. 净室是一种以合理的成本开发高质量软件的基于理论、面向工作组的方法。净室过程强

调规约和设计上的严格性,净室软件工程使用盒结构规约的方法来遵从操作分析原则。

7. 净室方法未广泛使用的原因:(1)净室方法太理论、太数学化,一直难以在真实的软件

开发中使用。(2)不需要进行单元测试,与大多数软件开发方式背离。(3)软件开发产业的成熟度。

8. 客户/服务器模式的系统结构中的服务器:文件服务器、数据库服务器、事务服务器、组

件服务器。

五、 面向对象方法-UML

1. UML是一种定义良好、易于表达、功能强大且普遍适用的建模语言,统一了Booch

方法、OMT方法、OOSE方法的表示方法,融入了软件工程领域的新思想、新方法和新技术。它的作用域不限于支持面向对象的分析与设计,还支持从需求分析开始的软件开发全过程。

2. 为表达客观事物之间的关系,UML给出了以下基本术语:

关联:是类目之间的一种结构关系,是对一组具有相同结构、相同链的描述。其中链

是对象之间具有特定语义关系的抽象。

泛化:是一般性类目(或称超类或父类)和它的较为特殊型类目(称为子类)之间的一种关系。

细化:是类目间的语义关系,其中一个类目规约了保证另一个类目执行的契约。 依赖:是一种使用关系,用于描述一个类目使用另一类目的信息和服务。

28