用例图(Use Case Diagram)
管理员——参与者; 管理用户——用例
使用用例图描述用户的需求,展示一组用例、参与者以及他们之间的关系。
面向对象设计(OOD)首先要定义用例,定义用例就是定义功能性需求,由谁来用它,以及情节的描述(要做什么)
我们在软件的统一过程中(Rational Unified Process)是主要以用例为驱动的,用例驱动主要包含两个方面:参与者与场景。
参与者:某些具有行为的事务,可以是人(由角色标识)、计算机系统或组织,例如收银员
场景:参与者和系统之间的一系列特定的活动和交换:主路径和扩展路径
而用例的目的就是用例强调用户的目标和观点(谁使用系统?它们使用的典型场景是什么?它们的目的是什么?);用例的名称应该以动词开头,并且尽量使用行业的专业名称。
类图(Class Diagram)
类图展示了一组类、接口和协作及它们的关系,是建模中最常见的图。一个系统可以有多个类图,单个类图仅表达系统的一方面。一般在高层给出类的主要职责,在底层给出类的属性和操作。用包图来描述类的逻辑组织结构。
类的四种关系:
依赖(一个事物变化影响另一个事物)
泛化(继承)
关联(包括关联名、导航、角色、多重性、聚合、组合;表示某一段时间内对象之间存在联系,是结构性的描述)
实现
对象图(Object Diagram)
对象图是类图的变体,它使用与类相似的符号描述,不同之处在于对象图显示的是类的多个对象实例。可以说对象图是类图的一个例子,用于显示系统执行时的一个可能的快照。
对象图与类图不同之处在于它用带下划线的对象名称来表示对象,显示一个关系中的所有实例。
组件图(Component Diagram)
又称构件图,它由组件、接口和组件之间的联系构成。其中的组件可以使源码、而兼职码或可执行程序,表示系统中的不同物理部件及其联系,它表达的是系统代码本身的结构。
构件化:把软件做成一个一个的构件,当有新的需求,就从已有的构件库中把这些构件进行简单的组装,以实现需求。
配置图(Deployment Diagram)
又称部署图,展现了对运行时处理节点以及其中组件的配属,他描述系统硬件的物理拓扑结构(包括网络分布和组件在网络上的位置),以及在此结构上执行的软件。用配置图说明系统结构的静态配置视图,即说明分布、交付和安装的物理系统。
时序图(Sequence Diagram)
时序图是交互图的一种,描述对象与对象之间的交互顺序。也是对象之间的交互,即在系统执行时,某个指定时间点发生的事情。
创建对动态方面的模型 :
动态方面:随着时间的推移,一些对象被创建,属性值的改变,以及其中一些对象的销毁,对象之间的互相调用。
包括:对象、对象生命线、消息(实际上就是方法调用)、对象的创建与销毁
第一步:创建时序图
第二步:把使用案例图(Use Case Diagram)画完
第三步:把参与人拉到时序图里,横线上的是消息名称,也可以叫方法,竖条是生命线,虚线是返回值
协作图(Collaboration Diagram)
协作图在对一次交互中有意义的对象和对象之间的连接建模。它强调发消息对象的组织结构,按组织结构对控制流建模。除了显示消息的交互,还显示对象以及它们之间的关系
状态图(Statechart Diagram)
展示了一个特定对象的所有可能状态,以及由于各种事件的发生而亲戚的状态间的转移。
一个状态图描述了系统中某一个复杂的状态的转换过程。用状态图说明系统的动态视图。可以描述用例实例的生命周期。
活动图(Activity Diagram)
活动图是状态图的一个变态,显示了系统中从一个活动到另一个活动的流程,活动图显示了一些活动,强调的是对象之间的流程控制。