Web文档访问控制与UML描述开发工具USE
立即解锁
发布时间: 2025-08-18 00:54:17 阅读量: 2 订阅数: 15 

# Web文档访问控制与UML描述开发工具USE
## 1. Web文档访问控制
在Web文档的管理中,采用基于角色的访问控制技术可以对Web文档进行有效的访问管理。该方法允许根据每个Web服务器中为每个角色授予的权限,对Web文档进行独立的访问控制。
### 1.1 方法优势
普通用户能够依据当前组织的管理策略,在自己的域中独立管理他们的Web文档。同时,为了实现更安全的Web文档存储,提出了公共层和受保护层的概念。
### 1.2 最终成果
在多Web服务器环境中,根据授予用户角色在每个Web服务器中的访问权限,实现了细粒度的Web文档访问控制方法。
## 2. UML与OCL简介
### 2.1 UML的重要性
统一建模语言UML是软件开发的重要标准,众多商业UML工具纷纷涌现。
### 2.2 OCL的作用
对象约束语言OCL是标准UML的一部分,它是一种规范语言,能以文本细节支持和丰富UML,弥补其在图表形式中无法表达的内容。OCL可以通过不变式精确描述系统结构,通过前置和后置条件描述系统行为。
### 2.3 OCL工具支持
目前,OCL的工具支持正在逐步发展。其中,USE(UML Specification Environment)是最早可用的工具之一。USE基于对OCL形式语义和相关UML特性的概念性工作,以及OCL元模型的研究。其主要任务是验证和检验在UML和OCL中开发的规范。
### 2.4 USE的功能
USE目前版本为2.1,功能不断增强,是唯一允许交互式监控OCL不变式和前置、后置条件的OCL工具。它具有以下功能:
1. 对文本形式的UML和OCL描述进行语法检查和浏览。
2. 通过对象、属性和链接操作生成系统状态。
3. 将系统状态表示为对象图。
4. 监控类图中模型固有的和显式的不变式。
5. 执行操作并监控前置和后置条件。
6. 将操作调用序列表示为序列图。
7. 使用OCL表达式查询系统状态。
## 3. 运行示例:交叉系统
### 3.1 系统描述
以一个简单的交通控制应用为例,一个控制器负责监控街道十字路口的四个交通灯。该系统包含Controller和Light两个类,以及对应的UML状态图。
### 3.2 类与操作
- **Controller类**:可以与四个Light对象链接,拥有createLights操作用于创建和初始化灯,以及switch操作用于切换交叉系统。
- **Light类**:具有r、y、g三个属性分别表示红、黄、绿灯泡,内部操作ryg用于操作三个属性,还有switch操作用于切换状态。此外,还有三个布尔值操作用于检查显示的信号。
### 3.3 状态图
- **Light状态图**:描述了意大利交通灯的三种状态G、YG和R。在状态G中只有绿灯亮,在状态YG中只有黄灯和绿灯亮,在状态R中只有红灯亮。
- **Controller状态图**:有四个状态,根据南北和东西灯的信号命名。要求南北灯状态一致,东西灯状态一致。
### 3.4 系统要求
为了安全起见,南北灯和东西灯不能同时只显示绿灯,也不能同时只显示红灯。USE的目的是让这个描述“活”起来。
## 4. USE的使用
### 4.1 语法检查
UML类图、不变式、前置和后置条件以及UML状态图以文本形式提供给USE。类和关联描述直接编写,类具有属性和操作,查询操作可以用OCL表达式表征。关联通过多重性和角色名描述。
不变式具有类作为上下文和名称,例如Light类的R G YG不变式要求只显示红灯、绿灯或黄灯和绿灯。Controller类的northWestNotBothG不变式禁止南北灯同时显示绿灯的系统状态。
操作可以通过前置和后置条件描述,如Controller的createLights操作有前置和后置条件,Light的switch操作通过三个后置条件编码Light状态图。
### 4.2 系统状态生成
系统状态可以通过在命令窗口输入命令进行操作,基本操作命令包括!create和!destroy用于对象创建和删除,!set用于属性修改,!insert和!delete用于链接修改。也可以从命令文件中读取命令。
以下是createLights.cmd和ryg.cmd命令文件的内容:
```plaintext
createLights.cmd:
!create n:Light
```
0
0
复制全文
相关推荐










