1. 目的
1.1. 目的
对资源整合平台-客户端平台的需求进行描述,为产品发起者、产品开发者、产品测试者、产品实施人员提供一个统一交流的基准。以求在此基础上,实现所有相关人员的统一认识。同时本文档也作为系统分析人员和架构设计人员分析和设计的基础输入。
1.2. 术语与缩写解释
序号 | 术语与缩略语 | 注释 |
1 | IBUS平台 | 即基于资源整合的软件快速生产平台 |
2 | IBUS客户端平台 | 简称IBUS-UI,用于创建应用程序 |
5 | 布局 | 即应用程序的界面显示结构 |
6 | 布局单元 | 界面单元的容器,一个布局单元可以容纳一个或多个界面单元。注:在V1.0以后的版本中术语“布局单元”改名为“布局区域”以免与“界面单元”混淆。 |
7 | 布局区域 | 即1.0版本中的“布局单元” |
8 | 界面单元 | 包括列表单元、树单元、表单单元;简称单元。 |
9 | 列表单元 | 即列表型的界面单元,用于展现多条记录。 |
10 | 树单元 | 即树型界面单元,用于展现具有层次关系的记录。 |
11 | 表单单元 | 即表单型的 |
1.3. 预期读者与阅读建议
公司投资决策层与该项目团队的管理层,设计团队和执行团队成员。
1.4. 参考资料
序号 | 文档名称 |
1 | 技术原型 |
2. 项目概述
资源整合平台-客户端平台即IBUS的用户界面设计器,是IBUS产品体系的一部分,是一个可以独立运行和部署的软件产品,其目的是为普通用户提供一个可视化的应用开发工具,使得普通用户在无需学习任何软件开发技术的情况下也可以非常容易和快捷地设计和开发本业务领域的软件系统。
2.
2.1. 传统软件开发模式的弊端
传统的软件开发模式存在诸多的弊端:
u 黑箱:对底层隐藏数据的处理和表现缺乏有效的外部查看和控制机制;
u 高技术要求:基于编码的软件实现要求较高的技术能力,高技术要求使得人力资源成为软件开发瓶颈,同时也限制软件的大规模生产;
u 失调的投入产出:传统开发模式的诸多弊端使得软件的人力投入和产出不成比例,投入更多的人力却无法带来预计的效率提升 ;
u 不确定风险:传统软件开发的风险极难确定,由于开发过程的复杂性,不可度量,不易理解的特征使得软件开发中存在时间风险、技术风险、人力风险等多种难于规避的风险 ;
u 质量难于保证:传统软件开发模式往往难于保证质量,由于技术的复杂性和开发的黑箱特征使得软件开发难于确定状态,难于保证质量 ;
u 难于维护和扩展:编码开发的软件系统在维护或更新扩展时工作量巨大,维护系统或对应用进行更新往往要影响系统的使用,并且大部分的工作无法在客户方完成。
2.2. IBUS平台定义
IBUS平台基于资源整合的软件快速生产平台,其目的是解决传统软件开发方法的诸多弊端,为用户提供一种变革性的软件开发方式。IBUS平台是基于SOA服务体系架构开发和运营的,提供丰富的应用构件,实现业务应用的快速开发和展现部署,具有良好的开放性和扩展性。
IBUS平台提供可视化开发工具以及丰富的界面资源、应用资源和数据资源,普通用户即可快速创建具有高扩展性的应用,有效增强用户体验和交互效率,软件开发将真正走向面向资源、面向构件的开发模式。
IBUS平台由于其独特的软件开发运行模式,使得IBUS平台在投入使用的同时可以进行开发;这一特征使得软件可以更快的提供给用户使用,从而更好地适应用户的需求变更;同时为软件维护和变更带来革命。
2.3. 给用户带来的好处
问题域:用户不能明确地描述出自己需要的软件和功能,需要给予直观的引导
IBUS平台提供丰富的页面组件元素,不用编写代码,通过简单组织就可以设计出美观、统一、功能强大的用户交互页面,用户可以非常明确地描述出自己所需要的软件。
问题域:用户要求界面美观、操作简单、快捷、实用
IBUS平台采用B/S结构,直接在IE浏览器中运行,使用上以windows为蓝本,为用户创造更实用、更简单、更快捷的操作模式
问题域:用户提出需求后等待软件开发的时间长
因为IBUS平台Web应用软件的开发是基于构件开发模式,由大量运行稳定、界面美观的组件集成开发而成。其速度是普通开发方式的数十倍上百倍;多数应用的开发可以以小时或分钟来计算,这是普通开发方式所不可比拟的。
问题域:用户需求变更快,软件永远无法满足业务要求
IBUS平台提供了丰富的应用构件,以图形化方式为用户快速构建各种应用软件,大大缩短开发周期。构件兼容性强,需求变更、新功能的开发,都将以插件的形式来为用户服务,而不需要修改其他插件,真正做到随需应变。
问题域:用户要求可以定制软件的独有风格
IBUS平台提供丰富的页面组件元素和个性化定制工具,可以给用户更多的选择,让用户自由选择页面展示模式。并支持用户自定义风格,如:换肤、表单分布排版等。
问题域:软件更新快,希望可以实时使用到最新的软件版本
IBUS平台的实现基于组件且透明、可读,便于软件的维护和更新,独特的流程模式使每个功能都独立存在,更换新版插件即可完成软件更新;更新工作不会影响当前系统的使用。
问题域:新开发的软件可以和用户已有软件集成
按IBUS平台数据层格式封装原有数据层,将业务层封装成组件,支持界面层的简单集成,也可进行页面快速开发,集成速度快。
2.4. 给开发商带来的好处
u 保证软件质量
基于IBUS平台的开发构建于经过反复验证的组件之上,只是业务逻辑的构造,牵涉少量代码编程,因此几乎不存在编码错误,大幅提高软件质量,IBUS平台构造软件几乎不存在程序错误,通过建立合适的开发流程也可以有效规避逻辑错误。
u 降低软件开发成本
IBUS平台屏蔽部分编码工作,大幅简化开发过程;IBUS平台开发对技术的要求大幅降低。IBUS平台无需大量编码即可实现绝大部分的应用开发,开发人员无需掌握复杂编程语言,简单培训后即可胜任开发工作。非编码的开发方式带来软件开发模式的变革,极大地降低软件开发的复杂度,提高软件开发的效率。
u 降低软件维护成本
IBUS平台和Web完全集成,这一特征使得Web应用软件的远程开发和维护变成现实,这给软件系统的更新和维护带来极大的便利。
u 高度软件复用,快速开发新的应用
IBUS平台提供大量功能齐全的构件资源,用户还可以方便地扩展其构件,可快速开发新的应用,提高产品的重用性。
2.5. 产品面向的用户群体
面向用户:中小型企业,院校
带来的好处:
Ø 可视化的在线编辑,提高开发效率;
Ø 统一的数据资源管理,避免数据孤岛以及数据元素同名异义现象发生;
Ø 使用模板技术自动生成前、后的代码,完全的无代码开发。
最终用户类型:
Ø 管理人员(客户):在线进行业务系统的设计、开发、装配、发布、优化等活动;将管理理念和实践经验直接转换成软件产品,避免软件开发过程中的需求鸿沟。
Ø 业务人员(客户);在线进行业务系统的设计、开发、装配、发布、优化等活动;将业务知识和实践经验直接转换成软件产品,避免软件开发过程中的需求鸿沟。
Ø 客服人员:在线解决客户问题;进行产品的在线部署和升级等维护活动。
Ø 开发人员:在产品基础上进行功能扩展和个性化功能的开发。
用户的使用方式:
最终用户通过浏览器远程登陆系统,以所见即所得的方式进行业务系统的设计和生产。用户可以使用系统的在线客服系统随时与系统的客服人员进行沟通。
2.6. 产品应当遵循的标准或规范
遵循的标准或规范:
Ø 《软件产品开发核心过程指南》
Ø 《JAVA代码开发规范》
Ø 《智慧电子产品开发规范》
Ø SOA(SCA、SDO)、Web Service、J2EE、XML
3. 功能需求
3.
3.1. 总体功能要求
一级菜单 | 功能模块 | 功能点 | 描述 | 优先级 |
开发中心 | 模块布局设计 | 创建模块布局 |
| 高 |
变更模块布局 |
| 中 | ||
删除模块布局 |
| 中 | ||
隐藏布局区域标题栏 |
| 中 | ||
显示布局区域标题栏 |
| 中 | ||
修改布局区域标题 |
| 高 | ||
调整布局区域大小 |
| 高 | ||
保存模块布局 |
| 高 | ||
加载模块布局 |
| 高 | ||
预览模块布局 |
| 高 | ||
模块装配 | 增加单元装配关系 |
| 高 | |
修改单元装配关系 |
| 高 | ||
删除单元装配关系 |
| 高 | ||
预览模块 |
| 高 | ||
保存模块 |
| 高 | ||
扩展客户端事件 |
| 中 | ||
扩展服务端事件 |
| 中 | ||
列表单元设计 | 创建列表单元 |
| 高 | |
创建列表工具栏 |
| 高 | ||
创建列表分页栏 |
| 高 | ||
加载列表单元 |
| 高 | ||
保存列表单元 |
| 高 | ||
删除列表单元 |
| 高 | ||
预览列表单元 |
| 高 | ||
修改列表标题 |
| 高 | ||
选择数据源 |
| 高 | ||
设置列表类型 |
| 高 | ||
显示、隐藏工具栏 |
| 高 | ||
显示、隐藏分页栏 |
| 高 | ||
显示、隐藏统计栏 |
| 高 | ||
是否加载数据 |
| 中 | ||
调整列表项宽度 |
| 高 | ||
调整列表项位置 |
| 高 | ||
插入列 |
| 高 | ||
删除列 |
| 高 | ||
隐藏列 |
| 高 | ||
显示列 |
| 高 | ||
设置分组列 |
| 高 | ||
设置固定列 |
| 高 | ||
创建列表项属性面板 |
| 高 | ||
加载列表项属性 |
| 高 | ||
修改列表项标题 |
| 高 | ||
设置数据项 |
| 高 | ||
设置数据类型 |
| 高 | ||
设置控件类型 |
| 高 | ||
设置默认值 |
| 高 | ||
设置只读属性 |
| 高 | ||
是否唯一 |
| 高 | ||
设置非空属性 |
| 高 | ||
自定义验证方法 |
| 中 | ||
显示格式 |
| 中 | ||
创建工具栏定制面板 |
| 高 | ||
加载工具栏定制面板数据 |
| 高 | ||
添加系统按钮 |
| 高 | ||
移除系统按钮 |
| 高 | ||
调整按钮顺序 |
| 高 | ||
增加自定义按钮 |
| 高 | ||
删除自定义按钮 |
| 高 | ||
修改自定义按钮 |
| 高 | ||
保存工具栏按钮 |
| 高 | ||
扩展工具栏按钮 |
| 高 | ||
创建分页栏设置面板 |
| 高 | ||
加载分页栏数据 |
| 高 | ||
设置每页记录数 |
| 高 | ||
设置分页方式 |
| 高 | ||
查询列表记录 |
| 高 | ||
增加 |
| 高 | ||
修改 |
| 高 | ||
删除 |
| 高 | ||
刷新 |
| 高 | ||
保存 |
| 高 | ||
复制 |
| 高 | ||
撤销 |
| 高 | ||
重做 |
| 高 | ||
首页 |
| 高 | ||
末页 |
| 高 | ||
上一页 |
| 高 | ||
下一页 |
| 高 | ||
查询指定页记录 |
| 高 | ||
查询记录总数 |
| 高 | ||
客户端列表操作API |
| 高 | ||
注册客户端扩展事件 |
| 高 | ||
注册服务端扩展事件 |
| 高 | ||
执行客户端事件处理函数 |
| 高 | ||
创建默认表单 |
| 高 | ||
加载表单 |
| 高 | ||
表单单元设计 | 保存表单 |
| 高 | |
删除表单 |
| 高 | ||
预览表单 |
| 高 | ||
初始化表单设计器面板 |
| 高 | ||
修改控件标签 |
| 高 | ||
调整控件大小 |
| 高 | ||
调整控件布局(位置) |
| 高 | ||
删除控件 |
| 高 | ||
复制控件 |
| 低 | ||
选择多个控件(Ctrl) |
| 低 | ||
控件位置微调 |
| 低 | ||
创建表单控件面板 |
| 高 | ||
创建单行文本框(TextField) |
| 高 | ||
创建多行文本框(TextArea) |
| 高 | ||
创建下拉列表框(Select) |
| 高 | ||
创建日期框(Date) |
| 高 | ||
标准工具栏(新增,上一条,下一条,保存,返回,关闭) |
| 高 | ||
工具栏 |
| 高 | ||
创建表单属性面板 |
| 高 | ||
加载表单属性 |
| 高 | ||
修改表单标题 |
| 高 | ||
设置数据源(实体) |
| 高 | ||
创建表单项属性面板 |
| 高 | ||
加载表单项属性 |
| 高 | ||
修改表单项标题 |
| 高 | ||
设置表单项数据源(实体项) |
| 高 | ||
修改表单项数据类型 |
| 高 | ||
修改表单项控件类型 |
| 高 | ||
设置表单项默认值 |
| 中 | ||
设置字段只读属性 |
| 高 | ||
设置非空属性 |
| 高 | ||
自定义字段验证方法 |
| 低 | ||
表单预览 |
| 高 | ||
新建记录 |
| 高 | ||
修改记录 |
| 高 | ||
删除记录 |
| 高 | ||
保存 |
| 高 | ||
上一条记录 |
| 中 | ||
下一条记录 |
| 中 | ||
执行日期验证 |
| 中 | ||
执行字符串长度验证 |
| 中 | ||
执行数字验证 |
| 中 | ||
执行非空验证 |
| 中 | ||
执行自定义验证 |
| 低 | ||
查询单条记录 |
| 高 | ||
查询多条记录 |
| 中 | ||
客户端表单操作API |
| 中 | ||
表单项客户端事件注册 |
| 中 | ||
表单服务端扩展事件注册 |
| 中 | ||
执行表单项客户端事件处理函数 |
| 中 | ||
创建树单元 |
| 高 | ||
加载树单元 |
| 高 | ||
树单元设计 | 保存树单元 |
| 高 | |
删除树单元 |
| 高 | ||
预览树单元 |
| 高 | ||
修改树单元标题 |
| 高 | ||
创建树单元属性设置面板 |
| 高 | ||
加载树单元属性数据 |
| 高 | ||
设置“显示复选框”属性 |
| 中 | ||
设置“支持键盘导航”属性 |
| 中 | ||
设置“支持节点拖拉”属性 |
| 中 | ||
设置“支持多选”属性 |
| 中 | ||
设置“支持节点编辑”属性 |
| 中 | ||
设置“树类型”属性 |
| 中 | ||
关联列表单元 |
| 高 | ||
关联表单单元 |
| 高 | ||
解除关联 |
| 中 | ||
与关联列表单元同步 |
| 中 | ||
与关联表单单元同步 |
| 中 | ||
创建树单元数据源设置面板 |
| 高 | ||
加载树单元数据源设置面板数据 |
| 高 | ||
选择数据源(实体) |
| 中 | ||
设置ID属性 |
| 中 | ||
设置文本属性 |
| 中 | ||
设置层次关联属性 |
| 中 | ||
设置关联方式 |
| 中 | ||
设置关联子数据源属性 |
| 低 | ||
设置子数据源类型 |
| 低 | ||
设置子数据源名称(实体) |
| 低 | ||
设置子数据源ID属性 |
| 低 | ||
设置子数据源文本属性 |
| 低 | ||
设置子树单元名称 |
| 低 | ||
客户端树操作API |
| 高 | ||
树单元客户端事件注册 |
| 中 | ||
树单元服务端扩展事件注册 |
| 中 | ||
执行客户端事件扩展函数 |
| 中 | ||
|
|
| ||
|
|
|
详细描述参见《IBUS_客户端平台_产品功能列表》
3.2. 装配中心
装配中心是IBUS开发中心的核心,是用户应用系统的生产和装配车间,即通过装配中心的各种功能,来整合界面资源、应用资源和数据资源以生成企业应用软件。
装配过程设计到的主要实体有:
Ø 布局模板
Ø 布局
Ø 布局区域
Ø 界面单元
Ø 列表单元
Ø 表单单元
Ø 树单元
Ø 页面文件单元(1.0版本不实现)
Ø JSPtag单元(1.0版本不实现)
各种实体之间的关系如下图所示:
实体关系说明:
u 通过布局模板创建布局;
u 一个布局包含一个或多个布局区域;
u 一个布局区域可以包含零个或多个界面单元;
u 一个界面单元可以有一个或多个版本;
u 系统提供的三种基本类型的界面单元以及两种扩展类型的界面单元;基本类型的界面单元包括标准列表单元、表单单元和树单元;扩展类型的界面单元包括页面文件单元和JSPTag类型的单元。
u 系统支持四种类型的页面文件单元,即JSP文件单元、html文件单元、php文件单元、其他文件单元。(注本阶段不实现页面文件单元)
装配中心主要模块和实体关系图如下:
说明:
Ø 通过“模块装配”模块将“界面单元”装配到“功能模块”;
Ø 通过“界面单元设计”模块创建“界面单元”,包括列表单元、表单单元和树单元等。
Ø 通过“业务实体装配”模块选择物理表及字段装配“业务实体”;
Ø 通过“用户表装配”模块选择“元数据”创建“用户表”。
模块装配的核心流程如下:(模块发布1.0版本不实现)
3.2.1. 模块布局设计
3.2.1.1. 功能描述
模块布局设计即使用模块布局设计器以所见即所得(WYSIWYW)的方式设计模块的页面布局样式。
其功能点如下表:
需求编号 | 功能点名称 | 相关用例 |
IBUS-UI-1.1 | 创建模块布局 | UC0101创建模块布局 |
IBUS-UI-1.2 | 变更模块布局 | UC0102变更模块布局 |
IBUS-UI-1.3 | 删除模块布局 | UC0103删除模块布局 |
IBUS-UI-1.4 | 隐藏布局区域标题栏 | UC0104隐藏布局区域标题栏 |
IBUS-UI-1.5 | 显示布局区域标题栏 | UC0105显示布局区域标题栏 |
IBUS-UI-1.6 | 修改布局区域标题 | UC0106修改布局区域标题 |
IBUS-UI-1.7 | 修改布局区域大小 | UC0107修改布局区域大小 |
IBUS-UI-1.8 | 保存模块布局 | UC0108保存模块布局 |
IBUS-UI-1.9 | 预览模块布局 | UC0109预览模块布局 |
IBUS-UI-1.10 | 加载模块布局 | UC0110加载模块布局 |
| 修改布局单元属性 |
|
Ø 创建模块布局:通过选择特定的布局模板创建模块布局,默认情况下新建的模块布局的标题处于隐藏状态。本系统采用固定式布局模板作为模块的布局模板,目前共提供27种布局模板,如下表所示:
模板名称 | 模板样式 | 模板名称 | 模板样式 |
1C | 2E | ||
2U | 3E | ||
3W | 3J | ||
3T | 3L | ||
3U | 4H | ||
4I | 4T | ||
4U | 5H | ||
5I | 6I | ||
4E | 4W | ||
4A | 4J | ||
4L | 4F | ||
4C | 5U | ||
5E | 5W | ||
6C |
|
|
此外,系统提供标准的布局模板扩展方式,共二次开发人员使用。
Ø 设置布局属性:
布局属性如下表:
属性(中文) | 属性名(英文) | 取值 | 属性说明 |
布局模板名 | pattern |
| 参见“布局模板” |
启用屏保 | isProgressOn | true|false | 默认true |
开启collapse效果 | isCollapseEffectOn | true|false | 默认true |
开启resize效果 | isResizeEffectOn | true|false | 默认true |
开启Highlight效果 | isHighlightEffectOn | true|false | 默认true |
Ø 变更模块布局:在已经创建了模块布局的情况下(此时布局区域中可能已经填充了界面单元),重新设置新的模块布局,采用新的布局替换原布局。变更布局后,可能影响原模块的整体布局,因此需要提醒操作人员是否要变更,只有操作人员确认后才能变更。变更布局后,已经填充的单元以及单元之间的关联关系和装配关系仍保留。
Ø 删除模块布局:即从设计器和持久存储中删除已经创建的模块的页面布局。如当前的布局已经填充了界面单元,则同时删除填充的界面单元以及界面单元的关联关系。
Ø 隐藏布局区域标题栏:即设置布局区域顶部的标题栏区域为显示状态。隐藏的布局区域可以重新设置为显示状态。注:布局区域的标题栏默认为隐藏状态。
Ø 显示布局区域标题栏:即设置布局区域顶部标题栏区域为隐藏状态。可以通过“隐藏布局区域标题栏”功能设置为隐藏状态。
Ø 修改布局区域标题:即修改布局区域顶部标题栏的标题。如图所示:
Ø 调整布局区域大小:通过拖拉布局区域之间的间隔调整布局区域的宽度或高度。如图所示:
Ø 保存模块布局:保存正在设计设计的模块布局。
Ø 预览模块布局:预览正在设计的模块布局。
Ø 加载模块布局:加载已经设计的模块布局,并显示到布局设计器中。
Ø 修改布局单元属性:修改如布局单元的属性,布局单元属性见下表:
属性名 | 英文名 | 说明 |
名称 | Name |
|
标签 | Label |
|
折叠显示标签 |
|
|
折叠 |
|
|
隐藏标题栏 |
|
|
宽度 |
|
|
高度 |
|
|
固定宽度 |
|
|
固定高度 |
|
|
Ø 设置布局区域属性
布局区域的属性如下表:
属性(中文) | 属性(英文) | 取值 | 属性说明 |
窗体标识 | id |
| 布局区域的标识 |
窗体标题 | title |
| 布局区域的标题 |
是否显示标题栏 | isHeaderVisible | true、false |
|
是否展开 | isCollapsed | true、false |
|
是否启用屏保 | isProgressOn | true、false |
|
默认宽度 | width |
|
|
默认高度 | height |
|
|
自动调整宽度 | isAutoWidth | true、false |
|
自动调整高度 | isAutoHeight | true、false |
|
是否固定高度 | isFixHeight | true、false |
|
是否固定宽度 | isFixWidth | true、false |
|
是否dock | isDock | true、false |
|
3.2.1.2. 界面原型
3.2.1.2.1. 【模块布局设计】主界面
3.2.1.3. 用例描述
总用例图:
3.2.1.3.1. UC0101创建模块布局
用例标识号:UC0101 | ||
用例名称:创建模块布局 | ||
参与者:模块布局设计人员 | ||
简要说明: 本用例描述页面模块布局的创建功能。 | ||
前置条件: 1. 用户已登录系统; 2. 用户拥有【模块装配】的功能权限。 3. 用户已进入【模块装配】主界面; 4. 用户拥有【布局设计器】主页面工具栏的“布局模板”按钮的操作权限。 | ||
后置条件: 1. 新创建的模块布局显示到布局设计器面板中; 2. 新创建的布局保存到持久存储中。 | ||
触发条件: 1. 用户单击【布局设计器】主页面工具栏的布局模板图标按钮时,出发该用例。 | ||
事件流: 基本事件流: | ||
步骤 | 用户 | 系统 |
1 | 单击【布局设计器】主页面工具栏的布局模板图标按钮; |
|
2 |
| 系统根据用户选择的布局模板,在模块装配区中显示选择的模块布局; |
3 |
| 系统设置模块布局的默认属性,如设置每一布局区域的默认宽度和高度; |
4 | 对布局模板进行相关的操作; |
|
5 |
| 出发相关的用例; |
6 | 单击【布局设计器】主页面工具栏的【保存】按钮; |
|
7 |
| 系统触发“保存布局模板”用例,将新创建的布局保存到持久存储中; |
扩展事件流: 基本事件流4的扩展: 1. 如系统设置了【自动保存】,则步骤3直接进入步骤7; | ||
特殊要求: 用例开始前,模块还未创建任何模块布局。 | ||
扩展点: 无 | ||
相关用例 1. 保存布局模板 |
3.2.1.3.2. UC0102变更模块布局
用例标识号:UC0102 | ||
用例名称:变更模块布局 | ||
参与者:模块布局设计人员 | ||
简要说明: 本用例描述当模块已经创建了布局时,变更模块布局。此时布局区域可能已经填充了单元或建立了单元之间的关联关系。 | ||
前置条件: 1. 用户已登录系统; 2. 用户已经进入【模块装配】主页面; 3. 用户正在进行布局设计; 4. 用户拥有变更模块布局的操作权限; 5. 正在装配的模块存在已创建的布局。 | ||
后置条件: 1. 变更的布局更新到持久存储中; 2. 布局设计器(也是模块装配器)中显示变更后的布局。 | ||
触发条件: 如模块存在已创建的布局的情况下,用户单击布局设计器工具栏的布局模板按钮时,触发该用例。 | ||
事件流: 基本事件流: | ||
步骤 | 用户 | 系统 |
1 | 选择【布局模板】面板中的“布局模板” |
|
2 |
| 系统弹出确认框,要求用户确认是否要变更模板; |
3 | 单击确认框的【确定】按钮; |
|
4 |
| 系统删除原布局,显示新的布局。 |
5 | 用户单击“保存”操作; |
|
6 |
| 系统触发“保存模块”用例,将新创建的布局保存到持久存储中; |
扩展事件流: 基本事件流1的扩展: a. 若用户执行“设置或修改布局属性”则触发“设置(修改)布局属性”用例; b. 若用户执行“设置或修改布局区域属性”则触发“设置(修改)布局区域属性”用例; 基本事件流2的扩展: 如果当前布局 基本事件流4的扩展: 若系统设置了【自动保存】,则从步骤4直接进入步骤5。 | ||
特殊要求: 无 | ||
扩展点: 无 | ||
相关用例 1. |
3.2.1.3.3. UC0103删除模块布局
用例标识号: | ||
用例名称:删除模块布局 | ||
参与者:模块装配人员 | ||
简要说明: 本用例说明用户对已有的布局的删除操作。 | ||
前置条件: 1. 用户已登录系统; 2. 用户已进入【模块装配】主页面; 3. 用户拥有【删除布局】的操作权限。 | ||
后置条件: 1. 待删除的布局成为该模块的历史版本; 2. 清空布局设计器窗口。 | ||
触发条件: 1. 当用户选择【功能模块】面板的结点,单击右键菜单的【删除】菜单项时,触发该用例。 | ||
事件流: 基本事件流: | ||
步骤 | 用户 | 系统 |
1 | 用户选择【功能模块】面板的结点,单击右键菜单的【删除】菜单项; |
|
2 |
| 提示用户是否确认要删除当前的布局; |
3 | 确认删除操作 |
|
4 |
| 将当前布局从持久存储中删除。 |
5 |
| 从界面清除当前布局; |
|
| 提示用户删除成功 |
扩展事件流: 步骤3的扩展事件流: 1. 当用户取消删除操作时,系统关闭确认对话框,用例结束。 步骤4的扩展事件流: 1. 当保存失败时,系统对删除操作进行回滚; 2. 提示删除失败; | ||
特殊要求: 如当前菜单未装配模块,则单击【删除】菜单项时,系统不做任何操作。 | ||
扩展点: 无 | ||
相关用例 1. 管理布局:管理布局包含本用例; 2. 保存模块:本用例触发保存模块用例实现对模块布局的删除操作。 |
3.2.1.3.4. UC0104隐藏布局区域标题栏
用例标识号:UC0104 | ||
用例名称:隐藏布局区域标题栏 | ||
参与者:模块布局设计人员 | ||
简要说明: 本用例说明隐藏布局区域标题栏的操作。 | ||
前置条件: 1. 用户已登录系统; 2. 用户已进入【模块装配】主页面; 3. 用户拥有【隐藏布局区域标题栏】的操作权限; 4. 模块布局已创建; 5. 目标布局区域的标题栏处于显示状态。 | ||
后置条件: 1. 在设计区中隐藏指定布局区域的标题栏; 2. 更新布局区域的实体数据。 | ||
触发条件: 1. 当用户在布局区域中单击右键菜单的【√显示标题栏】时,触发该用例。 | ||
事件流: 基本事件流: | ||
步骤 | 用户 | 系统 |
1 | 当用户在布局区域中单击右键菜单的【√显示标题栏】时,触发该用例 |
|
2 |
| 在设计区中隐藏指定布局区域的标题栏; |
3 |
| 更新布局的实体信息; |
4 |
| 用例结束。 |
扩展事件流: 无 | ||
特殊要求: 目标布局区域的标题栏处于显示状态。 | ||
扩展点: 无 | ||
相关用例 1. 无 |
3.2.1.3.5. UC0105显示布局区域标题栏
用例标识号:UC0105 | ||
用例名称:显示布局区域标题栏 | ||
参与者:模块布局设计人员 | ||
简要说明: 本用例说明显示布局区域标题栏的操作。 | ||
前置条件: 1. 用户已登录系统; 2. 用户已进入【模块装配】主页面; 3. 用户拥有【显示布局区域标题栏】的操作权限; 4. 模块布局已经创建; 5. 目标布局区域的标题栏处于隐藏状态。 | ||
后置条件: 1. 在设计区中显示指定布局区域的标题栏; 2. 更新布局区域的实体数据。 | ||
触发条件: 1. 当用户在布局区域中单击右键菜单的【显示标题栏】时,触发该用例。 | ||
事件流: 基本事件流: | ||
步骤 | 用户 | 系统 |
1 | 当用户在布局区域中单击右键菜单的【显示标题栏】时,触发该用例 |
|
2 |
| 在设计区中显示指定布局区域的标题栏; |
3 |
| 更新布局的实体信息; |
4 |
| 用例结束。 |
扩展事件流: 无 | ||
特殊要求: 目标布局区域的标题栏处于隐藏状态。 | ||
扩展点: 无 | ||
相关用例 2. 无 |
3.2.1.3.6. UC0106修改布局区域标题
用例标识号:UC0106 | ||
用例名称:修改布局区域标题 | ||
参与者:模块布局设计人员 | ||
简要说明: 本用例说明修改布局区域标题的操作。 | ||
前置条件: 1. 用户已登录系统; 2. 用户已进入【模块装配】主页面; 3. 用户拥有【修改布局区域标题】的操作权限; 4. 模块布局已经创建。 | ||
后置条件: 1. 在设计区中的指定布局区域标题栏中显示新的标题; 2. 更新布局区域的实体数据。 | ||
触发条件: 1. 当用户双击布局区域的标题栏时,触发该用例。 | ||
事件流: 基本事件流: | ||
步骤 | 用户 | 系统 |
1 | 当用户双击布局区域的标题栏时,触发该用例; |
|
2 |
| 将标题设置成可修改模式,即文本编辑框; |
3 | 输入新的标题; |
|
4 | 回车,或鼠标焦点离开标题编辑框; |
|
5 |
| 将标题设置成只读模式,并显示新的标题栏; |
6 |
| 修改布局的实体数据; |
7 |
| 用例结束。 |
扩展事件流: 无 | ||
特殊要求: 无 | ||
扩展点: 无 | ||
相关用例 无 |
3.2.1.3.7. UC0107修改布局区域大小
用例标识号:UC0107 | ||
用例名称:修改布局区域大小 | ||
参与者:模块布局设计人员 | ||
简要说明: 本用例说明修改布局区域大小的操作。 | ||
前置条件: 1. 用户已登录系统; 2. 用户已进入【模块装配】主页面; 3. 用户拥有【修改布局区域大小】的操作权限; 4. 模块布局已经创建。 | ||
后置条件: 1. 在设计区中显示实时显示改变大小的各布局区域; 2. 更新布局区域的实体数据。 | ||
触发条件: 1. 当用户拖拉布局区域之间的分割条时,触发该用例。 | ||
事件流: 基本事件流: | ||
步骤 | 用户 | 系统 |
1 | 用户拖拉布局区域之间的分割条; |
|
2 |
| 将布局(包括各布局区域)设置成改变大小模式; |
3 | 拖动分隔条; |
|
4 |
| 实时调整分隔条两端单元的大小; |
5 | 松开鼠标左键; |
|
6 |
| 将布局设置成正常模式; |
7 |
| 修改布局的实体数据; |
8 |
| 用例结束。 |
扩展事件流: 无 | ||
特殊要求: 无 | ||
扩展点: 无 | ||
相关用例 无 |
3.2.1.3.8. UC0108保存模块布局
用例标识号:UC0108 | ||
用例名称:保存模块布局 | ||
参与者:模块布局设计人员 | ||
简要说明: 本用例用于保存装配过程中的全部布局、以及单元和装配关系等信息。 | ||
前置条件: 1. 用户已登录系统; 2. 用户已进入【模块装配】功能主界面; 3. 用户正在进行模块装配; 4. 用户拥有【保存模块】的操作权限。 | ||
后置条件: 1. 将操作的布局保存到持久存储中。 | ||
触发条件: 1. 用户单击【模块装配】功能主界面工具栏的【保存】按钮时触发用例; 2. 如系统设置了【自动保存】,则当用户执行相关操作时,系统自动保存,即直接进入步骤2。(具体操作参见模块装配的其他用例) | ||
事件流: 基本事件流: | ||
步骤 | 用户 | 系统 |
1 | 单击【模块装配】功能主界面工具栏的【保存】按钮; |
|
2 |
| 将操作结果保存到永久存储中 |
3 |
| 将操作结果返回界面 |
|
|
|
扩展事件流: 步骤2的扩展事件流: 当持久化过程发生错误时, 1. 系统清除本次操作进行回滚,避免造成数据的不一致性; 2. 提示用户操作失败,用例结束。 | ||
特殊要求: | ||
扩展点: 无 | ||
相关用例 略 |
3.2.1.3.9. UC0109加载模块布局
用例标识号:UC0109 | ||
用例名称:加载模块布局 | ||
参与者:模块布局设计人员 | ||
简要说明: 本用例描述模块布局的加载功能,即将已设计的模块布局加载到模块布局设计区中。 | ||
前置条件: 1. 用户已登录系统; 2. 用户拥有【模块布局设计】的功能权限; 3. 用户拥有【加载模块布局】的操作权限。 | ||
后置条件: 1. 已创建的模块布局显示到布局设计区中; 2. 将模块布局信息同步到模块实体中。 | ||
触发条件: 1. 用户在模块预览界面中单击工作区右上角的“继续设计”链接; 2. 用户在模块功能页面(如人员基本信息模块主页面)右上角的“继续设计”链接; | ||
事件流: 基本事件流: | ||
步骤 | 用户 | 系统 |
1 | 参见触发条件; |
|
2 |
| 从后台查询模块布局的实体信息; |
3 |
| 跳转到布局设计器主页面; |
4 |
| 解析模块布局实体信息; |
5 |
| 在布局设计区中创建并显示模块布局; |
6 |
| 创建并同步模块布局信息实体对象。 |
扩展事件流: 步骤2的扩展事件流: 1. 当加载数据失败时,提示用户加载失败,用例结束。 | ||
特殊要求: 触发条件2中,只有用户具有【模块布局设计】的功能权限时才显示。 | ||
扩展点: 无 | ||
相关用例 略 |
3.2.1.3.10. UC0110预览模块布局
用例标识号:UC0110 | ||
用例名称:预览模块布局 | ||
参与者:模块布局设计人员 | ||
简要说明: 本用例描述模块布局的预览操作。 | ||
前置条件: 1. 用户已登录系统; 2. 用户已进入【模块装配】功能主界面; 3. 用户正在进行模块布局设计; 4. 用户拥有【预览模块布局】的操作权限。 | ||
后置条件: 1. 根据设计的参数在工作区中显示当前的模块布局。 | ||
触发条件: 1. 用户单击【模块装配】功能主界面工具栏的【预览】按钮时触发本用例;
| ||
事件流: 基本事件流: | ||
步骤 | 用户 | 系统 |
1 | 单击【模块装配】功能主界面工具栏的【预览】按钮; |
|
2 |
| 工作区跳转到预览页面; |
3 |
| 在预览页面中显示模块布局; |
4 |
| 用例结束。 |
扩展事件流: 无 | ||
特殊要求: 无 | ||
扩展点: 无 | ||
相关用例 略 |
3.2.1.3.11. UC0110设置布局区域属性
未完成
3.2.2. 单元填充
3.2.2.1. 功能描述
单元填充模块包括填充单元、调整单元位置、删除单元等功能。功能点如下:
需求编号 | 功能点名称 | 相关用例 |
| 填充单元 |
|
| 调整单元位置 |
|
| 删除界面单元 |
|
| 模块资源视图 |
|
其中:
单元填充,即在布局区域中填充界面单元;包括在布局区域中创建新的界面单元,以及将已有的界面单元添加到布局区域中。如果填充的是新的单元,那么布局区域中显示默认的单元。调整单元位置,即将单元从一个区域调整到另一区域,或者调整单元在区域中的显示顺序。有三种方式调整单元的位置:
1. 通过可视化的拖拉方式调整同一布局区域的不同单元的顺序?
2. 通过调整标签页的顺序来调整同一区域中单元的顺序?
3. 在模块的资源视图中拖拉单元节点的位置来调整单元的位置?
删除单元,即将界面单元从布局区域中删除,删除后的单元见暂存到资源回收站中以便可以恢复。
模块资源视图:用于显示模块的资源目录,如显示模块的布局、布局区域以及单元之间的层次关系,以及通过资源回收站保存删除的单元。
3.2.2.2. 界面原型
3.2.2.2.1. 单元填充主界面
3.2.2.3. 用例描述
用例图
未完成
3.2.2.3.1. 单元填充
未完成
3.2.2.3.2. 调整单元位置
未完成
3.2.2.3.3. 删除界面单元
未完成
3.2.2.3.4. 显示资源视图
3.2.3. 模块装配
3.2.3.1. 功能描述
模块装配即建立模块的展现样式,和模块中界面单元的关联关系以及各界面单元在模块上下文中的扩展。其功能点如下表所示:
需求编号 | 功能点名称 | 相关用例 |
IBUS-UI-1.11 | 增加单元装配关系 | UC0201增加单元装配关系 |
IBUS-UI-1.12 | 修改单元装配关系 | UC0202修改单元装配关系 |
IBUS-UI-1.13 | 删除单元装配关系 | UC0203删除单元装配关系 |
IBUS-UI-1.14 | 预览模块 | UC0204预览模块 |
IBUS-UI-1.15 | 保存模块 | UC0205保存模块 |
IBUS-UI-1.16 | 扩展客户端事件 | UC0208扩展客户端事件 |
IBUS-UI-1.17 | 扩展服务端事件 | UC0209扩展服务端事件 |
IBUS-UI-1.18 | 加载模块 | UC0206加载模块 |
Ø 填充布局区域
即将界面单元填充到具体的布局区域中,一个界面单元可以填充若干界面单元,同一布局区域填充的界面单元具有一定的顺序关系。界面单元的默认为填充的先后顺序,填充在前的位于靠前的顺序。
Ø 调整界面单元位置
界面单元的位置调整有两种:
² 将界面单元从当前布局区域调整到其他的布局区域;
² 布局区域中存在多个界面单元是,调整界面单元的相对位置。
系统提供图形化的拖拉方式实现界面单元位置的调整。调整单元的位置不会改变单元之间的装配关系。
Ø 删除界面单元
即删除模块中的界面单元。删除界面单元后,如果该单元已经与其他单元建立了装配关系,则应删除他们之间的关系。
n 扩展界面单元
通过扩展界面单元的功能,可以为界面单元提供模块上下文中必须的,超出基本操作之外的功能。
扩展界面单元包括扩展树单元、扩展客户端事件和扩展服务端持久化事件等功能。
对于普通的数据型界面单元(如列表单元和表单单元),系统通过【扩展客户端事件】和【扩展服务端持久化事件】的方式来扩展界面单元基本功能。对于树型单元,系统通过【扩展树单元事件】和【扩展服务端持久化事件】来进行功能的扩展。
n 装配单元关系
装配界面单元,即简历布局区域中各界面单元的关联关系。关联关系包括展现层的单元互动关系以及对应业务实体之间的逻辑关系。装配界面单元包括建立、修改和删除界面单元之间的关系。
n 保存模块
保存模块的布局、单元以及装配关系等。
n 预览模块
模块装配人员在进行模块装配过程中或者模块装配完成后可以进行装配模块的预览,从而检查装配的模块是否符合满足的需求。模块预览的展现方式和功能实现与用户执行该模块时的展现方式和功能实现完全相同;从而真正达到所见即所得的软件生产方式。
n 管理模块版本
3.2.3.2. 界面原型
3.2.3.2.1. 【模块装配】主界面
3.2.3.2.2. 【关系装配】窗口
3.2.3.2.3. 【列表单元扩展】窗口
客户端扩展界面:
服务端扩展界面:
3.2.3.2.4. 【客户端脚本编辑器】
3.2.3.3. 用例描述
用例图
UC0201增加单元装配关系 |
UC0203删除单元装配关系 |
UC0204预览模块 |
UC0205保存模块 |
UC0206加载模块 |
UC0207扩展客户端事件 |
模块装配人员 |
UC0208扩展服务事件 |
UC0202修改单元装配关系 |
3.2.3.3.1. UC0201增加单元装配关系
用例标识号:UC0201 | ||
用例名称:增加单元装配关系 | ||
参与者:模块装配人员 | ||
简要说明: 本用例用于新增界面单元之间的装配关系信息。 | ||
前置条件: 1. 用户已登录系统; 2. 用户已进入【模块装配】功能主界面; 3. 用户正在进行模块装配; 4. 用户正在进行【关系装配】(即系统已弹出【关系装配】窗口); 5. 用户拥有【关系装配】窗口工具栏的【新增】按钮的操作权限。 | ||
后置条件: 1. 将新增的界面单元关系保存到持久存储中。 | ||
触发条件: 1. 用户单击【关系装配】窗口工具栏的【新增】按钮时触发用例; 2. 如系统设置了【自动保存】,则当用户执行相关操作时,系统自动保存,即直接进入步骤2。(具体操作参见模块装配的其他用例)。 | ||
事件流: 基本事件流: | ||
步骤 | 用户 | 系统 |
1 | 单击【关系装配】窗口工具栏的【新增】按钮; |
|
2 |
| 在【关系装配】窗口的关系列表末尾新增一行,且处于修改模式; |
3 | 输入或选择相应的装配信息; |
|
4 | 单击关系列表工具栏的【确定】按钮; |
|
5 |
| 触发“保存单元装配关系”用例,执行保存操作。 |
扩展事件流: 步骤5的扩展事件流: 1. 当保存失败时,系统对删除操作进行回滚; 2. 提示操作失败; | ||
特殊要求: 无 | ||
扩展点: 无 | ||
相关用例 1. 装配单元关系 2. 保存单元装配关系 |
3.2.3.3.2. UC0202修改单元装配关系
用例标识号:UC0202 | ||
用例名称:修改单元装配关系 | ||
参与者:模块装配人员 | ||
简要说明: 本用例用于修改界面单元之间的装配关系信息。 | ||
前置条件: 1. 用户已登录系统; 2. 用户已进入【模块装配】功能主界面; 3. 用户正在进行模块装配; 4. 用户正在进行【关系装配】(即系统已弹出【关系装配】窗口); 5. 用户拥有修改界面单元装配关系的操作权限。 | ||
后置条件: 1. 将更新后的界面单元关系保存到持久存储中。 | ||
触发条件: 1. 用户单击列表记录项,输入或选择新的装配关系时触发用例; 2. 如系统设置了【自动保存】,则当用户执行相关操作时,系统自动保存,即直接进入步骤2。(具体操作参见模块装配的其他用例)。 | ||
事件流: 基本事件流: | ||
步骤 | 用户 | 系统 |
1 | 单击列表记录项; |
|
2 |
| 将单击的记录项设置成修改模式; |
3 | 输入或选择新的关系信息; |
|
4 | 单击关系列表工具栏的【确定】按钮; |
|
5 |
| 触发“保存单元装配关系”用例,执行保存操作。 |
扩展事件流: 步骤5的扩展事件流: 3. 当保存失败时,系统对删除操作进行回滚; 4. 提示操作失败; | ||
特殊要求: 步骤1到3可以执行多次。 | ||
扩展点: 无 | ||
相关用例 略 |
3.2.3.3.3. UC0203删除单元装配关系
用例标识号:UC0203 | ||
用例名称:删除单元装配关系 | ||
参与者:模块装配人员 | ||
简要说明: 本用例用于删除界面单元之间的装配关系信息。 | ||
前置条件: 1. 用户已登录系统; 2. 用户已进入【模块装配】功能主界面; 3. 用户正在进行模块装配; 4. 用户正在进行【关系装配】(即系统已弹出【关系装配】窗口); 5. 用户拥有【关系装配】窗口工具栏的【删除】按钮的操作权限; | ||
后置条件: 1. 持久存储中已删除执行的单元关系; 2. 【关系装配】窗口中已清除删除的单元关系记录。 | ||
触发条件: 1. 用户选择【关系装配】窗口的关系记录,单击【关系装配】窗口工具栏的【删除】按钮时触发用例; 2. 如系统设置了【自动保存】,则当用户执行相关操作时,系统自动保存,即直接进入步骤2。(具体操作参见模块装配的其他用例)。 | ||
事件流: 基本事件流: | ||
步骤 | 用户 | 系统 |
1 | 用户选择【关系装配】窗口的关系记录,单击【关系装配】窗口工具栏的【删除】按钮; |
|
2 |
| 弹出对话框,提示用户确认删除操作; |
3 | 单击【确认】按钮; |
|
4 |
| 触发“保存单元装配关系”用例,执行删除操作。 |
5 |
| 从【关系装配】窗口清除已删除的记录; |
6 |
| 提示操作成功。 |
扩展事件流: 步骤3的扩展事件流: 1. 当用户单击【取消】按钮时,系统关闭确认对话框,用例结束。 步骤4的扩展事件流: 1. 当保存失败时,系统对删除操作进行回滚; 提示删除失败; | ||
特殊要求: 无 | ||
扩展点: 无 | ||
相关用例 略 |
3.2.3.3.4. UC0204预览模块
与预览模块布局相同,参见“3.2.1.3.10. UC0110预览模块布局”。
3.2.3.3.5. UC0205保存模块
用例标识号:UC0205 | ||
用例名称:保存模块 | ||
参与者:模块装配人员 | ||
简要说明: 本用例用于保存装配过程中的全部布局、以及单元和装配关系等信息。 | ||
前置条件: 1. 用户已登录系统; 2. 用户已进入【模块装配】功能主界面; 3. 用户正在进行模块装配; 4. 用户拥有【保存模块】的操作权限。 | ||
后置条件: 1. 将操作的布局保存到持久存储中。 | ||
触发条件: 1. 用户单击【模块装配】功能主界面工具栏的【保存】按钮时触发用例; 2. 如系统设置了【自动保存】,则当用户执行相关操作时,系统自动保存,即直接进入步骤2。(具体操作参见模块装配的其他用例) | ||
事件流: 基本事件流: | ||
步骤 | 用户 | 系统 |
1 | 单击【模块装配】功能主界面工具栏的【保存】按钮; |
|
2 |
| 将操作结果保存到永久存储中 |
3 |
| 将操作结果返回界面 |
|
|
|
扩展事件流: 步骤2的扩展事件流: 当持久化过程发生错误时, 1. 系统清除本次操作进行回滚,避免造成数据的不一致性; 2. 提示用户操作失败,用例结束。 | ||
特殊要求: | ||
扩展点: 无 | ||
相关用例 略 |
3.2.3.3.6. UC0206加载模块
与加载模块布局相同,参见“3.2.1.3.9. UC1009加载模块布局”。
3.2.3.3.7. UC0207扩展客户端事件
用例标识号:UC0207 | ||
用例名称:扩展客户端事件 | ||
参与者:模块装配人员 | ||
简要说明: 本用例描述扩展布局区域客户端操作事件,即界面操作事件的功能。 | ||
前置条件: 1. 用户已登录系统; 2. 用户已进入【模块装配】功能主界面; 3. 用户正在进行模块装配; 4. 用户拥有单元设计区右键菜单的【扩展…】菜单项的操作权限。 | ||
后置条件: 1. 将扩展事件保存到持久存储中。 | ||
触发条件: 1. 用户在布局设计区中右键单击【扩展…】项; 2. 系统显示列表单元扩展界面; 3. 用户选择“客户端扩展”标签页,触发用例。 | ||
事件流: 基本事件流: | ||
步骤 | 用户 | 系统 |
1 | 参见触发用例1、2、3; |
|
2 |
| 显示客户端扩展事件列表; |
3 | 选择和输入客户端事件扩展信息; |
|
4 | 单击客户端事件列表工具栏的【保存】按钮; |
|
5 |
| 保存事件扩展信息; |
6 | 单击面板的【关闭】按钮; |
|
7 |
| 用例结束 |
扩展事件流: 步骤5的扩展事件流: 1. 当保存失败时,系统对删除操作进行回滚; 2. 提示操作失败; | ||
特殊要求: 无 | ||
扩展点: 无 | ||
相关用例 无 |
3.2.3.3.8. UC0208扩展服务端事件
用例标识号:UC0208 | ||
用例名称:扩展服务端事件 | ||
参与者:模块装配人员 | ||
简要说明: 本用例描述扩展布局区域服务端持久化操作事件的功能。 | ||
前置条件: 1. 用户已登录系统; 2. 用户已进入【模块装配】功能主界面; 3. 用户正在进行模块装配; 4. 用户拥有单元设计区右键菜单的【扩展…】菜单项的操作权限。 | ||
后置条件: 1. 将服务端扩展事件保存到持久存储中。 | ||
触发条件: 1. 用户在布局设计区中右键单击【扩展…】项; 2. 系统显示列表单元扩展界面; 3. 用户选择“服务端扩展”标签页,触发用例。 | ||
事件流: 基本事件流: | ||
步骤 | 用户 | 系统 |
1 | 参见触发用例1、2、3; |
|
2 |
| 显示服务端扩展事件列表; |
3 | 选择和输入服务端事件扩展信息; |
|
4 | 单击服务端事件列表工具栏的【保存】按钮; |
|
5 |
| 保存服务扩展信息; |
6 | 单击面板的【关闭】按钮; |
|
7 |
| 用例结束 |
扩展事件流: 步骤5的扩展事件流: 1. 当保存失败时,系统对删除操作进行回滚; 2. 提示操作失败; | ||
特殊要求: 无 | ||
扩展点: 无 | ||
相关用例 无 |
3.2.4. 列表单元设计
3.2.4.1. 功能描述
界面单元是一种基本的界面资源,是界面组件和元件的集合,各种组件和元件通过一定的规则进行组合,完成特定的功能。本系统的界面单元主要有列表单元、表单单元、树单元、图表单元等。
界面单元设计包括列表单元设计和表单单元设计等模块。
列表单元是档案型信息管理系统最基本和最常用的界面单元。用户使用“列表单元设计器” 以所见即所得的方式在线进行列表单元的设计和预览。即用户通过在线的方式创建、修改、删除列表单元;
列表单元设计的功能点如下表所示:
需求编号 | 功能点名称 | 相关用例 |
IBUS-UI-2.1 | 创建列表单元 | UC1001创建列表单元 |
IBUS-UI-2.2 | 加载列表单元 | UC1009加载列表单元 |
IBUS-UI-2.3 | 保存列表单元 | UC1007保存列表单元 |
IBUS-UI-2.4 | 删除列表单元 | UC1008删除列表单元 |
IBUS-UI-2.5 | 预览列表单元 | UC1006预览列表单元 |
IBUS-UI-2.6 | 设置列表属性-修改列表标题 | UC1002设置列表属性 |
IBUS-UI-2.7 | 设置列表属性-选择数据源 | UC1002设置列表属性 |
IBUS-UI-2.8 | 设置列表属性-设置列表类型 | UC1002设置列表属性 |
IBUS-UI-2.9 | 设置列表属性-显示、隐藏工具栏 | UC1002设置列表属性、UC100410显示工具栏、UC100411隐藏工具栏 |
IBUS-UI-2.10 | 设置列表属性-显示、隐藏分页栏 | UC1002设置列表属性 |
IBUS-UI-2.11 | 设置列表属性-显示、隐藏统计栏 | UC1002设置列表属性 |
IBUS-UI-2.12 | 调整列表项宽度 | UC100305调整列表项宽度 |
IBUS-UI-2.13 | 调整列表项位置 | UC100304调整列表项位置 |
IBUS-UI-2.15 | 插入列表项 | UC100301插入列表项 |
IBUS-UI-2.16 | 删除列表项 | UC100302删除列表项 |
IBUS-UI-2.17 | 隐藏列表项 | UC100307隐藏列表项 |
IBUS-UI-2.18 | 显示列表项 | UC100306显示列表项 |
IBUS-UI-2.19 | 设置分组列 | UC100309设置分组列 |
IBUS-UI-2.20 | 设置固定列 | UC100310设置固定列 |
IBUS-UI-2.21 | 设置列表项属性-创建列表项属性面板 | UC100308设置列表项属性 |
IBUS-UI-2.22 | 设置列表项属性-加载列表项属性 | UC100308设置列表项属性 |
IBUS-UI-2.23 | 设置列表项属性-修改标题 | UC100303修改列表项标题 UC100308设置列表项属性 |
IBUS-UI-2.24 | 设置列表项属性-数据项 | UC100308设置列表项属性 |
IBUS-UI-2.25 | 设置列表项属性-数据类型 | UC100308设置列表项属性 |
IBUS-UI-2.26 | 设置列表项属性-控件类型 | UC100308设置列表项属性 |
IBUS-UI-2.27 | 设置列表项属性-默认值 | UC100308设置列表项属性 |
IBUS-UI-2.28 | 设置列表项属性-只读属性 | UC100308设置列表项属性 |
IBUS-UI-2.30 | 设置列表项属性-“可否为空”属性 | UC100308设置列表项属性 |
IBUS-UI-2.66 | 设置列表项属性-自定义验证方法 | UC100308设置列表项属性 |
IBUS-UI-2.67 | 设置列表项属性-显示格式 | UC100308设置列表项属性 |
IBUS-UI-2.31 | 创建工具栏定制面板 | UC100101创建列表工具栏 |
IBUS-UI-2.32 | 加载工具栏定制面板数据 | UC100101创建列表工具栏 |
IBUS-UI-2.33 | 增加工具栏按钮 | UC100401增加工具栏按钮 |
IBUS-UI-2.34 | 移除工具栏按钮 | UC100402移除工具栏按钮 |
IBUS-UI-2.35 | 调整工具栏按钮顺序 | UC100403调整工具栏按钮顺序 |
IBUS-UI-2.36 | 增加自定义按钮 | UC100404增加自定义按钮 |
IBUS-UI-2.37 | 删除自定义按钮 | UC100406删除自定义按钮 |
IBUS-UI-2.68 | 修改自定义按钮 | UC100405修改自定义按钮 |
IBUS-UI-2.69 | 保存工具栏按钮 | UC100408保存工具栏按钮 |
IBUS-UI-2.70 | 扩展工具栏按钮 | UC100409扩展工具栏按钮 |
IBUS-UI-2.38 | 创建分页栏设置面板 | UC1005设计列表分页栏 |
IBUS-UI-2.39 | 加载分页栏数据 | UC1005设计列表分页栏 |
IBUS-UI-2.40 | 设置分页栏属性-设置每页记录数 | UC100501设置分页栏属性 |
IBUS-UI-2.41 | 设置分页栏属性-设置分页方式 | UC100501设置分页栏属性 |
IBUS-UI-2.42 | 查询列表记录 | UC1012操作列表 |
IBUS-UI-2.43 | 列表操作-增加 | UC1012操作列表 |
IBUS-UI-2.44 | 列表操作-修改 | UC1012操作列表 |
IBUS-UI-2.45 | 列表操作-删除 | UC1012操作列表 |
IBUS-UI-2.46 | 列表操作-刷新 | UC1012操作列表 |
IBUS-UI-2.47 | 列表操作-保存 | UC1012操作列表 |
IBUS-UI-2.48 | 列表操作-复制 | UC1012操作列表 |
IBUS-UI-2.49 | 列表操作-撤销 | UC1012操作列表 |
IBUS-UI-2.50 | 列表操作-重做 | UC1012操作列表 |
IBUS-UI-2.56 | 列表操作-首页 | UC1012操作列表 |
IBUS-UI-2.57 | 列表操作-末页 | UC1012操作列表 |
IBUS-UI-2.58 | 列表操作-上一页 | UC1012操作列表 |
IBUS-UI-2.59 | 列表操作-下一页 | UC1012操作列表 |
IBUS-UI-2.60 | 列表操作-查询指定页记录 | UC1012操作列表 |
IBUS-UI-2.61 | 列表操作-查询记录总数 | UC1012操作列表 |
IBUS-UI-2.62 | 客户端列表操作API | UC101101扩展客户端事件 |
IBUS-UI-2.63 | 列表客户端扩展事件注册 | UC101101扩展客户端事件 |
IBUS-UI-2.64 | 列表服务端扩展事件注册 | UC101102扩展服务端事件 |
IBUS-UI-2.65 | 执行列表客户端事件处理函数 | UC101101扩展客户端事件 |
IBUS-UI-2.71 | 创建列表工具栏 | UC100101创建列表工具栏 |
IBUS-UI-2.72 | 创建列表分页栏 | UC100101创建列表分页栏 |
IBUS-UI-2.73 | 是否加载数据 | UC1002设置列表属性 |
IBUS-UI-2.74 | 是否唯一 | UC100308设置列表项属性 |
功能点描述:
创建列表单元:通过所见即所得的方式创建列表单元,并设置列表单元的各种属性,如列表属性、列表单元表头以及列表项属性等。
Ø 设置列表属性
设置列表的属性,列表属性包括:
基本属性:
属性名(中文) | 属性名(英文) | 描述 |
列表标题 | title | 可修改 |
列表宽度 | width | 默认 |
列表高度 | height | 默认 |
最大宽度 | maxWidth | 默认 |
最大高度 | maxHeight | 默认 |
是否支持隐藏列菜单 | is HiddenColumns |
|
是否支持表头位置调整 | isMoveColumns |
|
是否支持表头宽度调整 | isAdjustcolumn |
|
自动调整高度 | isAutoWidth |
|
自动调整宽度 | isAutoHeight |
|
业务实体 |
| 即列表的数据源 |
是否支持智能加载 | isSmartLoad |
|
数据持久化方式 |
| 自动、手动 |
|
|
|
Ø 设置列表项属性
设置列表项属性,包括:
属性名(中文) | 属性名(英文) | 描述 |
列标题 | title | 可修改 |
宽度 | width | 可以通过拖拉的方式去设置 |
最小宽度 | minheight | 默认 |
可否调整宽度 | isAdjustcolumn | 手动调整宽度 |
是否隐藏 | isHeaderVisible | 手动隐藏列表项 |
可否移动 | is enableColumnMove | 拖动移动列表项 |
控件类型 | controlType | 编辑框、文本域、下拉框、日期 |
是否为固定列 | isFrozencolumns | 手动设置 |
是否为分组列 | isGroupColumn | 手动设置 |
Ø 设计列表工具栏
列表工具栏是容纳列表记录操作按钮的容器,工具栏中包含对列表进行操作的按钮。列表工具栏事件(即操作按钮)来源于事件组、系统操作事件按钮或自定义操作按钮。
系统操作事件有:新增、修改、删除、保存、复制、撤销、重做、刷新、查询、打印、预览、导入、导出等。
设置“标准操作按钮”即设置是否需要支持标准操作按钮,以及自定义标准操作按钮的标签。
系统操作事件的属性如下:
属性(中文) | 属性(英文) | 说明 |
代码 | id | 按钮的标识,唯一 |
名称 | Name | 按钮的中文名称 |
描述 | value | 按钮的描述 |
图片资源 | pic | 按钮的图片 |
响应方法 | onclick | 系统通用实现,适用于所有的列表 |
自定义操作按钮属性如下:
属性(中文) | 属性(英文) | 说明 |
按钮ID | id | 按钮的标识,唯一 |
操作类型 | type | 按钮的类型 |
中文描述 | value | 按钮的中文描述 |
图片 | pic | 按钮图片 |
前台执行方法 | onclick | 客户端的响应方法(JS方法) |
后台服务 | bocName | 服务端的响应类(Command) |
后台服务方法名 | BocMethod | 服务端的响应方法 |
跳转页面 | targetUrl | 操作后跳转页面 |
Ø 设计列表分页栏
当列表数据量太大,需要分页显示时,可以设置列表单元的分页信息。列表分页信息包含如下属性:
属性(中文) | 属性英文 | 说明 |
是否需要分页 | enablePaging |
|
每页记录数 | pageSize | 下拉选择设置 |
分页方式 | pagingType | 客户端分页、服务端分页 |
系统支持在创建列表单元和修改列表单元时设置(或修改)列表的分页属性。
Ø 设置列表统计项
设置列表统计栏的统计字段。
统计项属性有:
属性(中文) | 属性英文 | 说明 |
统计字段 | StatField |
|
统计算法 |
| 有合计、求最大、求最小、平均值等 |
显示格式 | style |
|
|
|
|
Ø *设置多行表头
略。
Ø *管理列表单元版本
本功能主要实现列表单元的版本管理。
3.2.4.2. 界面原型
3.2.4.2.1. 【设计列表单元】主界面
3.2.4.2.2. 【定制工具栏】主界面
3.2.4.3. 用例描述
总用例图
3.2.4.3.1. UC1001创建列表单元
3.2.4.3.2. UC100101创建列表工具栏
包含于“UC1001创建列表单元”中。
3.2.4.3.3. UC100102创建列表分页栏
包含于“UC1001创建列表单元”中。
3.2.4.3.4. UC1002设置列表属性
用例标识号:UC1002 | ||
用例名称:设置列表属性 | ||
参与者:单元设计人员 | ||
简要说明: 本用例说明设置列表属性的功能。 | ||
前置条件: 1. 用户已登录系统; 2. 用户已进入【界面单元设计】主页面; 3. 用户正在设计列表单元; 4. 用户拥有【设置列表属性】的操作权限。 | ||
后置条件: 1. 新设置或修改的列表属性已保存到持久存储中; 2. 修改后的列表单元同步显示到设计区中。 | ||
触发条件: 1. 当用户在列表设计区内单击右键工具栏的【设置…】按钮时触发用例;
| ||
事件流: 基本事件流: | ||
步骤 | 用户 | 系统 |
1 | 参见触发条件; |
|
2 |
| 显示【列表属性】面板; |
3 | 在【列表属性】面板中输入或选择列表属性信息; |
|
4 | 单击设计区工具栏的【保存】按钮; |
|
5 |
| 触发“保存列表单元”用例,将设置或修改的属性保存到持久存储中; |
6 |
| 根据新的属性调整设计区的列表单元显示样式; |
7 |
| 提示用户修改成功(可选)。 |
扩展事件流: 步骤4的扩展事件流: 1. 当系统设置了“自动保存”时,从步骤3直接执行到步骤5。 异常事件流: 步骤5的异常事件流: 1. 当保存失败时,系统对持久化操作进行回滚; 2. 提示用户操作失败。 | ||
特殊要求:
| ||
扩展点: 无 | ||
相关用例 1. 设计列表单元 |
3.2.4.3.5. UC1003设计列表项
本用例包括如下用例:
² UC100301插入列表项;
² UC100302删除列表项;
² UC100303修改列表项标题;
² UC100304调整列表项位置;
² UC100305调整列表项宽度;
² UC100306显示列表项;
² UC100307隐藏列表项;
² UC100308设置列表项属性。
3.2.4.3.6. UC100301插入列表项
用例标识号:UC100301 | ||
用例名称:插入列表项 | ||
参与者:单元设计人员 | ||
简要说明: 本用例说明列表单元设计时插入列表项的操作功能。 | ||
前置条件: 1. 用户已登录系统; 2. 用户已进入【界面单元设计】主页面; 3. 用户正在设计列表单元; 4. 用户拥有【插入列】的操作权限。 | ||
后置条件: 1. 新插入的列表项显示到设计区中; 2. 同步列表单元的实体信息。 | ||
触发条件: 1. 用户右键单击设计区的列表单元的标题栏,选择右键菜单的【插入列】时触发用例。
| ||
事件流: 基本事件流: | ||
步骤 | 用户 | 系统 |
1 | 右键单击设计区的列表单元的标题栏,选择右键菜单的【插入列】; |
|
2 |
| 在单击右键位置的后面插入新的列表项; |
3 |
| 更新列表单元实体信息; |
4 |
| 用例结束 |
扩展事件流: 无 | ||
特殊要求: 无 | ||
扩展点: 无 | ||
相关用例 1. UC1003设计列表项:包含本用例。 |
3.2.4.3.7. UC100302删除列表项
用例标识号:UC100302 | ||
用例名称:删除列表项 | ||
参与者:单元设计人员 | ||
简要说明: 本用例说明列表单元设计时删除列表项的操作功能。 | ||
前置条件: 1. 用户已登录系统; 2. 用户已进入【界面单元设计】主页面; 3. 用户正在设计列表单元; 4. 用户拥有【删除列】的操作权限。 | ||
后置条件: 1. 从设计区中删除指定的列表项; 2. 同步列表单元的实体信息。 | ||
触发条件: 1. 用户右键单击设计区的列表单元的标题栏,选择右键菜单的【删除列】时触发用例。
| ||
事件流: 基本事件流: | ||
步骤 | 用户 | 系统 |
1 | 右键单击设计区的列表单元的标题栏,选择右键菜单的【删除列】; |
|
2 |
| 在设计区中删除单击的列; |
3 |
| 更新列表单元实体信息; |
4 |
| 用例结束 |
扩展事件流: 无 | ||
特殊要求: 如当前列表单元只有唯一的列,则该列不能被删除。 | ||
扩展点: 无 | ||
相关用例 1. UC1003设计列表项:包含本用例。 |
3.2.4.3.8. UC100303修改列表项标题
用例标识号:UC100303 | ||
用例名称:修改列表项标题 | ||
参与者:单元设计人员 | ||
简要说明: 本用例说明列表单元设计时修改列表项标题的操作功能。 | ||
前置条件: 1. 用户已登录系统; 2. 用户已进入【界面单元设计】主页面; 3. 用户正在设计列表单元; 4. 用户拥有【修改列表项标题】的操作权限。 | ||
后置条件: 1. 设计区的列表单元中显示新的列表项标题; 2. 同步列表单元的实体信息。 | ||
触发条件: 1. 用户双击列表项的标题栏时触发用例。 | ||
事件流: 基本事件流: | ||
步骤 | 用户 | 系统 |
1 | 用户双击列表项的标题栏; |
|
2 |
| 将标题栏设置成修改模式; |
3 | 输入新的标题; |
|
4 | 按回车,或离开鼠标焦点; |
|
5 |
| 将标题栏设置成只读模式,并显示新输入的标题;用例结束 |
扩展事件流: 无 | ||
特殊要求: 无 | ||
扩展点: 无 | ||
相关用例 1. UC1003设计列表项:包含本项用例。 |
3.2.4.3.9. UC100304调整列表项位置
用例标识号:UC100304 | ||
用例名称:调整列表项位置 | ||
参与者:单元设计人员 | ||
简要说明: 本用例说明列表单元设计时调整列表项位置的功能。 | ||
前置条件: 1. 用户已登录系统; 2. 用户已进入【界面单元设计】主页面; 3. 用户正在设计列表单元; 4. 用户拥有【调整列表项位置】的操作权限。 | ||
后置条件: 1. 新的列表项位置显示到设计区中; 2. 同步列表单元的实体信息。 | ||
触发条件: 1. 用户在列表项标题栏中,按下鼠标左键,并拖动列表项时触发用例。 | ||
事件流: 基本事件流: | ||
步骤 | 用户 | 系统 |
1 | 用户在列表项标题栏中,按下鼠标左键,并拖动列表项; |
|
2 |
| 将标题栏设置成拖动模式; |
3 | 释放鼠标左键; |
|
4 |
| 将标题栏设置成普通模式; |
5 |
| 将被拖动的列表项显示到释放的区域;用例结束。 |
扩展事件流: 如步骤三中当前鼠标位置位于列表项区域之外,则系统不做任何操作,用例结束。 | ||
特殊要求: 无 | ||
扩展点: 无 | ||
相关用例 1. UC1003设计列表项:包含本用例。 |
3.2.4.3.10. UC100305调整列表项宽度
用例标识号:UC100305 | ||
用例名称:调整列表项宽度 | ||
参与者:单元设计人员 | ||
简要说明: 本用例说明列表单元设计时调整列表项宽度的功能。 | ||
前置条件: 1. 用户已登录系统; 2. 用户已进入【界面单元设计】主页面; 3. 用户正在设计列表单元; 4. 用户拥有【调整列表项宽度】的操作权限。 | ||
后置条件: 1. 到设计区中实时显示新的列表项宽度; 2. 同步列表项的宽度信息到的实体中。 | ||
触发条件: 1. 用户拖动列表项右侧的分隔符时触发用例。 | ||
事件流: 基本事件流: | ||
步骤 | 用户 | 系统 |
1 | 用户拖动列表项右侧的分隔符; |
|
2 |
| 将标题栏设置成调整大小模式; |
3 | 拖动鼠标左键; |
|
4 |
| 实时调整分隔符左侧列表项的宽度; |
5 | 释放鼠标右键; |
|
6 |
| 同步列表项宽度信息到实体中;用例结束。 |
扩展事件流: 无 | ||
特殊要求: 无 | ||
扩展点: 无 | ||
相关用例 1. UC1003设计列表项:包含本用例。 |
3.2.4.3.11. UC100306显示列表项
用例标识号:UC100306 | ||
用例名称:显示列表项 | ||
参与者:单元设计人员 | ||
简要说明: 本用例说明列表单元设计时显示的列表项的功能。 | ||
前置条件: 1. 用户已登录系统; 2. 用户已进入【界面单元设计】主页面; 3. 用户正在设计列表单元; 4. 用户拥有【显示列表项】的操作权限; 5. 当前被操作的列表项处于隐藏状态。 | ||
后置条件: 1. 隐藏的列表项显示到设计区中; 2. 将列表项的显示状态同步列表单元的实体信息。 | ||
触发条件: 1. 用户右键列表项标题栏,在右键菜单中选择【显示/隐藏列】下的列表项的未选中的复选框,触发用例。 | ||
事件流: 基本事件流: | ||
步骤 | 用户 | 系统 |
1 | 用户右键列表项标题栏,在右键菜单中单击【显示/隐藏列】下的列表项的未选中的复选框; |
|
|
| 将复选框的状态修改成选中状态; |
2 |
| 在设计区中实时显示当前操作的列表项; |
3 |
| 更新列表项的显示状态到列表单元实体中; |
4 |
| 用例结束。 |
扩展事件流: 步骤1中如用户单击已选中的复选框,则触发“UC100307隐藏列表项”用例。 | ||
特殊要求: 无 | ||
扩展点: 无 | ||
相关用例 1. UC1003设计列表项:包含插入列表项用例。 |
3.2.4.3.12. UC100307隐藏列表项
用例标识号:UC100307 | ||
用例名称:隐藏列表项 | ||
参与者:单元设计人员 | ||
简要说明: 本用例说明列表单元设计时隐藏的列表项的功能。 | ||
前置条件: 1. 用户已登录系统; 2. 用户已进入【界面单元设计】主页面; 3. 用户正在设计列表单元; 4. 用户拥有【隐藏列表项】的操作权限; 5. 当前被操作的列表项处于显示状态。 | ||
后置条件: 1. 在设计区中隐藏未选中的列表项; 2. 将列表项的隐藏状态同步列表单元的实体信息。 | ||
触发条件: 1. 用户右键列表项标题栏,在右键菜单中选择【显示/隐藏列】下的列表项的已选中的复选框,触发用例。 | ||
事件流: 基本事件流: | ||
步骤 | 用户 | 系统 |
1 | 用户右键列表项标题栏,在右键菜单中单击【显示/隐藏列】下的列表项的已选中的复选框; |
|
|
| 将复选框的状态修改成未选中状态; |
2 |
| 在设计区中实时隐藏当前操作的列表项; |
3 |
| 更新列表项的隐藏状态到列表单元实体中; |
4 |
| 用例结束。 |
扩展事件流: 步骤1中如用户单击未选中的复选框,则触发“UC100306显示列表项”用例。 | ||
特殊要求: 无 | ||
扩展点: 无 | ||
相关用例 1. UC1003设计列表项:包含插入列表项用例。 |
3.2.4.3.13. UC100308设置列表项属性
用例标识号:UC100308 | ||
用例名称:设置列表项属性 | ||
参与者:单元设计人员 | ||
简要说明: 本用例说明列表单元设计时设置列表项属性的操作。 | ||
前置条件: 1. 用户已登录系统; 2. 用户已进入【界面单元设计】主页面; 3. 用户正在设计列表单元; 4. 用户拥有【设置列表项属性】的操作权限。 | ||
后置条件: 1. 新设置或修改的列表项属性保存到列表单元实体中。 | ||
触发条件: 1. 用户右键单击设计区的列表单元的标题栏,选择右键菜单的【设置…】时触发用例。
| ||
事件流: 基本事件流: | ||
步骤 | 用户 | 系统 |
1 | 用户右键单击设计区的列表单元的标题栏,选择右键菜单的【设置…】; |
|
2 |
| 打开“列表项属性”面板; |
3 | 输入或修改列表项的属性; |
|
4 | 单击面板的关闭按钮; |
|
5 |
| 将属性同步到列表单元的实体中; |
6 |
| 用例结束。 |
扩展事件流: 无 | ||
特殊要求: 如当前列表单元只有唯一的列,则该列不能被删除。 | ||
扩展点: 无 | ||
相关用例 2. UC1003设计列表项:包含本用例。 |
3.2.4.3.14. UC1004设计列表工具栏
该用例相关的用例图如下:
3.2.4.3.15. UC100401增加工具栏按钮
用例标识号:UC100401 | ||
用例名称:增加工具栏按钮 | ||
参与者:单元设计人员 | ||
简要说明: 本用例说明列表单元设计时增加列表单元的工具栏按钮的功能。 | ||
前置条件: 1. 用户已登录系统; 2. 用户已进入【界面单元设计】主页面; 3. 用户正在设计列表单元; 4. 用户正在定制工具栏,即已打开“定制工具栏”面板; 5. 用户拥有【增加工具栏按钮】的操作权限; | ||
后置条件: 1. 新增加的按钮显示到设计区的列表单元工具栏中; 2. 将新增加的按钮信息同步列表单元的实体中。 | ||
触发条件: 1. 用户选择可用按钮列表区的按钮,单击中间的“<-添加”按钮时,触发用例。 | ||
事件流: 基本事件流: | ||
步骤 | 用户 | 系统 |
1 | 参见触发条件; |
|
2 |
| 在当前按钮中增加可用中选中的按钮项; |
3 |
| 从可用区中删除选中的按钮项; |
4 | 单击面板右下的【确定】按钮; |
|
5 |
| 关闭面板; |
6 |
| 在列表单元工具栏中显示新增加的按钮; |
7 |
| 将新增的工具栏按钮更新到列表单元的实体中;用例结束。 |
扩展事件流: 无 | ||
特殊要求: 无 | ||
扩展点: 无 | ||
相关用例 1. UC1004设计列表工具栏:包含本用例。 |
3.2.4.3.16. UC100402移除工具栏按钮
用例标识号:UC100402 | ||
用例名称:移除工具栏按钮 | ||
参与者:单元设计人员 | ||
简要说明: 本用例说明列表单元设计时移除列表单元的工具栏按钮的功能。 | ||
前置条件: 1. 用户已登录系统; 2. 用户已进入【界面单元设计】主页面; 3. 用户正在设计列表单元; 4. 用户正在定制工具栏,即已打开“定制工具栏”面板; 5. 用户拥有【移除工具栏按钮】的操作权限; | ||
后置条件: 1. 从设计区的列表单元工具栏中移除指定的按钮; 2. 将移除的按钮信息同步列表单元的实体中。 | ||
触发条件: 1. 用户选择“当前按钮”列表区的按钮,单击中间的“移除->”按钮时,触发用例。 | ||
事件流: 基本事件流: | ||
步骤 | 用户 | 系统 |
1 | 用户选择“当前按钮”列表区的按钮,单击中间的“移除->”按钮; |
|
2 |
| 从“当前按钮”区中删除选中的按钮项; |
3 |
| 在“可用按钮”区中增加选中的按钮项; |
4 | 单击面板右下的【确定】按钮; |
|
5 |
| 关闭面板; |
6 |
| 在列表单元工具栏中删除选中的按钮; |
7 |
| 将删除的工具栏按钮更新到列表单元的实体中;用例结束。 |
扩展事件流: 无 | ||
特殊要求: 无 | ||
扩展点: 无 | ||
相关用例 1. UC1004设计列表工具栏:包含本用例。 |
3.2.4.3.17. UC100403调整工具栏按钮顺序
用例标识号:UC100403 | ||
用例名称:调整工具栏按钮顺序 | ||
参与者:单元设计人员 | ||
简要说明: 本用例说明列表单元设计时调整工具栏按钮顺序的功能。 | ||
前置条件: 1. 用户已登录系统; 2. 用户已进入【界面单元设计】主页面; 3. 用户正在设计列表单元; 4. 用户正在定制工具栏,即已打开“定制工具栏”面板; 5. 用户拥有【调整工具栏按钮顺序】的操作权限; | ||
后置条件: 1. 在设计区的列表单元工具栏中显示调整顺序后的按钮; 2. 按钮顺序信息同步列表单元的实体中。 | ||
触发条件: 1. 用户选择“当前按钮”列表区的按钮,单击中间的【上移】或【下移】按钮时,触发用例。 | ||
事件流: 基本事件流: | ||
步骤 | 用户 | 系统 |
1 | 参见触发条件; |
|
2 |
| 根据用户的操作,在当前按钮区中上移或下移选中的按钮; |
3 | 单击面板左下的【确定】按钮; |
|
|
| 关闭工具栏定制面板; |
4 |
| 在设计区中根据新的顺序显示工具栏; |
5 |
| 同步按钮顺序到列表单元的实体中; |
6 |
| 用例结束。 |
扩展事件流: 无 | ||
特殊要求: 无 | ||
扩展点: 无 | ||
相关用例 2. UC1004设计列表工具栏:包含本用例。 |
3.2.4.3.18. UC100404增加自定义按钮
用例标识号:UC100404 | ||
用例名称:增加自定义按钮 | ||
参与者:单元设计人员 | ||
简要说明: 本用例说明列表单元设计时增加自定义按钮的功能。 | ||
前置条件: 1. 用户已登录系统; 2. 用户已进入【界面单元设计】主页面; 3. 用户正在设计列表单元; 4. 用户正在定制工具栏,即已打开“定制工具栏”面板; 5. 用户拥有【增加自定义按钮】的操作权限; | ||
后置条件: 1. 新增加的自定义按钮显示到设计区的列表工具栏中; 2. 自定义按钮信息保存到列表单元的实体中。 | ||
触发条件: 1. 当用户单击定制面板左下角的【自定义】按钮时触发用例。 | ||
事件流: 基本事件流: | ||
步骤 | 用户 | 系统 |
1 | 参见触发条件; |
|
2 |
| 弹出自定义按钮面板; |
3 | 输入自定义按钮的信息; |
|
4 | 单击确定按钮; |
|
5 |
| 关闭工具栏定制面板; |
6 |
| 在设计区中的列表工具栏中显示新增的按钮; |
7 |
| 同步自定义按钮信息到列表单元的实体中; |
8 |
| 用例结束。 |
扩展事件流: 无 | ||
特殊要求: 无 | ||
扩展点: 无 | ||
相关用例 1. UC1004设计列表工具栏:包含本用例。 |
3.2.4.3.19. UC100405修改自定义按钮
用例标识号:UC100405 | ||
用例名称:修改自定义按钮 | ||
参与者:单元设计人员 | ||
简要说明: 本用例说明列表单元设计时修改自定义按钮的功能。 | ||
前置条件: 1. 用户已登录系统; 2. 用户已进入【界面单元设计】主页面; 3. 用户正在设计列表单元; 4. 用户正在定制工具栏,即已打开“定制工具栏”面板; 5. 用户拥有【修改自定义按钮】的操作权限; | ||
后置条件: 1. 修改的自定义按钮信息保存到列表单元的实体中。 | ||
触发条件: 1. 当用户选择面板左侧的自定义按钮,并单击定制面板中间的【修改】按钮时触发用例。 | ||
事件流: 基本事件流: | ||
步骤 | 用户 | 系统 |
1 | 参见触发条件; |
|
2 |
| 弹出自定义按钮面板; |
3 | 修改或输入自定义按钮的信息; |
|
4 | 单击确定按钮; |
|
5 |
| 关闭工具栏定制面板; |
6 |
| 同步自定义按钮信息到列表单元的实体中; |
7 |
| 用例结束。 |
扩展事件流: 无 | ||
特殊要求: 无 | ||
扩展点: 无 | ||
相关用例 1. UC1004设计列表工具栏:包含本用例。 |
3.2.4.3.20. UC100406删除自定义按钮
用例标识号:UC100405 | ||
用例名称:删除自定义按钮 | ||
参与者:单元设计人员 | ||
简要说明: 本用例说明列表单元设计时删除自定义按钮的功能。 | ||
前置条件: 1. 用户已登录系统; 2. 用户已进入【界面单元设计】主页面; 3. 用户正在设计列表单元; 4. 用户正在定制工具栏,即已打开“定制工具栏”面板; 5. 用户拥有【删除自定义按钮】的操作权限。 | ||
后置条件: 1. 从设计器的列表工具栏中移除指定的自定义按钮; 2. 从列表单元的实体中删除自定义按钮信息。 | ||
触发条件: 1. 当用户选择自定义按钮,并单击定制面板中间的【删除】按钮时触发用例。 | ||
事件流: 基本事件流: | ||
步骤 | 用户 | 系统 |
1 | 参见触发条件; |
|
2 |
| 从“当前按钮”区中删除选择的单元; |
3 |
| 单击【确定】按钮; |
4 |
| 关闭工具栏定制面板; |
5 |
| 从设计区的列表工具栏中删除选择的自定义按钮; |
6 |
| 从列表单元的实体中删除自定义的按钮信息; |
7 |
| 用例结束。 |
扩展事件流: 无 | ||
特殊要求: 无 | ||
扩展点: 无 | ||
相关用例 1. UC1004设计列表工具栏:包含本用例。 |
3.2.4.3.21. UC100407修改按钮标题
自定义按钮的标题修改,参见“3.2.3.3.19. UC100405修改自定义按钮”。
系统按钮的标题修改同上,区别在于系统按钮只有标题可以修改,其他信息不能修改。
3.2.4.3.22. UC100408保存工具栏按钮
在保存模块布局时同时保存列表单元的全部信息,包括工具栏。
3.2.4.3.23. UC100409扩展工具栏按钮
用例标识号:UC100409 | ||
用例名称:扩展工具栏按钮 | ||
参与者:单元设计人员 | ||
简要说明: 本用例说明扩展列表工具栏按钮的功能。 | ||
前置条件: 1. 用户已登录系统; 2. 用户已进入【界面单元设计】主页面; 3. 用户正在设计列表单元; 4. 用户正在定制工具栏,即已打开“定制工具栏”面板; 5. 用户拥有【扩展】工具栏按钮的操作权限; | ||
后置条件: 1. 按钮的扩展信息保存到列表单元的实体中。 | ||
触发条件: 1. 当用户单击定制面板左下角的【扩展】按钮时触发用例。 | ||
事件流: 基本事件流: | ||
步骤 | 用户 | 系统 |
1 | 参见触发条件; |
|
2 |
| 弹出【工具栏扩展】面板; |
3 | 选择扩展事件,并输入扩展代码等信息; |
|
4 | 单击【保存】按钮; |
|
5 |
| 将按钮的扩展信息到列表单元的实体中; |
6 |
| 用例结束。 |
扩展事件流: 无 | ||
特殊要求: 只能扩展系统按钮。 | ||
扩展点: 无 | ||
相关用例 1. UC1004设计列表工具栏:包含本用例。 |
3.2.4.3.24. UC100410显示工具栏
用例标识号:UC100410 | ||
用例名称:显示工具栏 | ||
参与者:单元设计人员 | ||
简要说明: 本用例说明显示隐藏的列表工具栏的功能。 | ||
前置条件: 1. 用户已登录系统; 2. 用户已进入【界面单元设计】主页面; 3. 用户正在设计列表单元; 4. 用户拥有【显示列表工具栏】的操作权限; 5. 当前列表单元处于隐藏状态。 | ||
后置条件: 1. 工具栏的状态保存到列表单元的实体中; 2. 将列表单元工具栏显示到设计区中列表单元的上部。 | ||
触发条件: 1. 当用户单击列表设计区右键菜单的【工具栏】菜单项时触发用例; | ||
事件流: 基本事件流: | ||
步骤 | 用户 | 系统 |
1 | 用户单击列表设计区右键菜单的【工具栏】菜单项; |
|
2 |
| 将列表单元工具栏显示到设计区中列表单元的上部; |
3 |
| 将工具栏状态更新到列表单元实体中。 |
扩展事件流: 无 异常事件流: 无 | ||
特殊要求:
| ||
扩展点: 无 | ||
相关用例 2. 设计列表单元 |
3.2.4.3.25. UC100411隐藏工具栏
用例标识号:UC100411 | ||
用例名称:隐藏工具栏 | ||
参与者:单元设计人员 | ||
简要说明: 本用例说明隐藏显示的列表工具栏的功能。 | ||
前置条件: 1. 用户已登录系统; 2. 用户已进入【界面单元设计】主页面; 3. 用户正在设计列表单元; 4. 用户拥有【隐藏列表工具栏】的操作权限; 5. 当前列表单元处于显示状态。 | ||
后置条件: 1. 工具栏的隐藏状态保存到列表单元的实体中; 2. 将列表工具栏从设计区中列表单元中隐藏。 | ||
触发条件: 1. 当用户单击列表设计区右键菜单的【√工具栏】菜单项时触发用例; | ||
事件流: 基本事件流: | ||
步骤 | 用户 | 系统 |
1 | 参见触发条件; |
|
2 |
| 从设计区中隐藏当前列表单元的工具栏; |
3 |
| 将工具栏状态更新到列表单元实体中。 |
扩展事件流: 无 异常事件流: 无 | ||
特殊要求:
| ||
扩展点: 无 | ||
相关用例 1. 设计列表单元 |
3.2.4.3.26. UC1005设计列表分页栏
本用例包含UC100501设置分页栏属性、UC100502显示列表分页栏、UC100503隐藏分页栏等三个用例。
3.2.4.3.27. UC100501设置分页栏属性
用例标识号: | ||
用例名称:设置分页栏属性 | ||
参与者:单元设计人员 | ||
简要说明: 本用例说明设置列表分页属性的功能。 | ||
前置条件: 1. 用户已登录系统; 2. 用户已进入【界面单元设计】主页面; 3. 用户正在设计的列表单元; 4. 当前操作的列表已经创建了分页栏; 5. 用户拥有【设置分页栏属性】的操作权限。 | ||
后置条件: 1. 新设置的列表分页栏属性保存到持久存储中; | ||
触发条件: 1. 用户单击右键工具栏的【设置…】按钮,触发用例; | ||
事件流: 基本事件流: | ||
步骤 | 用户 | 系统 |
1 | 参见触发条件; |
|
2 |
| 弹出【分页栏属性】面板; |
3 | 输入或修改分页栏属性; |
|
4 | 单击设计区工具栏的【保存】按钮; |
|
5 |
| 触发“保存列表单元”用例,将设置或修改的属性保存到持久存储中; |
6 |
| 提示用户修改成功。(可选) |
扩展事件流: 步骤4的扩展事件流: 1. 当系统设置了“自动保存”时,从步骤3直接执行到步骤5。 异常事件流:
| ||
特殊要求: 无 | ||
扩展点: 无 | ||
相关用例 1. 设计列表分页栏 |
3.2.4.3.28. UC100502显示列表分页栏
用例标识号:UC100502 | ||
用例名称:显示列表分页栏 | ||
参与者:单元设计人员 | ||
简要说明: 本用例说明显示隐藏的列表分页栏的功能。 | ||
前置条件: 1. 用户已登录系统; 2. 用户已进入【界面单元设计】主页面; 3. 用户正在设计列表单元; 4. 用户拥有【显示列表分页栏】的操作权限; 5. 当前列表单元分页栏处于隐藏状态。 | ||
后置条件: 1. 分页栏的状态保存到列表单元的实体中; 2. 将列表单元分页栏显示到设计区中列表单元的底部。 | ||
触发条件: 1. 当用户单击列表设计区右键菜单的【分页栏】菜单项时触发用例; | ||
事件流: 基本事件流: | ||
步骤 | 用户 | 系统 |
1 | 用户单击列表设计区右键菜单的【分页栏】菜单项; |
|
2 |
| 将列表单元分页栏显示到设计区中列表单元的底部; |
3 |
| 将分页栏状态更新到列表单元实体中。 |
扩展事件流: 无 异常事件流: 无 | ||
特殊要求: 当前列表的分页栏处于隐藏状态。 | ||
扩展点: 无 | ||
相关用例 1. 设计列表分页栏 |
3.2.4.3.29. UC100503隐藏列表分页栏
用例标识号:UC100503 | ||
用例名称:隐藏列表分页栏 | ||
参与者:单元设计人员 | ||
简要说明: 本用例说明隐藏列表分页栏的功能。 | ||
前置条件: 1. 用户已登录系统; 2. 用户已进入【界面单元设计】主页面; 3. 用户正在设计列表单元; 4. 用户拥有【隐藏列表分页栏】的操作权限; 5. 当前列表单元分页栏处于显示状态。 | ||
后置条件: 1. 分页栏的状态保存到列表单元的实体中; 2. 隐藏列表单元分页栏。 | ||
触发条件: 1. 当用户单击列表设计区右键菜单的【√分页栏】菜单项时触发用例; | ||
事件流: 基本事件流: | ||
步骤 | 用户 | 系统 |
1 | 用户单击列表设计区右键菜单的【分页栏】菜单项; |
|
2 |
| 隐藏列表单元分页栏; |
3 |
| 将分页栏状态更新到列表单元实体中。 |
扩展事件流: 无 异常事件流: 无 | ||
特殊要求: 当前列表的分页栏处于显示状态。 | ||
扩展点: 无 | ||
相关用例 1. 设计列表分页栏 |
3.2.4.3.30. UC1006预览列表单元
用例标识号:UC1006 | ||
用例名称:预览列表单元 | ||
参与者:单元设计人员 | ||
简要说明: 本用例对预览列表功能进行描述。 | ||
前置条件: 1. 用户已登录系统; 2. 用户已进入【界面单元设计】主页面; 3. 用户正在设计列表单元; 4. 用户拥有列表单元设计工具栏的【预览】按钮的操作权限。 | ||
后置条件: 1. 界面中显示设计的列表单元;预览时的展现效果和操作效果与实际的效果相同。 | ||
触发条件: 1. 当用户在【列表单元设计器】主界面中单击【预览】按钮时触发该用例。 | ||
事件流: 基本事件流: | ||
步骤 | 用户 | 系统 |
1 | 单击【列表单元设计器】主界面的【预览】按钮。 |
|
2 |
| 显示列表单元; |
3 |
|
|
4 |
|
|
5 |
|
|
6 |
|
|
扩展事件流: 无 异常事件流: 无 | ||
特殊要求: 无 | ||
扩展点: 无 | ||
相关用例 1. 设计列表单元:
|
3.2.4.3.31. UC1007保存列表单元
在保存模块布局时一起保存,参见“3.2.1.3.8. UC0108保存模块布局”。
3.2.4.3.32. UC1008删除列表单元
删除模块布局时,如果当前的布局中已经设计了列表单元,需要删除列表单元。
具体描述参见“3.2.1.3.3. UC0103删除模块布局”。
3.2.4.3.33. UC1009加载列表单元
加载模块布局时,如果当前布局中已经定义了列表单元,则同时加载列表单元。
具体描述参见“3.2.1.3.9. UC0109加载模块布局”。
3.2.4.3.34. UC1011扩展事件
3.2.4.3.35. UC101101扩展客户端事件
列表单元事件的客户端扩展,参见“3.2.2.3.8. UC0208扩展客户端事件”。
3.2.4.3.36. UC101102扩展服务端事件
列表单元事件的服务端扩展,参见“3.2.2.3.9. UC0209扩展服务端事件”。
3.2.3.3.41. UC1012操作列表
用例标识号:UC1012 | ||
用例名称:操作列表 | ||
参与者:单元设计人员 | ||
简要说明: 本用例说明操作列表的功能。 | ||
前置条件: 1. 用户已登录系统; 2. 用户已进入【界面单元设计】主页面; 3. 用户正在进行列表单元设计; 4. 用户拥有【操作列表】的操作权限。 | ||
后置条件: 增加或修改等操作后的列表已保存到持久存储中。 | ||
触发条件: 当用户在进行预览列表之后,单击面板工具栏中的功能按钮时触发该用例; | ||
事件流: 基本事件流: | ||
步骤 | 用户 | 系统 |
1 | 单击新增、修改、删除、上一页、下一页等功能后点击保存; |
|
2 |
| 系统将用户最终操作的列表进行保存; |
3 |
| 此用例结束。 |
扩展事件流: 无 异常事件流: 步骤2的异常事件流: 1. 当保存失败时,系统对持久化操作进行回滚; 2. 提示用户操作失败。 | ||
特殊要求: 无 | ||
扩展点: 无 | ||
相关用例 无 |
3.2.5. 表单单元设计
3.2.5.1. 功能描述
用户通过该功能以WYSIWYW(所见即所得)的方式实现表单单元的在线设计。
该表单单元设计的功能点如下表所示:
需求编号 | 功能点名称 | 相关用例 |
IBUS-UI-3.1 | 创建默认表单 | UC1101创建表单单元 |
IBUS-UI-3.2 | 加载表单 | UC1105加载表单单元 |
IBUS-UI-3.3 | 保存表单 | UC1102保存表单单元 |
IBUS-UI-3.4 | 删除表单 | UC1104删除表单单元 |
IBUS-UI-3.5 | 预览表单单元 | UC1103预览表单单元 |
IBUS-UI-3.6 | 初始化表单设计器面板 | UC1101创建表单单元 |
IBUS-UI-3.7 | 修改控件标签 | UC110705修改表单项标题 |
IBUS-UI-3.8 | 调整控件大小 | UC110706修改表单项大小 |
IBUS-UI-3.9 | 调整控件布局(位置) | UC110707调整表单项位置 |
IBUS-UI-3.10 | 删除控件 | UC110702删除表单项 |
IBUS-UI-3.11 | 复制控件 | UC1107设计表单项 |
IBUS-UI-3.12 | 选择多个控件(Ctrl) | UC1107设计表单项 |
IBUS-UI-3.14 | 控件位置微调 | UC110706修改表单项大小 |
IBUS-UI-3.15 | 创建表单控件面板 | UC1101创建表单单元 |
IBUS-UI-3.17 | 创建单行文本框(TextField) | UC110701增加表单项 |
IBUS-UI-3.18 | 创建多行文本框(TextArea) | UC110701增加表单项 |
IBUS-UI-3.19 | 创建下拉列表框(Select) | UC110701增加表单项 |
IBUS-UI-3.21 | 创建日期框(Date) | UC110701增加表单项 |
IBUS-UI-3.38 | 标准工具栏(新增,上一条,下一条,保存,返回,关闭) | UC1101创建表单单元 |
IBUS-UI-3.39 | 工具栏 | UC1101创建表单单元 |
IBUS-UI-3.42 | 创建表单属性面板 | UC1106设置表单属性 |
IBUS-UI-3.43 | 加载表单属性 | UC1106设置表单属性 |
IBUS-UI-3.44 | 修改表单标题 | UC1106设置表单属性 |
IBUS-UI-3.45 | 设置数据源(实体) | UC1106设置表单属性 |
IBUS-UI-3.46 | 创建表单项属性面板 | UC1107设计表单项 |
IBUS-UI-3.47 | 加载表单项属性 | UC1107设计表单项 |
IBUS-UI-3.48 | 修改表单项标题 | UC110705修改表单项标题 |
IBUS-UI-3.49 | 设置表单项数据源(实体项) | UC110708设置表单项属性 |
IBUS-UI-3.50 | 修改表单项数据类型 | UC110708设置表单项属性 |
IBUS-UI-3.51 | 修改表单项控件类型 | UC110708设置表单项属性 |
IBUS-UI-3.52 | 设置表单项默认值 | UC110708设置表单项属性 |
IBUS-UI-3.53 | 设置字段只读属性 | UC110708设置表单项属性 |
IBUS-UI-3.54 | 设置非空属性 | UC110708设置表单项属性 |
IBUS-UI-3.55 | 自定义字段验证方法 | UC110708设置表单项属性 |
IBUS-UI-3.57 | 表单预览 | UC1103预览表单单元 |
IBUS-UI-3.58 | 新建记录 | UC1110操作表单 |
IBUS-UI-3.59 | 修改记录 | UC1110操作表单 |
IBUS-UI-3.60 | 删除记录 | UC1110操作表单 |
IBUS-UI-3.61 | 保存 | UC1110操作表单 |
IBUS-UI-3.63 | 上一条记录 | UC1110操作表单 |
IBUS-UI-3.64 | 下一条记录 | UC1110操作表单 |
IBUS-UI-3.65 | 执行日期验证 | UC110708设置表单项属性 |
IBUS-UI-3.66 | 执行字符串长度验证 | UC110708设置表单项属性 |
IBUS-UI-3.67 | 执行数字验证 | UC110708设置表单项属性 |
IBUS-UI-3.68 | 执行非空验证 | UC110708设置表单项属性 |
IBUS-UI-3.69 | 执行自定义验证 | UC110708设置表单项属性 |
IBUS-UI-3.70 | 查询单条记录 | UC1110操作表单 |
IBUS-UI-3.71 | 查询多条记录 | UC1110操作表单 |
IBUS-UI-3.72 | 客户端表单操作API | UC110901扩展客户端事件 |
IBUS-UI-3.73 | 表单项客户端事件注册 | UC110901扩展客户端事件 |
IBUS-UI-3.74 | 表单服务端扩展事件注册 | UC110902扩展服务端事件 |
IBUS-UI-3.75 | 执行表单项客户端事件处理函数 | UC110901扩展客户端事件 |
目前支持的表单项类型有:
l 按钮控件(Button)
l 日期控件(Calendar)
l 复选框(CheckBox)
l 颜色选择框(ColorPicker)
l Combo
l 富文本编辑器(Editor)
l 文件上传控件(File)
l 单行文本输(Input)
l 标签(Label)
l 多选框(Multiselect)
l 密码输入框(Password)
l 单选按钮(Radio)
l 下拉选择框(Select)
l 超链接
l 图片
其中:
n 设置表单属性:
设置表单的属性信息,包括表单标题、表单宽度、表单高度。
n 表单设计器全局属性:
控件设置:标签位置(label pos)、标签宽度(label width)
网格设置:是否对齐到网格Align to grid(On、Off)、网格宽度(Grid Step)
n 设计表单布局:
通过鼠标拖拉、键盘操作,以及修改表单项属性等方式实现表单布局设计;
所谓“鼠标拖拉方式”是指用户在表单设计器的面板中,通过鼠标拖拉的方式调整表单项的位置以及表单项的宽度和高度等属性。
所谓“键盘操作方式”是指通过键盘的快捷键进行表单设计,如表单项位置微调、删除表单项、选择多个表单项、复制表单项等。具体操作方式参见相关用例。
所谓“修改表单项属性方式”是指用户通过修改表单项的相关属性来实现表单布局的设计。
n 设置表单项属性:
与表单布局相关的表单项属性可以通过拖拉方式和直接修改值的方式进行设置;其他的属性只能通过直接修改属性值的方式进行设置。
属性名 | 英文名 | 说明 |
表单项标题 | label |
|
数据项 | dataItem | 对应的业务实体的数据项标识 |
数据类型 | dataType |
|
控件类型 | controlType |
|
默认值 | defaultValue |
|
X坐标 | Left | 距离表单面板左侧边线的距离 |
Y坐标 | Top | 距离表单面板顶端边线的距离 |
宽度 | width | 可以通过拖拉方式设置 |
高度 | height | 可以通过拖拉方式设置 |
显示 | Visible |
|
只读 | Readonly |
|
可空 | isNullable |
|
唯一 | isUnique |
|
|
|
|
|
|
|
CSS样式 | class |
|
样式 | style |
|
显示格式 | Format |
|
精度 | decimal |
|
标签位置 | LabelPosition | 使用全局设置、上、下、左、右 |
n 表单操作按钮:
包括新增、删除、保存、上一条、下一条,以及自定义按钮。
新增:单击新增按钮,在表单中新增一笔记录;
删除:删除表单中显示的当前记录;
保存:保存新增或修改的记录;
上一条:显示上一条记录,如果当前记录为第一条记录,则单击此按钮表单显示记录不变;
下一条:显示下一条记录,如果当前记录为最后一条记录,则单击此按钮表单显示记录不变。
n 预览表单:
预览设计中的表单的实际效果。
n 管理表单历史版本
表单历史版本管理包括另存为新版本、修改历史版本、删除历史版本、启用版本等。
另存为新版本:将当前设计的表单保存为新的版本,原版本保持不变。
修改历史版本:在历史版本的基础上进行设计;
删除历史版本:删除表单单元的历史版本,如该版本处于【启用】状态,则不能被删除。
启用历史版本:重新启用历史版本,同一个表单单元只能有一个处于【启用】状态的版本。启用历史版本,则当前处于启用状态的版本的状态置为【未启用】状态。
3.2.5.2. 界面原型
Ø 表单设计主界面
3.2.5.3. 用例描述
3.2.5.3.1. UC1101创建表单单元
用例标识号:UC1101 | ||
用例名称:创建表单单元 | ||
参与者:单元设计人员 | ||
简要说明: 本用例说明创建表单型单元的功能。 | ||
前置条件: 1. 用户已登录系统; 2. 用户已进入【界面单元设计】主页面; 3. 用户拥有【创建表单单元】的操作权限。 | ||
后置条件: 1. 新设计的表单单元保存到持久存储中; 2. 设计区中显示新设计或修改的表单单元。 | ||
触发条件: 1. (创建新的表单单元)当用户右键单击【界面单元视图】的主题树的主题结点,选择右键菜单的【创建表单单元】菜单项时,触发该用例。 | ||
事件流: 基本事件流: | ||
步骤 | 用户 | 系统 |
2 |
| 显示【选择业务实体】窗口,初始化主题树和实体列表; |
3 | 选择业务实体;(单选) |
|
4 | 单击【下一步】按钮; |
|
5 |
| 关闭【选择业务实体】窗口; |
6 |
| 显示【设置表单属性】窗口; |
7 | 在【设置表单属性】窗口中输入或修改表单属性; |
|
8 | 单击【确定】按钮; |
|
9 |
| 系统根据用户选择的业务实体和设置的表单单元属性创建表单单元,在设计区中显示生成的表单单元; |
10 | 执行相关的表单设置操作;如设置表单属性、设置表单项属性、设计表单布局、等; |
|
11 |
| 根据用户的不同操作触发不同的用例; |
12 | 单击设计区工具栏的【保存】按钮; |
|
13 |
| 触发“保存表单单元”用例; |
扩展事件流: 步骤4的扩展事件流: 1. 当用户单击【取消】按钮或单击【选择业务实体】窗口右上角的关闭按钮时,系统关闭【选择业务实体】窗口,用例结束; 2. 当用户单击确定按钮时,系统关闭【选择业务实体】窗口,进入步骤9; 步骤8的扩展事件流: 1. 当用户单击【取消】按钮或单击【设置表单属性】窗口右上角的关闭按钮时,系统关闭【设置表单属性】窗口,用例结束; 2. 当用户单击【上一步】按钮时,系统关闭【选择业务实体】窗口,进入步骤2; 步骤12的扩展: 1. 若系统设置了【自动保存】,则从步骤11直接进入步骤13。 异常事件流: 略 | ||
特殊要求:
| ||
扩展点: 无 | ||
相关用例 1. 设计表单布局: 2. 设置表单项项属性: 3. 设置表单操作按钮: 4. 预览表单: 5. 管理表单单元版本: |
3.2.5.3.2. UC1102保存表单单元
在保存模块布局时一起保存,参见“3.2.1.3.8. UC0108保存模块布局”。
3.2.5.3.3. UC1103预览表单单元
在预览模块布局时,如果当前模块布局中定义了表单单元,则同时也要预览表单单元。
具体描述参见“3.2.1.3.10. UC0110预览模块布局”。
3.2.5.3.4. UC1104删除表单单元
删除模块布局时,如果该布局中定义了表单单元,则同时也要删除表单单元。
具体描述参见“3.2.1.3.3. UC0103删除模块布局”。
3.2.5.3.5. UC1105加载表单单元
加载模块布局时,如果当前布局中已经定义了表单单元,则同时加载表单单元。
具体描述参见“3.2.1.3.9. UC0109加载模块布局”。
3.2.5.3.6. UC1106设置表单属性
用例标识号:UC1106 | ||
用例名称:设置表单属性 | ||
参与者:单元设计人员 | ||
简要说明: 本用例说明设置表单属性的功能。 | ||
前置条件: 1. 用户已登录系统; 2. 用户已进入【界面单元设计】主页面; 3. 用户正在设计表单单元; 4. 用户拥有【设置表单属性】的操作权限。 | ||
后置条件: 1. 新设置或修改的表单属性已保存到持久存储中; 2. 修改后的表单单元同步显示到设计区中。 | ||
触发条件: 1. 当用户在表单设计区内单击右键工具栏的【设置…】按钮时触发用例;
| ||
事件流: 基本事件流: | ||
步骤 | 用户 | 系统 |
1 | 参见触发条件; |
|
2 |
| 显示【表单属性】面板; |
3 | 在【表单属性】面板中输入或选择表单属性信息; |
|
4 | 单击设计区工具栏的【保存】按钮; |
|
5 |
| 触发“保存表单单元”用例,将设置或修改的属性保存到持久存储中; |
6 |
| 根据新的属性调整设计区的表单单元显示样式; |
7 |
| 提示用户修改成功(可选)。 |
扩展事件流: 步骤4的扩展事件流: 1. 当系统设置了“自动保存”时,从步骤3直接执行到步骤5。 异常事件流: 步骤5的异常事件流: 3. 当保存失败时,系统对持久化操作进行回滚; 4. 提示用户操作失败。 | ||
特殊要求:
| ||
扩展点: 无 | ||
相关用例 略 |
3.2.5.3.7. UC1107设计表单项
3.2.5.3.8. UC110701增加表单项
用例标识号:UC110701 | ||
用例名称:增加表单项 | ||
参与者:单元设计人员 | ||
简要说明: 本用例描述表单单元设计时增加表单项的操作功能。 | ||
前置条件: 1. 用户已登录系统; 2. 用户已进入【界面单元设计】主页面; 3. 用户正在设计表单单元; 4. 用户拥有【增加表单项列】的操作权限。 | ||
后置条件: 1. 新增加的表单项显示到设计区中; 2. 将新增表单项的信息添加到表单单元的实体信息。 | ||
触发条件: 1. 用户选择“控件面板”中的控件,拖拉到表单设计区时触发用例。 | ||
事件流: 基本事件流: | ||
步骤 | 用户 | 系统 |
1 | 参见触发条件; |
|
2 |
| 在表单设计区的鼠标释放位置显示默认的表单项; |
3 |
| 更新表单单元实体信息; |
4 |
| 用例结束 |
扩展事件流: 如控件面板中的控件被拖至当前面板之外,则系统不做任何操作,用例结束。 | ||
特殊要求: 无 | ||
扩展点: 无 | ||
相关用例 1. UC1107设计表单项:包含本用例。 |
3.2.5.3.9. UC110702删除表单项
用例标识号:UC110702 | ||
用例名称:删除表单项 | ||
参与者:单元设计人员 | ||
简要说明: 本用例描述表单单元设计时删除表单项的操作功能。 | ||
前置条件: 1. 用户已登录系统; 2. 用户已进入【界面单元设计】主页面; 3. 用户正在设计表单单元; 4. 用户拥有【删除表单项列】的操作权限。 | ||
后置条件: 1. 从设计区中清楚被删除的表单项; 2. 将被删除表单项的信息从表单单元的实体信息中移除。 | ||
触发条件: 1. 用户右键单击待删除的表单项,选择右键菜单的【删除】项,触发用例。 | ||
事件流: 基本事件流: | ||
步骤 | 用户 | 系统 |
1 | 参见触发条件; |
|
2 |
| 从表单设计区中清除待删除的表单项; |
3 |
| 更新表单单元实体信息; |
4 |
| 用例结束 |
扩展事件流: 无 | ||
特殊要求: 表单设计区中存在表单项。 | ||
扩展点: 无 | ||
相关用例 1. UC1107设计表单项:包含本用例。 |
3.2.5.3.10. UC110703隐藏表单项
用例标识号:UC110703 | ||
用例名称:隐藏表单项 | ||
参与者:单元设计人员 | ||
简要说明: 本用例说明表单单元设计时隐藏的表单项的功能。 | ||
前置条件: 1. 用户已登录系统; 2. 用户已进入【界面单元设计】主页面; 3. 用户正在设计表单单元; 4. 用户拥有【隐藏表单项】的操作权限; 5. 当前被操作的表单项处于显示状态。 | ||
后置条件: 1. 在设计区中隐藏指定的表单项; 2. 将表单项的隐藏状态同步到表单单元的实体信息中。 | ||
触发条件: 1. 用户右键单击表单设计区的空白处,在右键菜单中选择【显示/隐藏项】下的表单项的已选中的复选框,触发用例。 | ||
事件流: 基本事件流: | ||
步骤 | 用户 | 系统 |
1 | 参见触发条件; |
|
|
| 将复选框的状态修改成未选中状态; |
2 |
| 在设计区中实时隐藏当前操作的表单项; |
3 |
| 更新表单项的隐藏状态到表单单元实体中; |
4 |
| 用例结束。 |
扩展事件流: 步骤1中如用户单击未选中的复选框,则触发“UC110704显示表单项”用例。 | ||
特殊要求: 无 | ||
扩展点: 无 | ||
相关用例 1. UC1107设计表单项:包含本用例。 |
3.2.5.3.11. UC110704显示表单项
用例标识号:UC110704 | ||
用例名称:显示表单项 | ||
参与者:单元设计人员 | ||
简要说明: 本用例说明表单单元设计时显示的表单项的功能。 | ||
前置条件: 1. 用户已登录系统; 2. 用户已进入【界面单元设计】主页面; 3. 用户正在设计表单单元; 4. 用户拥有【显示表单项】的操作权限; 5. 当前被操作的表单项处于隐藏状态。 | ||
后置条件: 1. 在设计区中显示指定的状态为隐藏表单项; 2. 将表单项的显示状态同步到表单单元的实体信息中。 | ||
触发条件: 1. 用户右键单击表单设计区的空白处,在右键菜单中选择【显示/隐藏项】下的表单项的未选中的复选框,触发用例。 | ||
事件流: 基本事件流: | ||
步骤 | 用户 | 系统 |
1 | 参见触发条件; |
|
|
| 将复选框的状态修改为选中状态; |
2 |
| 在设计区中实时显示当前操作的表单项; |
3 |
| 更新表单项的显示状态到表单单元实体中; |
4 |
| 用例结束。 |
扩展事件流: 步骤1中如用户单击已选中的复选框,则触发“UC110703隐藏表单项”用例。 | ||
特殊要求: 无 | ||
扩展点: 无 | ||
相关用例 1. UC1107设计表单项:包含本用例。 |
3.2.5.3.12. UC110705修改表单项标题
用例标识号:UC110705 | ||
用例名称:修改表单项标题 | ||
参与者:单元设计人员 | ||
简要说明: 本用例说明表单单元设计时修改表单项标题的操作功能。 | ||
前置条件: 1. 用户已登录系统; 2. 用户已进入【界面单元设计】主页面; 3. 用户正在设计表单单元; 4. 用户拥有【修改表单项标题】的操作权限。 | ||
后置条件: 1. 设计区的表单单元中显示新的表单项标题; 2. 修改的表单项的标题同步到表单单元的实体信息中。 | ||
触发条件: 1. 用户双击表单项的标题时触发用例。 | ||
事件流: 基本事件流: | ||
步骤 | 用户 | 系统 |
1 | 参见触发条件; |
|
2 |
| 将标题栏设置成修改模式; |
3 | 输入新的标题; |
|
4 | 按回车,或离开鼠标焦点; |
|
5 |
| 将标题栏设置成只读模式,并显示新输入的标题;用例结束 |
扩展事件流: 无 | ||
特殊要求: 无 | ||
扩展点: 无 | ||
相关用例 1. UC1107设计表单项:包含本用例。 |
3.2.5.3.13. UC110706调整表单项大小
用例标识号:UC110706 | ||
用例名称:调整表单项大小 | ||
参与者:单元设计人员 | ||
简要说明: 本用例描述表单单元设计时调整表单项大小,即修改表单项的宽度和高度的操作。 | ||
前置条件: 1. 用户已登录系统; 2. 用户已进入【界面单元设计】主页面; 3. 用户正在设计表单单元; 4. 用户拥有【调整表单项大小】的操作权限。 | ||
后置条件: 1. 设计区的表单单元中显示调整大小后的表单项; 2. 表单项大小信息已同步到表单单元的实体信息中。 | ||
触发条件: 1. 用户拖动设计区中表单项控件句柄时触发用例。 | ||
事件流: 基本事件流: | ||
步骤 | 用户 | 系统 |
1 | 参见触发条件; |
|
2 |
| 将拖动的控件设置成修改大小模式; |
3 | 释放鼠标左键; |
|
|
| 根据用户拖动的轨迹显示表单项的宽度和高度; |
4 |
| 将表单项大小信息同步到表单单元的实体信息中 |
扩展事件流: 无 | ||
特殊要求: 无 | ||
扩展点: 无 | ||
相关用例 1. UC1107设计表单项:包含本用例。 |
3.2.5.3.14. UC110707调整表单项位置
用例标识号:UC110707 | ||
用例名称:调整表单项位置 | ||
参与者:单元设计人员 | ||
简要说明: 本用例说明设计表单布局的功能。 | ||
前置条件: 1. 用户已登录系统; 2. 用户已进入【界面单元设计】主页面; 3. 用户正在进行表单的设计; 4. 用户拥有【设计表单布局】的操作权限。 | ||
后置条件: 1. 新设计的表单布局保存到持久存储中; 2. 设计区中显示新设计或修改的表单单元。 | ||
触发条件: 1. 用户选中设计区中的控件,并拖动时触发该用例。 | ||
事件流: 基本事件流: | ||
步骤 | 用户 | 系统 |
1 | 参见触发条件; |
|
2 |
| 根据用户的操作调整设计区中表单单元的显示样式 |
3 | 单击设计区工具栏的【保存】按钮; |
|
4 |
| 触发“保存表单单元”用例; |
扩展事件流: 基本事件流3的扩展: 1. 若系统设置了【自动保存】,则从步骤2直接进入步骤4。 异常事件流: 略 | ||
特殊要求: 无 | ||
扩展点: 无 | ||
相关用例 1. 设计表单单元: |
3.2.5.3.15. UC110708设置表单项属性
用例标识号:UC110708 | ||
用例名称:设置表单项属性 | ||
参与者:单元设计人员 | ||
简要说明: 本用例说明设置表单项属性的功能。 | ||
前置条件: 1. 用户已登录系统; 2. 用户已进入【界面单元设计】主页面; 3. 用户正在进行表单单元设计; 4. 用户拥有【设置表单项属性】的操作权限。 | ||
后置条件: 1. 设置或修改的表单项属性已保存到持久存储中; 2. 设置或修改的表单项属性同步到设计区中显示的列表单元中。 | ||
触发条件: 1. 当用户在表单设计区内选中某个表单项,单击右键工具栏【设置…】时触发该用例; | ||
事件流: 基本事件流: | ||
步骤 | 用户 | 系统 |
1 | 参见触发条件; |
|
2 |
| 显示【表单项属性】面板; |
3 | 输入或选择新的表单项的属性信息; |
|
4 | 单击设计区工具栏的【保存】按钮; |
|
5 |
| 触发“保存表单单元”用例,将设置或修改的属性保存到持久存储中; |
6 |
| 同步表单项属性到设计区; |
7 |
| 提示用户操作成功。(可选) |
扩展事件流: 步骤1的扩展事件流: 当用例由条件2触发时,系统显示【表单项列表】窗口; 1) 用户在【表单项列表】中修改表单项的属性,如标题、控件类型等; 2) 用户单击表单项窗口工具栏的【应用】按钮; 3) 系统保存表单项属性; 4) 系统根据新的属性,更新设计区的表单显示样式。 5) 用例结束; 步骤4的扩展事件流: 1. 当系统设置了“自动保存”时,从步骤5直接执行到步骤7。
异常事件流: 步骤5的异常事件流: 1. 当保存失败时,系统对持久化操作进行回滚; 2. 提示用户操作失败。 | ||
特殊要求: Ø 调整表单项宽度的另一种方式:通过拖放表单项控件的边框,调整表单项的宽度;(表单项的标签和控件可以分别调宽度)
| ||
扩展点: 无 | ||
相关用例 1. 设计列表单元: 2. 保存列表单元: |
3.2.5.3.16. UC1109扩展事件
3.2.5.3.17. UC110901扩展客户端事件
表单单元事件的客户端扩展,参见“3.2.2.3.8.UC0208扩展客户端事件”。
3.2.5.3.18. UC110902扩展服务端事件
表单单元事件的服务端扩展,参见“3.2.2.3.9. UC0209扩展服务端事件”。
3.2.5.3.19. UC1110操作表单
用例标识号:UC1110 | ||
用例名称:操作表单 | ||
参与者:单元设计人员 | ||
简要说明: 本用例说明操作表单的功能。 | ||
前置条件: 5. 用户已登录系统; 6. 用户已进入【界面单元设计】主页面; 7. 用户正在进行表单单元设计; 8. 用户拥有【操作表单】的操作权限。 | ||
后置条件: 增加或修改等操作后的表单已保存到持久存储中。 | ||
触发条件: 当用户在进行预览表单之后,单击面板工具栏中的功能按钮时触发该用例; | ||
事件流: 基本事件流: | ||
步骤 | 用户 | 系统 |
1 | 单击新增、修改、删除、上一条、下一条等功能后点击保存; |
|
2 |
| 系统将用户最终操作的表单进行保存; |
3 |
| 此用例结束。 |
扩展事件流: 无 异常事件流: 步骤2的异常事件流: 3. 当保存失败时,系统对持久化操作进行回滚; 4. 提示用户操作失败。 | ||
特殊要求: 无 | ||
扩展点: 无 | ||
相关用例 无 |
3.2.6. 设计树单元
3.2.6.1. 功能描述
设计树单元主要包括:树单元数据源属性设置、树单元属性设置、树单元事件设置、树单元预览等功能。该树单元设计的功能点如下表所示:
需求编号 | 功能点名称 | 相关用例 |
IBUS-UI-4.1 | 创建树单元 | UC1201创建树单元 |
IBUS-UI-4.2 | 加载树单元 | UC1213加载树单元 |
IBUS-UI-4.3 | 保存树单元 | UC1202保存树单元 |
IBUS-UI-4.4 | 删除树单元 | UC1206删除树单元 |
IBUS-UI-4.5 | 预览树单元 | UC1203预览树单元 |
IBUS-UI-4.6 | 修改树单元标题 | UC120701修改树节点标题 |
IBUS-UI-4.7 | 创建树单元属性设置面板 | UC1205设置树单元属性 |
IBUS-UI-4.8 | 加载树单元属性数据 | UC1205设置树单元属性 |
IBUS-UI-4.9 | 设置“显示复选框”属性 | UC1205设置树单元属性 |
IBUS-UI-4.10 | 设置“支持键盘导航”属性 | UC1205设置树单元属性 |
IBUS-UI-4.11 | 设置“支持节点拖拉”属性 | UC1205设置树单元属性 |
IBUS-UI-4.12 | 设置“支持多选”属性 | UC1205设置树单元属性 |
IBUS-UI-4.13 | 设置“支持节点编辑”属性 | UC1205设置树单元属性 |
IBUS-UI-4.14 | 设置“树类型”属性 | UC1205设置树单元属性 |
IBUS-UI-4.15 | 关联列表单元 | UC1208关联 |
IBUS-UI-4.16 | 关联表单单元 | UC1208关联 |
IBUS-UI-4.17 | 解除关联 | UC1209解除关联 |
IBUS-UI-4.18 | 与关联列表单元同步 | UC1212同步 |
IBUS-UI-4.19 | 与关联表单单元同步 | UC1212同步 |
IBUS-UI-4.20 | 创建树单元数据源设置面板 | UC1204设置数据源属性 |
IBUS-UI-4.21 | 加载树单元数据源设置面板数据 | UC1204设置数据源属性 |
IBUS-UI-4.22 | 选择数据源(实体) | UC1204设置数据源属性 |
IBUS-UI-4.23 | 设置ID属性 | UC1204设置数据源属性 |
IBUS-UI-4.24 | 设置文本属性 | UC1204设置数据源属性 |
IBUS-UI-4.25 | 设置层次关联属性 | UC1204设置数据源属性 |
IBUS-UI-4.26 | 设置关联方式 | UC1204设置数据源属性 |
IBUS-UI-4.27 | 设置关联子数据源属性 | UC1204设置数据源属性 |
IBUS-UI-4.28 | 设置子数据源类型 | UC1204设置数据源属性 |
IBUS-UI-4.29 | 设置子数据源名称(实体) | UC1204设置数据源属性 |
IBUS-UI-4.30 | 设置子数据源ID属性 | UC1204设置数据源属性 |
IBUS-UI-4.31 | 设置子数据源文本属性 | UC1204设置数据源属性 |
IBUS-UI-4.32 | 设置子树单元名称 | UC1204设置数据源属性 |
IBUS-UI-4.33 | 客户端树操作API | UC121101扩展客户端事件 |
IBUS-UI-4.34 | 树单元客户端事件注册 | UC121101扩展客户端事件 |
IBUS-UI-4.35 | 树单元服务端扩展事件注册 | UC121102扩展服务端事件 |
IBUS-UI-4.36 | 执行客户端事件扩展函数 | UC121101扩展客户端事件 |
其中:
n 设置树单元数据源属性
树单元的数据来源于树单元的字段信息。
设置树单元中节点ID、节点文本、节点层次的数据来源(即对应的界面单元字段),以及节点的树型关系(通过何种方式将信息组织成树型结构)和用户自定义数据等。
系统通过三种方式组织节点的树型关系:
1. 通过父节点字段定义节点的树型关系;例如在部门表中通过PARENTID字段来指定父节点。
2. 通过字段的约定信息结构来定义节点的树型关系;例如在物资类别中大类编号为01,中类编号为0101、0102;则编号为0101和0102的节点是编号为01的节点的子节点。
3. 在界面单元中(非树单元),将单元对应的数据实体作为根结点、数据实体属性作为二级节点、实体属性对应的值作为三级节点。这种方式的树形组织形式时IBUSv3000中最常用的树单元组织形式。
树单元的数据源属性包括,树节点ID字段名、标签字段名、树级别字段名、关联字段名、关联方式(外键关联、结构关联)、用户自定义数据(可定义多个自定义数据)。
n 设置树单元属性
本功能实现树单元属性的设置。
| 属性名称(中文) | 属性名称(英文) | 说明 |
| 图片路径 | imagePath | 手动设置 |
| 宽度 | width | 默认 |
| 高度 | height | 默认 |
| Style | style |
|
| 显示线条 | enableTreeLines | 手动设置 |
| 显示节点图片 | enableTreeImages | 手动设置 |
| 是否显示根结点 | isShowRoot | 手动设置 |
| 是否支持选择框 | 手动设置 | |
| 是否支持三种状态选择框 |
| |
| 是否支持智能选择框 | enableSmartCheckboxes |
|
| 是否支持单选树 | 单选 | |
| 是否支持单选模式的单选框 |
| |
| 是否支持节点拖拉 | 拖拉节点位置 | |
| 是否拖拉时允许滚动 |
| |
| 是否支持节点高亮显示 |
| |
| 是否支持键盘导航 | 键盘选择节点 | |
| 是否支持多选 | 选择多个节点 | |
| 是否支持节点编辑 | 编辑节点名称 | |
| 树节点对齐方式 | RTL | 左对齐、右对齐 |
| 是否支持智能渲染 | enableSmartRendering |
|
| 是否支持智能解析 | enableSmartXMLParsing |
|
| 是否支持分布式解析 | enableDistributedParsing |
|
| 是否支持智能加载 | isSmartLoad |
|
| 支持树节点查询 |
| |
| 排序方式 | order |
|
| 自定义排序方法 |
| |
|
|
|
|
n 设置树单元事件:
本功能实现树单元事件处理方法的设置,主要设置树单元事件名称、前台事件处理方法(JS方法)、后台事件处理方法。
树单元支持的事件类型如下表所示:
事件类型 | 事件名称(中文) | 事件名称(英文) | 说明 |
拖拉事件 | 拖拉前 | onBeforeDrag |
|
拖拉 | onDrag |
| |
拖入 | onDragIn |
| |
释放 | onDrop |
| |
编辑事件 | 树节点编辑 | onEditing |
|
复选框选中前 | onBeforeCheck |
| |
选中 | onCheck |
| |
加载事件 | 加载前 | onXLS |
|
加载后 | onXLE |
| |
鼠标事件 | 鼠标进入 | onMouseIn |
|
鼠标移开 | onMouseOut |
| |
节点打开事件 | 打开前 | onOpenStart |
|
打开后 | onOpenEnd |
| |
双击 | onDblClick |
| |
打开 | onOpenDynamicEnd |
| |
右键单击事件 | 右键 | onRightClick |
|
节点选择事件 | 单击 | onClick |
|
选择 | onSelect |
|
3.2.6.2. 界面原型
3.2.6.3. 用例描述
3.2.6.3.1. UC1201创建树单元
用例标识号:UC1201 | ||
用例名称:创建树单元 | ||
参与者:单元设计人员 | ||
简要说明: 本用例说明创建树单元的功能。 | ||
前置条件: 1. 用户已登录系统; 2. 用户已进入【界面单元设计】主页面; 3. 用户拥有【创建树单元】的操作权限。 | ||
后置条件: 1. 新设计的树单元保存到持久存储中; 2. 设计区中显示新设计的树单元。 | ||
触发条件: 当用户右键单击【界面单元视图】的主题树的主题结点,选择右键菜单的【创建树单元】菜单项时,触发该用例。 | ||
事件流: 基本事件流: | ||
步骤 | 用户 | 系统 |
1 | 用户右键单击【界面单元视图】的主题树的主题结点,选择右键菜单的【创建树单元】菜单项; |
|
2 |
| 显示【选择业务实体】窗口,初始化主题树和实体列表; |
3 | 选择业务实体;(单选) |
|
4 | 单击【下一步】按钮; |
|
5 |
| 关闭【选择业务实体】窗口; |
6 |
| 显示【设置数据源属性】窗口; |
7 | 在【设置数据源】窗口中输入数据源属性; |
|
8 | 单击【下一步】按钮; |
|
9 |
| 关闭【设置数据源属性】窗口; |
10 |
| 显示【树单元属性】窗口; |
11 | 输入或选择树单元的属性 |
|
12 |
| 根据用户选择的业务实体、设置的数据源和树单元属性创建树单元,在设计区中显示生成的树单元; |
13 | 执行相关的表单设置操作;如设置数据源属性、设置树单元属性、用户数据等; |
|
14 |
| 根据用户的不同操作触发不同的用例; |
15 | 单击设计区工具栏的【保存】按钮; |
|
16 |
| 触发“保存树单元”用例; |
扩展事件流: 步骤1的扩展事件流: 1. 由条件2触发用例时,直接进入步骤14; 步骤4的扩展事件流: 1. 当用户单击【取消】按钮或单击【选择业务实体】窗口右上角的关闭按钮时,系统关闭【选择业务实体】窗口,用例结束; 2. 当用户单击确定按钮时,系统关闭【选择业务实体】窗口,进入步骤13; 步骤8的扩展事件流: 1. 当用户单击【取消】按钮或单击【设置数据源属性】窗口右上角的关闭按钮时,系统关闭【设置数据源属性】窗口,用例结束; 2. 当用户单击【上一步】按钮时,系统关闭【设置数据源属性】窗口,进入步骤2; 3. 当用户单击【确定】按钮时,系统关闭【设置数据源属性】窗口,进入步骤13; 步骤12的扩展事件流: 1. 当用户单击【取消】按钮或单击【设置树单元属性】窗口右上角的关闭按钮时,系统关闭【设置树单元属性】窗口,用例结束; 2. 当用户单击【上一步】按钮时,系统关闭【设置树单元属性】窗口,进入步骤6;
异常事件流: 略 | ||
特殊要求:
| ||
扩展点: 无 | ||
相关用例
|
3.2.5.3.2. UC1202保存树单元
在保存模块布局时一起保存,参见“3.2.1.3.8. UC0108保存模块布局”。
3.2.5.3.3. UC1203预览树单元
在预览模块布局时,如果当前模块布局中定义了树单元,则同时也要预览树单元。
具体描述参见“3.2.1.3.10. UC0110预览模块布局”。
3.2.5.3.4. UC1204设置数据源属性
用例标识号:UC1204 | ||
用例名称:设置数据源属性 | ||
参与者:单元设计人员 | ||
简要说明: 本用例说明设置树单元的数据源属性的功能。 | ||
前置条件: 1. 用户已登录系统; 2. 用户已进入【界面单元设计】主页面; 3. 用户正在设计树单元; 4. 用户拥有【设置数据源属性】的操作权限。 | ||
后置条件: 1. 新设置或修改的数据源属性已保存到持久存储中; 2. 新的数据源属性同步显示到设计区中。 | ||
触发条件: 用户右键单击设计区内树的根节点,在右键菜单中点击【设置…】按钮,在弹出的窗口中选择【数据源】选项卡时触发用例; | ||
事件流: 基本事件流: | ||
步骤 | 用户 | 系统 |
1 | 参见触发条件; |
|
2 |
| 显示【数据源属性】面板,并加载数据源信息; |
3 | 在【数据源属性】面板中输入或修改树单元的数据源属性信息; |
|
4 | 单击设计区工具栏的【保存】按钮; |
|
5 |
| 触发“保存树单元”用例,将设置或修改的属性保存到持久存储中; |
6 |
| 根据新的数据源属性调整设计区的树单元的显示样式; |
7 |
| 提示用户修改成功(可选)。 |
扩展事件流: 步骤4的扩展事件流: 1. 当系统设置了“自动保存”时,从步骤3直接执行到步骤5。 异常事件流: 步骤5的异常事件流: 1. 当保存失败时,系统对持久化操作进行回滚; 2. 提示用户操作失败。 | ||
特殊要求: 无 | ||
扩展点: 无 | ||
相关用例 无 |
3.2.5.3.5. UC1205设置树单元属性
用例标识号:UC1205 | ||
用例名称:设置树单元属性 | ||
参与者:单元设计人员 | ||
简要说明: 本用例说明设置树单元属性的功能。 | ||
前置条件: 1. 用户已登录系统; 2. 用户已进入【界面单元设计】主页面; 3. 用户正在设计树单元; 4. 用户拥有【设置树单元属性】的操作权限。 | ||
后置条件: 1. 新设置或修改的树单元属性已保存到持久存储中; 2. 修改后的树单元同步显示到设计区中。 | ||
触发条件: 用户右键单击设计区内树的根节点,在右键菜单中点击【设置…】按钮,在弹出的窗口中选择【基本属性】选项卡时触发用例; | ||
事件流: 基本事件流: | ||
步骤 | 用户 | 系统 |
1 | 参见触发条件; |
|
2 |
| 显示【树单元基本属性】面板; |
3 | 在【树单元基本属性】面板中输入或选择树单元属性信息; |
|
4 | 单击设计区工具栏的【保存】按钮; |
|
5 |
| 触发“保存树单元”用例,将设置或修改的属性保存到持久存储中; |
6 |
| 根据新的属性调整设计区的树单元显示样式; |
7 |
| 提示用户修改成功(可选)。 |
扩展事件流: 步骤4的扩展事件流: 1. 当系统设置了“自动保存”时,从步骤3直接执行到步骤5。 异常事件流: 步骤5的异常事件流: 1. 当保存失败时,系统对持久化操作进行回滚; 2. 提示用户操作失败。 | ||
特殊要求:
| ||
扩展点: 无 | ||
相关用例 略 |
3.2.5.3.6. UC1206删除树单元
删除模块布局时,如果当前的布局中已经设计了树单元,需要删除树单元。
具体描述参见“3.2.1.3.3. UC0103删除模块布局”。
3.2.5.3.7. UC1207设计树单元
3.2.5.3.8. UC120701修改树节点标题
用例标识号:UC120701 | ||
用例名称:修改树节点标题 | ||
参与者:单元设计人员 | ||
简要说明: 本用例说明树单元设计时修改树节点标题的操作功能。 | ||
前置条件: 1. 用户已登录系统; 2. 用户已进入【界面单元设计】主页面; 3. 用户正在设计树单元; 4. 用户拥有【修改树节点标题】的操作权限。 | ||
后置条件: 1. 设计区的树单元中显示新的树节点标题; 2. 修改的树节点的标题同步到树单元的实体信息中。 | ||
触发条件: 用户双击树节点的标题时触发用例。 | ||
事件流: 基本事件流: | ||
步骤 | 用户 | 系统 |
1 | 参见触发条件; |
|
2 |
| 将标题栏设置成修改模式; |
3 | 输入新的标题; |
|
4 | 按回车,或离开鼠标焦点; |
|
5 |
| 将标题栏设置成只读模式,并显示新输入的标题;用例结束 |
扩展事件流: 无 | ||
特殊要求: 无 | ||
扩展点: 无 | ||
相关用例 UC1207设计树单元:包含本用例。 |
3.2.5.3.9. UC120702隐藏树节点
用例标识号:UC120702 | ||
用例名称:隐藏树节点 | ||
参与者:单元设计人员 | ||
简要说明: 本用例说明树单元设计时隐藏树节点的功能。 | ||
前置条件: 1. 用户已登录系统; 2. 用户已进入【界面单元设计】主页面; 3. 用户正在设计树单元; 4. 用户拥有【隐藏树节点】的操作权限; 5. 当前被操作的树节点处于显示状态。 | ||
后置条件: 1. 在设计区中隐藏指定的树节点; 2. 将树节点的隐藏状态同步到树单元的实体信息中。 | ||
触发条件: 用户右键单击设计区内树的根节点,在右键菜单中选择【关联项】下的树节点的已选中的复选框,触发用例。 | ||
事件流: 基本事件流: | ||
步骤 | 用户 | 系统 |
1 | 参见触发条件; |
|
2 |
| 将复选框的状态修改成未选中状态; |
3 |
| 在设计区中实时隐藏当前操作的树节点; |
4 |
| 更新树节点的隐藏状态到树单元实体中; |
5 |
| 用例结束。 |
扩展事件流: 步骤1中如用户单击未选中的复选框,则触发“UC120703显示树节点”用例。 | ||
特殊要求: 无 | ||
扩展点: 无 | ||
相关用例 UC1207设计树单元:包含本用例。 |
3.2.5.3.10. UC120703显示树节点
用例标识号:UC120703 | ||
用例名称:显示树节点 | ||
参与者:单元设计人员 | ||
简要说明: 本用例说明树单元设计时显示树节点的功能。 | ||
前置条件: 1. 用户已登录系统; 2. 用户已进入【界面单元设计】主页面; 3. 用户正在设计树单元; 4. 用户拥有【显示树节点】的操作权限; 5. 当前被操作的树节点处于隐藏状态。 | ||
后置条件: 1. 在设计区中显示指定的状态为隐藏树节点; 2. 将树节点的显示状态同步到树单元的实体信息中。 | ||
触发条件: 用户右键单击设计区内树的根节点,在右键菜单中选择【关联项】下的树节点的未选中的复选框,触发用例。 | ||
事件流: 基本事件流: | ||
步骤 | 用户 | 系统 |
1 | 参见触发条件; |
|
2 |
| 将复选框的状态修改为选中状态; |
3 |
| 在设计区中实时显示当前操作的树节点; |
4 |
| 更新树节点的显示状态到树单元实体中; |
5 |
| 用例结束。 |
扩展事件流: 步骤1中如用户单击已选中的复选框,则触发“UC120702隐藏树节点”用例。 | ||
特殊要求: 无 | ||
扩展点: 无 | ||
相关用例 UC1207设计树单元:包含本用例。 |
3.2.5.3.11. UC1208关联
用例标识号:UC1208 | ||
用例名称:关联 | ||
参与者:单元设计人员 | ||
简要说明: 本用例说明树单元设计时关联其他单元的功能。 | ||
前置条件: 1. 用户已登录系统; 2. 用户已进入【界面单元设计】主页面; 3. 用户正在设计树单元; 4. 用户拥有【关联】的操作权限; 5. 当前被操作的树单元处于无关联状态。 | ||
后置条件: 1. 在设计区中以树节点的方式显示关联的其他单元的单元项; 2. 将树节点的关联状态同步到树单元的实体信息中。 | ||
触发条件: 用户右键单击设计区内树的根节点,在右键菜单中选择【关联】中的一个其他单元,触发用例。 | ||
事件流: 基本事件流: | ||
步骤 | 用户 | 系统 |
1 | 参见触发条件; |
|
2 |
| 将其他单元的单元项与树进行关联; |
3 |
| 在设计区中实时地以树节点的方式显示关联的单元项; |
4 |
| 更新树单元的关联状态到树单元实体中; |
5 |
| 用例结束。 |
扩展事件流: 无 | ||
特殊要求: 无 | ||
扩展点: 无 | ||
相关用例 无 |
1.2.5.3.12. UC1209解除关联
用例标识号:UC1209 | ||
用例名称:解除关联 | ||
参与者:单元设计人员 | ||
简要说明: 本用例说明树单元设计时解除与其他单元关联的功能。 | ||
前置条件: 1. 用户已登录系统; 2. 用户已进入【界面单元设计】主页面; 3. 用户正在设计树单元; 4. 用户拥有【解除关联】的操作权限; 5. 当前被操作的树单元处于关联状态。 | ||
后置条件: 1. 在设计区中清除与其他单元的单元项的关联; 2. 将树节点的关联状态同步到树单元的实体信息中。 | ||
触发条件: 用户右键单击设计区内树的根节点,在右键菜单中选择【解除关联】,触发用例。 | ||
事件流: 基本事件流: | ||
步骤 | 用户 | 系统 |
1 | 参见触发条件; |
|
2 |
| 将树节点与其他单元的单元项的关联进行解除; |
3 |
| 在设计区中实时地清除关联单元项的树节点; |
4 |
| 更新树单元的关联状态到树单元实体中; |
5 |
| 用例结束。 |
扩展事件流: 无 | ||
特殊要求: 无 | ||
扩展点: 无 | ||
相关用例 无 |
3.2.5.3.13. UC1210关系装配
3.2.5.3.14. UC121001增加单元装配关系
树单元的增加单元装配关系,参见“3.2.2.3.1. UC0201增加单元装配关系”。
3.2.5.3.15. UC121002修改单元装配关系
树单元的修改单元装配关系,参见“3.2.2.3.2. UC0202修改单元装配关系”。
3.2.5.3.16. UC121003删除单元装配关系
树单元的删除单元装配关系,参见“3.2.2.3.3. UC0203删除单元装配关系”。
3.2.5.3.17. UC1211扩展事件
3.2.5.3.18. UC121101扩展客户端事件
树单元事件的客户端扩展,参见“3.2.2.3.8. UC0208扩展客户端事件”。
3.2.5.3.19. UC121102扩展服务端事件
树单元事件的服务端扩展,参见“3.2.2.3.9. UC0209扩展服务端事件”。
3.2.5.3.20. UC1212同步
用例标识号:UC1212 | ||
用例名称:同步 | ||
参与者:单元设计人员 | ||
简要说明: 本用例说明树单元设计时同步已关联的其他单元单元项的修改的功能。 | ||
前置条件: 1. 用户已登录系统; 2. 用户已进入【界面单元设计】主页面; 3. 用户正在设计树单元; 4. 用户拥有【同步】的操作权限; 5. 当前被操作的树单元处于关联状态。 | ||
后置条件: 1. 在设计区中同步显示已关联的其他单元单元项的修改信息,更新树节点信息; 2. 将树节点的关联状态同步到树单元的实体信息中。 | ||
触发条件: 用户右键单击设计区内树的根节点,在右键菜单中选择【同步】,触发用例。 | ||
事件流: 基本事件流: | ||
步骤 | 用户 | 系统 |
1 | 参见触发条件; |
|
2 |
| 同步更新树节点信息与其他单元的单元项的修改信息; |
3 |
| 在设计区中实时地显示同步后的树节点; |
4 |
| 更新树单元的关联状态到树单元实体中; |
5 |
| 用例结束。 |
扩展事件流: 无 | ||
特殊要求: 无 | ||
扩展点: 无 | ||
相关用例 无 |
3.2.5.3.21. UC1213加载树单元
加载模块布局时,如果当前布局中已经定义了树单元,则同时加载树单元。
具体描述参见“3.2.1.3.9. UC0109加载模块布局”。
4. 非功能需求
4.
4.1. 技术总需求
n 产品层次结构
IBUS产品的总体结构层次如下图所示:
IBUS平台分为客户层、服务层和数据层三个大的层次结构。
其中:.
Ø IBUS客户层主要功能:实现数据的展现以及应用模块的界面设计和装配;
Ø IBUS客户层主要功能:为IBUS的客户层实现其功能提供支撑;
Ø IBUS数据层主要功能:为IBUS服务层实现其功能提供支撑;实现数据的持久存储相关的具体操作,与持久存储进行交互。
n 产品架构核心思想
产品各级架构设计必须遵循如下图的组件黑箱的思想。
无论何种层次的系统模块,大到顶层的层次结构,小到一个具体的算法,都必须遵守组件黑箱的思想。
组件黑箱必具备下述清晰的定义:
Ø 组件黑箱必须具备明确的输入;
Ø 组件黑箱本身必须具备一定的功能;
Ø 组件黑箱具有特定的边界条件,即黑箱功能必须满足一定的使用条件以及具有一定的局限性。
Ø 黑箱必须具备明确无二义性的输出。
n 产品技术实现总需求
Ø 系统采用基于J2EE的SOA技术架构实现;
Ø 遵循业界标准,如HTTP、J2EE1.5、SCA、SOAP、WSDL、XML等标准;
Ø 产品的三个层次间必须保持高度的松耦合;层次之间不存在必然的依赖关系;
Ø 层次之间以及模块之间的通过定义良好的接口和数据格式进行交互,模块的设计遵循高内聚低耦合的原则;
Ø 平台可以集成异种开发语言实现的应用功能,包括JSP、PHP、.NET等。
n 产品的部署结构
本产品支持集中式和分布式两种部署结构。
所谓集中式部署结构是指产品的客户层、服务层和数据层都部署在同一应用服务器中。
所谓分布式部署是指产品的客户层、服务层和数据层分别部署到不同的应用服务器中,甚至不同的服务组件和资源可以部署到不同的应用服务器中,这些不同的应用服务器可能存在于相同的物理位置,也可能存在于不同的物理位置。
同样,用户应用程序,即用户使用IBUS产品生产的业务系统可以远程部署在IBUS产品的应用中心,也可以部署在客户单位自己的服务器中。
4.2. 用户界面需求
本产品本着“以用户为中心”的理念进行用户界面和用户体验的设计,要求本产品以及基于产品的业务系统达到以下要求:
Ø 使用富客户端的ajax技术实现,避免页面的全局刷新;
Ø 界面风格和操作方式统一;
Ø 不存在隐性的操作;
Ø 操作名称清晰明确,不存在二义性;
Ø 系统的操作流程自然,流畅,符合目标用户的操作习惯;
Ø 用户可以自定义系统的主题风格。
4.3. 软硬件环境需求
硬件最低配置需求:
Ø CPU:P4以上
Ø 内存:2G以上
Ø 硬盘:80G以上
详细信息请参见“4.9.1. 硬件兼容性”。
软件环境需求:
Ø Java虚拟机:JDK1.6+
Ø 操作系统:参见“4.9.2. 操作系统兼容性”;
Ø 应用服务器:参见“4.9.3. 应用服务器兼容性”;·
Ø 数据库:参见“4.9.4. 数据库兼容性”。
4.4. 产品质量需求
主要质量属性 | 详细要求 |
可靠性 | 系统必须实现7*24小时不间断运行,非正常停机时间低于0.1% |
性能,效率 | 参见【4.5. 性能需求】 |
易用性 | 系统使用符合目标用户的习惯 |
可扩展性 | 参见【4.7. 开放性与扩展性需求】 |
安全性 | 参见【4.8. 安全性需求】 |
兼容性 | 参见【4.9. 兼容性需求】 |
可移植性 | 参见【4.10. 可移植性需求】 |
4.5. 性能需求
本产品需要达到一定的性能要求,以满足当前及未来业务发展的需要。
Ø 本产品能够满足工作高峰时期对各种响应的性能需求。
具体性能指标为:
Ø 系统能够以3秒的最大响应时间处理500个并发用户对系统的访问,此时服务器的CPU占用率不超过75%,内存使用率不超过75%;
Ø 峰值时刻系统能以5秒的最大响应时间处理1000个并发用户对系统的访问,此时服务器的CPU占用率不超过95%,内存使用率不超过95%;
Ø 系统能够以3秒的最大响应时间处理100个并发用户对数据库的访问,此时应用服务器和数据库服务器的CPU占用率不超过75%,内存使用率不超过75%;
Ø 峰值时刻系统能以5秒的最大响应时间处理200个并发用户对数据库的访问,此时应用服务器和数据库服务器的CPU占用率不超过95%,内存使用率不超过95%;
4.6. 业务连续性需求
为了满足业务连续性要求,本产品在建设时应着重考虑如下几个方面:
4.6.1. 可用性
本产品自身的硬件、软件、平台必须拥有完整的自有HA(高可用性)能力,以保证在特殊情况下的系统稳定性和高可用性,满足业务连续性要求。
Ø 冗余的硬件设备:本产品所使用的硬件设备和硬件模块必须采用高可用性的方式部署或者安装。包括以下类型:
² 关键性的服务器
² 网络设备,包括安全设备(如防火墙)和数据通信设备(如路由器、交换机)
² 网络设备之间的通信链路
² 电源
² 风扇
² 硬盘
² 网卡
² 其他关键性设备及模块
Ø 冗余的系统及服务:本产品需要支持高可用性方案。目前常见的高可用性方案有以下几种:
² 双机热备:双机热备通常是指基于Active(主)/Standby(备)方式的服务器热备。在同一时间内只有一台服务器运行,服务器数据包括数据库数据往两台服务器中同步写入,或者使用一个共享的存储设备。当运行当中的主用服务器出现故障时,备用服务器会通过软件诊测(如通过心跳诊断)到该信息后自我激活接管应用服务,保证应用在短时间内完全恢复正常使用。
² 双机互备:双机互备是指在双机热备的基础上,两个相对独立的应用在两台机器同时运行,但彼此均设为备机,当某一台服务器出现故障时,另一台服务器可以在短时间内将故障服务器的应用接管过来,从而保证了应用的持续性。这种方式实际上是双机热备的一种特殊应用。它提高了双机的利用率,避免了两个应用使用四台服务器分别实现双机热备。
² 负载均衡:负载均衡是指两台或多台服务器均为活动,同时运行相同的应用,保证整体的性能,实现了负载均衡和互为备份。负载均衡通常需要利用外置磁盘阵列存储技术。如果是数据库服务则还需要数据库软件的支持,是较为复杂的一种冗余方式。对于WEB类的应用,可采用在其前面部署负载均衡器的方式实现多个服务器的负载均衡。
Ø 冗余的体系结构:本产品体系结构支持冗余,从而确保本产品的部分模块发生故障时,能够提供HA服务。
4.6.2. 数据备份与恢复
本产品必须支持数据备份和恢复,在必要情况下可以快速进行数据恢复。本产品建设后必须制定详细的备份和恢复策略,并验证这些策略的可靠性。
4.6.3. 与其它业务系统的整合
本产品需要考虑与其他系统之间的整合,确保相互间业务通信的连续性。
4.6.4. 应急响应策略
部署本产品时需要考虑应急情况下的响应方法,确保在本产品发生故障的情况下能够快速进入应急响应程序,维护业务的连续性。
Ø 本产品在设计时,必须考虑应急响应所要求的基本条件,如功能、接口、流程等。
Ø 本产品在建设时,必须制定应急响应策略并验证应急响应策略的可靠性。
Ø 其他应用或者系统,必须制定应急响应策略并验证应急响应策略的可靠性。
4.7. 开放性与扩展性需求
本产品的开放性和可扩展性至少包含以下几个方面的要求:
Ø 管理对象种类的扩展性:当进行新业务系统或子系统建设时,相应增加新了业务系统,本产品需要能够适用于这些新的业务系统,实现统一身份认证管理。
Ø 管理对象数量的扩展性:当进行业务扩展时,业务系统在数量上会增加,本产品需要能够接纳这些新增的业务系统。需要保持足够的平台扩容空间。
Ø 标准的接口:本产品需要为各业务子系统以及外部业务系统提供开放的接口,遵循国际流行标准,符合开放性设计原则,使其具备优良的可扩展性、可升级性和灵活性。
Ø 交互模式:本产品和被管理业务系统都需要支持同步和异步的交互方式,处理实时数据的修改和批量数据的修改。
4.8. 安全性需求
Ø 系统安全要求
由于本产品是其他业务系统或业务子系统的核心,必须保证其自身系统的安全性。
² 本产品在设计过程中的内部流程、开发规范、接口规范必须符合智慧电子相关的安全规范和安全要求。
² 本产品必须采用安全的操作系统和应用软件,根据需要对主机操作系统进行定期安全加固。
² 本产品在设计中,应避免不必要的信任关系,尽量使高安全级别的系统访问低安全级别系统,避免存在一定安全隐患的系统将风险转移本产品。
Ø 数据安全要求
² 本产品的数据生成、存储、使用必须是智慧电子相关的安全规范, 有明确的数据安全访问、存储、备份机制。
² 本产品中的敏感性数据,如用户信息、密码信息、审计信息等支持加密方式存储。
Ø 通讯安全要求
² 本产品内部组件之间通讯连接能够支持加密方式。
² 本产品同其他系统间互通在性能允许情况下支持安全的加密通讯连接。
4.9. 兼容性需求
兼容性需求包含硬件兼容性、操作系统兼容性、应用服务器兼容性、数据库兼容性等子需求。
4.9.1. 硬件兼容性
本产品能运行于各种常见的硬件体系结构中。
4.9.2. 操作系统兼容性
本产品能运行于常用的操作系统,如Windows2003 Server、Linux、Unix等;
4.9.3. 应用服务器兼容性
本产品可部署于常用的应用服务器,如Tomcat、JBOSS AS、Weblogic Server、Websphere等;同时也能移植到其他的应用服务器上。
4.9.4. 数据库兼容性
本产品能支持常用的数据库系统,包括Oracle、Mysql、Ms Sql Server;同时也能移植到其他的数据库系统。
4.10. 可移植性需求
本产品必须保证在修改0.1%代码行的前提下,在不同的硬件、操作系统、数据库、应用服务器中进行移植。
4.11. 接口需求
Ø 软件接口
对外接口:系统可以将各种功能组件以Web服务的方式提供给外部系统,供外部系统调用;本版本暂不提供对外部的接口。
对内接口:
系统各层之间通过定义良好的接口进行通讯,系统主要提供两种通讯方式,即基于Web Service的服务调用方式和基于SCA的服务组装方式。
系统的对内接口有服务适配接口(Service Adapter):该接口用于匹配本系统与IBUS服务端平台的服务门面(Service Facade)。
调用外部接口:系统通过两种方式与外部系统进行交互。如果外部系统具有定义良好的Web Service,则系统可以通过Web Service和SCA两种方式调用外部服务;如果外部系统提供的服务不是webservice类型的,则系统通过SCA的方式调用外部系统的服务。
本系统与IBUS服务端平台的接口调用采用第一种方式,即系统采用SCA方式调用IBUS服务端平台提供的接口,如服务门面接口(Service Façade)。
Ø 硬件接口
无。
4.12. 其他需求
无。