面向特征的领域建模工具FODMWord格式.docx
《面向特征的领域建模工具FODMWord格式.docx》由会员分享,可在线阅读,更多相关《面向特征的领域建模工具FODMWord格式.docx(14页珍藏版)》请在冰豆网上搜索。
3.1.4特征建模工具编辑与排版相关需求7
3.1.5其它需求9
3.2对性能的规定10
3.2.1精度10
3.2.2时间特性要求10
3.2.3灵活性10
3.3输入输出要求10
3.4数据管理能力要求10
3.5故障处理要求10
3.6其他专门要求10
4运行环境规定10
4.1设备10
4.2支持软件10
4.3接口11
4.4控制11
1引言
1.1编写目的
本文档主要面向面向特征的领域建模工具FODM(以下简称特征建模支持工具)的体系结构设计人员和构件实现人员,其主要目的在于为相关人员提供关于特征建模支持工具的基本背景知识和清晰的需求说明。
1.2背景
特征建模支持工具是国家863计划课题“可信的国家软件资源共享与协同生产环境”(课题编号:
2007AA010301)的研究载体,其开发的主要目的是将北京大学软件研究所关于特征建模的研究成果工具化,该工具由北京大学软件研究所需求工程与领域工程小组内部成员承担开发。
1.3定义
●领域:
Domain
“领域”是指一组具有相似或相近软件需求的应用系统所覆盖的功能区域。
例如文字处理器、图元编辑器、电子邮件客户端等领域。
●领域工程:
DomainEngineering
领域工程是为一组相似或相近系统的应用工程建立基本能力和必备基础的过程,它覆盖了建立可复用的软件构件的所有活动。
领域工程包含三个阶段:
领域分析,领域设计和领域实现。
本工具主要适用于领域分析阶段。
●特征:
Feature
特征是系统中最终用户可见的、显著或特色的行为、能力、特点等,描述的是用户对于系统的理解。
例如:
图元编辑器领域的一个特征“图元操纵服务”。
特征间的关系有:
精化关系、约束关系、交互关系。
特征可以大致分类为:
服务,功能,行为,质量,用例,状态等。
此外,特征由其自身的一组属性所刻画,具体包括:
名称、需求描述、规约描述、变化性、绑定时间、绑定状态。
●精化:
Refinement
通过精化关系,特征可以将具有不同抽象层次和不同粒度的特征组织成一种层次式的结构。
精化关系也为特征的发现提供了基本的指南。
即:
通过对一个特征进行精化,发现更小粒度、更低抽象层次的特征;
通过对若干个特征进行抽象(反精化),发现更大粒度、更高抽象层次的特征。
有3种精化关系:
分解(Decomposition);
属性化(Detailization);
特殊化(Specialization)。
●约束:
Constraint
约束关系表示了一组在剪裁特征模型时必须满足的规则。
约束反映了特征之间的静态依赖关系。
一个特征的存在需要其它特征的存在,或与其它某些特征互斥。
基本的约束包括:
依赖(Require)和互斥(Exclude)。
复杂的约束包括:
组约束(GroupConstraints);
组合约束(CompositeConstraints)等。
我们的支持工具能够以图形化的方式对这些约束进行建模。
同时,这些约束关系在内部被形式化为一组命题逻辑公式,并通过模型检查器对约束建模结果的合理性进行验证。
●交互:
Interaction
交互反映了特征之间存在的动态依赖关系。
典型的交互如调用、通知等等。
我们的特征模型对两元交互提供了一种分类框架。
即按照参与交互的模式和交互的主动方对被动方是否存在依赖,把两元特征划分为4类:
DirectExplicitInteractions;
DirectImplicitInteractions;
IndirectExplicitInteractions;
IndirectImplicitInteractions。
在此基础上,我们提供了7种具体的交互类型:
调用(Invoke);
元层配置(Meta-levelConfigure);
通知(Notify);
资源配置(ResourceConfigure);
影响(Influence);
流(Flow);
互斥(Mutex)。
●维度-值关系:
Dimension-ValueRelation
一个特征自身具有变化性,这个特征进一步细化为一组特征,且在这一组特征上只能选择一个特征来实例化父特征。
●变化性:
Variability
父特征对子特征的可选性,分为可选(Optional)和必选(Mandatory)。
●绑定:
Binding
领域具有的变化性特征总要在领域工程或软件生命周期的某个阶段被确定下来,如果确定该特征包含在特定的应用系统的特征模型中,则称这个特征被“绑定”。
确定下来的时间被称为“绑定时间”,典型的绑定时间包括:
复用时(ReuseTime),编译时(CompileTime),装载时(LoadTime),运行时(RunTime)等。
●领域词典:
DomainDictionary
领域词典中集中存放了在领域分析过程中出现的和领域相关的词语以及对这些词语的详细解释。
1.4参考资料
●《面向特征的领域建模技术研究》。
张伟。
2任务概述
2.1目标
特征建模支持工具开发的主要目的是将北京大学软件研究所关于特征建模的研究成果工具化,该软件工具由北京大学软件研究所需求工程与领域工程小组内部成员承担开发。
特征建模支持工具将被应用于办公自动化、银行信贷风险管理、税收征管等多个领域的软件开发过程中,特征建模支持工具应能够独立地为软件的领域需求的系统化整理和复用提供有效的工具支持。
|
2.2用户的特点
特征建模支持工具的用户应为具有一定开发经验的软件开发人员。
2.3假定和约束
特征建模支持工具的开发工作隶属于国家863计划课题《可信的国家软件资源协同与共享生产环境》(课题编号:
2007AA010301),经费与时间分配均以课题要求为准。
3需求规定
3.1对功能的规定
特征建模支持工具的需求分为5部分:
项目管理相关需求、视图管理相关需求、特征建模相关需求、编辑与排版相关需求和其它需求。
在本节中,将使用特征模型的形式来描述这些需求(这些特征模型的片断是基于我们已经开发的特征建模工具建立起来的)。
3.1.1项目管理相关需求
把特征建模活动按照项目来进行管理。
一个项目包含了对一个特定领域进行特征分析活动的相关信息。
项目管理包含的特征及特征间的精化关系如图3.1.1所示。
图3.1.1项目管理相关需求
其中每个特征的详细描述参见表3.1.1。
特征名称
特征描述
项目管理服务
项目管理相关需求的集合统称为项目管理服务。
其进一步包含新建项目、打开项目、关闭项目、存储项目和显示项目修改状态等子特征。
新建项目
建立一个空白的项目,将其保存到指定路径中,并在一个新窗口中打开该项目。
打开项目
从持久性存储设备中读取一个先前被存储的项目文件。
关闭项目
退出当前的特征建模项目。
该特征包含一个可选的子特征:
存盘提示。
存储项目
将当前的项目信息存储到持久性存储设备中。
显示项目修改状态
用户可以随时查询自上次该项目被存盘以来,项目包含的信息是否发生变化。
存盘提示
在关闭项目前,提示用户是否存储当前的项目。
该特征包含一个具有变化性的子特征:
前置条件。
前置条件
在何种条件下需要触发存盘提示。
该特征具有两个特化的子特征:
项目发生修改和无前置条件。
项目发生修改
当用户触发特征关闭项目时,只有当该项目自上次存盘后已发生修改,才触发特征存盘提示。
无前置条件
当用户触发特征关闭项目时,即立刻触发特征存盘提示。
表3.1.1项目管理相关需求
3.1.2视图管理相关需求
由于特征建模的结果可能包含着数量庞大的特征,在一张视图上可能无法全部展现完整的特征模型信息,所以采用多个视图的方式来组织特征模型的前端可视信息。
建模人员可以把特征模型的信息按照某种原则分配到多个视图中。
这种决策产生了一类重要的需求:
视图管理相关需求。
其包含的特征以及特征间的精化关系如图3.1.2所示。
图3.1.2视图管理相关需求
其中每个特征的详细描述参见表3.1.2。
视图管理服务
视图管理相关需求统称为视图管理服务。
其进一步包含新建视图、删除视图、打开/关闭视图、视图缩放、视图尺寸调整、视图输出为图像和视图打印等子特征。
新建视图
建立一个空白的视图。
关闭视图
在当前工具界面上不显示某个视图。
打开视图
恢复一个处于关闭状态的视图。
删除视图
删除当前打开的视图。
删除前确认。
视图缩放
可以按照任何合理的比例调节当前视图的显示比例。
这个特征能够够好的帮助建模人员了解特征模型的整体和局部信息。
视图尺寸调整
对当前视图的高度和宽度进行改变以更好的适应视图中的内容。
视图输出为图像
将当前视图中表现的图元信息存储为某种格式的图像文件。
该特征包含一个子特征:
输出格式。
视图打印
将当前视图表现的图元信息打印到纸上。
删除前确认
当用户触发特征删除视图时,提示用户是否删除,以防止建模人员可能的误操作。
输出格式
在将视图输出为图像时,选择存储的格式。
我们在工具实现中支持8种格式的图像文件输出,比如SVG格式或GIF格式等。
该特征包含SVG,GIF等特化子特征。
SVG
将视图输出为图像时,选择存储为SVG格式。
GIF
将视图输出为图像时,选择存储为GIF格式。
表3.1.2视图管理相关需求
3.1.3特征建模相关需求
特征建模工具的核心需求是以图形化的方式辅助建模人员建立特征模型。
图形化的建模方式能够使建模人员更形象、更直观地建立和浏览特征模型,从而有效地提高建模人员的工作效率。
此类需求被称为特征建模相关需求。
其包含的特征以及特征间的精化关系如图3.1.3所示。
图3.1.3特征建模相关需求
其中每个特征的详细描述参见表3.1.3。
特征建模服务
特征模型相关的需求被统称为特征建模服务。
进一步包含创建特征、创建特征引用、创建资源容器、创建资源容器引用、编辑特征信息、编辑资源容器信息、删除特征、删除资源容器、建立关系和删除关系等子特征。
创建特征
创建一个新的特征并显示相应的图元。
创建特征引用
创建一个已有特征的引用并显示相应的图元。
编辑特征信息
编辑一个特征的属性信息,包括名字、分类、变化性、绑定时间。
需求描述等属性。
删除特征
删除一个已有的特征并删除相应的图元。
创建资源容器
创建一个新的资源容器并显示相应的图元。
创建资源容器引用
创建一个已有资源容器的引用并显示相应的图元。
编辑资源容器信息
编辑一个资源容器的属性信息。
删除资源容器
删除一个已有的资源容器并删除相应的图元。
建立关系
建立特征或者资源容器之间的关系。
进一步包含建立精化关系、建立一般特殊关系、建立约束关系、建立交互关系等子特征。
删除关系
删除特征或者资源容器之间的关系。
进一步包含删除精化关系、删除一般特殊关系、删除约束关系、删除交互关系等子特征。
建立精化关系
创建特征或资源容器间的精化关系并显示相应的图元。
建立一般特殊关系
创建特征或资源容器间的一般特殊关系并显示相应的图元。
建立约束关系
创建特征或资源容器间的约束关系并显示相应的图元。
建立交互关系
创建特征或资源容器间的交互关系并显示相应的图元。
删除精化关系
删除特征或资源容器间的精化关系并删除相应的图元。
删除一般特殊关系
删除特征或资源容器间的一般特殊关系并删除相应的图元。
删除约束关系
删除特征或资源容器间的约束关系并删除相应的图元。
删除交互关系
删除特征或资源容器间的交互关系并删除相应的图元。
表3.1.3特征建模相关需求
3.1.4特征建模工具编辑与排版相关需求
另外一类需求称为辅助性编辑相关需求。
特征建模相关需求覆盖了建立特征模型的核心需求。
辅助性编辑相关需求则在核心需求的基础上,提供了能够进一步方便建模人员对特征模型图元信息进行编辑和布局的操作。
辅助性编辑需求包含的特征以及特征间的精化关系如图3.1.4所示。
图3.1.4辅助性编辑相关需求
其中每个特征的详细描述参见表3.1.4。
辅助性编辑服务
进一步包含拷贝实体图元、粘贴实体图元、剪切实体图元、删除图元和移动实体图元等子特征。
拷贝实体图元
拷贝一个已有的实体图元。
剪切实体图元
剪切一个已有的实体图元。
粘贴实体图元
粘贴一个拷贝或剪切的实体图元。
按照粘贴类型进一步被分成粘贴为复本和粘贴为引用两个子特征。
删除图元
删除一个已有的实体图元。
移动实体图元
移动一个实体图元。
按照移动方式进一步被分为独立移动和关联移动两个子特征。
粘贴类型
用户粘贴实体图元时,以何种方式进行粘贴。
粘贴为复本
用户粘贴实体图元时,粘贴为图元的一个复本。
粘贴为引用
用户粘贴实体图元时,粘贴为图元的一个引用。
移动方式
用户移动实体图元时,以何种方式进行移动。
独立移动
用户移动实体图元时,只独立移动图元本身。
关联移动
用户移动实体图元时,移动图元本身以及所有和它有联系的其它图元。
图元对齐服务
进一步包含左端对齐、垂直居中对齐、右端对齐、顶端对齐、水平居中对齐和底端对齐六个子特征。
左端对齐
对齐图元时,按照左端进行对齐。
垂直居中对齐
对齐图元时,按照垂直居中进行对齐。
右端对齐
对齐图元时,按照右端进行对齐。
顶端对齐
对齐图元时,按照顶端进行对齐。
水平居中对齐
对齐图元时,按照水平居中进行对齐。
底端对齐
对齐图元时,按照底端进行对齐。
图元分布服务
进一步包含水平等距分布和垂直等距分布两个子特征。
水平等距分布
设置图元的分布方式时,按照水平等距进行分布。
垂直等距分布
设置图元的分布方式时,按照垂直等距进行分布。
表3.1.4辅助性编辑相关需求
3.1.5其它需求
除以上集几类需求之外,目前的特征建模工具还支持特征模型信息浏览服务、约束关系验证服务和模型信息文档化输出服务等。
这三个服务分别被建模为一个特征(如图2.6所示)。
图3.1.5其它需求
其中每个特征的详细描述参见表3.1.5。
约束关系验证服务
验证当前的特征模型中的约束关系是否满足完整性和一致性,并且提示可能有冲突的关系。
模型信息浏览服务
特征模型的各种信息都能以合适的方式让用户浏览。
模型信息文档化输出服务
将整个特征模型包含的信息输出为某种格式的文档,目前支持html格式。
表3.1.5其它需求
3.2对性能的规定
3.2.1精度
特征建模支持工具的输入、输出无数据精度要求。
3.2.2时间特性要求
无。
3.2.3灵活性
3.3输入输出要求
用户通过鼠标点选菜单项输入所需功能与特征建模支持工具进行交互。
3.4数据管理能力要求
无特殊要求。
3.5故障处理要求
3.6其他专门要求
4运行环境规定
4.1设备
PC机。
4.2支持软件
操作系统:
MicrosoftWindows95,98(1stor2ndEdition),NT4.0withServicePack5,ME,2000Professional,XPOperatingSystem和类Unix环境(Linux,Solaris)。
应用软件:
Java2SDK1.6(或更高版本)。
4.3接口
特征建模支持工具没有同其他软件之间的接口和数据通信协议等。
4.4控制
控制该软件的运行无需特殊方法和控制信号。