10.3.5划分主题
在开发大型复杂的系统时,为了降低复杂程度,习惯把系统在进一步划分成几个不同的主题,也就是在概念上把系统包含的内容分解成若干个范畴,主题是按照问题领域来确定的,不同主题内的对象类之间的相互依赖和交互尽可能少。
在开发很小的系统时,可能根本无需引入主体层;对于包含有较多对象的系统,先识别出类与对象和关联,然后划分主题,在UML中主题可以用包图来表现。
10.3.6优化对象模型
在建模的任何一个环节,如果发现有分析遗漏或出错,都可以返回到对应点进行修改和完善,还可以保护对前述工作的逐步优化,如删除冗余的类,根据需要合并或分解类,补充部分关联关系,对类结构层次进行优化(如识别继承关系)等。
10.4建立动态行为模型
交互图和状态机都用于系统的动态方面建模,交互图包括顺序图和通信图,顺序图用来表示在用例的一个特定场景中,外部参与者产生的事件,事件的顺序及系统之间的交互事项。
通信图描述对象之间的关联及它们彼此之间的消息通信。顺序图强调消息发送的时间顺序,而通信图则强调接收和发送消息的对象的组织结构。
状态机可以用两种方式来视化执行的动态:一种是强调从活动到活动控制流(活动图)另一种是强调对象潜在的状态和这些状态之间的转移(状态图)状态图使用于描述状态和动作的顺序,可以展现一个对象拥有的状态,还可以说明事件如何随着时间的推移来响应这些状态。
活动图用来描述过程(业务过程、工作流、事件流等)中活动及其迁移,活动图是面向对象的流程图。
10.4.1建立顺序图
顺序图表示类(对象)按时间顺序的消息交换过程,体现出系统用例的行为。顺序图是用来显示参与者如何采用若干顺序步骤与系统对象交互的模型。
系统顺序图应看作是用例模型的一部分,是用例中交互的可视化。
在顺序图中,所有的系统都被当作黑盒子看待,顺序图的重点是参与者发起的跨越系统边界的事件,系统行为描述系统做什么,而不解释系统怎么做,系统顺序图是对系统行为所做的描述的一部分。系统事件是由某个参与者发起的指向某个系统的输入事件,一个事件的发生能够触发一个响应操作的执行,系统操作是一个系统为响应一个事件而执行的一个操作。