
rose类图及其应用.ppt
45页第4章 类图及其应用 《Rational Rose 2003基础教程》配套电子教案内 容n基本概念 n类图操作 n类规范与类的应用 n属性规范与应用 n操作规范与应用 n关联规范与应用 n泛化规范与应用 n依赖规范与应用n聚合规范与应用 n逻辑包规范与应用 引 言类图是逻辑视图的重要组成部分,用于对 系统的静态结构建模,涉及到具体的实现细节 在系统分析阶段,类图主要用于显示角色 和提供系统行为的实体的职责;在系统设计阶 段,类图主要用于捕捉组成系统体系结构的类 结构;在系统编码阶段,根据类图中的类及它 们之间的关系实现系统的功能 类图的地位和作用n1.1 类– 定义 • 类是一组具有相同属性、相同行为、和其他对象 有相同关系、有相同表现的对象描述 • 类具有属性和操作 – 图形表示 • 类名、属性、操作 • 可以简化表示 1 基本概念 n1.1 类 – 属性 • 一般描述类的某个特征,可以确定并区分对象以 及对象的状态 • 完整的语法表示 – [可见性]属性名[多重性][:类型]=[初值][{特殊串}] – 操作 • 操作是与类相关联的行为,表示类提供的服务 • 完整的语法表示 – [可见性] 操作名[(参数表)][:返回类型] [{特殊串}] 1 基本概念 1 基本概念 n1.1 类– 对象 • 对象是一个类的实例,对象的每 一个属性都有具体的值 • 图形表示 – John是对象名,Person是类 名 • 对象在交互图和状态机中使用 – 接口 • 一组可重用的操作,描述类的部 分行为 • 图形表示 – 两种表示方法1 基本概念 n1.2 关系– 1)关联(association) • 定义 – 两个类在概念上有连接关系时,类之间的连接称为关联;提 供了不同类的对象可以相互作用的连接 • 图形表示 – 用一根连接类的实线表示,用箭头表示关联的方向 ;如果 不明确指明方向,则默认关联是双向的 1 基本概念 n1.2 关系 – 2)聚合(aggregation) • 定义– 类之间的一种整体与部分的关系 – 体现了一种层次结构,整体类位于部分类的上层,多个部分类 处于并列的层次 • 图形表示 – 尾端带一个菱形的单箭头直线 – 菱形指向整体部分 1 基本概念 n1.2 关系 – 3)泛化(generalization) • 定义 – 泛化关系是继承机制中产生的类与类之间的关系 – “is a part of”关系:一个事物是另一个事物的种类 • 图形表示 – 一条带有空心大箭头的有向实线,箭头指向父类 1 基本概念 n1.2 关系 – 4)依赖 • 定义 – 两个元素之间的一种关系,其中一个元素(提供者)的变化将影 响另一个元素(客体),或向它提供所需信息 – 显示一个类引用另一个类 • 图形表示 – 用两个模型元素之间带箭头的虚线表示,箭尾处的模型元素( 客户)依赖于箭头处的模型元素(提供者) 1 基本概念 n1.2 关系 – 5)实现 • 定义 – 类和接口之间的关系是实现关系,表示类实现接口提供的操作 显示一个类引用另一个类 • 图形表示 – 因接口的表示方法而异 n2.1 创建新的类图– 步骤 • 右单击浏览器中的逻辑 视图名称“Logical View” ; • 单击快捷菜单中的New > Class diagram; • 输入新类图的名称。
2 类图操作n2.2 删除类图 – 删除类图时,类图中的类并不删除,它们仍 然在浏览器和其它模型图中 – 要删除一幅类图: • 右单击浏览器中的类图 ; • 单击快捷菜单中的Delete 2 类图操作2 类图操作n2.3 类图工具箱–常用工具如图 –可以定制工具箱 • 右单击工具箱; • 单击快捷菜单中的 “Customize……”; • 在弹出的“自定义工具栏” 对话框中,选择相应的工 具图标,然后单击“添加” 或“删除”将选定的工具图 标添加至窗口的工具箱中 ,或从工具箱中移走 3 类规范与类的应用 n3.1 类规范 – 8个标签 • General标签 • Detail标签 • Operation标签 • Attributes标签 • Relations标签 • Components标签 • Nested标签 • Files标签3 类规范与类的应用 n3.1 类规范– 1)General标签 • 名称(Name) • 构造型(Stereotype) • 输出控制(Export Control) 选项含义Public系统中所有其它类都能访问这 个类Protected这个类可以在嵌套类、友元或同一个类中访问Private这个类可以在友元或同一个类中访问Implementation这个类只能由同一包中的其它类访问3 类规范与类的应用n3.1 类规范– 1)General标签 • 构造型(Stereotype)构造型Actor参与者boundary边界Business actor业务参与者Business entity业务实 体Business worker业务工人Control控制Domain域Entity实体Interface接口Table表格View视图3 类规范与类的应用 n3.1 类规范– 2)Detail标签 • 多重性(Multiplicity) • 存储需求(Space) • 并发性( Concurrency) 类型描述Sequential默认设置。
当只有一个控制线程时,类能正常工作;有多个控制线程时,不 能保证类能否正常工作Guarded存在多个控制线程时,类正常工作但不同种的类应相互协作,保证不会互相 干扰Active类有自己的控制线程Synchronous存在多个控制线程时,类的正常工作不需要与其他类相互协作,类本身能处 理互斥情形3 类规范与类的应用n3.1 类规范– 3)Attributes标签 – 4)Operation标签 – 5)Relations标签 – 6)Nested标签 • 创建嵌套类 – 右单击标签中任一空白处,从快捷菜单中选择Insert,输入 嵌套类名称; – 按一般方法创建父类和嵌套类:在浏览器中,将嵌套类拖 放到父类3 类规范与类的应用 n3.1 类规范– 7)Components标签 • 显示用于实现系统中类的构 件 • 复选标记框“Show all components”表示是否要显 示模型中的所有构件;如果 选中该标记,则显示系统中 的所有构件;否则,只显示 实现所选类的构件 • 显示构件时,同时还显示构 件所属的包,以及实现所采 用的编程语言 n3.2 类的操作 – 添加一个类 • 单击工具箱中的类图标; • 在模型图任一位置单击,新类取名为NewClass; • 输入新的类名。
– 删除一个类 • 单击模型图中要删除的类; • 选择Edit > Delete from Model 3 类规范与类的应用n4.1 属性规范 – 3个标签: • General标签 • Detail标签 • DDL标签4 属性规范与应用 4 属性规范与应用 n4.1 属性规范 – 1)General标签 • 属性数据类型(Type) • 属性构造型(Stereotype) • 属性的初值(Initial) • 输出控制(Export Control) 选项含义Public公共属性任何其它类都可以浏览或修改属性的之值Protected保护属性类及其派生类可以访问该 属性Private专用属性其他类不能访问该 属性Implemented实现属性只能被同一包中的类访问可见性Rose图 注UML图 注Public+Protected#Private-Implementedn4.1 属性规范 – 2) Detail标签 • 属性控制(Containment) – By value:按数值 – By reference:按引用 – Unspecified:未指定 • 静态属性(Static) • 派生属性(Derived) 4 属性规范与应用 4 属性规范与应用 n4.2 属性操作 – 增加一个属性 • 右单击浏览器或类图中的类,选择New > Attribute,用 Name:DataType = Initial Value格式,输入属性名。
或者, • 打开类的规范窗口,选择“Attributes”标签,右单击属性区 的任何位置,在快捷菜单中选择Insert – 删除一个属性 • 右单击浏览器某个属性,从快捷菜单选择Delete或者, • 选择类图中的某个属性,用退格键删除模型图中的属性名、 数据类型和初始值,单击模型图中任一位置,确认删除 或 者, • 打开属性类的类规范窗口,选择“Attributes”标签,右单击 要输出的属性,从快捷菜单中选择Delete,确认删除 5 操作规范与应用 n5.1 操作规范– 1)General标签 • 返回值的类型(Return) • 构造型(Stereotype) • 输出控制(Export Control) 可见性含义Pulic操作可以被其它类访问 Protected操作可以被子类、友元类或本身访问Private操作可以被友元类或本身访问Implemented操作是公开的,但只被同一包中的类访问5 操作规范与应用 n5.1 操作规范– 2)Detail标签 • 操作变元(argument) • 操作协议(Protocol) • 操作限制(Qualification) • 内存长度(Size) • 时间(Time) • 并发性(Concurrency) – Sequential:只有一个控制 线程时,操作正常工作。
– Guarded:存在多个控制线 程时,不同线程的类相互协 作,操作可正常工作 – Synchronous:存在多个控 制线程时,操作可正常工作 n5.1 操作规范 – 3)异常(Exceptions)标签 • 操作可抛出的异常 • 通过其中的4个按钮添加、删除和 上、下移动异常 5 操作规范与应用 n5.1 操作规范– 4)前置条件(Preconditions)标签 • 前置条件(Preconditions) – 指定操作运行之前应满足的条件,即操作的入口行为, 通常是不等式 • 交互图(Interaction Diagram) – 说明操作语义的交互图 5 操作规范与应用 n5.1 操作规范– 5)语义(Semantics)标签 • 语义(Semantics) – 指定操作的工作 – 在文本框中用伪代码描述操作 逻辑 • 交互图(Interaction Diagram) – 说明了操作语义的交互图 5 操作规范与应用 n5.1 操作规范– 6)后置条件( Postconditions)标签 • 后置条件(Postconditions) – 指定操作运行之后要符合的条 件,即操作的出口行为,通常 是不等式 • 交互图(Interaction Diagram) – 说明操作语义的交互图 5 操作规范与应用 n5.2 操作应用 – 增加一个操作 • 类似于添加一个属性的操作 – 删除一个操作 • 类似于删除一个属性的操作5 操作规范与应用 n6.1 关联规范 – 1)General标签 • 关系名(Name) – 一个动词或动词短语,描述 关系的作用,是可选的 – 关系名在关系线上斜体显示6 关联规范与应用 n6.1 关联规范 – 1)General标签 • 角色(Role) – 描述类在关系中的作用 – 通常是名词或名词短语,显示在起这个作用的类旁边 – 角色名前带有一个加号“+”, 6 关联规范与应用 6 关联规范与应用 n6.1 关联规范– 2)Detail标签 • 链接元素(Link Element) –。












