结构化建模
静态建模[2]-类Class
类是具有相同属性、操作和关系的对象集合的总 称。通常在UML中类被画成矩形,包括三个部 分:名称、属性和操作。
名称:每个类都必须有一个名字,用来区分其它的类。 类名是一个字符串,称为简单名字。路径名字是在类 名前加包含类的包名为前缀。例如Wall、 java::awt::Wall都是合法的类名。 属性:类可以有任意多个属性,也可以没有属性。在 类图中属性只要写上名字就可以了,也可以在属性名 后跟上类型甚至缺省取值 。 操作:操作是类的任意一个实例对象都可以调用的, 并可能影响该对象属性的实现。
Company
…
静态建模[13]-关系-关联association
关联描述了系统中不同类的对象之间的结构关系。 由“常识”、“规则”、“法律”等因素决定。 关联至对象的连接点称为关联端点,很多信息被 附在关联端点上,它拥有角色名、重数(多少个 类的对象可以关联于另一个类的对象),可见性 等。 关联有自己的名称,可以拥有自己的属性,这时 关联本身也是类,称为关联类。
用例视图 Use Case View
用例视图
逻辑视图 Logical View
逻辑视图用来显示系统内部的功能是怎样 设计的,它通过系统的静态结构和组成来 刻画系统功能。静态结构包括:类、对象 以及它们之间的关系。 逻辑视图由类图和对象图组成。 逻辑视图主要为系统分析员与用户交流使 用,也经常为系统分析员与设计开发人员 交流使用。
Maintain Curriculum
静态建模[9]-用例
Registrar -- maintain the curriculum Professor -- request roster Student -- maintain schedule Billing System -- receive billing information from registration
组件视图由组件图构成 组件视图主要为系统开发者使用。
部署视图 Deployment View
部署视图用来显示系统的物理架构 ,关注 系统的实际配置。 部署视图由部署图组成 部署视图提供给开发人员、系统集成人员 和测试人员使用。
4.3.2 图
图(diagram)由图片(graph)组成,图片 把模型元素符号化。 图(diagram)包含用例图、类图、对象图、 状态图、顺序图、协作图、活动图、组件 图、部署图等九种。
Comparable
接口标记
静态建模[5]-子系统(包Package)
任何大系统都必须划 分为较小的单元,以 便人们在某一时刻可 以围绕有限的信息工 作,使团队的工作不 相互影响。 包可以包含各种模型 元素和其它的包,包 之间还可能存在一定 的依赖。
<<subsystem>> Finances
4.2 UML的基本概念
UML(Unified Modeling Language)是一种构建软件 系统和文档的通用可视化建模语言。 UML能与所有的开发方法一同使用,可用于软件 开发的整个生命周期。 UML能表达系统的静态结构和动态信息,并能管 理复杂的系统模型,便于软件团队之间的合作开 发。 UML不是编程语言,但支持UML语言的工具可 以提供从UML到各种编程语言的代码生成,也可 以提供从现有程序逆向构建UML模型。
模型图的分类方式
静态建模 动态建模 用例图、类图、对象图、组件图、部署图 协作图、顺序图、状态图、活动图
结构分类
用例图、类图、对象图、组件图和部署图
动态行为 模型管理
状态图、活动图、顺序图和协作图 类图
我们将对图与视图具体讲解
—ห้องสมุดไป่ตู้态建模
—动态建模
—物理架构
静态建模[1]
一个模型必须首先定义各种事物的内部静态特征和 相互之间的关系,下面介绍一些基本的模型元素:
静态建模[7]-执行者Actor
执行者是与系统、子系统或类交互的外部人员、 进程或系统。在运行时,具体人员可能会充当系 统的多个执行者,不同用户可能会成为一个执行 者。
Professor
Registrar
Student
Billing System
静态建模[8]-用例 Use case
用例是系统提供的外部可感知的功能 单元,用例的目的是定义清晰的系统 需求,但不解释系统的内部结构。 用例可以与执行者关联,也可以参与 其他的多种关系,比如扩展、泛化和 包含等。 用例的动态部分用并发视图来描述, 比如顺序图、协作图。 用例用椭圆来表示,用例名标在椭圆 下方(或中间),用实线与同自身通 信的用户相连。
4.1 UML产生与发展
◆UML及其起源 ◆UML的发展
UML及其起源
UML(Unified Modeling Language,统一建 模语言)是一种建模语言,它可以为面向 对象(OO,Object-Oriented)开发系统的 产品进行说明、可视化和编制文档。 提 出 UML 的 三 位 著 名 的 方 法 学 家 —— Grady Booch , James Rumbaugh 和 Ivar Jcobson OMG(Object Management Group,对象管 理组织)采纳UML成为业界的标准。
第四章 初识统一建模语言UML
An introduction to Unified Modeling Language (UML)
内容概要
1 UML的产生与发展 2 UML的基本概念
3 UML的视图和图
4 用UML建模
学习目标
★了解UML的起源及发展 ★理解什么是UML ★掌握UML的视图和图 ★了解UML的建模过程
4.3 UML的视图和图
1. 视图 2. 图 3. 图的模型元素和符号 4. 通用机制
UML视图和图的体系
视图(view) 视图作用 包含的图(diagram)
用例视图(Use Case View)
逻辑视图(Logical View) 并发视图 (Concurrent View) 组件视图 ( Component View) 部署视图 (Deployment View)
<<subsystem>> <<subsystem>> Credits BankInterface
<<subsystem>> Accounts
静态建模[6]-子系统(包)
子系统是具有独立的说明和实现部分的包,它代 表了与系统其它部分具有清晰接口的单元,它通 常代表了系统在功能或实现范围上的划分。
静态建模[3]-类
类名 属性
操作
静态建模[4]-接口Interface
接口是一种特殊的“类”:包含操作(但没有操 作内容),没有属性,一个或多个类可以实现接 口,每个类实现接口的操作。
String
isEqual(String) : Boolean Hash() : Integer …
Hashable
常用的九种模型图
用例图(Use Case Diagram) 类图(Class Diagram) 对象图(Object Diagram) 协作图(Collaboration Diagram) 顺序图(Sequence Diagram) 状态图(State Machine Diagram) 活动图(Activity Diagram) 组件图(Component Diagram) 部署图(Deployment Diagram)
什么是UML
UML并不是万能的,它是一种离散的建模 语言,不适用于一些特定的领域,比如: GUI、VLSI电路设计或基于规则的人工智 能。
UML的特点
统一的标准 面向对象 可视化、表示能力强大 独立于过程(UML不依赖于特定的软件开 发过程) 概念明确,建模表示法简洁,图形结构清 晰,容易掌握和使用。
从用户角度看到的或需要的 系统功能
展现系统的静态或结构组成 特征 体现系统的动态或行为特征 体现了系统组件间的结构和 交互特征 体现了系统的部署配置环境
用例图
类图、对象图 顺序图、协作图、状态图、 活动图 组件图 部署图
4.3.1 UML视图
视图代表完整的系统描述中一个特定方面 的抽象:按照特定的目的,从某一特定角 度来进行的建模。 视图主要有用例视图、逻辑视图、并发视 图、组件视图和部署视图。 每个视图由一系列图构成 。
Student
静态建模[11]-结点 node
结点代表系统运行时的物理对象,结点通常拥 有运算能力,它可以容纳对象和组件实例。
静态建模[12]-注释 comment
注释用于解释设计的思路,便于理解。 一个好的模型应该有详尽的注释。
注释
Represents
an incorporated entity
常用的九种模型图
各个模型图各有侧重,如用例图侧重描述用户需 求,类图侧重描述系统的静态结构; 各个模型图描述的角度都不相同,如类图描述的 是系统的结构,顺序图描述的是系统的行为; 各个模型图抽象的层次也不同,如组件图描述系 统的模块结构,抽象层次较高,类图描述具体模 块内部的结构,抽象层次较低。
UML的目标
最重要目标:UML是所有建模人员可以使 用的通用建模语言。它包含主流建模方法 的概念,从而可以替代旧的软件分析和设 计方法,比如:OMT, Booch, OOSE等。 UML不是完整的开发方法,它不包括逐步 的开发流程,但它提供所有必要的概念, 具备足够的表达能力。 UML的另一个目标是:能尽量简洁地表达 系统的模型。