逆向工程用户界面:RAINBOW方法解析
立即解锁
发布时间: 2025-08-22 01:59:18 阅读量: 10 订阅数: 29 


计算机科学讲义6051:编辑委员会与内容概览
### 逆向工程用户界面:RAINBOW 方法解析
#### 1. 现状分析
在正向工程中,图形界面和数据模型之间存在着紧密的联系。从概念模式生成基于表单的界面等工件相对直接,反之,表单中的数据结构可视为概念模式的特定视图,且二者的转换是可行的,这使得数据库逆向工程技术可用于恢复概念模式的片段。
以往从原型工件推导需求有着悠久的历史。不同的研究团队采用了不同的方法,如 Batini 等人研究纸质表单,Choobineh 等人开发基于表单的数据库分析设计系统,Kösters 等人引入结合用户界面和领域分析的需求分析方法等。这些方法都遵循一些核心原则:
1. 构建一组基于表单的界面。
2. 提取底层表单模型。
3. 将表单模型转换为可用的数据模型。
4. 通过查找结构冗余、约束和依赖关系逐步构建集成数据模型。
然而,目前相关研究存在一些局限性:
|局限性|详情|
| ---- | ---- |
|界面绘制工具|提供的绘制界面的工具并非专门为此目的设计,且对最终用户来说可能不方便。|
|表单模型构建|通常需要先分析表单的物理组成(布局),再分析信息组成(内容)来构建底层表单模型,并且原型化的基于表单的界面未使用通用语言,无法在任何目标平台上生成应用程序的 GUI。|
|界面一致性|假设标签在不同表单中一致使用,很少考虑可能的词汇变化(如近义词、阴性、复数、拼写错误等)和本体歧义(如多义词、同形异义词、同义词)。|
|示例使用|未系统地使用示例(通过静态语句或动态交互)来引出约束和依赖关系。|
|最终输出|最终输出仅限于原型本身,底层集成数据模型的最终版本未以方便最终用户验证的方式提交。
#### 2. RAINBOW 方法概述
为缓解 ER 模型可理解性的局限性,提出使用基于表单的用户界面作为双向通道,通过为最终用户提供绘制描述其应用领域关键概念的界面的适当技术,有效地捕获和验证静态数据需求。RAINBOW 方法以简单交互的方式让最终用户参与,同时为分析师提供半自动工具,该方法被形式化为七个步骤的过程:
```mermaid
graph LR
A[Represent] --> B[Adapt]
B --> C[Investigate]
C --> D[Nurture]
D --> E[Bind]
E --> F[Objectify]
F --> G[Wander]
```
1. **表示(Represent)**:邀请最终用户绘制一组基于表单的界面,用于执行其应用领域的日常任务。这些界面通常是用于捕获新客户或新产品等数据的输入表单。最终用户至少要提供界面元素的基本属性(如标签和描述),高级用户还可提供其他属性,如字段大小、预期值类型、默认或预定义值、存在约束以及概念之间的链接。使用专门的绘图工具,提供有限的原始小部件,如界面、分组框、表格、输入字段、选择字段和按钮面板。
2. **适配(Adapt)**:绘制界面后,应用数据库逆向工程技术恢复领域的底层概念模式。自动分析界面,使用映射规则提取数据模型,将每个实体类型转换为原始概念模式,此过程虽数据模型结构简单,但无语义损失。
3. **调查(Investigate)**:交叉分析每个单独的模式,自动识别语义和语法冗余,并呈现给最终用户进行手动验证。
4. **培育(Nurture)**:对最终用户提供的正负数据样本应用归纳技术,引出数据结构之间可能的约束和依赖关系。
5. **绑定(Bind)**:处理经过验证的冗余、约束和依赖关系,将各个模式集成到一个纯概念模式中,该模式代表数据需求,采用基于转换技术的专用方法。
6. **实例化(Objectify)**:从集成概念模式生成轻量级原型应用程序,包含一个简单的数据管理器,允许最终用户操作已表达的概念,如检查、创建、修改和删除数据。
7. **验证(Wander)**:邀请最终用户使用原型,以最终验证需求或识别剩余的缺陷。
#### 3. 方法学特异性
RAINBOW 方法的核心包含四种基本技术,下面详细介绍这些技术及其在该方法中的特点。
##### 3.1 逆向工程
传统的数据库逆向工程旨在从软件中恢复或重建功能规范,通常从程序的源代码开始,用于现有数据库的重构或迁移。其典型包括四个子过程:
- 物理提取:解析 DDL 代码以提取数据库的原始物理
0
0
复制全文
相关推荐










