领域建模工具需求说明书18.docx
- 文档编号:1999955
- 上传时间:2023-05-02
- 格式:DOCX
- 页数:37
- 大小:915.51KB
领域建模工具需求说明书18.docx
《领域建模工具需求说明书18.docx》由会员分享,可在线阅读,更多相关《领域建模工具需求说明书18.docx(37页珍藏版)》请在冰点文库上搜索。
领域建模工具需求说明书18
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、提供构建用例模型的可视化工具。
包含功能:
编写/查看领域需求描述,构建/查看特征模型,构建/查看用例模型。
3.1.1领域需求描述工具
运行端:
该工具所涉及组件全部都运行在PC端。
主要需求:
功能需求列表:
1、提供构建领域需求描述所需的可视化工具,使用户能够方便地对领域需求描述进行添加、编辑;
2、能够对领域需求描述的语法进行验证,确保其符合规范;
3、能够将领域需求描述保存为drd格式的文件,能够导入和读取符合规范的drd文件;
4、能够将领域需求描述导出为txt文本格式文件。
5、能够将领域需求形式化,形式化需求保存在drf格式文件中。
包含功能:
添加/删除/修改领域需求描述,领域需求描述验证,通过特征描述生成特征模型,将领域需求描述导出为txt文本格式文件,将领域需求形式化。
各功能需求说明:
本工具打开一个特征模型后的典型场景如下图所示:
3.1.1.1添加/删除/修改领域需求描述
3.1.2特征建模工具
运行端:
该工具所涉及组件全部都运行在PC端。
主要需求:
功能需求列表:
1、能够根据需求描述工具生成的形式化需求文件,自动生成出一个特征模型。
2、提供构建特征模型所需的可视化工具,使用户能够方便地添加、编辑特征模型中的各种组成元素,如特征,特征约束关系;
3、能够查看/编辑特征的基本属性、特征描述以及约束关系;
4、能够对构建的特征模型进行模型验证,确保其符合规范;
5、能够将特征模型保存为dfm格式的文件,能够导入和读取符合规范的dfm文件;
6、能够将特征模型导出为图片。
包含功能:
自动生成特征模型,添加/删除/移动特征,添加/删除/移动特征约束关系,查看/编辑特征基本属性,查看/编辑特征描述,查看特征约束关系,特征模型验证,通过特征描述生成特征模型,将特征模型输出为图片。
各功能需求说明:
本工具打开一个特征模型后的典型场景如下图所示:
特征建模工具界面包括硬件特征视图、功能特征视图、非功能特征视图、特征约束关系视图、特征描述视图、特征属性视图。
3.1.2.1自动生成特征模型
自动生成特征模型的方法是:
在菜单(?
)中选择自动生成特征模型。
点击之后,特征建模工具对领域需求描述工具生成的领域需求形式化文件(drf文件)进行解析,将生成的特征模型显示在特征建模化工具中。
3.1.2.2特征的添加/删除/移动
特征的添加和删除是指用户使用可视化工具在特征模型中添加、删除特征。
特征分为硬件特征、功能特征和非功能特征,在特征模型中的表现形式如下图所示:
图3.2特征图例
用户可以在以下位置添加特征:
●硬件特征视图
●功能特征视图
●非功能特征视图
●特征关系视图
添加特征时,在一侧的工具箱面板中选择“特征”工具,然后在上述位置放置,特征便出现在指定的位置。
删除特征时,选中需要删除的特征,在右键菜单中选择“删除”或者按下Delete键,即可删除特征。
将某个特征删除后,该特征的约束关系也都一并删除。
特征所能移动到的位置与能够添加特征的位置相同。
移动特征的方法是选中要移动的特征,拖拽到目标位置。
移动特征时,特征的所有约束关系一并在同一方向移动相同的距离,从而保持特征原有的结构和外观。
3.1.2.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.2.4查看/编辑特征属性
特征模型中所有可放置的特征都有自己的属性,这些属性可以分成以下几类:
●基本属性
对于硬件特征,基本属性包括ID、名称、描述、规格、性能要求等。
对于功能特征,基本属性包括ID、名称、描述、可选性、绑定时间、绑定状态等。
对于非功能特征,基本属性包括ID、名称、描述等。
●可视化属性
包括特征的一些外观上的属性,比如在图上的位置、大小等。
●结构属性
包括特征间的约束关系等。
每类属性在属性视图中都占据一页。
要查看或者编辑一个元素的某项属性,必须先选中要查看或编辑的元素,如果属性视图没有激活或者在属性视图中没有切换到相应的属性页,则激活属性视图并切换到相应属性页。
此时属性视图右侧按照各属性页各自的方式显示属性信息。
对于一般的列表式的属性页,比如下面的可视化属性页和结构属性页,编辑方法如下:
首先像上面的步骤一样选中查看的元素并确保相应的属性页已激活,然后双击所需要修改的项的当前值。
如果双击的项是可修改的,则会出现一个编辑框或者选择框。
如果出现的是编辑框,在编辑框中输入新的值并回车。
若新值符合所修改属性的要求,则修改成功,新值将旧值替换;若不符合所修改属性的要求,则修改失败,在属性视图下方出现提示正确范围的信息。
如果出现的是选择框,则在下拉选项中选择一个,选择的值将旧值替换。
基本属性的查看/编辑:
●硬件特征拥有以下基本属性:
⏹ID。
添加特征时工具为该特征分配的唯一ID,不可编辑,其格式为“HF”+数字序号。
⏹名称:
特征的助记符号,不允许有重名。
⏹描述:
对特征的详细说明。
⏹规格:
硬件特征应具有的规格参数。
⏹性能要求:
硬件特征所应具备的性能要求。
●功能特征拥有以下基本属性:
⏹ID。
添加特征时工具为该特征分配的唯一ID,不可编辑,其格式为“FF”+数字序号。
⏹名称:
特征的助记符号,不允许有重名。
⏹描述:
对特征的详细说明。
⏹可选性:
当一个特征的父特征被绑定时,该特征是否必须被绑定。
包括可选的、必选的。
⏹绑定时间:
特征必须被绑定或删除时的时间段。
包括复用时、编译时、安装时、装载时。
⏹绑定状态:
标识一个特征是否已经被绑定或删除,或等待被做出决策。
包括绑定、删除、待定。
●非功能特征拥有以下基本属性:
⏹ID。
添加特征时工具为该特征分配的唯一ID,不可编辑,其格式为“NF”+数字序号。
⏹名称:
特征的助记符号,不允许有重名。
⏹描述:
对特征的详细说明。
下面是基本属性页的简单举例:
图3.7基本属性页示例
编辑基本属性的方法是,直接在右边的编辑栏中把现有的值修改为新值。
可视化属性的查看/编辑:
每个特征都拥有以下可视化属性:
●所属视图
●X坐标
●Y坐标
●宽度
●高度
下面是可视化属性页的一个例子:
图3.8可视化属性页示例
可视化属性页有属性名、类型、值三栏,其中属性名和类型是不可修改的,值是可修改的。
其中高度和宽度的值必须为正整数。
结构属性的查看:
结构属性页中有特征名和约束关系两栏。
下面是一个特征的结构属性页:
图3.16结构属性页示例
结构属性页仅用于查看,无法编辑。
3.1.2.5查看/编辑特征描述
除了图形上的表示之外,特征模型还可以用文本描述方式来进行描述。
本工具可以根据特征模型自动生成特征文本描述,并进行查看和编辑。
点击编辑器下方的“特征描述”标签,就可以切换到特征描述页面,查看特征描述。
如下图所示:
图3.7特征描述的查看
特征描述页面同样是一个文本编辑器,既可以查看特征描述,也可以用于对特征描述进行编辑。
对特征描述进行编辑后,如果编辑后的特征描述符合规范,则当切换回特征模型图时,特征描述的变化将会反映到特征模型图中。
3.1.2.6模型验证
特征模型有一定的规范,用户绘制的特征模型图必须符合这些基本规范。
本工具可以对特征模型图进行验证,如果有不符合规范的地方则能够向用户指出并提示用户修正。
模型验证将会在以下两种情况下进行:
●点击工具栏上的“模型验证”按钮或者在菜单(?
)中选择“模型验证”
●保存特征模型图
如果模型验证未通过,则在控制台视图中输出错误的类型,错误的位置以修正的建议。
如果触发模型验证的操作是保存操作,则弹出一个对话框提示用户架构图未通过验证,询问是否确认保存。
如果模型验证通过,则在控制台视图中输出一行“已通过模型验证”。
3.1.2.7通过特征描述生成特征模型
本工具可以通过符合规范的特征描述生成特征模型。
特征模型的生成或重新生成发生于以下场景:
●使用本工具打开一个dfm文件时
●使用特征描述编辑器编辑特征描述,使特征描述发生改变后,切换回特征需求模型时
在第一个场景中,只有当dfm文件中的特征描述完全符合规范,领域需求模型的生成才能够进行,否则弹出一个对话框提示用户此文件已损坏。
在第二个场景中,若特征描述不符合规范,则提示用户出错信息,特征模型维持原状。
3.1.2.8将特征模型输出为图片
本工具可以将整个特征模型输出为常见格式的图片,以便用于演示和传播。
输出特征模型的方法是,点击工具栏上的“输出到图片”按钮或者在菜单(?
)中选择“输出到图片”,然后在弹出的文件保存对话框中选择保存路径、保存类型并输入保存文件名,点击“保存”按钮,如果文件名不为空且符合文件名规范,则当前正在编辑的特征模型被输出到指定文件。
3.2领域设计
运行端:
该工具集所涉及组件全部都运行在PC端。
主要需求:
功能需求列表:
1、提供构建领域软件架构(DSSA)所需的可视化工具,使用户能够方便地添加、编辑DSSA中的各种组成元素,如构件、接口、连接件;
2、能够查看复合构件的内部结构并对其内部结构进行进一步的编辑;
3、能够为DSSA中的组成元素定义变化点和变量,提供可变性支持;
4、能够对构建的DSSA进行模型验证,确保其符合DSSA的规范;
5、能够将领域软件架构图保存为dsa格式的文件,能够导入和读取符合规范的dsa文件;
6、能够通过符合规范的架构描述生成领域软件架构图。
包含功能:
添加/删除/移动构件,添加/删除/移动接口,添加/删除/移动连接件,查看/编辑架构描述,查看/编辑构件内部结构,查看可变性视图,定义/移除/移动变化点,添加/移动/移除变量,添加/移除可变性依赖,模型验证,通过架构描述生成领域架构图,查看/编辑元素属性,将领域架构图输出为图片
各功能需求说明:
本工具打开一个领域软件架构图后的典型场景如下图所示:
图3.2领域软件架构图示例
3.2.1构件的添加/删除/移动
构件的添加和删除是指用户使用可视化工具在领域软件架构图或复合构件内部结构图中添加、删除构件。
构件在领域软件架构图中的表现形式如下图所示:
图3.3构件图例
用户可以在以下两个位置添加构件:
●领域软件架构图中各层之内
●复合构件内部结构图中外边框之内
添加构件时,在一侧的工具箱面板中选择“构件”工具,然后在上述位置放置,构件便出现在指定的位置。
删除构件时,选中需要删除的构件,在右键菜单中选择“删除”,即可删除构件。
将某个构件删除后,依附在这个构件上的所有接口,以及这些接口上的所有连接都一并删除,这个构件的所有子构件按照同样的方式一并删除。
构件所能移动到的位置与能够添加构件的位置相同。
移动构件的方法是选中要移动的构件,拖拽到目标位置。
移动构件时,构件上的所有接口,以及构件内所有在当前图中可见的子构件一并在同一方向移动相同的距离,从而保持构件原有的结构和外观。
3.2.2接口的添加/删除/移动
接口的添加和删除是指用户使用可视化工具在构件上添加、删除接口。
接口在领域软件架构图中的表现形式如下图所示:
图3.4接口图例
用户只能在已经存在的构件上添加接口。
添加接口时,在一侧的工具箱面板中选择“接口”工具,然后在已经存在的构件上放置,接口会根据放置的位置自动依附到构件的外边框。
删除接口时,选中需要删除的接口,在右键菜单中选择“删除”,即可删除接口。
将某个接口删除后,这个接口上的所有连接都一并删除。
接口可以在其所属构件内部移动,亦可移动到其它构件内。
移动接口的方法是选中要移动的接口,拖拽到目标位置。
若目标位置仍在其所属构件内部,则根据目标位置再次将接口依附到构件的外边框;若目标位置在其它构件内部,则源构件失去当前接口的所有权,目标构件获得当前接口的所有权,然后同样根据目标位置将接口依附到目标构件的外边框。
接口移动时,接口上的连接跟随着接口一并移动。
3.2.3连接件的添加/删除/移动
连接件的添加和删除是指用户使用可视化工具在复合构件内部结构图中添加、删除连接件。
在领域软件架构图中有以下3种类型的连接件:
●直接调用连接
●Switch连接
●数据转换连接
它们的表现形式如下图所示:
图3.5连接件图例
连接件必须以接口为依托,也就是说,连接件必须从一个接口出发,即必须有源接口。
一些只有两端的连接如直接调用连接还必须要有目标接口,而像Switch连接这样的多端连接则允许暂时没有目标接口。
三种连接件在一侧的工具面板中都有一项工具与之对应,添加连接件时要首先在面板中选择相应的项。
添加直接调用和数据转换连接件时,在面板中选择相应的项后,首先点选源接口,然后点选目标接口。
如果源接口和目标接口之间原本没有建立其它连接,则此时在两个接口之间建立起一条相应的连接,否则此次连接无效。
添加Switch连接时,在面板中选择相应的项后,点选源接口,则此时在源接口与Switch连接件之间建立连接。
然后将Switch连接件另外一头的线端拖拽到另一个接口上,如果源接口和这个接口之间原本没有建立其它连接,则将此接口添加到此Switch连接的目标接口中,否则此次连接无效。
Switch连接件的默认目标接口数量为2,如果要添加更多的目标接口,则需要点选Switch连接件,在右键菜单中选择“增加目标接口”,此时Switch连接件背离源接口的一侧增加一条线端。
同样地,要减少目标接口,点选Switch连接件后在右键菜单中选择“减少目标接口”,此时Switch连接件背离源接口一侧的一条空余线端被移除,但是,在出现以下两种情况的任意一种时,这个操作无法执行:
●没有空余的线端,即所有线端都已经连接到其它接口上
●目标接口数量为2,已经无法再减少
删除连接件时,选中需要删除的连接件,在右键菜单中选择“删除”,则连接件从图中移除。
3.2.4构件内部结构的查看/编辑
每个复合构件都有自己的内部结构,在本工具中,这些内部结构可以通过内部结构图来表示。
构件的内部结构图拥有这样的基本外观:
一个较大的矩形外边框,外边框上依附着若干个接口。
其中矩形外边框代表构件的边框,外边框上依附的接口代表构件的对外接口。
构件的子构件则分布在外边框之内。
下面是构件内部结构图的一个示例:
图3.6构件内部结构图示例
查看构件内部结构图的方法是,选中一个构件,在右键菜单中选择“查看内部结构”或者直接双击这个构件。
此时当前的编辑窗口变为这个构件的内部结构图,工具箱的下方则出现原先编辑窗口的缩略图,即当前内部结构图的父视图,在此缩略图中,当前构件被凸显(边框加粗并且变成红色)。
双击工具箱下方的缩略图,即可回到原先的编辑视图。
构件的内部结构同样可以编辑,即可以在构件内部添加/删除/移动子构件、接口和连接件。
打开构件的内部结构图后即可对构件的内部结构进行编辑,编辑方法与领域软件架构图相同,可以参考前面有关构件、接口、连接件编辑的功能说明。
3.2.5架构描述的查看/编辑
除了图形上的表示之外,领域软件架构还可以用架构描述语言(ADL)来进行描述。
本工具可以根据领域软件架构图自动生成用ADL表示的架构描述,并进行查看和编辑。
点击编辑器下方的“架构描述”标签,就可以切换到架构描述页面,查看架构描述。
如下图所示:
图3.7架构描述的查看
架构描述页面同样是一个文本编辑器,既可以查看架构描述,也可以用于对架构描述进行编辑。
对架构描述进行编辑后,如果编辑后的架构描述符合规范,则当切换回领域架构图时,架构描述的变化将会反映到领域架构图中。
3.2.6查看可变性视图
每个领域软件架构图或者复合构件内部结构图都对应着一个可变性视图,可变性视图用于显示对应软件架构或构件内部结构中所有的变化点和变量,以及变化点和变量间的依赖关系。
下面是可变性视图的一个示例:
图3.8可变性视图示例
开启、查看可变性视图的方法是,在领域软件架构图或者复合构件内部结构图的空白处点击右键,选择“查看可变性视图”,或者在没有开启可变性视图的情况下点击编辑器左上角的“可变性视图”标签。
开启可变性视图后,在拥有变化点的构件与其所拥有的每个变化点之间出现一条有向点虚线,点虚线由构件指向其变化点。
在可变性视图已经开启的情况下,再次点击“可变性视图”标签可以关闭可变性视图。
关闭可变性视图后,构件与其变化点之间的有向点虚线随之消失。
3.2.7变化点的定义/移除/移动
变化点是现实世界中的可变项或这些项的变化属性,在本工具中,变化点特指可变的构件。
而定义变化点就是将某个构件标记为可变化的,并为其增加变化点。
变化点在可变性视图中的表现形式如下图
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 领域 建模 工具 需求 说明书 18