UML
Unified Modeling Language,统一建模语言,在软件开发的所有阶段,设计一个可视化的系统模型。UML主要有3个设计模型。
功能模型: 从用户的角度展示系统的功能,包括用例图。对象模型: 采用对象,属性,操作,关联等概念展示系统的结构和基础,包括类图、对象图、包图。动态模型: 展现系统的内部行为。 包括序列图,活动图,状态图。UML三大基本组成要素:
1.事物 2.关系 3.图形1.事物(Things)UML中最基本的成员,指开发设计模型时抽象化的最后结果,分为4类:
结构事物(Structural Things)结构事物分为:类、接口、协作、用例、活动类、组件和节点动作事物(Behavioral Things)模型的动词,代表时间和空间上的动作。分组事物(Grouping Things)分组事物是UML模型中组织的部分,分组事物只有一种,称为包。备注事物(Annotational Things)注释事物是UML模型的解释部分。2.关系(relationships)将各个事物关联在一起,分为6类:
依赖(dependency):(虚线+箭头) class A{public void Function(B b){}}关联(association):(实线+箭头) class A{B b = new B();}聚合(aggregation):(实线+空心菱形) 聚合是关联的一种,是较强的关联关系,强调的是整体与部分之间的关系。组合(composition):(实线+实心菱形) 组合是关联的一种,比聚合更强的关系,整体死亡,部分也死亡。实现(realization):(虚线+三角形) 实现关系泛化(generalization):(实线+三角形) 继承关系依赖:对象方法依赖某个对象。
关联:一个对象包含多个属性对象。聚合:一组对象与单个对象。组合:一个对象与单个属性的关系。3.图形(Diagrams)由事物、关系和行为所绘制的图形表示方法,分为9种:
1.用例图(Use Case Diagram)用例图定义了系统的功能需求,从系统的外部看系统功能,并不描述系统内部对功能的具体实现。由参与者(Actor)、用例(Use Case)、箭头组成。作用:1获取需求,2指导测试。2.类图(Class Diagram)
类图显示出类与类之间的静态结构和关系,用于描述系统的结构化设计。一般包含3个组成部分:类名、属性和方法。+表示public,-表示private,#号表示protected。Operator-userName:String+SetUserName(userName:String):String3.时序图(Sequence Diagram)
时序图也称为序列图,描述对象之间发送消息的时间顺序,每一个用例行为都对应一个触发事件。包含角色(Actor)、对象(Object)、生命线(Lifeline)、激活期(Activation)和消息(Message)。时序图描述对象是如何交互的,并且将重点放在消息序列上。4.状态图(Statechart Diagram)描述系统动态特征,包括状态、转换、事件以及活动等。
5.活动图(Activity Diagram)描述系统在处理某项活动时,两个或多个对象之间的过活动流程。6.组件图(Component Diagram)以可视化方式提供系统的物理视图,显示系统中组件的依赖关系。7.部署图(Deployment Diagram)显示系统如何物理部署到硬件环境之中,是节点和连线的集合。8.对象图(Ojbect Diagram)显示了一组对象和他们之间的关系。对象图是类图的实例,几乎使用与类图完全相同的标识。9.协作图(Collaboration Diagram)强调的是发送和接收消息的对象之间的组织结构,显示了一系列的对象和在这些对象之间的联系以及对象间发送和接收的消息。