UML建模语言:OOD,CBD UML架构:图+元模型 -图—UML的语法,元模型一语义 ·元元模型(定义全部事物)、元模型、UML模型、用户模型 ·事物:模型中最具有代表性的成分的抽象 一结构事物 ·类(Class)、接口(Interface)、协作(Collaboration)、用 例(UseCase)、主动类(ActiveClass)、组件(Component )、节点(Node) 一行为事物 ·交互(Interaction)、状态机(State machine) -分组事物(包,Package) -注释事物(注解,Note) ● 关系:事务的结合 一依赖、关联、泛化和实现
UML建模语言:OOD,CBD • UML架构:图+元模型 – 图——UML的语法,元模型——语义 • 元元模型(定义全部事物)、元模型、UML模型、用户模型 • 事物:模型中最具有代表性的成分的抽象 – 结构事物 • 类(Class)、接口(Interface Interface)、协作(Collaboration Collaboration)、用 例(UseCase)、主动类(ActiveClass)、组件(Component )、节点(Node) – 行为事物 • 交互(Interaction)、状态机(State machine) – 分组事物(包,Package) – 注释事物(注解,Note) • 关系:事务的结合 – 依赖、关联、泛化和实现
UML基本框架 类图 用例图 时序图 对象图 模型 协作图 组件图 状态图 分布图 活动图
Use Case Diagrams Use Case Diagrams 用例图 State State Diagrams State Diagrams 对象图 Use Case Diagrams Use Case Diagrams 时序图 State Diagrams State Diagrams 类图 UML基本框架 分布图 Scenario Diagrams Scenario Diagrams 协作图 State Diagrams State Diagrams 组件图 Scenario Diagrams Scenario Diagrams 状态图 活动图 模型
UML的9个核心框图 ·功能 一用例图:描述一个系统做什么(功能),而不说明怎么做 ·结构 一类图:类与类之间的交互 - 对象图:一组对象(类的实例)以及它们之间传送的消息 ·行为 一顺序图(时序图):按时间顺序对控制流建模 一协作图:按对象的组织对控制流建模(交互?) 一状态图:显示一个对象的生命期中,响应事件的状态序列 一活动图:描述了类的活动,一种特殊的状态图 ·被内部进程或实体访问时描述了类的行为 ·实现 一组件图(构件图):一组组件之间的组织和依赖关系 一部署图(实施图、分布图):描述物理组件及其分布和关联 13/112
UML的9个核心框图 • 功能 – 用例图:描述一个系统做什么(功能),而不说明怎么做 • 结构 – 类图:类与类之间的交互 – 对象图:一组对象(类的实例)以及它们之间传送的消息 • 行为 13/112 – 顺序图(时序图):按时间顺序对控制流建模 – 协作图:按对象的组织对控制流建模(交互?) – 状态图:显示一个对象的生命期中,响应事件的状态序列 – 活动图:描述了类的活动,一种特殊的状态图 • 被内部进程或实体访问时描述了类的行为 • 实现 – 组件图(构件图):一组组件之间的组织和依赖关系 – 部署图(实施图、分布图):描述物理组件及其分布和关联
用例图(系统功能服务) USTC 要素:Actor,Use Case(功能),关系(通信) - use case被映射成系统中可运行的线程(称任务) ·类图中的各个类对象,按照顺序图交互,完成一个用例 存 付款 信用系统 communication 客户 actor- Make Appointment Patient 查阅结余 取钱 use case 关系类型 说明 表示符号 关联 参与者与用例间的关系 D 改变密码 泛化 参与者之间或用例之间的关系 包含 用例之间的关系 包括 扩展 用例之间的关系 扩展
用例图(系统功能/服务) • 要素:Actor,Use Case(功能),关系(通信) – use case被映射成系统中可运行的线程(称任务) • 类图中的各个类对象,按照顺序图交互,完成一个用例 llxx@ustc.edu.cn 14/112
多样性 意义 类图及其关系 0.1 0或1个实例.n.m符号表示有n到m个实例 0.*0r 没有实例格数的限制(包括没有) 只有一个实例 Customer Order 1. 最少一个实例 name 0.* date address status Association association Extends calcTax →Payment calcTotal Implements abstract class calcTotalWeight Aggregation amount Composition Dependency role name- generalization、 line item 1.* multiplicity OrderDetail Item class name Credit Cash Check quantity shippingWeight 0.* attributes number cashTendered name taxStatus description type banklD expDate calcSubTotal getPriceForQuantity authorized calcWeight getWeight operations authorized navigability ·具体>抽象 泛化=实现>扩展>组合>聚合>关联>依赖?
类图及其关系 • 具体->抽象 – 泛化 = 实现 > 扩展 > 组合 > 聚合 > 关联 > 依赖?