领域建模工具需求说明书 2.docx
- 文档编号:4621958
- 上传时间:2022-12-07
- 格式:DOCX
- 页数:37
- 大小:1.22MB
领域建模工具需求说明书 2.docx
《领域建模工具需求说明书 2.docx》由会员分享,可在线阅读,更多相关《领域建模工具需求说明书 2.docx(37页珍藏版)》请在冰豆网上搜索。
领域建模工具需求说明书2
LiveSky®Research
文档编号:
DTESD-DCT-1
Confidentiallevel
(受控)
领域建模工具需求说明书
Version0.1
湖南力唯中天研究院
AllRightsReserved
A.文档变更历史
日期
版本
变更说明
作者
B.文档审核历史
审核日期
版本
审核意见
审核人
1引言
1.1编写目的
本需求分析说明书文档的目的是定义领域建模工具的开发目标,包括对功能的规定和性能的要求,指出对用户界面流程操作的约定。
该需求说明书是领域建模工具设计和开发的依据,供开发项目管理者、软件设计工程师、软件开发工程师以及本工具使用人员参考使用。
1.2背景
领域建模是目前可复用资产基础设施建设的主要技术手段,贯穿领域工程的领域分析、领域设计阶段,领域工程包括领域分析、领域设计和领域实现三个阶段。
领域分析在对领域中若干典型成员系统的需求进行分析的基础上,获取一组具有足够可复用性的领域需求,并对其抽象形成领域需求模型(DRM);领域设计以领域需求模型为基础,考虑成员系统可能具有的质量属性要求和外部环境约束,建立符合领域需求、适应领域变化性的软件构架(DSSA);领域实现则以领域需求模型和软件构架为基础,进行可复用构件的识别、生产和管理。
这样,基于领域工程的成果,新应用系统的开发不再是从零开始,而是建立在对领域分析、设计、实现等阶段的软件资产大量复用的基础上。
1.3定义
1.可信嵌入式软件开发环境*
本可信嵌入式软件开发环境是为嵌入式开发过程提供生产帮助并对开发过程进行可信控制的一种专用软件生产线工具。
2.领域*
“领域”是指一组具有相似或相近软件需求的应用系统所覆盖的功能区域。
3.领域工程*
领域工程是为一组相似或相近系统的应用工程建立基本能力和必备基础的过程,它覆盖了建立可复用的嵌入式软件构件的所有活动。
领域工程包含三个阶段:
领域分析,领域设计和领域实现。
三个阶段的产物对开发有指导作用。
4.领域建模工具*
对特定领域因果关系或相互关系进行可视化描述的工具。
5.领域构件实现工具*
基于构件的构件组装工具。
6.插件*
指为了支持该环境的应用,而开发出来的各种支撑工具。
统一归属于工具集成框架进行管理。
对于工具集成框架来说,该环境中所有的工具都是它的插件。
7.部件*
指同一个工具中的不同功能部分。
工具集成框架中的部件就是它内部的子功能。
其它工具的部件也就是其它工具内部的子功能。
8.构件*
构件是系统中具有相对独立功能、可以明确辨识、接口契约指定、和语境有明显依赖关系、可独立部署、可组装的软件或硬件实体。
9.接口*
构件与外部的交互点,是构件外部可见行为的描述。
一个构件可以有多个不同类型的接口。
10.连接件*
表示了构件之间的交互,连接件用于在构件之间建立连接关系。
连接件有多种类型。
11.可变性
指变化的能力或变化的趋势,在这里特指有目的地产生的可变性,而不是偶尔发生的可变性。
12.变化点
变化点代表了领域构件内部的变化主题,即领域构件内部的可变项或这些项的变化属性,它同时包含领域知识的上下文信息。
13.变量
变量代表领域构件内部的变化对象,即变化点的一个候选项。
1.4参考资料
1、DTESD-DDT-1领域设计规范
2、DTESD-DRDT-1领域需求建模规范
2任务概述
2.1目标
目标是开发面向领域的可信嵌入式软件开发环境的领域建模工具,包括以下3个模块:
1、领域分析;
2、领域设计;
3、领域实现。
其中领域实现部分与应用实现部分有所重叠,可以参考应用实现部分的需求文档。
2.2用户的特点
本工具的用户包括嵌入式软件项目的项目负责人、项目经理、领域分析人员、开发人员、测试人员等。
2.3假定和约束
3需求描述
领域建模工具的结构如下图所示:
图3.1领域建模工具结构图
3.1领域分析
运行端:
该工具集所涉及组件全部都运行在PC端。
主要需求:
功能需求列表:
1、提供领域词典的编写工具。
2、提供领域需求描述工具。
3、提供构建特征模型所需的可视化工具。
4、提供构建用例模型的可视化工具。
包含功能:
编写/查看领域词典,编写/查看领域需求,构建/查看特征模型,构建/查看用例模型。
3.1.1领域词典编写工具
运行端:
该工具所涉及组件全部都运行在PC端。
主要需求:
功能需求列表:
1、提供构建领域词典所需的工具,使用户能够方便地对领域词典中的词汇进行编辑;
2、能够对库中现有词汇进行排序。
3、能够查询出符合特定条件的词汇。
4、能够将领域词汇保存为xls格式的文件,能够导入和读取符合规范的xls文件;
包含功能:
添加/修改/删除词汇,词汇排序,词汇查询,将领域词汇导出为xls格式文件,读取符合规范的xls文件。
各功能需求说明:
本工具打开领域词典后的典型场景如下图所示:
领域词典包括领域词汇库和动词库。
3.1.1.1添加/修改/删除词汇
在领域词汇库中添加词汇,只需点击领域词汇库页面中的添加按钮,则会弹出一个领域词汇属性对话框。
此时点击取消则会关闭对话框返回;而点击确认按钮将会对填写内容进行验证。
●若验证通过,则在词汇表中进行相应的添加。
●若验证不通过,则在对话框中提示错误信息。
需要进行验证的信息如下:
●名称
⏹不允许为空;
⏹不允许包含除中文、英文字母、数字之外的字符;
⏹不允许有重名。
●所属领域
⏹不允许为空;
⏹可以从下拉列表中选择,也可以自行添加。
●分类
⏹不允许为空;
⏹只能从下拉列表中选择。
●描述:
⏹不允许为空;
●同义词:
⏹不允许包含除中文、英文字母、数字之外的字符;
●标识符:
⏹不允许为空;
⏹只允许包含英文字母和“_”。
词汇属性对话框如下所示:
在领域词汇库中修改词汇,只需先选择词汇,然后点击领域词汇库页面中的修改按钮,则会弹出一个领域词汇属性对话框,并且自动将原有词汇属性加入到对话框中。
余下操作与添加词汇相同。
添加了原词汇属性的词汇属性对话框如下所示:
在领域词汇库中删除词汇,只需先选择词汇,然后点击领域词汇库页面中的删除按钮,弹出确认删除对话框。
点击确定,则在词汇表中删除该词汇;若点击取消,则返回。
在动词库中进行词汇操作与在领域词汇库中操作一样,只是词汇属性只包含名称、描述、同义词、标识符。
3.1.1.2词汇排序
对词汇进行排序只需点击词汇表的表头就可以进行相应的排序。
例如:
点击表头“名称”,词汇表中的词汇按名称拼音进行排序。
3.1.1.3词汇查询
在页面的文本框中输入关键字,点击查询按钮可以进行词汇查询。
对查询结果置顶并高亮显示。
3.1.1.4导入/导出xls格式文件
本工具可以将将领域词汇库和动词库中的词汇导出到excel工作表中,方法是,点击工具栏中的“导出到excel工作表”,然后在弹出的文件保存对话框中选择保存路径,并输入保存文件名,点击“保存”按钮,如果文件名不为空且符合文件名规范,则当前的词汇库中词汇被导出并保存到指定xls文件中。
本工具可以打开符合规范的xls格式文件,方法是,点击工具栏中的“导入excel工作表”,然后在弹出的文件选择对话框中选择一个xls文件,点击“确定”按钮,若该xls文件符合领域词典相关规范,则工具会将xls文件中的词汇导入到领域词典编辑器中,并自动去除重复词汇。
若该xls文件不符合规范,则弹出错误对话框提示该文件无法导入。
3.1.2领域需求描述工具
运行端:
该工具所涉及组件全部都运行在PC端。
主要需求:
功能需求列表:
1、提供构建领域需求描述所需的工具,使用户能够方便地对领域需求描述进行编辑;
2、能够对领域需求的语法进行验证,确保其符合规范;
3、能够将领域需求保存为drd格式的文件,能够导入和读取符合规范的drd文件;
4、能够将领域需求导出为txt文本格式文件。
5、能够将领域需求形式化,形式化需求保存在drf格式文件中。
包含功能:
编辑领域需求,领域需求验证,导入/导出领域需求,将领域需求导出为txt文本格式文件,将领域需求形式化。
各功能需求说明:
本工具打开一个特征模型后的典型场景如下图所示:
3.1.2.1编辑领域需求
用户在领域需求文本编辑器中对领域需求进行逐行编辑,每编辑一行按下回车键后,工具会自动根据上一行的编号对下一行进行预编号,用户可以直接在编号后面进行编辑。
需求的预编号规则为(以下n、m为数字):
●若上一行为Rn<必选>,下一行预编号为Rn+1<必选>。
●若上一行为Rn<可选>,下一行预编号为Rn+1<必选>。
●若上一行为Rn<多选一m>,下一行预编号为Rn<多选一m+1>。
●若上一行为Rn<多选多m>,下一行预编号为Rn<多选多m+1>。
如果需要对某一行的编号进行更改,用户可以将光标移动到该行的任意位置,然后点击右键菜单的“必选需求”、“可选需求”、“多选一需求”或者“多选多需求”,而后工具会根据选择对该行编号做相应的更改,并对该行以下的编号也做相应的更改。
当需要插入一条需求时,用户可以使用以下任意一种方式操作,新插入的需求编号按预编号规则进行,该行以下的编号也做相应的更改。
●将光标移动到要插入行的上一行的末尾,按下回车键。
●将光标移动到要插入行的上一行的任意位置,点击右键菜单的“插入”。
当需要删除一条需求时,用户可以使用以下任意一种方式操作,该行以下的编号做相应的更改。
●将光标移动到要删除行的末尾,按下delete键。
●将光标移动到要删除行的末尾,用backspace键删除该行所有信息。
●将光标移动到要删除行的任意位置,点击右键菜单的“删除”。
该工具会对以下词汇进行高亮显示:
●需求编号;
●领域词汇库中的词语;
如果需要向领域词汇库中的添加词语,则选中词语右击,点击右键菜单的“添加领域词汇”。
3.1.2.2验证领域需求
领域需求有一定的规范,用户描述的领域需求必须符合这些基本规范。
本工具可以对领域需求进行验证,如果有不符合规范的地方则能够向用户指出并提示用户修正。
领域需求验证将会在以下两种情况下进行:
●在领域需求菜单中选择“领域需求验证”
●保存领域需求时
如果领域需求验证未通过,则在控制台视图中输出错误的类型,错误的位置以及修正的建议。
如果触发领域需求验证的操作是保存操作,则弹出一个对话框提示领域需求不符合规范,询问是否确认保存。
如果领域需求验证通过,则在控制台视图中输出一行“已通过验证”。
3.1.2.3导入/导出领域需求
本工具可以打开原先编辑领域需求时保存的drd格式文件,打开后将drd文件中的领域需求导入到领域需求文本编辑器中。
本工具可以将领域需求导出为txt格式的文件,以便用于演示和传播。
方法是,右键点击工程视图中的领域需求结点,右键菜单会出现“导出到文本文件”,然后在弹出的文件保存对话框中选择保存路径,并输入保存文件名,点击“保存”按钮,如果文件名不为空且符合文件名规范,则当前正在编辑的领域需求被导出到指定文本文件。
3.1.2.4形式化领域需求
本工具可以根据用户描述的领域需求对其进行形式化。
每一条形式化需求和用户描述的是一一对应的。
这个转化过程由工具自动进行。
对于需求之间关系的形式化,则由用户进行添加。
形式化需求保存在drf格式的文件中。
3.1.3特征建模工具
运行端:
该工具所涉及组件全部都运行在PC端。
主要需求:
功能需求列表:
1、能够根据需求描述工具生成的形式化需求文件,自动生成出一个特征模型。
2、提供构建特征模型所需的可视化工具,使用户能够方便地添加、编辑特征模型中的各种组成元素,如特征,特征约束关系;
3、能够查看/编辑特征的基本属性、特征描述以及约束关系;
4、能够对构建的特征模型进行模型验证,确保其符合规范;
5、能够将特征模型保存为dfm格式的文件,能够导入和读取符合规范的dfm文件;
6、能够将特征模型导出为图片。
包含功能:
自动生成特征模型,添加/删除/移动特征,添加/删除/移动特征约束关系,查看/编辑特征基本属性,查看/编辑特征描述,查看特征约束关系,特征模型验证,通过特征描述生成特征模型,将特征模型输出为图片。
各功能需求说明:
本工具打开一个特征模型后的典型场景如下图所示:
特征建模工具界面包括硬件特征视图、功能特征视图、非功能特征视图、特征约束关系视图、特征描述视图、特征属性视图。
3.1.3.1自动生成特征模型
自动生成特征模型的方法是:
在菜单(?
)中选择自动生成特征模型。
点击之后,特征建模工具对领域需求描述工具生成的领域需求形式化文件(drf文件)进行解析,将生成的特征模型显示在特征建模化工具中。
3.1.3.2特征的添加/删除/移动
特征的添加和删除是指用户使用可视化工具在特征模型中添加、删除特征。
特征分为硬件特征、功能特征和非功能特征,在特征模型中的表现形式如下图所示:
图3.2特征图例
用户可以在以下位置添加特征:
●硬件特征视图
●功能特征视图
●非功能特征视图
●特征关系视图
添加特征时,在一侧的工具箱面板中选择“特征”工具,然后在上述位置放置,特征便出现在指定的位置。
删除特征时,选中需要删除的特征,在右键菜单中选择“删除”或者按下Delete键,即可删除特征。
将某个特征删除后,该特征的约束关系也都一并删除。
特征所能移动到的位置与能够添加特征的位置相同。
移动特征的方法是选中要移动的特征,拖拽到目标位置。
移动特征时,特征的所有约束关系一并在同一方向移动相同的距离,从而保持特征原有的结构和外观。
3.1.3.3特征依赖关系的添加/删除/移动
特征依赖关系的添加和删除是指用户使用可视化工具在特征之间中添加、删除特征关系。
在硬件特征视图、功能特征视图、非功能特征视图中包含以下依赖关系,以构成特征树:
●分解关系
⏹可选特征:
指对于领域中的各个应用系统可有可无的特征。
用符号
表示。
⏹必选特征:
指在领域中每个应用系统中都应该包含的特征。
如用符号
表示。
●特殊化关系
⏹多选多关系
多选多关系是对某一个一般性特征的特殊化。
用符号
表示。
⏹多选一关系
多选一关系是对某一个一般性特征的具体化。
用符号
表示。
硬件特征视图示例:
图3.3硬件特征视图示例
图3.4功能特征视图示例
图3.5非功能特征视图示例
在特征约束关系视图中,包含以下约束关系:
●使用关系(use)
使用关系描述功能性特征之间的调用关系。
表示使用特征调用被使用特征完成之后的结果。
对于两个特征A和B,特征A使用特征B的图例如下所示:
箭头指向被使用特征。
●通知关系(inform)
对于两个特征A和B,AinformsB表示A向B发送特定的信息以通知B特征的事件已经发生。
特征A通知特征B的图例如下所示:
箭头指向被通知特征。
●需要关系(require)
需要关系是指由于语义或逻辑上的关系,一个特征的存在要求若干个特定特征的存在。
对于两个特征A和B,特征A需要特征B的图例如下所示:
箭头指向被需要特征。
●互斥关系(exclude)
互斥关系是指两个特征之间由于语义或逻辑上的矛盾关系而不能同时存在于某个环境中。
特征A与特征B互斥的图例如下所示。
特征约束关系视图举例
图3.6特征约束关系视图举例
这些特征依赖关系必须以特征为依托,特征关系必须从一个特征出发,即必须有源特征,连接到另一个特征,即目标特征。
各种依赖关系在一侧的工具面板中都有一项工具与之对应,添加依赖关系时要首先在面板中选择相应的项。
添加依赖关系时,在面板中选择相应的项后,首先点选源特征,然后点选目标特征。
如果源特征和目标特征之间原本没有建立同类型的依赖关系,则此时在两个接口之间建立起一条相应的依赖关系,否则不能建立依赖关系。
删除依赖关系时,选中需要删除的依赖关系,在右键菜单中选择“删除”或按下键盘Delete键,则该依赖关系从图中移除。
3.1.3.4查看/编辑特征属性
特征模型中所有可放置的特征都有自己的属性,这些属性可以分成以下几类:
●基本属性
对于硬件特征,基本属性包括ID、名称、描述、规格、性能要求等。
对于功能特征,基本属性包括ID、名称、描述、可选性、绑定时间、绑定状态等。
对于非功能特征,基本属性包括ID、名称、描述等。
●布局属性
包括特征的一些布局上的属性,比如在图上的位置、大小等。
●约束关系
包括特征间的约束关系等。
每类属性在属性视图中都占据一页。
要查看或者编辑一个元素的某项属性,必须先选中要查看或编辑的元素,如果属性视图没有激活或者在属性视图中没有切换到相应的属性页,则激活属性视图并切换到相应属性页。
此时属性视图右侧按照各属性页各自的方式显示属性信息。
对于一般的列表式的属性页,比如下面的布局属性页和约束关系页,编辑方法如下:
首先像上面的步骤一样选中查看的元素并确保相应的属性页已激活,然后双击所需要修改的项的当前值。
如果双击的项是可修改的,则会出现一个编辑框或者选择框。
如果出现的是编辑框,在编辑框中输入新的值并回车。
若新值符合所修改属性的要求,则修改成功,新值将旧值替换;若不符合所修改属性的要求,则修改失败,在属性视图下方出现提示正确范围的信息。
如果出现的是选择框,则在下拉选项中选择一个,选择的值将旧值替换。
基本属性的查看/编辑:
●硬件特征拥有以下基本属性:
⏹ID。
添加特征时工具为该特征分配的唯一ID,不可编辑,其格式为“HF”+数字序号。
⏹名称:
特征的助记符号,不允许有重名。
⏹描述:
对特征的详细说明。
⏹规格:
硬件特征应具有的规格参数。
⏹性能要求:
硬件特征所应具备的性能要求。
●功能特征拥有以下基本属性:
⏹ID。
添加特征时工具为该特征分配的唯一ID,不可编辑,其格式为“FF”+数字序号。
⏹名称:
特征的助记符号,不允许有重名。
⏹描述:
对特征的详细说明。
⏹可选性:
当一个特征的父特征被绑定时,该特征是否必须被绑定。
包括可选的、必选的。
⏹绑定时间:
特征必须被绑定或删除时的时间段。
包括复用时、编译时、安装时、装载时。
⏹绑定状态:
标识一个特征是否已经被绑定或删除,或等待被做出决策。
包括绑定、删除、待定。
●非功能特征拥有以下基本属性:
⏹ID。
添加特征时工具为该特征分配的唯一ID,不可编辑,其格式为“NF”+数字序号。
⏹名称:
特征的助记符号,不允许有重名。
⏹描述:
对特征的详细说明。
下面是基本属性页的简单举例:
图3.7基本属性页示例
编辑基本属性的方法是,直接在右边的编辑栏中把现有的值修改为新值。
布局属性的查看/编辑:
每个特征都拥有以下布局属性:
●所属视图
●X坐标
●Y坐标
●宽度
●高度
下面是布局属性页的一个例子:
图3.8可视化属性页示例
可视化属性页有属性名、类型、值三栏,其中属性名和类型是不可修改的,值是可修改的。
其中高度和宽度的值必须为正整数。
约束关系的查看:
约束关系页中有特征名和约束关系两栏。
下面是一个特征的约束关系页:
图3.16结构属性页示例
约束关系页仅用于查看,无法编辑。
3.1.3.5查看/编辑特征描述
除了图形上的表示之外,特征模型还可以用文本描述方式来进行描述。
本工具可以根据特征模型自动生成特征文本描述,并进行查看和编辑。
点击编辑器下方的“特征描述”标签,就可以切换到特征描述页面,查看特征描述。
如下图所示:
图3.7特征描述的查看
特征描述页面同样是一个文本编辑器,既可以查看特征描述,也可以用于对特征描述进行编辑。
对特征描述进行编辑后,如果编辑后的特征描述符合规范,则当切换回特征模型图时,特征描述的变化将会反映到特征模型图中。
3.1.3.6模型验证
特征模型有一定的规范,用户绘制的特征模型图必须符合这些基本规范。
本工具可以对特征模型图进行验证,如果有不符合规范的地方则能够向用户指出并提示用户修正。
模型验证将会在以下两种情况下进行:
●点击工具栏上的“模型验证”按钮或者在菜单(?
)中选择“模型验证”
●保存特征模型图
如果模型验证未通过,则在控制台视图中输出错误的类型,错误的位置以修正的建议。
如果触发模型验证的操作是保存操作,则弹出一个对话框提示用户架构图未通过验证,询问是否确认保存。
如果模型验证通过,则在控制台视图中输出一行“已通过模型验证”。
3.1.3.7通过特征描述生成特征模型
本工具可以通过符合规范的特征描述生成特征模型。
特征模型的生成或重新生成发生于以下场景:
●使用本工具打开一个dfm文件时
●使用特征描述编辑器编辑特征描述,使特征描述发生改变后,切换回特征需求模型时
在第一个场景中,只有当dfm文件中的特征描述完全符合规范,领域需求模型的生成才能够进行,否则弹出一个对话框提示用户此文件已损坏。
在第二个场景中,若特征描述不符合规范,则提示用户出错信息,特征模型维持原状。
3.1.3.8将特征模型输出为图片
本工具可以将整个特征模型输出为常见格式的图片,以便用于演示和传播。
输出特征模型的方法是,点击工具栏上的“输出到图片”按钮或者在菜单(?
)中选择“输出到图片”,然后在弹出的文件保存对话框中选择保存路径、保存类型并输入保存文件名,点击“保存”按钮,如果文件名不为空且符合文件名规范,则当前正在编辑的特征模型被输出到指定文件。
3.2领域设计
运行端:
该工具集所涉及组件全部都运行在PC端。
主要需求:
功能需求列表:
1、提供构建领域软件架构(DSSA)所需的可视化工具,使用户能够方便地添加、编辑DSSA中的各种组成元素,如构件、接口、连接件;
2、能够查看复合构件的内部结构并对其内部结构进行进一步的编辑;
3、能够为DSSA中的组成元素定义变化点和变量,提供可变性支持;
4、能够对构建的DSSA进行模型验证,确保其符合DSSA的规范;
5、能够将领域软件架构图保存为dsa格式的文件,能够导入和读取符合规范的dsa文件;
6、能够通过符合规范的架构描述生成领域软件架构图。
包含功能:
添加/删除/移动构件,添加/删除/移动接口,添加/删除/移动连接件,查看/编辑架构描述,查看/编辑构件内部结构,查看可变性视图,定义/移除/移动变化点,添加/移动/移除变量,添加/移除可变性依赖,模型验证,通过架构描述生成领域架构图,查看/编辑元素属性,将领域架构图输出为图片
各功能需求说明:
本工具打开一个领域软件架构图后的典型场景如下图所示:
图3.2领域软件架构图示例
3.2.1构件的添加/删除/移动
构件的添加和删除是指用户使用可视化工具在领域软件架构图或复合构件内部结构图中添加、删除构件。
构件在领域软件架构图中的表现形式如下图所示:
图3.3构件图例
用户可以在以下两个位置添加构件:
●领域软件架构图中各层之内
●复合构件
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 领域建模工具需求说明书 领域 建模 工具 需求 说明书