第十一篇对象约束语言(UML)

合集下载

UML选择、填空

UML选择、填空

一、填空题1、软件对象可以这样定义:所谓的软件对象,是一种将状态和行为有机结合起来形成的软件构造模型,它可以用来描述现实世界中的一个对象。

2、类是具有相同属性和操作的一组对象的组合,即抽象模型中的“类”描述了一组相似对象的共同特征,为属于该类的全部对象提供了统一的抽象描述。

3、面向对象程序的基本特征是抽象、封装、继承和多态。

4、在UML中主要包括的视图为静态视图、用例视图、交互视图、状态机视图、活动视图、物理视图和模型管理视图。

5、UML图包括:用例图、类图、状态图、序列图、活动图、构件图和部署图。

6、用例图描述了系统的参与者与系统进行交互的功能,是参与者所能观察和使用到的系统功能的模型图。

一个用例是系统的一个功能单元,是参与者与系统之间进行的一次交互作用。

7、状态机视图是通过对象的各种状态建立模型来描述对象随时间变化的动态行为,并且它是以独立的对象为中心进行描述的。

8、用例图的主要目的是帮助开发团队以一种可视化的方式理解系统的功能需求,包括基于基本流程的“角色”关系,以及系统内用例之间的关系。

9、在UML中定义了4种基本的面向对象的事物,分别是结构事物、行为事物、分组事物和注释事物等。

10、使用Rational Rose建立的Rose模型中包括4种视图,分别是用例视图、逻辑视图、构件视图和部署视图。

11、在用例视图中包括了系统中的所有参与者、用例和用例图,必要时还可以在用例视图中添加顺序图、协作图、活动图和类图等。

12、逻辑视图关注系统如何实现用例中所描述的功能,主要是对系统功能性需求提供支持,即系统应该提供的功能。

13、构件视图用来描述系统中的各个实现模块以及它们之间的依赖关系,包含模型代码库、执行文件、运行库和其他构件等信息。

14、部署视图显示的是系统的实际部署情况,它是为了便于理解系统如何在一组处理节点上的物理分布,而在分析和设计中使用的构架视图。

15、Rational统一过程以一种能够被大多数项目和开发组织适应的形式建立起来,其所包含的6项最佳实践为:迭代式软件开发、需求管理、基于构件的架构应用、建立可视化的软件模型、软件质量验证、软件变更控制。

uml试题解答

uml试题解答

1、软件工程的生命周期:需求分析阶段;系统分析与设计阶段;系统实现阶段;测试阶段;维护阶段。

2、建模的目标是:(1)便于开发人员展现系统;(2)允许开发人员制定系统的结构或行为;(3)提供指导开发人员构造系统的模板;(4)记录开发人员的决策。

建模的实质是:对现实的简化;通过将问题分割成一系列可以解决的、较小的问题来解决复杂问题。

3、建模的四原则是:(1)认真选择模型;(2)每个模型可以有多种表达方式;(3)最好的模型总是能够切合实际;(4)孤立的模型是不完整的。

4、面向对象=对象+类+继承+通信。

继承是指子类可以自动拥有父类的全部属性与操作;使得父类和子类之间能够共享数据和方法。

继承简化了对现实世界的描述,定义子类时不必重复定义那些在父类中已经定义过的属性与操作。

而只需专注于自己特有的属性与操作。

有了继承机制,软件的可复用性得到提高。

多态是指同一操作作用于不同的对象,可以有不同的解释,产生不同的执行结果。

通常通过派生类重载基类中的同名函数来实现。

分为:编译时的多态性和运行时的多态性。

5、面向对象的程序设计语言有:基于Smalltalk的语言;基于C的语言;基于LISP的语言;基于Pascal的语言。

6、面向对象分析的基本原则:抽象原则;分类原则;聚合原则;关联原则;消息通信原则。

7、面象对象分析的层次共有:主题层;类与对象层;结构层;属性层;服务层。

在设计期间主要扩充4个组成部分:人机交互子系统部分、问题域子系统部分、任务管理子系统部分、数据管理子系统部分。

8、Rstional Rose的主界面由标题栏、菜单栏、工具栏、工作区和状态栏组成。

默认的工作区由左侧的浏览器和文档区,右侧的编辑区和下方的日志记录组成。

9、Rational Rose中有4个视图:(1)用例视图:只关注系统功能的高层形状,不关注系统的具体实现方法;(2)逻辑视图:关注系统如何实现用例中提出的功能,提供系统的详细图形,描述组件之间如何关联。

UML实验报告

UML实验报告

模型是对现实的抽象或模拟,是对现实系统的本质特征的一种简化、直观、类比和抽象的描述。

特征:反映性、简化性、直观性、抽象性模型的类型1). 从学科分:思维模型、社会模型、工程模型、建筑模型、软件模型2). 从形物化角度分:逻辑模型、实体模型3). 从抽象程度分:概念模型、逻辑模型、物理模型。

建模:建立模型的过程被称为建模。

建模的必要性:软件是人智力劳动的产物,具有极高的智能特性。

软件没有物理实体的物理形态,而是智能、逻辑和算法的描述。

软件具有高度抽象性。

软件开发是高度复杂性工作,软件的规模越来越大,功能越来越复杂,服务领域越来越广泛。

综上:软件的开发和生产必须借助于模型,来反映和描述软件中间的开发过程和开发状态。

软件模型通过一定的形式和方法用来描述软件的模型。

软件建模:建立软件模型的过程被称为软件建模。

软件模型的内容:业务模型、需求模型、逻辑模型、设计模型、实现模型、测试模型。

面向对象建模在软件开发中,采用与人的思维过程相一致的,直接面向客观事物,面向所要解决的需求问题,并用一套对象、类、继承、消息等机制开发软件的系统性软件建模方法。

特点:对象是软件建模的重心;包括需求、设计、实现等多种模型;属一类建模方法,而非一种方法。

对象是系统中用来描述客观事物的一个实体,它是构成系统的一个基本单位。

对象既可以描述客观存在的事物,也可以表示由人主观构造的抽象观念。

类用来描述具有相同性质的一组对象。

关联:对具有共同结构特征、关系和语义的链接描述。

聚合:聚合表示有多个部分聚集成为整体,表示部分构成整体的一种松散的关系。

组合泛化依赖:表示两个模型元素之间的语义联系,指一个模型元素发生变化,必然影响到另外一个模型元素。

封装是把某些可以独立存在的内容封裹起来,构成一个整体,并把内部细节隐藏起来,仅向外部提供可以提供的外在描述。

对象的封装是把对象的属性和操作结合成一个独立的系统单位,并隐藏对象的内部细节,向外部提供对象的接口。

UML课后习题答案

UML课后习题答案
输入支付信息将商品放入购物车结账预订商品
用户登录邮寄商品查看商品详情
输入支付信息:太小
邮件商品:系统功能之外
查看商品详情:太小
6.为了满足物业中介行业的信息化要求,甲公司基于详尽的需求调研与分析,准备研发一套符合市场需要的、实用的信息管理系统。主要将实现客户资料信息管理、客户委托(出租、出售、租赁、购买)信息管理、业务线索生成与管理、房源状态自动更新、权限管理、到期用户管理、房源组合查询等功能。该公司小王,通过多次的与潜在客户的交流与沟通,完成了最初的用例模型的开发,图6-14是一个用例模型的局部:
扩展关系,是关系构造块。
5.可以包含其它事物构造块的构造块是什么?它属于什么类型的事物构造块?
可以包含其它事物构造块的构造块是包,它属于分组事物构造块。
6.在UML中定义了哪几种可见性规则?其中package的含义是什么?
定义了public、private、protected、package,package是指只有声明在同一个包中的元素才能够看到该元素。
2)修改方法:将“打开房源信息页面”、“录入房源信息”、“确认提交信息”合并为“新增房源信息”。
(2)在上图中构造型“《include》”表示的是什么意思,它与“《extend》”之间的区别是什么?
在用例模型中,构造型“《include》”是用来表示包含关系。它通常用来表示被包含用例是被多包含用例使用的一个可复用模块,而《extend》且通常用来表示对用例的扩展。
用户故事:由客户参与编写,说明他们需要系统为他们做什么,一般用客户的术语编写,其长度约为三句话左右
特性:就是一个小的,具有客户价值的功能
2.在用例图中参与者是什么,它属于系统范围之内吗?
参与者是为了完成一个事件而与系统交互的实体,它不属于系统范围之内。

第11章UML扩展机制

第11章UML扩展机制
是OCL中所有集合的抽象的上级类型
(2) Set
是不包括重复元素的对象组,Set中的元素是
无序的。
(3) Bag
可以包含重复元素的对象组
(4) Sequence
可以包含重复元素,且Sequence中的元素是
有序的。
5 OCL中的关键字
与程序设计语言一样,OCL也定义了一些 关键字。 OCL中的关键字见表11.4。
对象约束语言简称OCL(Object Constraint Language),它是一种用于施加在指定的模型 元素上约束的语言。 OCL表达式以附加在模型元素上的条件和限制来 表现对该对象的约束,其中包括附加在模型元素 上的不变量或约束的表达式、附加在操作和方法 上的前置条件和后置条件等。 约束表示建模元素上的附加语义信息。在大多数 情况下,它们的内容不直接影响代码生成。
OCL的特点
① OCL是一种精确的、无二义性的语言,易于使 用和掌握。 ② OCL是一种规范说明性语言,所有有关实现的 问题都不能用OCL来表达。 ③ OCL是一种纯表达式语言,它是具有没有任何 副作用的声明性语言。对OCL表达式的计算将 返回一个值,计算不会改变系统的状态。 ④ OCL是一种类型化语言,即OCL中的每个表达 式都是具有类型的。 ⑤ OCL不是一种程序设计语言,不能用OCL编写 程序逻辑和控制流程。
1. OCL表达式的语法
① ② ③ ④ OCL表达式的语法用扩展的巴斯科范式 (EBNF)定义,在EBNF中: “|”表示选择 “?”表示可选项 “*”表示零次或多次 “+”表示一次或多次
1. OCL表达式的语法
OCL基本表达式的语法用EBNF定义如下:
PrimaryExpression:=literalCollection | literal | pathName time Expression ? FeatureCallparameters? | “(“ expression ”)” | ifExpression Literal:=<string> | <number> | “#” <name> timeExpression:=”@”<name> featrueCallParameters:=”(”(declarator)?(actualParameterList)?”)” ifExpression :=”if” expression “then” expression “else” expression “endif”

UML语言的建模-宿舍管理

