版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、UML的静态建模技术简介,制作: 施珺,1. UML概述,UML(Unified Modeling Language,统一建模语言)是一种可以应用于任何软件开发过程的标记法和语义语言,主要是由Rational Software公司的三位巨匠Booch、Rumbaugh和Jacobson于1995年正式合作创建的。UML使用了9种模型图用来对面向对象的软件系统进行建模。,UML可分为两个主要构件结构图和行为图。结构图包括类图、对象图、组件图和部署图;行为图包括用例图、活动图、序列图、协作图和状态图。,2. UML建模工具推荐,1)Rational Software公司推出的第一个功能完备的UML
2、软件包:Rational Rose,它可以使代码反向转化为模型、改变模型以及可以对代码进行更新来反应模型的变化,具备完整的对象管理功能,通过类和图的存储库,在一个图中对一个类的修改可以轻松地使所有包含该类的图都得到相应的更新。 2)Microsoft公司推出的Visio,功能与Rational Rose类似。,3. UML的静态建模机制,任何建模语言都以静态建模机制为基础,标准建模语言UML也不例外。UML的静态建模机制包括: 用例图(Use case diagram) 类图(Class diagram) 对象图(Object diagram ) 包(Package) 组件图(Componen
3、t diagram) 部署图(Deployment diagram),3.1 用例图,3.1.1 用例图的概念 用例图是使用UML设计新系统的起点,说明谁要使用系统以及他们使用该系统可以做什么,描述的是外部执行者所理解的系统功能。 在UML中,一个用例模型由若干个用例图描述, 用例图的主要元素是用例和执行者。 用例图用于需求分析阶段,使用用例图可以对测试、普通流程和异常处理流程等功能进行建模。,3.1.2 用例图的标记符组件 用例图包括4个基本组件: 系统、参与者、用例、关系 系统:为用户执行某类功能的一个或多个软件构件。 参与者:用来表示使用系统的对象,即系统用户,可以是一个人或者另一个系统
4、。标记符号为:,参与者角色名,teacher,参与者的角色名应该用他们使用系统时的工作头衔,要避免起一个实际的人名。,用例: 是用户希望系统具备的动作,即系统功能。用一个里面带有名称的椭圆表示:,用例名称,record grades,用例名称可以是带有数字、字母和除保留符号(:冒号)以外的任何符号的任意字符串。要尽量使用主动语态动词和可以描述系统上执行的功能的名词。,关系:由一条连接参与者和用例的线来表示。,用例,参与者,如果多个参与者与用例之间有同一关系,可以泛化名称,以一个参与者取代重复的参与者,学生成绩管理系统,3.1.3 用例图示例,record grades,Create repor
5、t cards,view grades,distribute report cards,teacher,student,Printing administrator,3.1.4 泛化技术,泛化是一种用于表示UML中项目的继承的技术,泛化可以应用于参与者和用例来表示其子项从父项继承功能。,Cook Spaghetti,cooker,Cook Chinese,Cook Lasagna,Cook Pasta,Cook dinner,mother cooker,father cooker,3.1.5 包含和扩展关系,包含和扩展是在两个用例紧密相关时,关联用例的两种方法。当一个用例要一直用另一个用例时就
6、为包含关系,当一个用例可能使用另一个用例时就为扩展关系。 包含关系标记符和扩展关系标记符如下:,包含用例,被包含用例,include,扩展用例,被扩展用例,extand,record grades,Update grades,teacher,Notify guardians Extension points: Failing grade is saved,save grades,include,include,extand,用例图的包含与扩展关系示例,3.1.6 如何建立用例图模型,(1)找出系统中的参与者和用例 以“记录成绩”系统为例,业务需求如下: 系统可以供教师使用来为学生记录成绩 系统
7、需要根据需求创建报告卡 系统需要允许用户浏览记录的成绩 参与者: 教师、学生、管理员 用例有: 记录成绩 更新成绩 生成报告卡 检查报告卡的准确性 分发报告卡 浏览成绩,管理员,教师、学生、管理员,(2)区分用例的优先次序 1) 记录成绩 2) 浏览成绩 3) 更新成绩 4) 生成报告卡 5) 检查报告卡的准确性 6) 分发报告卡 (3)细化每个用例 登录 保存成绩 记录成绩 加载成绩 浏览成绩 更新成绩 生成报告卡 分发报告卡,(4)建立用例模型结构 教师可以记录成绩,记录成绩包含保存成绩 教师可以更新成绩,更新成绩包含加载、保存成绩 教师、管理员和学生可以浏览成绩,浏览成绩包含登录 管理员
8、可以生成报告卡 教师可以分发报告卡 (5)建立用户界面的原型,record grades,Update grades,teacher,save grades,include,include,logon,Create report cards,view grades,distribute report cards,student,administrator,load grades,include,include,3.2 类图、对象图和包,3.2.1 类图 类图(Class Diagram)是由组成系统或者子系统的构造块构成的静态图,描述类和类之间的静态关系,是面向对象方法的核心。 类图由类及其关
9、系组成,类包含特性和操作,类可以和其它类之间具有关系。 类图是定义其它图的基础,在类图的基础上,可以用状态图、合作图等进一步描述系统其他方面的特性。,3.2.2 类 类是类图的主要成分,类的两个主要组件是特性和操作。可以用4种不同方式的标记符来建模类:,同时显示特性和操作,只显示特性,只显示操作,不显示特性和操作,类中无特性和操作,3.2.3 关系,两个类之间可以通过一条线或者一个关联名称相关,名称后的箭头显示关联的方向。,teacher,student,class,teaches ,takes ,上面表示teacher教授一个class;一个student属于一个class。,多重性,用来表
10、示一个类的多少对象与另一个类的一个对象相关,多重性是一个数值或数值范围。,teacher,student,class,teaches ,takes ,上面表示一个teacher至少教授一个class,也可以教授无限多个class ;一个class只有一个教师;一个student属于4-6个class;一个class 有10-30名学生。,1,1.*,10.30,4.6,角色,在类图中使用角色可以帮助读者理解第一个类对于第二个类的作用。,teacher,class,上面表示一个class有一个teacher起导师的作用;一个class有0或一个teacher起助教的作用; 。,1,1.*,0.1
11、,1.*,instructor,assistant,3.2.4 对象图,对象是类的实例,对象具有一定的特性值。 对象标记符为:,对象名:类名,MathTeacher:Teacher,3.2.5 为特性提供信息,为特性提供信息包括指定数据类型、赋初始值(默认值)、提供多重性。 +号表示成员是可视的,可由外部相关类访问; - 表示成员是私有的,不能由外部的类访问; #表示受保护的,只对相同系统中的类是可视的。 不管在可视还是不可视时,特性和操作之间都没有区别。但是,特性在默认时通常是不可视的,而操作在默认时通常是可视的。,if ( NumberOfGrades=0) then GPA=Null e
12、lse GPA=Sum(Grades)/ (NumberOf(Grades)*25) ,+/ 派生的特性,3.2.6 包,包是一种把类分组为通用类目的方式,包在对象或者类的情况下都通过在类名前追加名和双冒号(: )的形式来表示。 标记符为:,对象 :包 :类,MathTeacher :Grading :Teacher,Teacher,OnlineUser,Administrator,uses, generates, displays,maintains ,contains,1,1.*,1.*,1,1,1.*,3.3 组件图和部署图,3.3.1 组件图(Component diagram) 组件
13、图显示系统实现时的源代码的静态结构,即软件构件之间的依赖关系。 软件构件就是一个实际文件,可以是源代码文件、二进制代码文件和可执行文件等。 组件图可以用来显示编译、链接或执行时构件之间的依赖关系 。组件图用左侧带两个小矩形的大矩形表示;组件之间的依赖关系用虚线箭头表示。,includes,DataAccess,includes,includes,UserInterface,extends,3.3.2 部署图(Deployment diagram),部署图描述系统实现时硬件的物理拓扑结构以及在此结构上执行的软件。 部署图可以显示计算结点(如一台Unix主机、一个PC终端、一台打印机、一个传感器等)的拓扑结构和通信路径、结点上运行的软件构件、软件构件包含的逻辑单元(对象、类)等,即运行时各个包或类在结点中的分布情况 。部署图常用于帮助理解分布
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025-2026学年江苏省灌云县西片重点名校中考模拟金典卷数学试题(十)试题含解析
- 2025-2026学年云南省昭通市昭阳区乐居镇中学初三5月中考模拟考试数学试题试卷含解析
- 2026年大学大一(经济学基础)经济应用综合测试试题及答案
- 护理人员培训需求分析
- 2025年前台防疫礼仪练习题
- 手术室人文护理的沟通障碍
- 寒颤护理的伦理考量
- 护理教学课件:护理程序与临床实践
- 压力拜拜!高中生快乐学习秘籍+课件-2025-2026学年高一下学期减轻学习压主题班会
- 2026年医疗废物台账管理试题及答案
- 2026年春节后复工复产“开工第一课”安全生产培训课件
- GB/T 6422-2009用能设备能量测试导则
- 人工智能的决策支持和智能决策支持系统课件
- 发展汉语初级读写2第一课-一学就会课件
- 红曲的发展与研究课件
- 中国个省级行政区轮廓图
- 微积分学课件:3-1微分中值定理
- 第二语言习得入门完整共7units课件
- 多媒体技术ppt课件(完整版)
- 碳中和承诺对化工意味着什么
- 2022年新教科版六年级下册科学知识点总结与归纳 (期末复习专用)
评论
0/150
提交评论