软件工程之统一建模语言UML

阅读: 评论:0

电池钢壳软件⼯程之统⼀建模语⾔UML
UML概述
UML的主要内容
1、作为⼀种建模语⾔,UML 的定义包括 UML 语义和 UML 表⽰法两个部分。
2、统⼀建模语⾔(UML)是⼀个通⽤的可视化建模语⾔,⽤于对软件进⾏描述、可视化处理、构造和建⽴软件系统制品的⽂档。它记录了对必须构造的系统的决定和理解,可⽤于对系统的理解、设计、浏览、配置、维护和信息控制。
3、UML 适⽤于各种软件开发⽅法、软件⽣命周期的各个阶段、各种应⽤领域以及各种开发⼯具,是⼀种总结了以往建模技术的经验并吸收当今优秀成果的标准建模⽅法。
4、UML 包括概念的语义、表⽰法和说明,提供了静态、动态、系统环境及组织结构的模型。它可被交互的可视化建模⼯具所⽀持,这些⼯具提供了代码⽣成器和报表⽣成器。
5、UML 标准并没有定义⼀种标准的开发过程,但它适⽤于迭代式的开发过程。它是为⽀持⼤部分现存的⾯向对象开发过程⽽设计的
6、UML 描述了⼀个系统的静态结构和动态⾏为。UML 将系统描述为⼀些离散的相互作⽤的对象并最终为外部⽤户提供⼀定的功能的模型结构。静态结构定义了系统中的重要对象的属性和操作以及这些对象之间的相互关系。动态⾏为定义了对象的时间特性和对象为完成⽬标⽽相互进⾏通信的机制。
7、UML还包括可将模型分解成包的结构成分,以便于软件⼩组将⼤的系统分解成易于处理的块结构,并理解和控制各个包之间的依赖关系,在复杂的开发环境中管理模型单元。它还包括⽤于显⽰系统实现和组织运⾏的成分。
8、UML不是⼀门程序设计语⾔,但可以使⽤代码⽣成器⼯具将 UML 模型转换为多种程序设计语⾔代码,或使⽤反向⽣成器⼯具将程序源代码转换为UML。
9、UML提供了两⼤类,共 9 种图形⽀持建模,其分类和各个图形的作⽤如下所⽰。
UML的主要特点
1. 统⼀的建模语⾔
UML 语⾔吸取⾯向对象及⼀些⾮⾯向对象⽅法的思想。它使⽤统⼀的元素及表⽰符号,为⽤户提供⽆⼆义性的设计模型交流⽅法。
2. ⽀持⾯向对象
UML ⽀持⾯向对象思想的主要概念,并提供了能够简洁明了地表⽰这些概念及其关系的图形元素。
3. ⽀持可视化建模
UML 是⼀种图形化语⾔,它⾃然地⽀持可视化建模。此外 UML 还⽀持扩展机制,⽤户可以通过它的⾃定义建模元素的各种属性。
4. 强⼤的表达能⼒
UML 在演进的过程中提出了⼀些新概念,如模板、进程、线程、并发和模式等。这些概念有效地⽀持了各种抽象领域和系统内核机制的建模。UML 强⼤的表达能⼒使它可以对各种类型的软件系统建模,甚⾄于商业领域的业务过程。
UML静态建模机制
光纤电话机任何建模语⾔都以静态建模机制为基础。UML 的静态建模机制包括⽤例图、类图、对象图、构件图和配置图等,使⽤它们建⽴系统的静态结构。
⽤例图
⽤例视图也称⽤例模型,⽤例模型描述的是外部执⾏者(actor)所理解的系统功能。⽤例模型⽤于需求分析阶段,它的建⽴是系统开发者和⽤户反复讨论的结果,表明了开发者和⽤户对需求规格达成的共识。在 UML中,⼀个⽤例模型由若⼲个⽤例图描述,⽤例图中显⽰执⾏者、⽤例和⽤例之间的关系。⽤例图包含系统、执⾏者和⽤例 3 种模型元素。
1.系统
金属表面镜面处理
系统是⽤例模型的⼀个组成部分,代表的是⼀部机器或⼀个业务活动,⽽不是真正实现的软件系统。系统的边界⽤来说明构建的⽤例模型的应⽤范围。
⼀般的做法是,先识别出系统的基本功能,然后以此为基础定义⼀个稳定的、精确定义的系统架构,以后再不断地扩充系统功能,逐步完善。
2.⽤例
⽤例代表的是⼀个完整的功能,⽤例是动作序列的集合,系统执⾏该动作序列来为执⾏者产⽣⼀个可观察的结果。动作是系统的⼀次执⾏。从本质上讲,⼀个⽤例是⽤户与计算机之间的⼀次典型交互作⽤。在 UML中,⽤例被定义成系统执⾏的⼀系列动作,动作执⾏的结果能被指定执⾏者察觉到。
在 UML 中,⽤例表⽰为⼀个椭圆。⽅框表⽰系统边界,⼩⼈状图案表⽰执⾏者。
⽤例和执⾏者之间也有连接关系,它们直接的关系属于关联(association),⼜称通信关联,这种关联表⽰哪种执⾏者能与该⽤例通信。关联关系是双向的多对多关系,⼀个执⾏者可以与多个⽤例通信,⼀个⽤例也可以与多个执⾏者通信。
概括地说,⽤例有以下特点:
(1)、⽤例总由执⾏者初始化。⽤例所代表的功能必须由执⾏者激活,⽽后才能执⾏。⼀般情况下执⾏者可能并没有意识到初始化了⼀个⽤例。换句话说,执⾏者需要系统完成的功能都是通过⽤例完成的,执⾏者⼀定会直接或间接地命令系统执⾏⽤例。
(2)、⽤例为执⾏者提供值。⽤例必须为执⾏者提供实在的值,虽然这个值并不总是重要的,但是能被执⾏者识别。
(3)、⽤例具有完全性。⽤例是⼀个完整的描述。⽤例可⼤可⼩,但它必须是对⼀个具体的⽤户⽬标实现的完整描述。
3. 执⾏者
执⾏者是指⽤户在系统中所扮演的⾓⾊,是与系统交互的⼈或事。其图形化的表⽰是⼀个⼩⼈状图案。
执⾏者是⼀个体概念,代表的是⼀类能使⽤某个功能的⼈或事,⽽不是指某个个体。
执⾏者可以分为主要执⾏者和次要执⾏者。主要执⾏者指的是执⾏系统主要功能的执⾏者,次要执⾏者指的是使⽤系统次要功能的执⾏者,次要功能是指完成维护系统的⼀般功能,如管理数据库、通信备份等。将执⾏者分级的⽬的是,保证把系统的所有功能表⽰出来。
类图和对象图
在⾯向对象建模技术中,我们使⽤同样的⽅法将客观世界的实体映射为对象,并归纳成⼀个个类。类(Class)、对象(Object)和它们之间的关联是⾯向对象技术中最基本的元素。对于⼀个想要描述的系统,其类模型和对象模型揭⽰了系统的结构。在 UML 中,类和对象模型分别由类图和对象图表⽰。类图技术是⾯向对象⽅法的核⼼。
1.类图
类图(class diagram)描述类和类之间的静态关系。与数据模型不同,它不仅显⽰了信息的结构,同时还描述了系统的⾏为。类图是定义其他图的基础。在类图的基础上,状态图、交互图等进⼀步描述了系统其他⽅⾯的特性。
(1)、类的获取和命名
类的命名应尽量⽤应⽤领域中的术语,应明确、⽆歧义,以利于开发⼈员与⽤户之间的相互理解和交流。类的获取是⼀个依赖于⼈的创造⼒的过程,必须与领域专家合作,对研究领域进⾏仔细的分析,抽象出领域中的概念,定义其含义及相互关系,分析出系统类,并⽤领域中的术语为类命名。⼀般⽽⾔,类的名字是名词。
(2)、类的属性
类的属性⽤以描述该类对象的共同特点,该项可省略。了解属性时应该考虑以下因素:
①.属性表⽰关于对象的信息,原则上来说,类的属性应能描述并区分每个特定的对象;
玻璃夹胶机②.只有系统感兴趣的特征才包含在类的属性中;
③.系统建模的⽬的也会影响到属性的选取。
(3)、类的操作(Operation)
操作是⼀个服务的实现,是对⼀个对象做什么事情的抽象。⼀个类可以有任意数⽬的
操作,也可以没有操作。
2.关联关系
(1)、关联
关联(association)表⽰两个类之间存在某种语义上的联系。关联可以有⽅向,表⽰该关联单⽅向被使
⽤。关联上加上箭头表⽰⽅向,在 UML 中称为导航(navigability)。我们将只在⼀个⽅向上存在导航表⽰的关联,称作单向关联。
UML 规定,不带箭头的关联可以意味着未知、未确定或者该关联是双向关联三种选择,因此,在图中应明确使⽤其中的⼀种选择。关联关系⼀般都是双向的,即关联的对象双⽅彼此都能与对⽅通信。根据不同的含义,关联可以分为普通关联、递归关联、限定关联、或关联、有序关联、三元关联和聚合 7 种。
(2)、关联的⾓⾊
关联两头的类以某种⾓⾊参与关联。如果在关联上没有标出⾓⾊名,则隐含地⽤类的名称作为⾓⾊名。⾓⾊还具有多重
性(Multiplicity),表⽰可以有多少个对象参与该关联。
(3)、关联类
在有些问题中,关联关系不仅需要⼀个名称、需要定义相关对象的⾓⾊及其参与这些⾓⾊的对象数量,⽽且还需要设置⼀些属性、操作以及其他特征。关联可能要记录⼀些信息,因此引⼊⼀个关联类来记录,也就是说,与⼀个关联关系相连的类称作关联类。关联类并不位于表⽰关联关系的直线两端,
⽽是对应⼀个实际的关联,⽤关联类表⽰该实际关联的⼀些附加信息。关联类通过⼀根虚线与关联连接。
(4)、整体/部分关联
UML 对于整体/部分关联有特殊的表⽰法:组成和聚集。
组成(composition)关联表⽰整体拥有各部分,部分与整体共存,如整体不存在了,部分也会随之消失。“整体”称作组成对
亚太牌自动粉墙机象,“部分”称作成分对象。
聚集(Aggregation)是⼀种特殊形式的关联。聚集也表⽰类之间的整体/部分关联,但主要强调组/成员的关联。整体被称作聚集对象,部分称作构成对象。
①.构成对象不存在,聚集对象还可以存在。
②. 在任何时候,每个对象都可以是多个聚集的构成。
③. 聚集往往是同构的,也就是,典型的聚集的构成对象将属于同⼀个类。
ccyv2
3.泛化关系
⼀个类(⼀般元素)的所有特征(属性或操作)能被另⼀个类(特殊元素)继承。也称泛化。泛化定义了⼀般元素和特殊元素之间的关系。在UML 中,泛化表⽰为⼀头为空⼼三⾓形的连线。UML 对定义泛化关系有下述有三个要求:
(1)、特殊元素应与⼀般元素完全⼀致,⼀般元素所具有的关联、属性和操作,特殊元素也都隐含性地具有。
(2)、特殊元素还应包含额外信息。
(3)、允许使⽤⼀般元素实例的地⽅,也应能使⽤特殊元素。
4.对象图
UML 中对象图与类图具有相同的表⽰形式。对象图可以看作是类图的⼀个实例。对象是类的实例,对象之间的链(link)是类之间的关联的实例。对象的图⽰⽅法与类的图⽰⽅法⼏乎⼀样,主要差别在于对象的名字下⾯要加下画线。链的图形表⽰与关联相似。对象图常⽤于表⽰复杂的类图的⼀个实例。
对象名有下列三种表⽰格式:(1)对象名:类名。(2):类名。(3)对象名。
在 UML 中将各种各样的模型元素通过内在的语义关系连在⼀起,形成⼀个⾼内聚、低耦合的整体就叫包(package)。包中所有的元素都是包的内容。通常可以把系统划分为不同的主题层或⼦系统,属于同⼀个主题层的元素放在⼀个包中,主题层之间的依赖关系表现为包的依赖关系。
如下图所⽰是⼀个典型的⾯向对象的应⽤系统。将其划分为3个主题。界⾯层、应⽤逻辑层和对象持久层。
1、界⾯层包中放置窗体或者表单类,
2、应⽤逻辑层包中放置系统业务对象类,
3、对象持久化层包中放置负责对象的具体化和⾮具体化的类。
包之间的依赖关系⽤带箭头的虚线表⽰。
构件图
构件图(component diagram)显⽰了软件构件及它们之间的依赖关系。利⽤构件图可以对系统静态实现视图进⾏建模,这将包括对存在于每⼀个节点上的物理事物的建模,如可执⾏体、库、表、⽂件及⽂档等。构件图实质上是针对系统构件的类图。
构件图通常包括构件、接⼝和依赖、泛化等关系,也可以包括包或⼦系统。
构件是系统中遵从⼀组接⼝且提供其实现的物理的、可替代的部分。构件的图形表⽰法是把构件画成带有两个标签的矩形,构件在许多⽅⾯和类相同:⼆者都有名字,都可以实现⼀组接⼝,都可以参与依赖、泛化和关联关系;都可以有实例;都可以参与交互。但是构件和类之间也有⼀些显著的差别。
1、类表⽰逻辑抽象,⽽构件表⽰存在于计算机世界中的物理抽象。构件可以存在于节点之上,⽽类不可以。
2、构件表⽰的是物理模块,与类处于不同的抽象级别。
3、类可以直接拥有属性和操作;⼀般情况下,构件只能通过其接⼝访问的操作。构件图⽤于对系统的静态实现视图建模。这种视图主要⽀持系统部件的配置管理,它是由可以⽤各种⽅式进⾏组装以产⽣可执⾏系统的构件组成。
在对系统静态实现视图建模时,通常按下列 4 种⽅式之⼀使⽤构件图。
1、对源代码建模
采⽤当前⼤多数⾯向对象程序设计语⾔,使⽤集成化开发环境来分割代码,并将源代码存储到⽂件中。可以使⽤构件图为这些⽂件的配置管理建模。这些⽂件代表了产品的构件。
2、对可执⾏体的发布建模
软件的发布是交付给内部或外部⽤户的相对完整⽽且⼀致的产品系列。在构件语境中,⼀个发布注重交付⼀个运⾏系统所必需的部分。当⽤构件图发布建模时,其实是对构成软件的物理部分所作的决策进⾏可视化、详细化和⽂档化。
3、对物理数据库建模
可以把物理数据库看作模式在计算机世界中的具体实现。实际上模式提供了对永久信息的应⽤程序编程接⼝;物理数据库模型表⽰了这些信息在关系数据库的表中或者在⾯向对象数据库的页中的存储。可⽤构件图表⽰这些以及其他种类的数据库。
4、对可调整的系统建模
某些系统是相对静⽌的;其组件进⼊现场,参与执⾏,然后离开。另⼀些系统则是较为动态的,其中包括⼀些活动代理者为了负载均衡和故障恢复⽽进⾏迁移的组件。
配置图
配置图⽤于整个系统的物理配置建模,如系统在⽹络上的布局、构件在⽹络上的位置、⽹络性能和并发⽤户数⽬等情况,⼀个系统只有⼀个配置图。
在 UML 中,配置图包含 3 个元素:处理器(processor)、设备和连接。
①.处理器指的是具有计算机功能的硬件,在处理器中可以运⾏各种程序或进程,如⼯作站或各种服务器。
②.设备指的是不具备计算能⼒的硬件,如 Modem、打印机或各种终端。
③.连接指的是处理器之间、设备之间或处理器之间的物理上的实际连接。
如下图所⽰为⼀个典型的基于 3 层架构的财务系统的物理配置图。从图中可以看出,系统主要由数据库服务器、应⽤服务器和各应⽤客户端组成。它们之间⽤⽹线连接,系统配置在⼩型局域⽹上。应⽤服务器在系统中除了在数据库服务器和客户端之间起到承上启下的作⽤外,还提供打印服务。

本文发布于:2023-05-14 18:47:07,感谢您对本站的认可!

本文链接:https://patent.en369.cn/patent/2/99308.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:系统   关联   对象   建模   构件   关系   模型   部分
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2022 Comsenz Inc.Powered by © 369专利查询检索平台 豫ICP备2021025688号-20 网站地图