UML语言的建模-宿舍管理

UML语言的建模1.UML语言概述1.1面向对象面向对象是一种认识客观世界的世界观,这种世界观将客观世界看成是有许多不同种类的对象构成的,每个对象有自己的内部状态和运动规律,不同对象之间的相互联系、相互作用就构成了完整的客观世界。

面向对象是从结构组织的角度去模拟客观世界的一种方法,这种方法的基本着眼点是构成客观世界的那些成分----对象。

对象是现实世界中个体或事物的抽象表示,是其属性和相关操作的封装。

属性表示对象的性质,属性值规定了对象所有可能的状态。

对象的操作是指该对象可以展现的外部服务。

类是某些对象的共同特性的表示,它描述了这些对象内部是如何构造的。

相同类的对象在它们的操作和它们的信息结构两个方面都有相同的定义。

在面向对象系统中,每个对象都属于一个类。

面向对象技术具有以下的基本特征:抽象性、封装性、继承性、多态性。

面向对象程序设计语言也多种多样:20世纪60年代,出现了最早的面向对象程序设计语言Simula67语言,具有了类和对象的概念,被公认为是面向对象语言的鼻祖。

随后又推出了纯面向对象程序设计语言,如美国Xerox Palo Alto研究中心推出的Smalltalk,它完整地体现并进一步丰富了面向对象的概念。

进而出现了混合型面向对象程序设计语言,如 C++,这类语言一般是在其他语言的基础上开发出来的。

还有与人工智能语言结合形成的面向对象程序设计语言,如LOOPS、Flavors和CLOS。

以及适合网络应用的面向对象程序设计语言,如 Java语言等。

1.2 UML语言UML (Unified Modeling Language)又称统一建模语言或标准建模语言,是一种面向对象的建模语言,它是运用统一的、标准化的标记和定义实现对软件系统进行面向对象的描述和建模。

UML是OOA和OOD的常用工具。

使用UML来构建软件的面向对象的软件工程的过程,就是一个对系统进行不断精化的建模的过程。

这些模型包括用例模型、分析模型、设计模型,然后,我们需要使用具体的计算机语言来建立系统的实现模型。

(完整word版)UML基础与Rose建模复习资料

(完整word版)UML基础与Rose建模复习资料

UML 基础与 Rose 建模复习资料1-4 章一、主要内容1、对象与类的定义对象:是面向对象系统的基本构造块,是一些相关的变量和方法的软件集。

(对象经常用于建立对现实世界中的一些基本构造块)注:客观世界里的任何实体都可以被称为对象。

对象可以是具体的、有形的物,也可以是无形的事物或概念。

对象是问题域或实现域中某些事物的一个抽象。

对象是一个封装数据属性和操作行为的实体。

类:是具有相同属性和操作的一组对象的组合。

也就是说,抽象模型中的“类”描述了一组相似对象的共同特征,为属于该类的全部对象提供了统一的抽象描述。

2、面向对象的基本特征:1)抽象:抽象忽略了事件中与当前目标无关的非本质特征,强调与当前事物相关的特征,并将事物正确的归类,得出事物的抽象模型,并且为对象的重用提供了保障2)封装:就是把对象的状态和行为绑到一起的机制,使对象形成一个独立的整体,并且尽可能地隐藏对象的内部细节。

3)继承:是指特殊类的对象拥有其一般类的属性和行为。

4)多态性:同一操作作用于不同的对象,可以有不同的解释,产生不同的执行结果。

3、 UML 包含的视图以及这些视图都对应的图UML 中主要视图有:静态视图、用例视图、交互视图、状态机视图、活动视图、物理视图、模型管理视图对应的图如下图所示4、 UML 包含的图以及图的作用在下面的各章节中都分别有总结,这里就不总结5、 UML 中模型元素的主要关系UML 中主要包含 4 种关系:依赖、关联、泛化、实现依赖:指的是两个事物之间的语义,当其中一个事物(独立的事物)发生变化就会影响另外一个事物(依赖事物)的语义。

关联:是一种事物之间的结构关系,用它来描述一组链,链是对象之间的连接。

泛化:事物之间的一种特殊 / 一般关系,特殊原子(子元素)的对象,也就是我们在面向对象学中常常提起的继承。

实现:实现关系也是 UML 元素之间的一种语义关系,它描述了一组操作的规约和一组对操作的具体实现之间的语义关系。

需求工程(习题集)

需求工程(习题集)

需求工程习题集一、选择题1、需求获取的成果(A)。

A、获取笔录、录音或摄像B、客户C、需求规格说明文档D、设计说明书2、项目前景与范围文档中,项目前景不应包括什么信息(B)。

A、前景概述B、详细的功能需求C、主要特性D、假设与依赖3、下列不属于需求开发的活动的是(B)。

A、需求获取B、需求管理C、需求验证D、需求分析4、面谈的类别不包括(C)。

A、结构化面谈B、半结构化面谈C、封闭式面谈D、非结构化面谈5、采用观察方法进行需求获取的原因(C)。

A、用户多B、客户变化D、事件的情景性D、存在默认知识6、确定需求优先级的常用的方法(A)。

A、累计投票B、协商C、需求细化D、需求建模7、需求评审是(B)中常用的一种方法。

A、需求获取B、需求验证C、需求分析D、需求管理8、需求跟踪是(D)中的一个活动。

A、需求获取B、需求验证C、需求分析D、需求管理9、针对客户需求文档进行文档审查的时候,采用的方法是(C)。

A、需求重用B、文档分析C、需求剥离D、民族志10、下列不是过程建模中使用的技术是(C)。

A、上下文图B、数据流图C、E-R图D、微规格说明11、针对相关产品的需求规格说明进行文档审查的时候,采用的方法是(C)。

A、需求剥离B、文档分析C、需求重用D、民族志12、下列不是用例模型的基本元素的是(A)。

A、用例B、参与者C、实体D、系统边界13、下列不属于需求验证的方法的是(B)。

A、需求评审B、需求分析C、利用跟踪关系D、开发测试用例15、需求分析的最终结果产生的是(C)。

A、项目开发计划B、可行性分析报告C、需求规格说明书D、设计说明书16、最常见的IEEE1998将需求分成5种类别,下列哪个不是5种类别的是(D)。

A、功能需求B、性能需求C、质量属性D、需求获取17、下列不属于面向对象建模中所使用的技术是(C)。

A、用例模型B、行为模型C、数据模型D、对象模型18、下列不属于获取信息的内容的是(D)。

UML基础与Rose建模实用教程(第三版)

UML基础与Rose建模实用教程(第三版)

第11 章包图
1 1 .5 本章小结
习题十 一
习题十一
1. 填空题 2. 选择题 3. 简答题 4. 练习题
第12 章构件图与部署图
1 2 .1 构件图与部署 图的基本概念
1 2 .2 使用R o s e 创建 构件图与部署图
1 2 .3 本章小结
习题十 二
12.1构件图与部署图的基本概念
1. 构件 2. 构件图的基本概念 3. 部署图的基本概念
1.填空题
2. 选择题 3. 简答题 4. 练习题
第9 章状态图
9 .1 状态图的
1
基本概念
2
9 .2 状态图的 组成
3
9 .3 组成状态
4 9 .4 使用R o s e
创建状态图
5 9 .5 使用R o s e
创建状态图示 例
第9 章状态图
9 .6 本章小结
习题 九
9.1状态图的基本概念
1. 状态图的定义 2. 状态图的作用
7.5使用Rose创建序列图示例
1. 确定工作流程 2. 确定对象 3. 确定消息和条件 4. 绘制序列图总图
习 4. 练习题
第8 章协作图
8.2协作图的组成
8.1协作图的基本 概念
8.3使用Rose创建 协作图
第8 章协作图
8.5本章小结
8.4使用Rose创建 协作图示例
习题八
8.1协作图的基本概念
1. 协作图的定义 2. 协作图的作用
8.2协作图的组成
1. 对象 2. 消息 3. 链
8.3使用Rose创建协作图
1. 创建对象 2. 创建消息 3. 创建链
8.4使用Rose创建协作图示例

第十一章 对象约束语言(UML)

第十一章 对象约束语言(UML)

WUHAN UNIVERSITY OF SCIENCE AND ENGINEERING
面 向 对 象 技 术
11.2.2 集合类型
► 除了基本类型以外,OCL还定义了一些较为
教 程
第 十 一 章
对 象 约 束 语 言
UML
高级的标准OCL类型称为集合类型。 ► 集合是成组的对象或元素,可以用来作为表 达式计算过程中的结果。 ► 集合类型除了抽象数据类型Collection(群集) 以外,还有Set(集合)、Bag(袋)和 Sequence(序列)等。
9
WUHAN UNIVERSITY OF SCIENCE AND ENGINEERING
面 向 对 象 技 术
11.2.4 集合类型
► 1.
教 程
第 十 一 章
Collection (群集) ► 2. Set(集合) ► 3. Bag(袋) ► 4. Sequence(序列)
对 象 约 束 语 言
UML
UML标准的一部分。 ► OCL语言虽然是一种形式化语言,但是它既 具有形式化语言无二义性的特点,又消除了 形式化语言的复杂性。
4
WUHAN UNIVERSITY OF SCIENCE AND ENGINEERING
面 向 对 象 技 术
Hale Waihona Puke OCL的特点① ②
教 程

第 十 一 章
④ ⑤
对 象 约 束 语 言
面 向 对 象 技 术
11.2.1 基本类型
► OCL定义了很多基本类型,它的基本类型和
教 程
第 十 一 章
对 象 约 束 语 言
8
UML
程序设计语言中的数据类型的含义类似。 ► OCL还在基本类型上定义了一些操作,这些 操作也与程序设计语言中的操作类似。 ► OCL的基本类型与操作见表11.1、11.2。

系统设计与分析教程uml习题答案

系统设计与分析教程uml习题答案

系统设计与分析教程uml习题答案UML概述1. 请指出UML的三个主要的特性。

1)UML是⼀种语⾔2)UML是⽤来建模的3)UML是统⼀的标准2. 请指出三种以上现实⽣活中的常⽤模型,并说明它们分别在各⾃的领域中发挥了什么样的作⽤。

1)电路图:电⼦产品设计、⽣产、维修2)园区沙盘:直观、⽴体化地展⽰园区的景观、布局3)地图:导航、指路等3. 请简要说明建模的意义和建模的原则。

