软件工程期末复习6-面向对象分析

时间:2025-03-26 07:37:15
在面向对象的分析中,通常需要建立3种形式的模型,它们分别是描述系统数据结构对象模型,描述系统控制结构的动态模型,以及描述系统功能的功能模型。
2.1 建立对象模型
复杂问题(大型系统)的对象模型通常由下述5个层次组成:主题层( 也称为范畴层)、类与对象层、结构层、属性层和服务层。上述5个层次对应着在面向对象分析过程中建立对象模型的5项主要活动:划分主题;找出类与对象;识别结构;定义属性;定义服务。
2.2 建立动态模型
对象模型建立后,就需考察对象和关系的动态变化情况。动态模型描述对象和关系的状态、状态转换的触发事件、对象的服务《行为)。
建立动态模型首先要编写脚本,从脚本中提取事件,然后画出UML的顺序图(也称事件跟踪图),最后画出对象的状态转换图。
1.编写脚本
在建立动态模型过程中,脚本是系统执行某个功能的一系列事件,脚本描述用户(或其他外部设备)与目标系统之,间的一个或多个典型的交互过程,以便对目标系统的行为有更具体的认识。编写脚本的目的是保证不遗漏系统功能中重要的交互步骤,有助于确保整个交互过程的正确性和清晰性。
2.画UML顺序图或活动图
为了有助于建立动态模型,通常在画状态图之前先画出事件跟踪图。UML顺序图(也称为事件跟踪图)
3.画状态图
由于对象在不同状态下呈现不同的行为方式,所以应分析对象的状态,才可正确地认识对象的行为并定义它的服务。
2.3 建立功能模型
功能模型表明了系统中数据之间的依赖关系,以及有关的数据处理功能,它由一组数据流图组成。数据流图中的处理对应于状态图中的活动或动作,数据流对应于对象图中的对象或属性。
2.4 3种模型之间的关系
这3种模型之间的关系如下:
(1)动态模型描述了类实例的生命周期或运行周期。
(2)动态模型的状态转换驱使行为发生,这些行为在数据流图中被映射成处理,在用例图中被映射成用例,它们同时与类图中的服务相对应。
(3)功能模型中的用例对应于复杂对象提供的服务,简单的用例对应于更基本的对象提供的服务;有时一-个用例对应多个服务,也有一个服务对应多个用例的时候。
(4)功能模型数据流图中的数据流,往往是对象模型中对象的属性值,也可能是整个对象;数据流图中的数据存储,以及数据的源点/终点,通常是对象模型中的对象。
(5)功能模型中的用例可能产生动态模型中的事件。
(6)对象模型描述了数据流图中的数据流、数据存储以及数据源点/终点的结构。面向对象的分析就是用对象模型、动态模型、功能模型描述对象及其相互关系。