软件工程期末复习——第六章
软件工程期末复习——第六章
一、重要知识点
1. 面向对象的软件开发过程
- 面向对象的分析(Object Oriented Analysis,OOA):分析和理解问题域,找出描述问题域和系统责任所需的类及对象,分析它们的内部构成和外部关系,建立OOA模型;
- 面向对象的设计(Object Oriented Design,OOD):将OOA模型直接变成OOD模型,并且补充一些与实现有关的部分,如:人机模型、数据存储等;
- 面向对象编程(Object Oriented Programming,OOP):使用一种面向对象语言将OOD模型中的各个成分编写成程序;
- 面向对象测试(Object Oriented Testing,OOT):在测试过程中继续运用OO技术以对象概念为中心的软件测试;
- 面向对象软件维护(Object Oriented Software Maintenance,OOSM):面向对象的软件工程方法为改进软件维护提供了有效的途径:1)各阶段采用的表示是一致的,从而大大降低了理解的难度;2)对象的封装性使得一个对象的修改和维护对其他对象的影响很小,不至于牵一发而动全身。
2. 统一建模语言UML的作用
统一建模语言UML是一种面向对象的软件系统的通用可视化建模语言,适用于以面向对象技术来描述任何类型的系统,而且适用于系统开发的不同阶段,从需求规格描述直至系统完成后的测试和维护。
3. UML的构成
(1)基本构造块
1)事物
- 结构事物:模型的静态部分,描述概念或物理元素,常见的有类、接口、构件等;
- 行为事物:模型的动态部分,是一种跨越时间、空间的行为,主要有交互和状态机;
- 分组事物:UML中的容器,用来组织模型,使模型更加的结构化,最主要的分组事物是包;
- 注释事物:UML模型的解释部分。
2)关系
-
依赖关系:依赖描述的是两个模型元素之间的语义关系,其中一个元素的变化会影响到另一个元素的语义。
-
关联关系:关联关系表示类之间的关系是整体与部分的关系,存在两种特殊的关联关系,即聚合和组合:
- 聚合关系:聚合关系的特征是,它的“部分”对象可以是多个任意“整体”对象的一部分。如下图所示,课题组包含许多人,但是这其中的一些人也可以是另一个课题组的成员。
- 组合关系:在组合聚集中,整体拥有各部分,部分与整体共存。如果整体不存在了,部分也会随之消失。
-
泛化关系:泛化用于描述类之间“一般”与“特殊”的关系;
-
实现关系:实现是泛化关系和依赖关系的结合,通常在接口和实现它们的类或构件之间用到这种关系。
3)图
- 用例图:用例图能够说明和定义软件系统的功能需求,它使得用户能够从系统外观观看系统功能,并不描述系统内部对功能的具体实现,能够展现一组用例、参与者以及它们之间的关系。
- 类图:类图描述的是系统的静态结构,能够展示系统中的类、类的属性和操作、以及类与类之间的关系。
- 对象图:对象图描述的是某一刻系统中的对象和它们之间的联系,实质上是类图的实例。
- 部署图:反映系统中软件和硬件的物理配置情况和系统体系结构。
- 构件图:又称组件图,描述构件以及它们之间的关系,表示的是系统的静态实现视图。
- 顺序图:也称序列图,描述了一组交互对象之间的交互方式,强调完成某项行为的对象和这些对象之间传递消息的时序性。
- 通信图:描述了对象与周围对象之间的交互,以及它们之间的链接。
- 状态图:描述了一组状态、以及状态之间的迁移,能够反映一个特定的对象所有可能的状态,以及引起状态迁移的事件。
- 活动图:描述由不同对象所执行的一组活动、以及活动之间的关系。
(2)语义规则
支配基本构造块如何放在一起的规则,包括命名、范围、可见性、完整性、可执行性等。
(3)公共机制
达到特定目标的公共UML方法,包括说明、修饰、通用划分、扩展机制等。
二、次重要知识点
1. 面向对象的基本概念
类和对象、封装、继承、消息、关联、聚合、多态性
2. 几种典型的面向对象方法
Booch方法模型、OOSE(用例驱动)方法、OMT方法
软件工程期末复习——第六章
http://example.com/2026/01/12/se06/