建议能够帮助我们按照实际情况或按我们需要的样式对系统进⾏可视化;提供⼀种详细说明系统的结构或⾏为的⽅法;给出⼀个指导系统构造的模板;对我们所做出的决策进⾏⽂档化在建模时应遵循以下原则:选择要创建什么模型对如何动⼿解决问题和如何形成解决⽅案有着意义深远的影响;每⼀种模型可以在不同的精度级别上表⽰;最好的模型是与现实相联系的;单个模型是不充分的。

对每个重要的系统最好⽤⼀组⼏乎独⽴的模型去处理4. 请说明蓝图和草图的区别,并简单描述其适⽤的场景。

蓝图⼀般是指采⽤C ASE⼯具绘制的、正式的、规范的UML模型;⽽草图则通常是指⼿⼯绘制的、规范度较低的在纸张的UML模型。

对于局部的、重要性不⾼的、共享范围较⼩的UML模型,直接将草图扫描到电脑存档即可;对于全局的、重要性⾼的、⾼度共享的,在草图的基础上⽤C ASE⼯具绘制成为正式的蓝图,并将其纳⼊统⼀的模型管理中5. 说明UML适⽤的建模领域,以及其作⽤和主要的参与⼈员。

业务建模,⽤来加强对业务领域的了解,以领域专家为主,需求分析⼈员是主⼒,系统分析员、架构师可参与。

需求模型,⽤来加强需求了解,便于技术决策,以需求分析⼈员为主,系统分析员是主⼒,领域专家提供指导,架构师和资深开发⼈员参与。

设计模型:包括⾼层设计模型和详细设计模型。

⾼层设计模型以架构师为主,系统分析员从需求⽅⾯提供⽀持,资深开发⼈员从技术实现⽅⾯提供⽀持。

详细设计模型则以资深开发⼈员为主,架构师提供指导。

实现模型:架构师、资深开发⼈员(设计⼈员);以资深开发⼈员(设计⼈员)为主,架构师提供总体指导。

需求分析复习提纲

需求分析复习提纲

第一章需求工程概述需求工程包含哪些基本活动。

第二章需求基础1、需求的定义。

(1)用户为了解决问题或达到某些目标所需要的条件或能力;⏹(2)系统或系统部件为了满足合同、标准、规范或其它正式文档所规定的要求而需要具备的条件或能力;⏹(3)对(1)或(2)中的一个条件或一种能力的一种文档化表述。

2、需求的分类。

⏹功能需求(Functional Requirement):❑和系统主要工作相关的需求,即在不考虑物理约束的情况下,用户希望系统所能够执行的活动,这些活动可以帮助用户完成任务。

功能需求主要表现为系统和环境之间的行为交互。

⏹性能需求(Performance Requirement):❑系统整体或系统组成部分应该拥有的性能特征,例如CPU使用率、内存使用率、系统的相应时间等。

⏹质量属性(Quality Attribute):❑系统完成工作的质量,即系统需要在一个“好的程度”上实现功能需求,例如可靠性程度、可维护性程度等。

⏹对外接口(External Interface):❑系统和环境中其他系统之间需要建立的接口,包括硬件接口、软件接口、数据库接口等等。

⏹约束❑进行系统构造时需要遵守的约束,例如编程语言、硬件设施等3、功能需求的层次性系统需求(1)业务需求●系统建立的战略出发点,表现为高层次的目标(Objective),它描述了组织为什么要开发系统●为了满足用户的业务需求,需求工程师需要描述系统高层次的解决方案,定义系统应该具备的特性(Feature)●参与各方必须要对高层次的解决方案达成一致,以建立一个共同的前景(Vision)●特性说明了系统为用户提供的各项功能,它限定了系统的范围(Scope)(2)用户需求●执行实际工作的用户对系统所能完成的具体任务的期望,描述了系统能够帮助用户做些什么●模糊性,不清晰(3)系统需求●用户对系统行为的期望,一系列的系统行为联系在一起可以帮助用户完成任务,满足业务需求●系统需求可以直接映射为系统行为,定义了系统中需要实现的功能,描述了开发人员需要实现什么●将用户需求转化为系统需求的过程是一个复杂的过程⏹首先需要分析问题领域及其特性,从中发现问题域和计算机系统的共享知识,建立系统的知识模型;⏹然后将用户需求部署到系统模型当中,即定义系列的系统行为,让它们联合起来实现用户需求,每一个系统行为即为一个系统需求。

基于面向对象UML模型分析

基于面向对象UML模型分析

基于面向对象UML模型分析作者:张海飞来源:《武汉科技报·科教论坛》2013年第11期【摘要】面向对象的方法一般都是经过对对象的分析、抽象,建立对象之间的关系,只是每一种方法都有其应用背景和侧重点。

UML语言是一个复杂、庞大的系统建模语言。

其目标是希望能够解决整个面向对象软件开发过程中的可视化建模。

在软件工程具体实践中,不论是在系统需求阶段,还是在对象的分析与设计、软件的实现与测试阶段,都需要有一种能提供清晰的表达方法和完善的工具,便于建立起相应的软件模型。

UML具备这种特性。

【关键词】面向对象;UML;元模型面向对象技术(OO)是一种非常实用的软件开发技术,是为了增强软件系统的稳定性、可重用性和可修改性开发出来的一款软件工具,具有方法的连续性、唯一性的特性,并把面向对象分析和设计、编程集成到软件存活周期的对应阶段。

UML是元模型层的表述语言,它的实例包括模型层,也能够直接对应OO语言中的类、类型、消息、继承、聚集和接口。

模型限制了对象的属性、操作和聚集。

采用表示法系统对其所表达的层次叫模型层。

一个系统常常是多个模型的聚集、相互结合和通信的组合。

需要一种手段组成各个模型,因此把属性、结合、操作、通信进一步抽象为行为元素和结构元素来表达模型,并且提供表达系统的机制,这一层称为元(Meta)模型层。

UML表示法的最上层是元-元模型层。

为了和OMG组的元对象设施(MOF)提供的元-元模型一致,UML的元模型体系结构直接从MOF的元模型生成。

用户通过UML提供的表示法构造自己系统的元模型,尤其是以图形表示模型元素时,但其语法解释不准确。

因此UML提供形式化语言OCL(对象约束语言)以一阶谓词逻辑模型描述各种约束。

事实上,UML是软件工程中形式化规格说明语言研究的派生。

因为,只有形式规格说明描述的软件体系结构在其各开发阶段中才能保证语义的一致性。

UML在给出自身的语义说明时对于每个包都给出三个层次的说明,即抽象的语法、良构的规则和语义。

第17章 对象约束语言

第17章 对象约束语言
返回Sequence中指定位置的元素 返回由参数对象加上Sequence中所有元 素组成的Sequence 返回Sequence中表达式为假的元素组成 的Sequence 返回Sequence中表达式为真的元素组成 的Sequence
Iterate(OclExpression)
在Sequence上迭代
表17-4 : 集合类型
类型 值
Set
Bag Sequence
{1,5,4,2,3} //特点:不包括重复元素,无序的
{1,2,3,2,4} //特点:可以包括重复元素,无序的 {1,2,2,3,4} //特点:可以包括重复元素,有序的
1. Collection
Collection是OCL中所有集合的抽象的上级 类型。 定义在Collection上的操作见表17-5。
返回Sequence中移除重复元素后所有元素 组成的Set
返回对Sequence中每个成员应用此表达式 得到的所有元素组成的Sequence 返回参数对象在Sequence中出现的次数 返回包含在Sequence中除参数对象以外所 有元素的Sequence 返回包含在Sequence中的所有元素,并加 上参数对象作为最后元素的Sequence 返回包含在Sequence中的所有元素,并在 后面加上参数对象的Sequence
-1.2 , 3.4 ,
“My name is “
Implies:逻辑异或运算。 Floor:取小于或等于一个实数的最大整数。
17.2.4 集合类型
除了基本类型以外,OCL还定义了一些较 为高级的标准OCL类型称为集合类型。 集合是成组的对象或元素,可以用来作为 表达式计算过程中的结果。 集合类型除了抽象数据类型Collection以 外,还有Set(集)、Bag(袋)和序列 (Sequence)等。

济南大陆机电股份有限公司企业技术标准体系表

济南大陆机电股份有限公司企业技术标准体系表

济南大陆机电股份有限公司企业技术标准体系表济南大陆机电股份有限公司技术标准体系表1 范围本标准规定了济南大陆机电股份有限公司企业技术标准体系表。

本标准适用于济南大陆机电股份有限公司建立、健全完善企业技术标准体系2 术语和定义下列术语及定义适用于本标准。

2.1 企业技术标准体系企业内的技术标准按其内在的联系形成的科学的有机整体。

2.2 企业技术标准体系企业技术标准体系的标准按一定形式排列起来的图表。

3 职责3.1 济南大陆机电股份有限公司企业技术标准体系表由标准化室负责统筹编制。

3.2 济南大陆机电股份有限公司标准化室对企业技术标准体系结构图及标准明细表负总责。

4 企业技术标准体系表济南大陆机电股份有限公司适用的企业技术标准体系中的标准,按一定形式排列起来的图和表构成本公司企业技术标准体系表。

济南大陆机电股份有限公司技术标准体系表,由公司企业技术标准体系结构图和公司企业技术标准明细表两部分组成。

5 企业技术标准体系结构图济南大陆机电股份有限公司企业技术标准体系结构图见附录A。

6 企业技术标准明细表济南大陆机电股份有限公司企业技术标准明细表见附录B。

