[工学]UML课程设计课件.ppt_第1页
[工学]UML课程设计课件.ppt_第2页
[工学]UML课程设计课件.ppt_第3页
[工学]UML课程设计课件.ppt_第4页
[工学]UML课程设计课件.ppt_第5页
已阅读5页,还剩615页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

课程简介内蒙古工业大学 软件体系结构与UML 课程简介 UML基础与Rose建模 开课单位:内蒙古工业大学信息学院计算机系 主讲教师:张丽霞 讲师 课程简介内蒙古工业大学 软件体系结构与UML 课程简介 一、地位与目的 q预备知识 面向对象程序设计 软件工程导论 q地位 软件工程专业的专业课 课程简介 课程简介内蒙古工业大学 软件体系结构与UML 掌握RUP建模过程 q目的 使用工具创建高质量的UML图 在软件工程领域中,软件架构师实际上就是 软件项目的总体设计师,是软件组织新产品 的开发与集成、新技术体系的构建者。 掌握UML核心子集 对简单系统实现建模 软 件 架 构 师 课程简介 课程简介内蒙古工业大学 软件体系结构与UML 软件架构师培养三部曲 q构架师胚胎(程序员)大学阶段 学习的知识是语言基础、设计基础、通信基础等,内 容包括java、c、c+、UML、RUP、XML、socket通 信(通信协议)。 q构架师萌芽(高级程序员)工作第一年 学习分布式系统、组建等内容,可以在接触,包括 分布式系统原理、EJB、CORBA、COM/DCOM 、WEBSERVICE。 q构架师幼苗(设计师)工作两到三年 结合实际项目经验,透彻领会应用设计模式,内容 包括设计模式(c+版本、java版本)、EJB设计 模式、J2EE构架、软件设计模式等。 课程简介 课程简介 二、课程的主要内容 内蒙古工业大学 软件体系结构与UML 课程简介 1、UML语言基础 2、Rose的使用与RUP建模过程 包括第1、3、4、5、6、7章 包括第2、8、9章 3、案例分析 包括第10、11、12章 课程简介 三、课程的考核办法 内蒙古工业大学 软件体系结构与UML 课程简介 q专业考查课 q成绩的构成 成绩=考试成绩*70%+实验成绩*20%+平时成绩*10% 课程简介 四、教材与参考资料 内蒙古工业大学 软件体系结构与UML 课程简介 1(美)Craig Larman著,李洋,郑龚等译.UML和模式应用 (第三版),北京:机械工业出版社,2006. 2(美)Tom Pender著,耿国桐等译.UML宝典,北京:电 子工业出版社,2004. 3陈佳,曹妍著.软件开发实验与实践教程,北京:清华大学 出版社,2006. 4董兰芳,刘振安著.UML课程设计,北京:机械工业出版社 ,2006. 5徐宝文,周毓民,卢红敏著.UML与软件建模.北京:清华 大学出版社,2006. q教材吴建,郑潮,汪杰著.UML基础与Rose建模案例( 第2版),北京:人民邮电出版社,2007. q参考资料 课程简介第1讲 绪论 第1讲 绪论 q 教学目的 明确UML在软件开发中的地位 UML在软件开发中的应用 掌握UML语言核心子集的基本组成 课程简介第1讲 绪论 q教学重点 UML在软件开发中的应用 掌握UML语言核心子集的基本组成 掌握Rose建模工具的初步使用 q教学内容 第1章 软件工程与UML概述 第3章 UML语言初览 第2章 Rational Rose 简介 第1讲 绪论 课程简介第1讲 绪论 q1.1 模型概述 第1讲 绪论 一、模型(Model) 模型是现实系统的简化,是抓住现实系统的主要 方面而忽略次要方面的一种抽象。它是理解、分 析、开发和改造现实系统的一种手段。 图1-1 模型抽象 课程简介第1讲 绪论 第1讲 绪论 二、模型在软件开发中的应用 建立模型可以降低复杂度。 1、模型的引入 u 开发者之间的交流障碍 u软件开发是一个复杂的过程 建立模型可以使开发者有效的交流。 课程简介第1讲 绪论 第1讲 绪论 2、模型的应用 需求模型(Reuirement) 问题域模型(Domain) 设计模型(Design) 实施模型(Implementation) 测试模型(Test) 部署模型(Deployment) 课程简介第1讲 绪论 表示法、过程和工具。 三、建模的三要素 第1讲 绪论 图1-2 建模三要素 课程简介第1讲 绪论 1.2 UML语言概述 第1讲 绪论 一、UML(Unified Modeling Language) The UML is the standard language for visualizing(可视化) ,specifying(精确规约), constructing(建造), and documenting(建文档 ) the artifacts of a software-intensive system。 From IBM Rational - RUP 课程简介 二、UML的发展史 第1讲 绪论 第1讲 绪论 图1-3 UML发展史 课程简介第1讲 绪论 包括UML语义和UML表示法两个部分。 1、UML语义 描述基于UML的精确元模型(Metamodel )定义。元模型为UML的所有元素在语法和 语义上提供了简单、一致和通用的定义性说 明,使开发者能在语义上取得一致,消除了 因人而异的表达方法所造成的影响。此外 UML还支持对元模型的扩展定义。 第1讲 绪论 三、UML的组成 课程简介 定义了UML的可视化标准表示符号,为开发 者或开发工具使用这些图形符号和文本语法 提供了标准。这些图形符号和文字所表达的 是应用级的模型,在语义上它是UML元模型 的实例。 2、UML的表示法 第1讲 绪论 第1讲 绪论 课程简介 UML有两套建模机制:静态建模机制和动态建 模机制。 第1讲 绪论 1、 静态建模机制 在软件的逻辑设计阶段关注系统的结构。可 以用类图、对象图、包图、组件图和部署图 来描述。 2、动态建模机制 软件运行环境下的行为建模。包括用例图 、状态图、时序图、协作图和活动图。 四、UML的建模机制 第1讲 绪论 课程简介第1讲 绪论 图(Diagrams) 第1讲 绪论 1.3 UML语言 一、UML描述模型的内容 事物(Things) 关系(Relationships) UML用来描述模型的内容有3种。 课程简介第1讲 绪论 用 例 类 接 口 协 作 活 动 图 组 件 节 点 包 注 释 交 互 状 态 机 事物 结构 事物 行为 事物 组织 事物 辅助 事物 关系 关联 关系 依赖 关系 泛化 关系 实现 关系 UML 图 静态 图 动态 图 用 例 图 类 图 对 象 图 组 件 图 配 置 图 时 序 图 协 作 图 状 态 图 活 动 图 第1讲 绪论 图1-5 UML描述模型的内容 课程简介第1讲 绪论 二、UML中的事物 结构事物(Structure Things) 行为事物(Behavior Things) 组织事物(Grouping Things) 辅助事物(Annotation Things) 第1讲 绪论 1、事物的分类 课程简介第1讲 绪论 类 类是具有相同属性、相同 方法、相同语义和相同关系的一组 对象的集合。 接口接口是指类或组件所提供 的、可以完成特定功能的一组操作 的集合。 协作协作定义了交互的操作, 表示一些角色和其他元素一起工作 ,提供一些合作的动作。 第1讲 绪论 2、结构事物(Structure Things) 课程简介第1讲 绪论 用例用例定义了系统执行的 一组操作,对特定的用户产生可 以观察的结果。 活动类活动类是类对象有一 个或多个线程或进程的类。活动 类和类相似,只是它的对象代表 的元素的行为和其他的元素同时 存在。 第1讲 绪论 课程简介第1讲 绪论 组件组件是物理上可替换 的,实现了一个或多个接口的 系统元素。 节点节点是一个物理元素 ,它在运行时存在,代表一个 可计算的资源,比如一台数据 库服务器。 第1讲 绪论 课程简介第1讲 绪论 交互 Interaction 在UML图中,交互的消息通 常画成带箭头的直线,如图 所示。 状态机StateMachine 状态机是对象的一个或多个 状态的集合。在UML图中, 状态机通常用一个圆角矩形 来表示。 第1讲 绪论 3、行为事物(Behavior Things) 课程简介第1讲 绪论 4、组织事物(Grouping Things) 组织事物也称分组事物。 第1讲 绪论 包与组件的区别:包是一种概念上的事物,仅 存在于开发阶段结束之前,而组件是一种物理 的元素,存在于运行时。 包(Package) 课程简介第1讲 绪论 5、辅助事物(Annotation Things) 辅助事物也称注释事物。 第1讲 绪论 注释(Annotation) 课程简介第1讲 绪论 三、UML中的关系 关联关系(Association) 依赖关系(Dependency) 泛化关系(Generalization) 实现关系(Realization) 第1讲 绪论 1、关系的分类 课程简介第1讲 绪论 关联关系 是一种结构化的关系。给定关联的两个类,可以 从其中的一个类的对象访问到另一个类的相关对 象。在UML图中,关联关系用一条实线表示如下 图所示。 第1讲 绪论 2、关联关系(Association) 课程简介第1讲 绪论 关联的方向 表示该关联在某方向被使用。 单向关联(Unidirectional Association) 双向关联(Bidirectional Association) 第1讲 绪论 课程简介第1讲 绪论 3、依赖关系(Dependency) 依赖关系 对于两个对象X、Y,如果对象X发生变化,可 能会引起对另一个对象Y的变化,则称Y依赖 于X。 第1讲 绪论 XY 课程简介第1讲 绪论 4、泛化关系(Generalization) UML中的泛化关系定义了一般元素和特殊元素 之间的分类关系,与和C+及Java中的继承关 系有些类似。 泛化关系 第1讲 绪论 课程简介第1讲 绪论 5、实现关系(Realization) 是将一种模型元素(如类)与另一种模型元素 (如接口)连接起来。 实现关系 第1讲 绪论 课程简介第1讲 绪论 6、关系的修饰 关系名 为关系取名。 多重性 可以表示不同对应情况的关系。 0:表示没有。 N:表示具体数字,如:1,2,7等; *:表示任意个。 第1讲 绪论 课程简介第1讲 绪论 四、UML中的图 用例图(Use Case Diagram)、时序图( Sequence Diagram)、协作图(Collaboration Diagram)、状态图(Statechart Diagram)和活 动图(Activity Diagram) 第1讲 绪论 1、图的分类 结构图 类图(Class Diagram)、对象图(Object Diagram)、组件图(Component Diagram)和 配置图(Deployment Diagram) 行为图 课程简介第1讲 绪论 2、用例图(Use Case Diagram) 用例图展现了一组用例、参与者以及它们间的 关系。可以用用例图描述系统的静态使用情况 。在对系统行为组织和建模方面,用例图是相 当重要的。 组成 参与者(Actor角色); 用例(Use Case); 参与者与用例之间的关系。 第1讲 绪论 课程简介第1讲 绪论 第1讲 绪论 课程简介第1讲 绪论 第1讲 绪论 课程简介第1讲 绪论 3、类图(Class Diagram) 类图展示了一组类、接口和协作及它们间的关 系,在建模中所建立的最常见的图就是类图。 用类图说明系统的静态设计视图,包含主动类 的类图专注于系统的静态进程视图。系统 可有多个类图,单个类图仅表达了系统的一个 方面。一般在高层给出类的主要职责,在低层 给出类的属性和操作。 第1讲 绪论 课程简介第1讲 绪论 第1讲 绪论 课程简介第1讲 绪论 第1讲 绪论 课程简介第1讲 绪论 4、对象图(Object Diagram) 对象图展示了一组对象及它们间的关系。表达了 系统的静态设计视图或静态过程视图,除了现实 和原型方面的因素外,它与类图作用是相同的。 第1讲 绪论 课程简介第1讲 绪论 5、组件图(Component Diagram) 组件图,又称构件图,它由组件、接口和组件 之间的联系构成。 第1讲 绪论 课程简介第1讲 绪论 第1讲 绪论 课程简介第1讲 绪论 6、配置图(Deployment Diagram) 配置图展现了对运行时处理节点以及其中组件的 配署。它描述系统硬件的物理拓扑结构,以及在 此结构上执行的软件执行情况。 第1讲 绪论 课程简介第1讲 绪论 第1讲 绪论 课程简介第1讲 绪论 7、时序图(Sequence Diagram) 时序图显示多个对象之间的动态协作,重点是显 示对象之间发送的消息的时间顺序。 第1讲 绪论 课程简介第1讲 绪论 第1讲 绪论 课程简介第1讲 绪论 8、协作图(Collaboration Diagram) 协作图在对一次交互中有意义的对象和对象间的 连接建模,它强调收发消息对象的组织结构,按 组织结构对控制流建模。除了显示消息的交互之 外,它还显示对象以及它们之间的关系。 第1讲 绪论 课程简介第1讲 绪论 第1讲 绪论 课程简介第1讲 绪论 第1讲 绪论 课程简介第1讲 绪论 9、状态图(Statechart Diagram) 状态图展示了一个特定对象的所有可能状态以及 由于各种事件的发生而引起的状态间的转移。一 个状态图描述了一个状态机,用状态图说明系统 的动态视图。 第1讲 绪论 课程简介第1讲 绪论 第1讲 绪论 课程简介第1讲 绪论 第1讲 绪论 课程简介第1讲 绪论 10、活动图(Activity Diagram) 活动图是状态图的一个变体,显示了系统中从一 个活动到另一个活动的流程。 第1讲 绪论 课程简介第1讲 绪论 第1讲 绪论 课程简介第1讲 绪论 1.4 Rational Rose简介 一、Rose与UML的关系 UML是完整的表示法,Rose是建模工具 Rose简化了UML 第1讲 绪论 课程简介第1讲 绪论 二、Rose在各个开发阶段的应用 开始阶段 v 业务模型(Business Use Case)建模 业务用例,业务参与者和业务工人。 v 用例模型( Use Case)建模 参与者,用例和关系。 第1讲 绪论 课程简介第1讲 绪论 细化阶段 v 细化用例 顺序图,协作图和状态图。 v 事件流程建模 参与者,用例和关系。 类图,交互图和状态机图。 v 静态结构和动态行为建模 构件图和关系。 v 系统结构建模 第1讲 绪论 课程简介第1讲 绪论 构造阶段 v 正向工程产生框架代码 构件图。 v 逆向工程更新模型 类图、交互图、状态机图和构件图 部署图。 v 创建部署图 构件图和部署图。 v 更新模型 交付阶段 第1讲 绪论 课程简介第1讲 绪论 第1讲 绪论 三、Rose 中的视图 Process View Deployment View Logical View Implementation View Programmers Software management Performance Scalability Throughput System Integrators System topology Delivery, installation communication System Engineering Use-Case View Structure Analysts/ Designers End-user Functionality 课程简介第1讲 绪论 四、 Rose安装与简单使用 Rose安装 Rose简单使用 v 设置UML的表示法 v 浏览器窗口 v 文档窗口 v 视图窗口 v窗口显示 v 设置选项 第1讲 绪论 课程简介第1讲 绪论 作业 q 自学教材第2章 q 安装Rational Rose软件 第1讲 绪论 q 分组并选题 每3人分一个小组,选出班长。题目选取与 我们学习或生活相关的问题,需要大家解决 。 课程简介第2讲 静态视图 q教学目的 掌握基本概念 类、关系、对象、包。 掌握UML中静态视图的组成 第2讲 静态视图 类图、对象图、包图。 使用Rose设计静态视图 课程简介 q教学重点 如何抽取系统中的类 掌握Rose设计静态视图的方法 q教学内容 第4章 静态视图 第2讲 静态视图 第2讲 静态视图 课程简介第2讲 静态视图 2.1 概述 q 静态视图(Static Diagram) 是UML的基础。它显示了系统的静态结构, 即存在事物的种类,内部结构和相互之间的 关系。 q 静态视图的组成 包括类图、对象图和包图。 第2讲 静态视图 课程简介第2讲 静态视图 2.2 类图 第2讲 静态视图 2.2.1 类图的概念和内容 q 类图(Class Diagram) 是描述类、接口、协作以及它们之间关系的图 ,用来显示系统中各个类的静态结构。 一个类图根据系统中的类以及各个类之间的关 系描述系统的静态视图。 课程简介第2讲 静态视图 q 类图的组成元素 类、接口、协作、依赖关系、泛化关系、实现 关系以及关联关系。 第2讲 静态视图 课程简介第2讲 静态视图 2.2.2 类图的用途 q 类图的作用 类图 用例图 交互图 活动图 状态图 包图 第2讲 静态视图 课程简介第2讲 静态视图 q 类图的用途 对系统的词汇建模 对简单协作建模 对逻辑数据库模式建模 第2讲 静态视图 课程简介第2讲 静态视图 q 对系统的词汇建模 就是从系统的文本性描述中识别名词和名词短 语,将其作为候选的类或类的属性。 小心:名词与类并不是一一对应,而且,有 的名词是类的属性。 这种方法是一切面向对象分析和设计的基础。 第2讲 静态视图 课程简介第2讲 静态视图 q 对简单协作建模 根据事物是协同工作的原则,进行建模。 识别要模拟的机制(用例) 一个机制描述了被建模的部分系统的一些 功能和行为,这些功能和行为是由类、接 口等元素交互作用产生的。 识别参与的类 对每种机制,识别参与协作的类、接口和 其他协作,并识别它们间的关系。 第2讲 静态视图 课程简介第2讲 静态视图 得出相应类的对象,并确定具体的属性和 操作。 查漏补缺,改正错误 通过协作的脚本,发现建模的模型是否有 被遗漏和有语义错误,并更正错误。 确定类的属性和操作 第2讲 静态视图 课程简介第2讲 静态视图 简单协作建模图 检索限定符(关 联的Key/Qualifier 设定) 第2讲 静态视图 课程简介第2讲 静态视图 q对数据库模式建模 数据库建模时,要遵循的策略包括以下几个方面 : 在系统中确定的类,它的状态必须超过其应 用系统生命周期。 确定类 创建类 创建包含这些类的类图,并把它们标记成 永久的(persistent)。 第2讲 静态视图 课程简介第2讲 静态视图 展开类的结构信息 详细的描述属性的细节,并注重关联和构造类 的基数。 观察系统中的公共模式 它们往往使物理数据库设计复杂化。如果有 必要,需要创建简化逻辑结构的中间抽象。 考虑类的行为 扩充那些对于数据存储和数据完整性很重要 的操作。 第2讲 静态视图 课程简介第2讲 静态视图 对数据库建模图 第2讲 静态视图 课程简介第2讲 静态视图 2.3 类与关系 2.3.1 类 类是任何面向对象系统中最重要的构造块。类是 一种重要的分类器,用来描述结构和行为特性的 机制。 类是对一组具有相同属性、操作、关系和语义 的对象的描述。 q 类的定义 第2讲 静态视图 课程简介第2讲 静态视图 q类的UML表示 分成3个分隔区的矩形: v顶端为类的名字 v中间存放类的属性、属性的类型和值, v第3个分隔区放操作、操作的参数表和 返回类型。 第2讲 静态视图 课程简介第2讲 静态视图 在给出类的UML表示时,可以根据建模的实 际情况来选择隐藏属性区或操作区,或者两 者都隐藏。 q 类的省略表示 q 类主要部分 名称(Name) 名称是每个类所必有的构成,用于和其他类 相区分。 名称的表示: 包名:类名 第2讲 静态视图 课程简介第2讲 静态视图 v路径名(path name):包名:类名。 v简单名(single name):类名 属性(Attribute) 是类的一个组成部分,描述了类所代表事 物的特性。 v属性的表示 可见性属性名:类型=初始值属性 字符串 v可见性 public(+)、private(-)、protected(#) 第2讲 静态视图 课程简介第2讲 静态视图 操作(Operation) 操作是对类的对象所能做的事务的抽象。 v操作的表示 可见性操作名(参数表):返回类型属 性字符串 职责(Responsibility) 职责是类或者其他元素的契约或义务。 是类的扩展,增加第4栏。 采用文本表示。 第2讲 静态视图 课程简介第2讲 静态视图 2.3.2 关系 关系(Relationship)是事物间的关系。 在抽象出类后,类不是独立存在的,而是彼此 间存在关系的。 常用的有4种关系。 依赖(Dependency) 泛化(Generalization) 关联(Association) 实现(Realization) 第2讲 静态视图 课程简介第2讲 静态视图 q依赖关系 依赖是两个(或两组)模型元素间的语义联系,依 赖双方某一个模型元素的变化必影响到另个模型 元素。也就是说:客户以某种方式依赖于提供者。 UML把依赖描述成一条有方向的虚线,指向 被依赖的对象。 UML表示 第2讲 静态视图 课程简介第2讲 静态视图 v抽象依赖 :声明不同模型中相同元素之间的关 系。一般是具体与抽象的关系。 :在同一个模型中的相同元素之间的 关系。一般是具体与抽象的关系。 :声明一个类可以从另一个类导处 。 第2讲 静态视图 1)抽象依赖2)使用依赖 3)授权依赖4)绑定依赖 依赖的基本类型 课程简介第2讲 静态视图 v使用依赖 :使用另一个模型的元素。 :操作间的依赖,声明调用其它类方法操 作的方法。 :操作和类之间的依赖。描述操作 和参数之间的关系。 :信号发送者和接收者之间的依赖。 :一个类的方法创建了另一个类的 实例声明。 第2讲 静态视图 课程简介第2讲 静态视图 :允许一个元素访问另一个元素,不管 被访问的元素是否可见。 v绑定依赖 :规定了客户用给定的实际参数实例化提 供者模板 第2讲 静态视图 v 授权依赖 :是包间的依赖,描述允许一个包访问 另一个包的内容。 :与相似,允许一个包访问 另一个包的内容并为被访问包的组成部分增加别 名。 课程简介第2讲 静态视图 q泛化关系 泛化是一般描述和具体描述之间的分类关系,具 体描述建立在一般描述的基础之上,并对其进行 了扩展。描述了“is a kind of”的关系。 从子类指向父类的空心三角形箭头表示 。 UML表示 示例 图书名和杂志名是题名的子类。 第2讲 静态视图 课程简介第2讲 静态视图 第2讲 静态视图 课程简介第2讲 静态视图 泛化的主要用途 v多态性的体现 第2讲 静态视图 课程简介第2讲 静态视图 共享祖先所定义成分的前提下,允许它自身定 义增加的描述,这被称作继承。 v继承的体现 单继承 多继承 第2讲 静态视图 课程简介第2讲 静态视图 q 关联关系 是一种结构关系,指明一个事物的对象与另一 个事物的对象之间的关系。对象间的关系也可 以表示为类间的关系。 关联用一条连接相同类或不同类的实线表示。 UML表示 关联的修饰 名称、角色、多重性和聚合。 第2讲 静态视图 课程简介第2讲 静态视图 v名称 描述关联的性质。关联名称应该是动词,表示 源对象正在对目标对象执行动作。 v角色 当类处在关联的一端时,类就在关联中扮演一 定的角色。使用名词表示,体现为职责。 第2讲 静态视图 课程简介第2讲 静态视图 v多重性 表明两个类之间存在的连接数量的关系。 表示:minimummaximum 修饰饰语义语义 010或1 11 0*0或更多 1*1或更多 *0或更多 1616 第2讲 静态视图 课程简介第2讲 静态视图 违反关联关系: 第2讲 静态视图 课程简介第2讲 静态视图 v聚合关系(Aggregation Relationship) 表示类间的关系是整体与部分之间的关系,是 一种特殊的关联关系。 第2讲 静态视图 课程简介第2讲 静态视图 v组合关系(Composition Relationship) 是一种更强的关联关系,描述“部分”对象依赖 于“整体”对象 ,它们具有一致的生命周期。 生命周期 一致。 各自有自己 的生命周期 第2讲 静态视图 课程简介第2讲 静态视图 v导航性(Navigation) 表示可以从源类的任何对象到目标类的一个 或多个对象的遍历。 v单向关联(Uni-directional Association) 用一条带箭头的实线表示。 v双向关联(Bi-directional Association) 用一条没有箭头的实线表示。 第2讲 静态视图 课程简介第2讲 静态视图 q实现关系 实现是规格说明和其实现间的关系。它表示不 继承结构而只继承行为。 在UML中,实现关系用一条带空心三角形箭 头的虚线来表示,箭头方向指向接口。 表示 省略表示 将接口表示为一个小圆圈并和实现它的 类用一条线相连。 第2讲 静态视图 课程简介第2讲 静态视图 2.4 对象图 在UML里使用对象图来描述参与一个交互的各对 象在交互过程中某一时刻的状态。 2.4.1 对象图的概念和内容 q 对象图(Object Diagram) 表示在某一时刻一组对象以及它们之间关系 的图。 第2讲 静态视图 课程简介第2讲 静态视图 q 对象图的组成 节点 连线 标注 约束 可以表示是对象,也可以是类。 表示对象间的关系。 第2讲 静态视图 课程简介第2讲 静态视图 2.4.2 对象图建模 对象图的建模过程: (1)确定参与交互的各对象的类,可以参照相应 的类图和交互图; (2)确定类间的关系,如依赖、泛化、关联和实现; (3)针对交互在某特定时刻各对象的状态,使用 对象图为这些对象建模; (4)建模时,系统分析师要根据建模的目标,绘 制对象的关键状态和关键对象之间的连接关系。 第2讲 静态视图 课程简介第2讲 静态视图 第2讲 静态视图 2.5 包图(Package Diagram) 由包和包之间的关系构成,它是维护和控制系统 总体结构的重要建模工具。 课程简介第2讲 静态视图 2.5.1 包的名字 模型包的名字是一个字符串,它可分为简单名( simple name)和路径名(path name)。 简单名是指包仅含一个简单的名称。 路径名是指以包位于的外围包的名字作为前缀的 包名。 第2讲 静态视图 课程简介第2讲 静态视图 第2讲 静态视图 课程简介第2讲 静态视图 2.5.2 包拥有的元素 包可以拥有UML中的其他元素,包括类、接口、 组件、节点、协作、用例和图,包甚至还可以包含 其他包。 包是对模型元素进行分组的机制,它把模型元素划 分成若干个子集。 第2讲 静态视图 课程简介第2讲 静态视图 第2讲 静态视图 课程简介第2讲 静态视图 2.5.3 包的可见性 包的可见性用来控制包外界的元素对包内元素 的可访问权限,这一点和类的可见性类似。 q公有访问(public) 包内的模型元素可以被任何引入此包的其他包 的内含元素访问。公有访问用前缀于内含元素 名字的加号(+)表示。 第2讲 静态视图 课程简介第2讲 静态视图 q保护访问(protected) 表示此元素能被该模型包在继承关系上后继模 式包的内含元素访问。保护访问用前缀于内含 元素名字的号()表示。 q私有访问(private) 表示此元素可以被属于用一包的内含元素访问 。私有访问用前缀于内含元素名字的减号( )表示。 第2讲 静态视图 课程简介第2讲 静态视图 2.5.4 引入与输出 在UML里,引入一个包中的元素可以单向的访问 另一个包中的元素。 q 引入(import)关系 用构造型的import来修饰。 q 输出(export) 包中具有公有访问权限的内含元素。 第2讲 静态视图 课程简介第2讲 静态视图 包Policies引入包 GUI,GUI包中的 protected的类在 Policies中是不可见 的 Client包引入了 Policies,但没有引入 GUI,引入没有传递 性 第2讲 静态视图 课程简介第2讲 静态视图 2.5.5 包中的泛化关系 包间也存在着泛化关系。包间的泛化关系也像 类那样遵循替代原则,特殊包可以应用到一般 包被使用的任何地方。 q 泛化关系 第2讲 静态视图 课程简介第2讲 静态视图 2.5.6 标准元素 q UML的扩充机制 系统(system) 可以使用标记值来增加包的新特性,用构造型来描述 包的新种类。 q UML定义了5种构造型来为其标准扩充 虚包(facade) 框架(framework) 桩(stub) 子系统(subsystem) 第2讲 静态视图 课程简介第2讲 静态视图 2.5.7 包图建模技术 当为较复杂的系统建模时,使用包是非常有效 的建模方法。包将建模元素按语义分组,从而 使得复杂的系统模型能够被构造、表达、理解 和管理。 q 建立包图的具体做法 分析系统模型元素(通常是对象类) ,把概念上或语义上相近的模型元素纳 入一个包。 第2讲 静态视图 课程简介第2讲 静态视图 确定包与包之间的泛化关系,确定包元素 的多重性与重载。 绘制包图。 包图精化。 确定包与包之间的依赖关系,特别是输 入依赖。 对于每一个包,标出其模型元素的可视性 (公共、保护或私用)。 第2讲 静态视图 课程简介第2讲 静态视图 2.6 实例图书馆管理系统中的静态视图 第2讲 静态视图 2.6.1 建立类图步骤 q研究分析问题领域,确定系统的需求; q发现对象和对象类,明确类的属性和操作; q发现类之间的静态关系,一般与特殊关系,部 分和整体关系,研究类之间的继承性和多重性; q设计类与关系; q绘制类图并编制相应的说明 课程简介 2.6.2 类的生成 第2讲 静态视图 以图书管理系统的读者与书籍信息、借阅信息和 预留信息等为例来说明对象图的建立过程。 q读者类的基本属性 名字 邮编 地址 城市 省份 借书 预留书籍 第2讲 静态视图 课程简介第2讲 静态视图 q书籍类的基本属性 书名 作者 序列号 类型 第2讲 静态视图 课程简介 2.6.3 用Rose绘制类图 第2讲 静态视图 在Rose开发环境中模型浏览器的【Logical View】文件夹(其实是包)图标上单击鼠标右 键,弹出快捷菜单。其中最常用的功能是【 Open Specification(打开属性说明)】和【 New(新建UML元素)】。 【Open Specification】菜单 可以打开当前选定对象的属性和说明,并对 其进行具体的修改和更新。 q新建类图 第2讲 静态视图 课程简介 可以新建包括Class(类)、Class Utility、 Use Case(用例)、Interface(接口)、 Package(包)、Class Diagram(类图)、 Use Case Diagram(用例图)、Collaboration Diagram(协作图)、Sequence Diagram(时 序图)、State Chart Diagram(状态图)和 Activity Diagram(活动图),这里选择Class Diagram(类图),如图所示。 第2讲 静态视图 【 New】 第2讲 静态视图 课程简介第2讲 静态视图 第2讲 静态视图 课程简介第2讲 静态视图 q 修改类图名称 修改类图的名称为Class Diagram。 第2讲 静态视图 课程简介 q打开类图 第2讲 静态视图 双击类图图标,打开类图。界面编辑区的编辑工 具栏将有所变化,如图所示。 第2讲 静态视图 课程简介第2讲 静态视图 Selection Tool(选择工具)、Text Box(文本 框)、Note(注解)、Archor Note to Item(注 解和元素的连线,是虚线)、Class(类)、 Interface(接口)、Unidirectional Association( 有方向的关联关系)、Association Class(关联 类)、Package(包)、Dependency or Instantiate(依赖关系或实例关系)、 Generalization(泛化关系)、Realize(实现关 系)、Use-Case Realization(用例实现)和 Association(无方向的关联关系)。 缺省编辑工具栏上的按钮 第2讲 静态视图 课程简介 定制工具栏 在编辑工具栏上单击右键,在弹出的快捷菜 单中选择【Customize】(自定义)菜单 项,如图所示。 第2讲 静态视图 第2讲 静态视图 课程简介第2讲 静态视图 单击工具栏上的类图标,单击设计框的空白处,在 设计框中加入一个类,同时修改相应的类名称为 BrowserInformation。 q类图中加入类 在生成的类上点击鼠标右键,弹出快捷菜单。选 择“New Attribute”,加入类的属性,单击“New Operation”,加入类的方法。双击属性或者操作 名,可以进行直接的修改。 q类中加入属性和方法 第2讲 静态视图 课程简介第2讲 静态视图 通过快捷菜单“Open Specification” ,打开对话 框进行类的规范设置。 Name(名称):类的名称 Type(类型):类的类型,包括ParamerizedClass 、InstantiatedClass、ClassUtility、Paramerized ClassUtility和InstantiatedClassUtility 6种类型。 Stereotype(模板类型):模板的类型共有11种。 Export Control(输出控制):包括Public、Private 、Protected和Implementation 4种。 Document(说明):描述类图的文档 q 类的规范 第2讲 静态视图 课程简介第2讲 静态视图 q 视频演示 新建类图 新建类 增加类的属性 增加类的操作 设置关联关系 设置依赖关系 设置泛化关系 设置聚合关系 设置导航性关系 图的显示设置 构造型的设置 第2讲 静态视图 课程简介第2讲 静态视图 q 案例分析 第2讲 静态视图 课程简介第2讲 静态视图 q 作业 完成下面两个任务: 一个文件系统的目录包含多个子目录和一些文 件。一个文件系统由根目录下面的一组文件组成 ,用户可以拥有自己的目录和文件,也可以读取 文件和建立自己的主目录。 绘制一张类图,对一个文件系统的某些方面 建模。为每个角色设置正确的多样性。 如果引入一个新的类“节点”,可以将这个文件 系统的规范设置成与Unix相似,“节点”是文件和 目录的超类。重新绘制类图。 第2讲 静态视图 课程简介内蒙古工业大学 软件体系结构与UML 第3讲 用例视图 实验课总结 q视图与元素关系 类图(class diagram),类、接口、类间的 关系是元素。 q类间的关系的分析 q书写规则 使用英文进行类名、属性、方法、关系的命名。 课程简介内蒙古工业大学 软件体系结构与UML 第3讲 用例视图 q教学目的 掌握基本概念 用例(Use case)和参与者(Actor)。 掌握UML中用例视图的组成 第3讲 用例视图 使用Rose设计用例视图 用例(use case)、用例间的关系、参与者(actor)和 参与者之间的关系。 课程简介 q教学重点 如何识别用例 掌握Rose设计用例视图的方法 q教学内容 第4章 用例视图 内蒙古工业大学 软件体系结构与UML 第3讲 用例视图 课程简介内蒙古工业大学 软件体系结构与UML 第3讲 用例视图 第4章 用例视图 q4.1 概述 q4.2 参与者(Actor) q4.3 用例(Use Case) q4.4 用例图建模技术 q4.5 实例图书馆管理系统中的用例视图 课程简介 4.1 概述 内蒙古工业大学 软件体系结构与UML 第3讲 用例视图 q用例图的重要性 用例图(Use Case Diagrams)是由软件需求到最 终实现的第一步,在UML中用例图用于对系统 、子系统或类的行为的可视化,以便使系统的 用户更容易理解这些元素的用途,也便利软件 开发人员最终实现这些元素。 从用户的角度描述对软件产品的需求,分析软 件产品所需的功能和动态行为。 课程简介内蒙古工业大学 软件体系结构与UML 第3讲 用例视图 UML中的用例图描述了一组用例、参与者以及它 们之间的关系,因此用例图包括以下3方面内容: 用例(Use Case); 参与者(Actor); 参与者之间的关系,泛化关系、包含关系、 扩展关系等 q用例图的组成 课程简介内蒙古工业大学 软件体系结构与UML 第3讲 用例视图 4.2 参与者(Actor) 参与者是系统外部的一个实体(可以是任何事 物或人),它以某种方式参与了用例的执行过程。参 与者通过向系统输入或请求系统输入某些事件来触发 系统的执行。参与者由他们参与用例时所担当的角色 来表示。 参与者的UML表示:人形图 q参与者(actor) 课程简介内蒙古工业大学 软件体系结构与UML 第3讲 用例视图 谁或什么使用该系统; 交互中,它们扮演什么角色; 谁安装系统; 谁启动和关闭系统; 谁维护系统; 与该系统交互的是什么系统; 谁从系统获取信息; 谁提供信息给系统; 有什么事发生在固定事件。 q寻找系统的参与者 课程简介内蒙古工业大学 软件体系结构与UML 第3讲 用例视图 q在建模参与者过程中,记住以下要点 参与者对于系统而言总是外部的,因此它们 在你的控制之外。 参与者直接同系统交互,这可以帮助定义系 统边界。 参与者表示人和事物与系统发生交互时所扮 演的角色,而不是特定的人或特定的事物。 一个人或事物在与系统发生交互时,可以同 时或不同时扮演多个角色。例如,某研究生担 任某教授的助教,从职业的角度看,他扮演了 两个角色学生和助教。 课程简介内蒙古工业大学 软件体系结构与UML 第3讲 用例视图 每一个参与者需要有一个具有业务一样的名 字,在建模中,不推荐使用诸如NewActor这 样的名字。 每个参与者必须有简短的描述,从业务角度 描述参与者是什么。 像类一样,参与者可以具有分栏,表示参与 者属性和它可接受的事件。一般情况下,这种 分栏使用的并不多,很少显示在用例图中。 q在建模参与者过程中,记住以下要点 课程简介内蒙古工业大学 软件体系结构与UML 第3讲 用例视图 4.3 用例(Use Case) q用例的概念 用例是对一个系统或一个应用的一种单一的 使用方式所作的描述,是关于单个活动者在 与系统对话中所执行的处理行为的陈述序列 。 用例是对系统的用户需求(主要是功能需求 ) 的描述,用例表达了系统的功能和提供的服 务。 “场景”的集合就是用例。 用例 课程简介内蒙古工业大学 软件体系结构与UML 第3讲 用例视图 用例的表示 每个用例都必须有一个惟一的名 字以区别于其他用例。 v用例名 描述参与者使用系统完成某个事件时 的事情发生顺序。 v描述文档 课程简介内蒙古工业大学 软件体系结构与UML 第3讲 用例视图 vUML图形表示 图形上用例用一个椭圆来表示,用例的 名字可以书写在椭圆的内部或下方。用 例的UML图标如图所示。 课程简介内蒙古工业大学 软件体系结构与UML 第3讲 用例视图 q识别用例 识别用例最好的办法就是从分析系统的参 与者开始,考虑每个参与者是怎样使用系 统。 如何识别用例 具体办法 v特定参与者希望系统提供什么功能; v系统是否存储和检索信息,如果是,这 个行为由哪个参与者触发; v当系统改变状态时,通知参与者吗; 课程简介内蒙古工业大学 软件体系结构与UML 第3讲 用例视图 v存在影响系统的外部事件吗; v是哪个参与者通知系统这些事件。 用例举例 某仓库为了节约人力,提高工作效率和 经济效益,适应现代物流的需要,将过去的 人工管理,通过建立信息系统,实现进存的 自动化管理。 v项目 课程简介内蒙古工业大学 软件体系结构与UML 第3讲 用例视图 v分析 参与人员:系统分析员、软件架构师、仓库 的使用的人员。 工作:与仓库的使用者座谈,确定系统的边 界, 确定参与者和用例。 v参与者(actor) 商品供应商 仓库办事员 仓库管理员 领料员 退料员 课程简介内蒙古工业大学 软件体系结构与UML 第3讲 用例视图 v确定用例 进货(供应商、办事员、管理员) 退货(供应商、办事员、管理员) 领料(办事员、领料员) 退料(办事员、退料员) 调拨(办事员、管理员) 盘点(管理员) 历史纪录查询(管理员) 库存查询(管理员) 业务分析(管理员) 课程简介内蒙古工业大学 软件体系结构与UML 第3讲 用例视图 仓库信息维护(管理员) 供应商信息维护(管理员) 用户注册(管理员) 用户登录(管理员、办事员) 用户注销(管理员、办事员) v确定用例(序) 课程简介内蒙古工业大学 软件体系结构与UML 第3讲 用例视图 课程简介内蒙古工业大学 软件体系结构与UML 第3讲 用例视图 q用例与事件流 是为用例的逻辑流程建立文档,这个文 档详细描述系统用户的工作和系统本身 的工作。独立于实现方法。 事件流的目的 事件流的构成 v简要说明 描述用例的作用。 v前提条件 列出开始用例之前必须满足的条件。 课程简介内蒙古工业大学 软件体系结构与UML 第3讲 用例视图 v后置条件 主事件流用来描述用例的正常流程,是用 例中最常用的途径;其它事件流描述用例 事件流的变形;错误流表示错误的条件。 v主事件流和其他事件流 用例结束后执行的动作。 课程简介内蒙古工业大学 软件体系结构与UML 第3讲 用例视图 “用户登录”事件流举例 v简要说明 对使用系统的用户,进行身份的确认。 v前提条件 无。 (1)

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论