7 企业标准编码格式说明Q/DL. J/A. ××-××××-××××年代号标准顺序号标准门类号标准类别号(J/A:技术标准/软件企业代号企业标准代号技术标准体系的标准分类号用“技”的汉语拼音的第一个大写字母“J”表示;对于技术标准体系下层还分为软件、硬件、自控三大类,将该层次的标准分类号用大写的英文字母表示:软件——A硬件——B节能、计量——C自控——D。

表1 企业技术标准门类号的代号技术标准门类号代技术标准门类号代体系子体系名称号体系子体系名称号技术基础标准01测量、验收和试验设备技术标准09设计技术标准02包装搬运、储存、标志技术标准10产品标准03 安装、交付技术标准11采购技术标准04服务技术标准12工艺技术标准05能源技术标准13半成品技术标准06安全技术标准14设备、基础设备和工艺装备技术标准07环境技术标准15检验、验收08 信息技术16和试验方法技术标准标准附录A济南大陆机电股份有限公司企业技术标准体系结构图软件硬件节能、计量技术基础标准设计技术标准产品标准采购技术标准工艺技术标准(操作规程、运行、检验规程)半成品(中间体、半制品、元器件)技术标准设备、基础设施和工艺装备技术标准检验、验收和试验方法技术标准测量检验和检验设备技术标准包装、搬运、储存、标志技术标准安装交付技术标准服务技术标准能源技术标准安全技术标准环境技术标准信息技术标准自控企业技术标准体系附录B济南大陆机电股份有限公司企业技术标准明细表技术类别技术基础标准标准编号原标准号标准名称软件Q/DL.J/A.01-0001-2015 IEEE1888Ubiquitous GreenCommunity Control NetworkProtocolQ/DL.J/A.01-0002-2015 GB/T 15272-1994 程序设计语言CQ/DL.J/A.01-0003-2015 GB/T 18792-2002信息技术文件描述和处理语言超文本置标语言(HTML)Q/DL.J/A.01-0004-2015 GB/T 18793-2002信息技术可扩展置标语言(XML)1.0Q/DL.J/A.01-0005-2015 GB/T 29490-2013 企业知识产权管理规范Q/DL.J/A.01-0006-2015 GB/T 12856-1991 程序设计语言BASIC子集Q/DL.J/A.01-0007-2015 GB/T 3057-1996信息技术程序设计语言FortranQ/DL.J/A.01-0008-2015 GB/T 4092.2-1992程序设计语言COBOL 核心模块Q/DL.J/A.01-0009-2015 GB/T 4092.4-1992 程序设计语言COBOL 顺序I-O模块Q/DL.J/A.01-0010-2015 GB/T 4092.5-1992 程序设计语言COBOL 相对I-O模块Q/DL.J/A.01-0011-2015 GB/T 4092.6-1992 程序设计语言COBOL 索引I-O模块Q/DL.J/A.01-0012-2015 GB/T 4092.7-1992 程序设计语言COBOL 排序-合并模块Q/DL.J/A.01-0013-2015 GB/T 4092.8-1992 程序设计语言COBOL 报表编制模块Q/DL.J/A.01-0014-2015 GB/T 4092.9-1992 程序设计语言COBOL 程序分段模块Q/DL.J/A.01-0015-2015 GB/T 4092.10-1992 程序设计语言COBOL 源正文管理模块Q/DL.J/A.01-0016-2015 GB/T 4092.11-1992 程序设计语言COBOL 排错模块Q/DL.J/A.01-0017-2015 GB/T 4092.12-1992 程序设计语言COBOL 程序间通信模块Q/DL.J/A.01-0018-2015 GB/T 4092.13-1992 程序设计语言COBOL 通信模块Q/DL.J/A.01-0019-2015 GB/T 4092-2008 信息技术程序设计语言COBOLQ/DL.J/A.01-0020-2015 GB/T 7591-1987 程序设计语言PascalQ/DL.J/A.01-0021-2015 GB/T 9542-1988 程序设计语言PL/1Q/DL.J/A.01-0022-2015 GB/T 9543-1988 程序设计语言 PL/1通用子集Q/DL.J/A.01-0023-2015 GB/T 8567-2006 计算机软件文档编制规范Q/DL.J/A.01-0024-2015 GB/T 9385-2008 计算机软件需求规格说明规范Q/DL.J/A.01-0025-2015 GB/T 9386-2008 计算机软件测试文档编制规范Q/DL.J/A.01-0026-2015GB/T 11457-2006信息技术软件工程术语Q/DL.J/A.01-0027-2015 GB/T 14394-2008 计算机软件可靠性和可维护性管理Q/DL.J/A.01-0028-2015 GB/T 16680-1996 软件文档管理指南Q/DL.J/A.01-0029-2015 GB/T 16681-2003 信息技术开放系统中文界面规范Q/DL.J/A.01-0030-2015 GB/T 18221-2000 信息技术程序设计语言环境与系统软件接口独立于语言的数据类型Q/DL.J/A.01-0031-2015 GB/T 18492-2001 信息技术系统及软件完整性级别Q/DL.J/A.01-0032-2015 GB/Z 18493-2001 信息技术软件生存周期过程指南Q/DL.J/A.01-0033-2015 GB/Z 18914-2002 信息技术软件工程CASE工具的采用指南Q/DL.J/A.01-0034-2015 GB/Z 20156-2006 软件工程软件生存周期过程用于项目管理的指南Q/DL.J/A.01-0035-2015 GB/T 20157-2006 信息技术软件维护Q/DL.J/A.01-0036-2015 GB/T 20158-2006 信息技术软件生存周期过程配置管理Q/DL.J/A.01-0037-2015 GB/T 28169-2011 嵌入式软件 C语言编码规范Q/DL.J/A.01-0038-2015 GB/T 28174.1-2011 统一建模语言(UML) 第1部分:基础结构Q/DL.J/A.01-0039-2015 GB/T 28174.2-2011 统一建模语言(UML) 第2部分:上层结构Q/DL.J/A.01-0040-2015 GB/T 28174.3-2012 统一建模语言(UML) 第3部分:对象约束语言(OCL)Q/DL.J/A.01-0041-2015 GB/T 28174.4-2013 统一建模语言(UML) 第4部分:图交换Q/DL.J/A.01-0042-2015 SJ/T 11234-2001 软件过程能力评估模型Q/DL.J/A.01-0043-2015 SJ/T 11235-2001 软件能力成熟度模型Q/DL.J/A.01-0044-2015 SJ/T 11290-2003 面向对象的软件系统建模规范第1部分:概念与表示法Q/DL.J/A.01-0045-2015 SJ/T 11291-2003 面向对象的软件系统建模规范第3部分:文档编制Q/DL.J/A.01-0046-2015 SJ/T 11373-2007 软件构件管理第1部分:管理信息模型Q/DL.J/A.01-0047-2015 SJ/T 11463-2013 软件研发成本度量规范Q/DL.J/A.01-0048-2015 SJ 20523-1995 软件文档管理指南Q/DL.J/A.01-0049-2015 SJ 20778-2000 软件开发与文档编制Q/DL.J/A.01-0050-2015 SJ 20823-2002 信息技术软件生存周期过程配置管理Q/DL.J/A.01-0051-2015 GB/T 8566-2007 信息技术软件生存周期过程Q/DL.J/A.01-0052-2015 GB/T 20918-2007 信息技术软件生存周期过程风险管理Q/DL.J/A.01-0053-2015 JB/T 5235-1991 工业控制实时软件文档管理指南Q/DL.J/A.01-0054-2015 JB/T 5236-1991 工业控制实时软件工程化文档规范Q/DL.J/A.01-0055-2015 JB/T 5237-1991 工业控制实时软件用户软件包文档Q/DL.J/A.01-0056-2015 GB/T 16647-1996 信息技术信息资源词典系统(IRDS)框架Q/DL.J/A.01-0057-2015 GB/T 16684-1996 信息技术信息交换用数据描述文卷规范Q/DL.J/A.01-0058-2015 GB/T 18234-2000 信息技术 CASE 工具的评价与选择指南Q/DL.J/A.01-0059-2015 GB/T 22032-2008 系统工程系统生存周期过程Q/DL.J/A.01-0060-2015 GB/T 29264-2012信息技术服务 分类与代码 Q/DL.J/A.01-0061-2015 IEEE 829-2008软件的测试文件编制标准 Q/DL.J/A.01-0062-2015 IEEE 830-1998 软件需求说明书的推荐实施规范Q/DL.J/A.01-0063-2015 IEEE 1016-2009 软件设计描述的推荐实施规范Q/DL.J/A.01-0064-2015 IEEE 1058-1998 软件项目管理方案的推荐规范Q/DL.J/A.01-0065-2015 IEEE 1471-2000 软件密集系统的结构描述的推荐实施规范Q/DL.J/A.01-0066-2015 ISO/IEC 14102-2008 信息技术 CASE 工具的评价与选择指南Q/DL.J/A.01-0067-2015 IEEE 1546-2000(R2006) 数字测试交换格式(DTIF)的应用指南Q/DL.J/A.01-0068-2015 ISO/IEC TR 12182-1998信息技术--软件分类 Q/DL.J/A.01-0069-2015 ISO/IEC TR 14471-2007 信息技术 软件工程 CASE 工具的采用指南Q/DL.J/A.01-0070-2015 ISO/IEC TR 15026-1-2010 系统和软件工程 系统和软件保证 第1部分:概念与词汇Q/DL.J/A.01-0071-2015 ISO/IEC TR 15504-6-2008 信息技术 过程评定 第6部分:某样本系统生命周期过程评定模型Q/DL.J/A.01-0072-2015 ISO/IEC TR 15504-7-2008 信息技术 过程评定 第7部分:组织成熟度的评定Q/DL.J/A.01-0073-2015 ISO/IEC TR 15846-1998信息技术 软件生命周期过程 配置管理 Q/DL.J/A.01-0074-2015 SO/IEC TR 18018-2010信息技术 系统和软件工程 配置管理工具性能指南 Q/DL.J/A.01-0075-2015 ISO/IEC TR 19759-2005软件工程 软件工程知识主体导则(SWEBOK) Q/DL.J/A.01-0076-2015 ISO/IEC TR 24748-1-2010系统和软件工程 生命周期管理 第1部分:生命周期管理指南 Q/DL.J/A.01-0077-2015 ISO/IEC TR 24748-2-2011 系统和软件工程 生命周期管理 第2部分:ISO/IEC?15288应用导则(系统生命周期过程)Q/DL.J/A.01-0078-2015 ISO/IEC TR 24748-3-2011 系统和软件工程 生命周期管理 第3部分:ISO/IEC?12207应用导则(系统生命周期过程)Q/DL.J/A.01-0079-2015 ISO/IEC TR 24766-2009 信息技术 系统和软件工程 需求工程工具性能指南Q/DL.J/A.01-0080-2015 ISO/IEC TR 24774-2010 软件和系统工程 生命周期管理 过程描述指南Q/DL.J/A.01-0081-2015 ISO/IEC TR 25021-2007 软件工程 软件产品质量要求和评估(SQuaRE) 质量测量要素Q/DL.J/A.01-0082-2015 ISO/IEC TR 25060-2010 系统和软件工程 系统和软件产品质量要求和评估(SQuaRE) 工艺性的通用工业格式(CIF):与工艺性相关信息的一般框架Q/DL.J/A.01-0083-2015 ISO/IEC TR 29110-1-2011 软件工程 对于非常小型实体(VSEs)的生命周期配置文件 第1部分:概述Q/DL.J/A.01-0084-2015 ISO/IEC TR 29110-3-2011 软件工程 对于非常小型实体(VSEs)的生命周期配置文件 第2部分:评估指南Q/DL.J/A.01-0085-2015 ISO/IEC TR 29110-5-1-1-2012 软件工程 用于非常小的实体(vses)的生命周期配置文件 第5-1-1部分:管理和工程技术指南:通用配置文件组:入门简介Q/DL.J/A.01-0086-2015 ISO/IEC TR 29110-5-1-2-2011 软件工程 极小项目(VSE)的生存周期轮廓 第5-1-2部分:管理和工程指南:类属轮廓组:基本轮廓Q/DL.J/A.01-0087-2015 ISO/IEC TR 29154-2013 软件工程 ISO/IEC 24773:2008的应用指南Q/DL.J/A.01-0088-2015 ISO/IEC TS 15504-8-2012 信息技术 软件程序评估 第8部分:测定供应商程序容量的使用导则Q/DL.J/A.01-0089-2015 ISO/IEC TS 15504-9-2011 信息技术 过程评估 第9部分:目标进程概况Q/DL.J/A.01-0090-2015 ISO/IEC TS 15504-10-2011 信息技术 过程评定 第10部分:安全扩展Q/DL.J/A.01-0091-2015 ISO/IEC DIS 14143-6-2011 信息技术 软件测试 功能尺寸测量 第6部分:ISO/IEC 14143系列及相关国际标准的使用指南Q/DL.J/A.01-0092-2015 ISO/IEC DIS 15026-4-2012 系统和软件工程 系统和软件保证 第4部分:生命周期的保证Q/DL.J/A.01-0093-2015 ISO/IEC DIS 15504-6-2012 信息技术 过程评估 第6部分:系统寿命周期过程评估模型Q/DL.J/A.01-0094-2015 ISO/IEC DIS 25041-2011 系统和软件工程 系统和软件的质量要求和评价 (SQuaRE) 开发商、 收购者和独立评估的评估指南Q/DL.J/A.01-0095-2015 ISO/IEC DIS 25063-2011 系统和软件工程 系统和软件产品 质量要求和评估(SQuaRE) 可用普通工业格式:使用描述内容Q/DL.J/A.01-0096-2015 ISO/IEC DIS 25064-2011 系统和软件工程 软件产品的质量的要求和评价(SQuaRE) 通用的行业可用性格式(CIF):用户需求报告Q/DL.J/A.01-0097-2015 ISO/IEC DIS 26551-2012 软件和系统工程 产品线需求工程的工具和方法Q/DL.J/A.01-0098-2015 ISO/IEC DIS 26555-2012 软件和系统工程 产品线技术管理的工具和方法Q/DL.J/A.01-0099-2015 ISO/IEC DIS 29119-2-2011 软件和系统工程 软件测试 第2部分:测试过程Q/DL.J/A.01-0100-2015 ISO/IEC DIS 29119-3-2011 软件和系统工程 软件测试 第3部分:测试文件Q/DL.J/A.01-0101-2015 ISO/IEC ISP 29110-2-2011 软件工程 极小实体的生命周期概况 第2部分:框架和分类Q/DL.J/A.01-0102-2015 ISO/IEC ISP 29110-4-1-2011 软件工程 极小项目 (VSEs)的生存周期轮廓 第4-1部分:轮廓规范:类属轮廓组Q/DL.J/A.01-0103-2015 ISO/IEC 6592-2000 信息技术 以计算机为基础的应用系统文件编制指南Q/DL.J/A.01-0104-2015 ISO/IEC 8211-1994 信息技术 信息交换用数据描述文卷规范Q/DL.J/A.01-0105-2015 ISO/IEC 8631-1989 信息技术.程序结构和规范形式Q/DL.J/A.01-0106-2015 ISO 9127-1988信息处理系统 用户软件包的用户文件和覆盖信息Q/DL.J/A.01-0107-2015 ISO/IEC FDIS 15026-3-2011 系统和软件工程 系统和软件保证 第3部分:系统完整性等级Q/DL.J/A.01-0108-2015 ISO/IEC/IEEE FDIS 15289-2011 系统和软件工程 生命周期过程 需求工程Q/DL.J/A.01-0109-2015 ISO/IEC FDIS 15504-5-2011 信息技术 过程评定 第5部分:软件生命周期过程评定范例模型Q/DL.J/A.01-0110-2015 ISO/IEC FDIS 19770-1-2012 信息技术 软件资产管理 第1部分:符合性的处理和分层评价Q/DL.J/A.01-0111-2015 ISO/IEC FDIS 26511-2011 系统和软件工程 用户文件编制的管理人的要求Q/DL.J/A.01-0112-2015 ISO/IEC FDIS 26515-2011 系统和软件工程 在敏捷环境中开发用户文件编制Q/DL.J/A.01-0113-2015 ISO/IEC FDIS 29148-2011 系统和软件工程 生命周期过程 需求工程Q/DL.J/A.01-0114-2015 ISO/IEC/IEEE FDIS 29148-2011 系统和软件工程 生命周期过程 需求工程Q/DL.J/A.01-0115-2015 ISO/IEC FDIS 29155-1-2011 系统和软件工程 信息技术项目绩效标杆分析法框架 第1部分:概念和定义Q/DL.J/A.01-0116-2015 ISO/IEC/IEEE FDIS 42010-2011 系统和软件工程 体系结构描述Q/DL.J/A.01-0117-2015 ISO/IEC 10746-1-1998 信息技术 开放分布式处理 参考模型:概述Q/DL.J/A.01-0118-2015 ISO/IEC 10746-2-2010 信息技术 开放分布式处理 参考模型:基本概念Q/DL.J/A.01-0119-2015 ISO/IEC 10746-3-2010 信息技术 开放分布式处理 参考模型:架构Q/DL.J/A.01-0120-2015 ISO/IEC 10746-4-1998/Amd 1-2001信息技术.开放式分布处理.参考模型:体系结构语义学 Q/DL.J/A.01-0121-2015 ISO/IEC 11411-1995 信息技术 软件状态转换的人际通信表示 Q/DL.J/A.01-0122-2015 ISO/IEC 12182-1998 信息技术 软件的分类Q/DL.J/A.01-0123-2015 ISO/IEC 12207-2008 系统和软件工程 软件生命周期过程Q/DL.J/A.01-0124-2015 ISO/IEC 13235-1-1998 信息技术 开放分布式处理 贸易功能:规范Q/DL.J/A.01-0125-2015 ISO/IEC 13235-3-1998 信息技术 开放分布式处理贸易功能 第3部分:使用OSI 目录服务的贸易功能的条款Q/DL.J/A.01-0126-2015 ISO/IEC 13244-1998 信息技术 开放分布式管理体系结构Q/DL.J/A.01-0127-2015 ISO/IEC 13800-1996 信息技术 盘卷和文卷结构标识符和属性的登记规程Q/DL.J/A.01-0128-2015 ISO/IEC 14143-1-2007 信息技术 软件度量 功能大小度量 第1部分:概念的定义Q/DL.J/A.01-0129-2015 ISO/IEC 14143-2-2011 信息技术 软件度量 功能大小量度 第2部分:软件大小对ISO/IEC 14143-1测量方法的合性评定Q/DL.J/A.01-0130-2015 ISO/IEC 14143-6-2006 信息技术 软件度量 功能大小量度 第6部分:软件大小对ISO/IEC 14143系列和有关国际标准的使用导则Q/DL.J/A.01-0131-2015 ISO/IEC 14598-1-1999 信息技术 软件产品评价 第1部分:综述Q/DL.J/A.01-0132-2015 ISO/IEC 14598-2-2000 软件工程 产品评估 第2部分:规划和管理Q/DL.J/A.01-0133-2015 ISO/IEC 14598-3-2000 软件工程 产品评价 第3部分:开发者过程Q/DL.J/A.01-0134-2015 ISO/IEC 14598-4-1999 信息技术 软件产品评价 第4部分:获取者过程Q/DL.J/A.01-0135-2015 ISO/IEC 14598-5-1998 信息技术 软件产品评价 第5部分:评价者过程Q/DL.J/A.01-0136-2015 ISO/IEC 14598-6-2001 软件工程 产品评估 第6节:模块评估文件Q/DL.J/A.01-0137-2015 ISO/IEC 14750-1999 信息技术 开放分布式处理 接口定义语言Q/DL.J/A.01-0138-2015 ISO/IEC 14752-2000 信息技术 开放分布式处理 对计算机交互用的协议支持Q/DL.J/A.01-0139-2015 ISO/IEC 14753-1999 信息技术 开放分布式处理 接口引用和联编Q/DL.J/A.01-0140-2015 ISO/IEC 14756-1999 信息技术 以计算机为基础的软件系统性能的测量和评定Q/DL.J/A.01-0141-2015 ISO/IEC 14764-2006 软件工程 软件生命周期过程 维护Q/DL.J/A.01-0142-2015 ISO/IEC 14771-1999 信息技术 开放分布式处理 命名框架Q/DL.J/A.01-0143-2015 ISO/IEC 14834-1996 信息技术 分布式事务处理 XA 规范Q/DL.J/A.01-0144-2015 ISO/IEC 14863-1996 信息技术 独立于系统的数据格式(SIDF)Q/DL.J/A.01-0145-2015 ISO/IEC 15026-2-2011 系统和软件工程 系统和软件保证 第2部分:保证案例Q/DL.J/A.01-0146-2015 ISO/IEC 15026-3-2011 系统和软件工程 系统和软件保证 第3部分:系统完整性等级Q/DL.J/A.01-0147-2015 ISO/IEC 15026-4-2012 Systems and softwareengineering. Systems and software assurance. Part 4:Assurance in the lifecycleQ/DL.J/A.01-0148-2015 ISO/IEC 15271-1998 信息技术 对ISO/IEC12207(软件生命周期过程)的指南Q/DL.J/A.01-0149-2015 ISO/IEC 15288-2008 系统和软件工程 系统生命周期过程Q/DL.J/A.01-0150-2015 ISO/IEC/IEEE 15289-2011 系统和软件工程 系统和软件寿命过程信息产品的内容(记录文件)Q/DL.J/A.01-0151-2015 ISO/IEC 15414-2006 信息技术 开放分布式处理 基准模型 企业语言Q/DL.J/A.01-0152-2015 ISO/IEC 15474-1-2002 信息技术 CDIF 框架 第1部分:综述Q/DL.J/A.01-0153-2015 ISO/IEC 15474-2-2002 信息技术 CDIF 框架 第2部分:模型与扩展能力Q/DL.J/A.01-0154-2015 ISO/IEC 15475-1-2002 信息技术 CDIF 传输格式 第1部分:语法和编码的一般规则Q/DL.J/A.01-0155-2015 ISO/IEC 15475-2-2002 信息技术 CDIF 传输格式 第2部分:语法SYNTAX.1Q/DL.J/A.01-0156-2015 ISO/IEC 15475-3-2002 信息技术 CDIF 传输格式 第3部分:编码ENCODING.1Q/DL.J/A.01-0157-2015 ISO/IEC 15476-1-2002 信息技术 CDIF 语义元模型 第1部分:基础Q/DL.J/A.01-0158-2015 ISO/IEC 15476-2-2002信息技术 CDIF 语义元模型 第2部分:总则 Q/DL.J/A.01-0159-2015 ISO/IEC 15476-3-2006信息技术 CDIF 语义元模型 第3部分:数据定义 Q/DL.J/A.01-0160-2015 ISO/IEC 15476-4-2005信息技术 CDIF 语义元模型 第4部分:数据模型 Q/DL.J/A.01-0161-2015 ISO/IEC 15476-6-2006信息技术 CDIF 语义元模块 第6部分: 状态/过程模型 Q/DL.J/A.01-0162-2015 ISO/IEC 15504-1-2004信息技术 过程评定 第1部分:概念和词汇表 Q/DL.J/A.01-0163-2015 ISO/IEC 15504-2-2003软件工程 过程评定 第2部分:实施和评定 Q/DL.J/A.01-0164-2015 ISO/IEC 15504-3-2004 信息技术 过程评定 第3部分:实施某评定的指南Q/DL.J/A.01-0165-2015 ISO/IEC 15504-4-2004 信息技术 过程评定 第4部分:过程改进和过程能力测定的使用指南Q/DL.J/A.01-0166-2015 ISO/IEC 15504-5-2012 信息技术 过程评定 第5部分:某样本过程评定模型Q/DL.J/A.01-0167-2015 ISO/IEC 15580-1998 信息技术 程序设计语言 FORTH 浮点异常处理Q/DL.J/A.01-0168-2015 ISO/IEC 15909-1-2004 软件和系统工程 高级Petri 网 第1部分:概念、定义和图形标记Q/DL.J/A.01-0169-2015 ISO/IEC 15909-1-2004/Amd 1-2010 软件和系统工程 高级Petri网 第1部分:概念,定义和图解标注Q/DL.J/A.01-0170-2015 ISO/IEC 15909-2-2011 软件和系统工程 高级Petri 网 第2部分:传输格式Q/DL.J/A.01-0171-2015 ISO/IEC 15939-2007 系统和软件工程 测量过程Q/DL.J/A.01-0172-2015 ISO/IEC 15940-2006 信息技术 软件工程环境服务Q/DL.J/A.01-0173-2015 ISO/IEC 16085-2006 系统和软件工程 生命周期过程 风险管理Q/DL.J/A.01-0174-2015 ISO/IEC/IEEE 16326-2009 系统和软件工程 生命周期过程 项目管理Q/DL.J/A.01-0175-2015 ISO/TR 18018-2010 信息技术 系统和软件工程 配置管理工具能力指南Q/DL.J/A.01-0176-2015 ISO/IEC 18019-2004 软件和系统工程 用户应用软件文件的设计与起草Q/DL.J/A.01-0177-2015 ISO/IEC 19500-1-2012信息技术 对象管理组 公共对象请求代理结构(CORBA)第1部分:接口Q/DL.J/A.01-0178-2015 ISO/IEC 19500-2-2003 信息技术 开放式分布处理第2部分:一般Inter-ORB 协议(GIOP)/英特网Inter-ORB协议(IIOP)Q/DL.J/A.01-0179-2015 ISO/IEC 19500-2-2012 信息技术 对象管理组 公共对象请求代理结构(CORBA) 第2部分:互操作性Q/DL.J/A.01-0180-2015 ISO/IEC 19500-3-2012 信息技术 对象管理组 公共对象请求代理结构(CORBA) 第3部分:组件Q/DL.J/A.01-0181-2015 ISO/IEC 19501-2005 信息技术 开放分布式处理统一建模语言(UML) 版本1.4.2Q/DL.J/A.01-0182-2015 ISO/IEC 19506-2012 信息技术 对象管理组 架构驱动现代化 知识发现元模型(KDM)Q/DL.J/A.01-0183-2015 ISO/IEC 19761-2011 软件工程 COSMIC:功能规模的测量方法Q/DL.J/A.01-0184-2015 ISO/IEC 19770-1-2012 信息技术 软件资产管理 第1部分:过程和一致性分层评估Q/DL.J/A.01-0185-2015 ISO/IEC 19770-2-2009 信息技术 软件资产管理 第2部分:软件识别标签Q/DL.J/A.01-0186-2015 ISO/IEC 19793-2008 信息技术 开放分布式处理(ODP) ODP 系统规范的统一建模语言(UML)使用Q/DL.J/A.01-0187-2015 ISO 19793 CORR 1-2010 信息技术 开放分布式处理 ODP 系统规范UML 的使用Q/DL.J/A.01-0188-2015 ISO/IEC 20926-2009 软件和系统工程 软件测量 IFPUG 功能大小测量法2009Q/DL.J/A.01-0189-2015 ISO/IEC 20968-2002 软件工程 Mk II 功能点分析 计数实用手册Q/DL.J/A.01-0190-2015 ISO/IEC 23026-2006 软件工程 对因特网的建议万维网站工程、万维网站管理、万维网生存周期Q/DL.J/A.01-0191-2015 ISO/IEC 23360-1-2006 Linux 标准基础(LSB)核心规范3.1 第1部分:总规范Q/DL.J/A.01-0192-2015 ISO/IEC 23360-2-2006Linux 标准基础(LSB)核心规范3.1 第2部分:IA32体系结构规范Q/DL.J/A.01-0193-2015 ISO/IEC 23360-3-2006 Linux 标准基础(LSB)核心规范3.1 第3部分:IA64体系结构规范Q/DL.J/A.01-0194-2015 ISO/IEC 23360-4-2006 Linux 标准基础(LSB)核心规范3.1 第4部分:AMD64体系结构规范Q/DL.J/A.01-0195-2015 ISO/IEC 23360-5-2006 Linux 标准基础(LSB)核心规范3.1 第5部分:PPC32体系结构规范Q/DL.J/A.01-0196-2015 ISO/IEC 23360-6-2006 Linux 标准基础(LSB)核心规范3.1 第6部分:PPC64体系结构规范Q/DL.J/A.01-0197-2015 ISO/IEC 23360-7-2006 Linux 标准基础(LSB)核心规范3.1 第7部分:S390体系结构规范Q/DL.J/A.01-0198-2015 ISO/IEC 23360-8-2006 Linux 标准基础(LSB)核心规范3.1 第8部分:S390X 体系结构规范Q/DL.J/A.01-0199-2015 ISO/IEC 23360-2006 Linux 标准基础(LSB)核心规范3.1 第1部分:总规范 第2部分:IA32体系结构规范第3部分:IA64体系结构规范 第4部分:AMD64体系结构规范 第5部分:PPC32体系结构规范 第6部分:PPC64体系结构规范 第7部分:S390体系结构规范第8部分:S390X 体系结构规范Q/DL.J/A.01-0200-2015 ISO/IEC 24570-2005 软件工程 NESMA 功能大小测量方法,2.1版 功能点分析应用定义和计数指南Q/DL.J/A.01-0201-2015 ISO 24744 AMD 1-2010 软件工程 用于开发方法的元模型 修改件1:记数法Q/DL.J/A.01-0202-2015 ISO/IEC 24744-2007 软件工程 用于开发方法的元模型Q/DL.J/A.01-0203-2015 ISO/IEC 24744-2007/Amd 1-2010 软件工程 用于开发方法的元模型Q/DL.J/A.01-0204-2015 ISO/TR 24748-1-2010 系统和软件工程 生命周期管理 第1部分:生命周期管理指南Q/DL.J/A.01-0205-2015 ISO/IEC 24773-2008 软件工程 软件工程专业人员证书 比较框架Q/DL.J/A.01-0206-2015 ISO/IEC 25000-2005 软件工程 软件产品质量要求和评定(SQuaRE) SQuaRE导则Q/DL.J/A.01-0207-2015 ISO/IEC 25001-2007 软件工程 软件产品质量要求和评估(SQuaRE) 规划和管理Q/DL.J/A.01-0208-2015 ISO/IEC 25010-2011 系统和软件工程 系统和软件质量要求和评估(SQuaRE)系统和软件质量模型Q/DL.J/A.01-0209-2015 ISO/IEC 25012-2008 软件工程 软件产品质量要求和评估(SQuaRE) 数据质量模型Q/DL.J/A.01-0210-2015 ISO/IEC 25020-2007 软件工程 软件产品质量要求和评估(SQuaRE) 测量参考模型和指南Q/DL.J/A.01-0211-2015 ISO/IEC 25021-2012 Systems and softwareengineering. Systems andsoftware Quality Requirements andEvaluation (SQuaRE).Quality measure elementsQ/DL.J/A.01-0212-2015 ISO/IEC 25030-2007 软件工程 软件产品质量要求和评估(SQuaRE) 质量要求Q/DL.J/A.01-0213-2015 ISO/IEC 25040-2011 系统和软件工程 系统和软件质量要求和评估(SQuaRE)评估过程Q/DL.J/A.01-0214-2015 ISO/IEC 25041-2012 系统和软件工程 系统和软件的质量要求和评价(SQuaRE) 对于开发人员、收购者和独立评估者的评估指南Q/DL.J/A.01-0215-2015 ISO/IEC 25045-2010 系统和软件工程 系统和软件质量要求和评估(SQuaRE)可复原的评估模块Q/DL.J/A.01-0216-2015 ISO/IEC 25051-2006软件工程 软件产品质量要求和评估(SQuaRE) 商业现有(COTS)软件产品和测试说明书的质量要求Q/DL.J/A.01-0217-2015 ISO/TR 25060-2010 系统和软件工程 系统和软件产品质量要求和评估(SQuaRE) 工艺性的通用工业格式(CIF):与工艺性相关信息的一般框架Q/DL.J/A.01-0218-2015 ISO/IEC 26511-2011系统和软件工程 用户文件编制的管理人的要求Q/DL.J/A.01-0219-2015ISO/IEC/IEEE 26512-2011 系统和软件工程 用户文件编制的需方和供方的要求Q/DL.J/A.01-0220-2015 ISO/IEC 26513-2009系统和软件工程 用户文件的测试者和复验者要求 Q/DL.J/A.01-0221-2015 ISO/IEC 26514-2008系统和软件工程 用户文件的设计者和开发者的要求 Q/DL.J/A.01-0222-2015 ISO/IEC 26515-2011系统和软件工程 在敏捷环境中开发用户文件编制 Q/DL.J/A.01-0223-2015 ISO/IEC 26702-2007系统工程 系统工程过程的应用和管理Q/DL.J/A.01-0224-2015 ISO/IEC29110-2-2011软件工程 很小实体的生命周期概况 第2部分:框架和分类Q/DL.J/A.01-0225-2015 ISO 29110-2-2011 软件工程 极小实体的生命周期概况 第2部分:框架和分类Q/DL.J/A.01-0226-2015 ISO/IEC29110-4-1-2011软件工程 很小实体的生命周期概况 第4-1部分:概况规范:一般概况组Q/DL.J/A.01-0227-2015 ISO 29110-4-1-2011 软件工程 极小实体的生命周期概况 第4-1部分:概况规范:一般概况组Q/DL.J/A.01-0228-2015ISO/IEC/IEEE 29148-2011 系统和软件工程 生命周期过程 需求工程Q/DL.J/A.01-0229-2015 ISO/IEC29155-1-2011系统和软件工程 信息技术项目绩效标杆分析法框架第1部分:概念和定义Q/DL.J/A.01-0230-2015ISO/IEC 29168-1-2011 信息技术 开放系统互连 第1部分:目标标识符分辨系统Q/DL.J/A.01-0231-2015ISO/IEC29168-2-2011信息技术 开放系统互连 第2部分:目标标识符分辨系统操作代理规程Q/DL.J/A.01-0232-2015 ISO/IEC 29881-2010信息技术 系统和软件工程FiSMA 1.1功能大小测量法 Q/DL.J/A.01-0233-2015 ISO/IEC/IEEE31320-1-2012信息技术 建模语言 第1部分:用于IDEF0的语法和语义Q/DL.J/A.01-0234-2015 ISO/IEC/IEEE31320-2-2012信息技术 建模语言 第2部分:IDEF1X97(IDEFobject)语法和语义 Q/DL.J/A.01-0235-2015 ISO/IEC 38500-2008 信息技术的法人管理 Q/DL.J/A.01-0236-2015ISO/IEC/IEEE 42010-2011 系统和软件工程 架构描述Q/DL.J/A.01-0237-2015 GB/T 5271.2-1988数据处理词汇 02部分:算术和逻辑运算Q/DL.J/A.01-0238-2015 GB/T 5271.6-2000信息技术 词汇 第6部分:数据的准备和处理Q/DL.J/A.01-0239-2015 GB/T 5271.7-2008信息技术 词汇 第7部分:计算机编程Q/DL.J/A.01-0240-2015 GB/T 5271.8-2001信息技术 词汇 第8部分:安全Q/DL.J/A.01-0241-2015 GB/T 5271.9-2001信息技术 词汇 第9部分:数据通信Q/DL.J/A.01-0242-2015 GB/T 5271.10-1986数据处理词汇 10部分:操作技术和设施Q/DL.J/A.01-0243-2015 GB/T 5271.14-2008信息技术 词汇 第14部分:可靠性、可维护性与可用性 Q/DL.J/A.01-0244-2015 GB/T 5271.16-2008信息技术 词汇 第16部分:信息论Q/DL.J/A.01-0245-2015 GB/T 5271.18-2008信息技术 词汇 第18部分:分布式数据处理Q/DL.J/A.01-0246-2015 GB/T 5271.20-1994信息技术词汇 20部分 系统开发Q/DL.J/A.01-0247-2015 GB/T 5271.22-1993数据处理词汇 22部分:计算器Q/DL.J/A.01-0248-2015 GB/T 5271.27-2001信息技术 词汇 第27部分:办公自动化Q/DL.J/A.01-0249-2015 GB/T 5271.28-2001 信息技术 词汇 第28部分:人工智能 基本概念与专家系统Q/DL.J/A.01-0250-2015 GB/T 5271.36-2012信息技术 词汇 第36部分:学习、教育和培训 Q/DL.J/A.01-0251-2015 ITU-T Y.2069-2012 物联网的术语和定义Terms and definitions forinternet of thingsQ/DL.J/A.01-0252-2015SB/T 10771-2012 基于射频识别的瓶装酒追溯与防伪应用数据编码Q/DL.J/A.01-0253-2015 GB/T 5271.17-2010信息技术 词汇 第17部分:数据库设计开发与创新技术标准标准编号 原标准号 标准名称 Q/DL.J/A.02-0001-2015 GB/T 15387.2-2001 术语数据库开发指南Q/DL.J/A.02-0002-2015ISO/IEC 24778-2008信息技术 自动识别和数据采集技术Aztec 码条码符号技术规范Q/DL.J/A.02-0003-2015 GB/T 20527.1-2006多媒体用户界面的软件人类工效学 第1部分:设计原则和框架Q/DL.J/A.02-0004-2015GB/T 21109.1-2007 过程工业领域安全仪表系统的功能安全 第1部分:框架、定义、系统、硬件和软件要求 Q/DL.J/A.02-0005-2015GB/T 14246.1-1993信息技术 可移植操作系统界面 第1部分:系统应用数序界面Q/DL.J/A.02-0006-2015 GB/T 17970-2000信息技术 处理言语 文件式样的语义及规格说明语言(DSSSL)Q/DL.J/A.02-0007-2015 GB/T 17533.2-1998信息技术 开放系统互连远程数据库访问 第2部分:SQL 专门化Q/DL.J/A.02-0008-2015 GB/T 17962-2000 信息技术信息资源词典系统(IRDS)服务接口Q/DL.J/A.02-0009-2015 GB/Z 17978-2000 信息处理 SGML支持设施 SGML使用技术Q/DL.J/A.02-0010-2015 GB/T 18221-2000 信息技术程序设计语言环境与系统软件接口独立于语言的数据类型Q/DL.J/A.02-0011-2015 GB/T 18792-2002 信息技术文件描述和处理语言超文本置标语言(HTML)Q/DL.J/A.02-0012-2015 GB/T 18793-2002 信息技术可扩展置标语言(XML)1.0Q/DL.J/A.02-0013-2015 GB_T 20281-2006 信息安全技术防火墙技术要求和测试评价方法Q/DL.J/A.02-0014-2015 GB/T 18905.1-2002 软件工程产品评价第1部分:概述Q/DL.J/A.02-0015-2015 GB/T 18905.2-2002 软件工程产品评价第2部分:策划和管理Q/DL.J/A.02-0016-2015 GB/T 18905.3-2002 软件工程产品评价第3部分:开发者用的过程Q/DL.J/A.02-0017-2015 GB/T 18905.4-2002 软件工程产品评价第4部分:需方用的过程Q/DL.J/A.02-0018-2015 GB/T 18905.5-2002 软件工程产品评价第5部分:评价者用的过程Q/DL.J/A.02-0019-2015 GB/T 18905.6-2002 软件工程产品评价第6部分:评价模块的文挡编制Q/DL.J/A.02-0020-2015 GB/T 18976-2003 以人为中心的交互系统设计过程Q/DL.J/A.02-0021-2015 GB/T 18978.2-2004 使用视觉显示终端(VDTs)办公的人类工效学要求第2部分:任务要求指南Q/DL.J/A.02-0022-2015 GB/T 18978.11-2004 使用视觉显示终端(VDTs)办公的人类功效学要求第11部分:可用性指南Q/DL.J/A.02-0023-2015 GB/T 18978.12-2009 使用视觉显示终端(VDTs)办公的人类工效学要求第12部分:信息呈现Q/DL.J/A.02-0024-2015 GB/T 19769.1-2005 工业过程测量和控制系统用功能块第1部分:结构Q/DL.J/A.02-0025-2015 GB/T 19769.2-2005 工业过程测量和控制系统用功能块第2部分:软件工具要求Q/DL.J/A.02-0026-2015 GB/T 19769.4-2007 工业过程测量和控制系统用功能块第4部分:一致性行规指南Q/DL.J/A.02-0027-2015GB/T 19898-2005 工业过程测量和控制应用软件文档集Q/DL.J/A.02-0028-2015GB/T 19902.1-2005 工业自动化系统与集成一制造软件互操作性能力建规第1部分:框架Q/DL.J/A.02-0029-2015 GB/T 19902.2-2005 工业自动化系统与集成一制造软件互操作性能力建规第2部分:建规方法论Q/DL.J/A.02-0030-2015 GB/T 19902.3-2006 工业自动化系统与集成制造软件互操作性能力建规第3部分:接口服务、协议及能力模板Q/DL.J/A.02-0031-2015 GB/T 19902.4-2010 工业自动化系统与集成制造软件互操作性能力建规第4部分:一致性测试方法、判则及报告Q/DL.J/A.02-0032-2015 GB/T 19902.5-2011 工业自动化系统与集成制造软件互操作性能力建规第5部分:基于多能力类结构进行专规匹配的方法学Q/DL.J/A.02-0033-2015 GB/T 19902.6-2012 工业自动化系统与集成制造软件互操作性能力建规第6部分:基于多能力类结构进行专规匹配的接口服务和协议Q/DL.J/A.02-0034-2015 GB/T 20719.1-2006 工业自动化系统与集成过程规范语言第1部分:概述与基本原理Q/DL.J/A.02-0035-2015 GB/T 26239-2010 软件工程开发方法元模型。

UML约束

UML约束

第12章约束到目前为止,本书中介绍的许多表示法都是图形的。

这些图标表示了许多概念,同时通过按一定方式连接这些图标,还表达了许多系统特性。

例如,连接两个矩形的线表示了两个类之间的关联,并说明了这些类的实例如何互相链接。

图中的文字用来命名和标注模型元素,添加特定的注文,例如,重数或监护条件。

图形表示法适合于展示系统的结构方面,但对于描述模型元素的细节特性,或者由相关业务规则对这些模型元素所附加的限制方面,并不是很有效。

这些附加特性可以用约束的形式添加到模型中。

一个约束是关于一个或多个模型元素的断言,它指明了该系统处于合法状态时,系统必须满足的特性。

例如,假定一个银行开设了一种具有优惠利率的新型储蓄账户,但要求该账户的余额必须保持在0到250,000镑范围内。

如果存款(deposit)或取款(withdraw)导致余额(balance)超出此范围则会被拒绝。

图12.1表示了这种储蓄账户类(Saving Acount),在注解内非形式写出的是对它的约束。

图12.1 受约束的储蓄账户UML中非形式写出的约束应当用花括号‘{ }’括起来,放在所描述的模型元素的内部或紧靠所描述的元素的地方。

也可以放在注解的图标内,并用虚线连接到所描述的模型元素。

约束指明的特性可以是真或假。

例如,给定图12.1中储蓄账户类的任一实例,约束的真假值将取决于该实例的余额值是否在所述余额范围内。

系统必须确保所有约束为真。

例如,如果一个账户的余额小于零,就会指出一个错误已经发生,系统已处于非法状态。

UML对于少量常见的情况定义了标准约束。

更一般的约束可以用非形式化的英语、更规范的约束语言或者目标程序设计语言的表示法写出。

UML定义了一种约束语言,称为对象约束语言或简称为OCL。

本章将描述OCL最重要的特征,并给出使用OCL的例子。

12.1 标准约束UML规约定义了若干标准约束,用于不同的模型元素。

例如,在交互图中的链接和实例,或者对应的角色,可以如图9.10和9.12中那样,说明为‘new’,‘transient’或‘destroyed’,以指明它们在一个具体交互中的生命期。

对象约束语言简称OCL

对象约束语言简称OCL

对象约束语言简称OCL(Object Constraint Language),它是一种用于施加在指定的模型元素上约束的语言。

OCL表达式以附加在模型元素上的条件和限制来表现对该对象的约束,其中包括附加在模型元素上的不变量或约束的表达式,附加在操作和方法上的前置条件和后置条件等。

对象约束语言概述对象约束语言是一种形式化语言,它主要用于表示UML模型中施加于模型上的约束。

OCL具有如下特点:1、OCL是一种精确的,无二义性的语言2、OCL是一种规范说明性语言,所有有关实现的问题都不能用OCL来表达3、OCL是一种纯表达式语言,它是具有没有任何副作用的申明性语言。

4、OCL是一种类型化语言,即OCL中的每一个表达式都是具有类型的。

5、OCL不是一种程序设计语言,不能用OCL编写程序逻辑和控制流程。

标准OCL类型OCL预定义的标准类型定义了一组基本类型和集合类型。

OCL的基本类型有"Boolean"、"Integer"、"Real"、"String"等。

集合类型包括"Collection"、"Set"、"Bag"、"Sequence"等。

这些标准型是OCL表达式的组成部分。

OCL标准型的层次结构如下:OCL表达式OCL表达式对于一个OCL类型求值。

OCL表达式有以下特点:1、OCL表达式可以附加在模型元素上,模型元素的所有实例都应该满足表达式的条件。

2、OCL表达式可以附加在操作上。

3、OCL表达式可以指定附加在模型元素上的监护条件。

4、OCL表达式的计算顺序是从左到右。

5、OCL表达式既可以使用基本类型又可以使用集合类型。

用OCL表达对象性质约束OCL表达式可以附加在模型元素或模型元素的属性和操作上表达一个约束条件。

精确域模型的需求让我们拿系谱树形结构作为一个范例,从图 1 之中的图表开始。

软件建模与UML 第八章 对象约束语言

软件建模与UML 第八章 对象约束语言

返回指定Collection中所有元素的和
返回指定Collection与c2 Collection的迪卡尔积
访问集合中的元素并查询或计算表达式
4、集合类型
2)Set类型 Set类型是不包括重复元素的对象组,Set 类型中的元素是无序的。

4、集合类型
定义在Set类型上的操作
操作 union(s : Set(T)) : Set(T) union(bag : Bag(T)) : Bag(T) = (s : Set(T)) : Boolean intersection(s : Set(T)) : Set(T) intersection(bag: Bag(T)) : Set(T) – (s : Set(T)) : Set(T) including(object : T) : Set(T) excluding(object : T) : Set(T) symmetricDifference(s : Set(T)) : Set(T) count(object : T) : Integer asSet() : Set(T) asOrderedSet() : OrderedSet(T) asSequence() : Sequence(T) asBag() : Bag(T) 说明 返回指定Set与参数s的联合体,结果是Set类型 返回指定Set与参数bag的联合体,结果是Bag类型 当指定Set与s包含相同的元素时,返回真 返回指定Set与参数s的交集 返回指定Set与参数bag的交集 返回指定Set与参数s的差集 返回包含在指定Set中的所有元素以及参数对象的Set 返回指定Set中的除参数对象以外的所有元素的Set 返回包含在指定Set和参数Set中,但不同时包含在这两个Set中的元 素组成的Set 返回参数对象在指定Set中出现的次数 返回指定Set本身 返回指定Set中移除所有重复元素后,所有元素以随机顺序组成的 OrderedSet 返回指定Set中所有元素的以随机顺序组成的Sequence 返回包含Set中所有元素的Bag
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第11章 对象约束语言
►11.1 对象约束语言概述 ►11.2 标准OCL类型 ►11.3 OCL表达式 ►11.4 用OCL表达对象性质约束
1
面 向 对
11.1 对象约束语言概述


UML

►UML中的图形符号有时候不能很好的表达所
教 程
要建模的对象一些细节。
►需要对模型中的元素增加一些约束
►约束条件可以采用形式化语言
教 程
型。
第 十 一 章
对 象 约 束 语 言
11
WUHAN UNIVERSITY OF SCIENCE AND 对
2. Set


UML

►Set是不包括重复元素的对象组,Set中的元
教 程
素是无序的。
第 十 一 章
对 象 约 束 语 言
12
WUHAN UNIVERSITY OF SCIENCE AND ENGINEERING

向 对
3. Bag


UML

►Bag也是对象组,Bag和Set不同之处在于Bag
教 程
中可以包含重复元素。
第 十 一 章
对 象 约 束 语 言
13
WUHAN UNIVERSITY OF SCIENCE AND ENGINEERING

向 对
4. Sequence


UML

►Sequence和Bag相似,也可以包含重复元素,
第 十 一 章
对 象 约 束 语 言
15
WUHAN UNIVERSITY OF SCIENCE AND ENGINEERING



4
WUHAN UNIVERSITY OF SCIENCE AND ENGINEERING
面 向 对
OCL的特点


术 ① OCL是一种精确的、无二义性的语言,易于使用和
UML

掌握。
程 ② OCL是一种规范说明性语言,所有有关实现的问题
都不能用OCL来表达。
③ OCL是一种纯表达式语言,它是具有没有任何副作
面 向 对
11.2 标准OCL类型



►OCL预定义的标准类型定义了一组基本类型
UML
教 程
和集合类型。
►OCL的基本类型有“Boolean”、“Integer”、
“Real”和“String”等,集合类型包括
第 十
Collection(群集)以外,还有Set(集合)、
一 章
Bag(袋)和Sequence(序列)等,这些标
对 准类型是OCL表达式的组成部分。





6
WUHAN UNIVERSITY OF SCIENCE AND ENGINEERING
面 向 对
11.2 标准OCL类型


UML

►11.2.1 基本类型
教 程
►11.2.2
集合类型
►11.2.3 OCL中的关键字
第 十 一 章
对 象 约 束 语 言
用的声明性语言。对OCL表达式的计算将返回一个
第 十
值,计算不会改变系统的状态。
一 章

OCL是一种类型化语言,即OCL中的每个表达式都
是具有类型的。
对 象

OCL不是一种程序设计语言,不能用OCL编写程序
约 束
逻辑和控制流程。


5
WUHAN UNIVERSITY OF SCIENCE AND ENGINEERING
7
WUHAN UNIVERSITY OF SCIENCE AND ENGINEERING
面 向 对
11.2.1 基本类型


UML

►OCL定义了很多基本类型,它的基本类型和
教 程
程序设计语言中的数据类型的含义类似。
►OCL还在基本类型上定义了一些操作,这些
操作也与程序设计语言中的操作类似。
第 十
►OCL的基本类型与操作见表11.1、11.2。


对 象 约 束 语 言
8
WUHAN UNIVERSITY OF SCIENCE AND ENGINEERING
面 向 对
11.2.2 集合类型


UML

►除了基本类型以外,OCL还定义了一些较为
教 程
高级的标准OCL类型称为集合类型。
►集合是成组的对象或元素,可以用来作为表 达式计算过程中的结果。
面 向 对
OCL的产生


UML

►OCL的产生是为了解决约束表达的问题。
教 程
►OCL最初由IBM公司设计成功。
►OCL已经为标准化组织OMG所接受,成为了
UML标准的一部分。

十 一
►OCL语言虽然是一种形式化语言,但是它既
章 具有形式化语言无二义性的特点,又消除了
对 象
形式化语言的复杂性。


十 一
►形式化语言对于数学知识很好的人才能熟练
章 运用,普通的开发人员使用起来比较困难.
对 象 约
►对象约束语言是一个形式化的语言,但是不复
束 语
杂.

2
WUHAN UNIVERSITY OF SCIENCE AND ENGINEERING
面 向 对
11.1 对象约束语言概述


UML

►对象约束语言简称OCL(Object Constraint
第 十
►集合类型除了抽象数据类型Collection(群集)
一 章
以外,还有Set(集合)、Bag(袋)和
对 象
Sequence(序列)等。




9
WUHAN UNIVERSITY OF SCIENCE AND ENGINEERING
面 向 对
11.2.4 集合类型


UML

►1. Collection (群集)
教 程
Language),它是一种用于施加在指定的模
型元素上约束的语言。
►OCL表达式以附加在模型元素上的条件和限
第 十
制来表现对该对象的约束,其中包括附加在
一 章
模型元素上的不变量或约束的表达式、附加
对 在操作和方法上的前置条件和后置条件等。
象 约 束 语 言
3
WUHAN UNIVERSITY OF SCIENCE AND ENGINEERING
教 程
►2.
Set(集合)
►3. Bag(袋)
第 ►4. Sequence(序列)
十 一 章
对 象 约 束 语 言
10
WUHAN UNIVERSITY OF SCIENCE AND ENGINEERING

向 对
1. Collection


UML

►Collection是OCL中所有集合的抽象的上级类
教 程
不过Sequence中的元素是有序的。
第 十 一 章
对 象 约 束 语 言
14
WUHAN UNIVERSITY OF SCIENCE AND ENGINEERING
面 向 对
11.2.3 OCL中的关键字



►与程序设计语言一样,OCL也定义了一些关
UML
教 程
键字。
►OCL中的关键字见表11.4(P117)。
相关文档
最新文档