面向领域的可信嵌入式软件开发环境总体需求规格说明书V04副本 2.docx
- 文档编号:27633908
- 上传时间:2023-07-03
- 格式:DOCX
- 页数:32
- 大小:78.99KB
面向领域的可信嵌入式软件开发环境总体需求规格说明书V04副本 2.docx
《面向领域的可信嵌入式软件开发环境总体需求规格说明书V04副本 2.docx》由会员分享,可在线阅读,更多相关《面向领域的可信嵌入式软件开发环境总体需求规格说明书V04副本 2.docx(32页珍藏版)》请在冰豆网上搜索。
面向领域的可信嵌入式软件开发环境总体需求规格说明书V04副本2
LiveSky®Research
文档编号:
DTESD-TRSS-1
Confidential(秘密)
面向领域的可信嵌入式软件开发环境
总体需求规格说明书
Version0.4
湖南力唯中天研究院
AllRightsReserved
A.文档变更历史
日期
版本
变更说明
作者
B.文档审批历史
审批日期
版本
审批意见
审批人
1引言
1.1编写目的
本需求分析说明书文档的目的是定义面向领域的可信嵌入式软件开发环境的开发目标,包括对功能的规定和性能的要求,指出预期的运行环境以及对用户操作的约定。
该需求说明书是整个系统设计和开发的依据,供开发项目管理者、软件设计工程师、软件开发工程师以及本工具使用人员参考之用,并作为面向领域的可信嵌入式软件开发环境测试以及项目验收的依据。
1.2背景
嵌入式软件的开发相对于桌面软件的开发而言,由于受到硬件平台、操作系统、交叉编译等各种因素的制约,一直缺少良好开发环境的支持。
基于不同硬件平台和各种各样不同的嵌入式应用场景使嵌入式开发的复用度非常低,对提高嵌入式系统的可信度,改善嵌入式开发的效率构成了极大的障碍。
本项目运用领域建模思想,对各种不同嵌入式应用和开发场景的共性需求进行分析和挖掘,开发一种可以支持各种应用嵌入式软件开发的可信的集成开发环境。
在这个开发环境中向开发者提供大量可以复用的构件,降低嵌入式开发的工作量,提高开发效率;同时引入可信评估机制和软件工程项目管理理论,提高嵌入式系统开发的质量。
1.3定义
1.可信嵌入式软件开发环境
本可信嵌入式软件开发环境是为嵌入式开发过程提供生产帮助并对开发过程进行可信控制的一种专用软件生产线工具。
2.插件
指为了支持该环境的应用,而开发出来的各种支撑工具。
统一归属于工具集成框架进行管理。
对于工具集成框架来说,该环境中所有的工具都是它的插件。
3.部件
指同一个工具中的不同功能部分。
工具集成框架中的部件就是它内部的子功能。
其它工具的部件也就是其它工具内部的子功能。
4.构件
特指源代码级组件及相关技术。
涉及源代码生成,模型建立等。
5.项目
指利用本开发环境开发某嵌入式软件时,所涉及的整个开发过程为一项目。
取名一般就是该软件的名称。
6.工程
指利用本开发环境开发时,在整个开发过程中的代码转换阶段所建立的工程,该工程只与代码转换、领域模型相关。
一个项目可能会建立多个工程,直到其中一个工程得到的代码最优为止。
7.领域:
“领域”是指一组具有相似或相近软件需求的应用系统所覆盖的功能区域。
8.领域工程
领域工程是为一组相似或相近系统的应用工程建立基本能力和必备基础的过程,它覆盖了建立可复用的嵌入式软件构件的所有活动。
领域工程包含三个阶段:
领域分析,领域设计和领域实现。
三个阶段的产物对开发有何指导作用。
9.领域词典
领域词典中集中存放了在领域分析过程中出现的和领域相关的词语以及对这些词语的详细解释。
10.DTESD
Domain-oriented&TrustedEmbeddedSoftwareDevelopment
11.AHP
AnalyticHierarchyProcess,层次分析法;
12.可信
如果一个嵌入式软件运行效果总是与预期相一致,则可称之为可信。
13.可信性
按照用户期望,提供预期服务(注:
包含可靠性、安全性等)的能力。
14.可信属性
嵌入式软件本身所具有的用以描述和评价软件可信的属性集合。
15.可信指标
依据可信属性具体化的能够反映嵌入式软件可信性的指标。
16.可信指标体系
嵌入式软件可信等级定义中的各个可信等级应该具有的软件可信指标及其度量值的集合。
17.可信证据
与嵌入式软件相关的能够反映其可信属性的数据、文档或其他信息。
18.可信等级
依据尺度中某一范围的值来确定嵌入式软件的可信级别,即可信等级。
19.可信评估
依据特定的已成文的嵌入式软件可信评估准则,确定嵌入式软件是否达到某一可信等级的活动,称为软件可信评估,简称为可信评估。
20.可信阶段评估
在嵌入式软件开发的各个阶段依据可信评估准则进行的评估活动。
21.可信资源库
用户存放与项目相关的各项可信文件、证据文档以及评估报告的资料库。
22.插件管理器
一个工具管理器,集中管理可信嵌入式软件开发过程中所用到的测试插件、缺陷管理插件、领域构件管理插件、开发插件等插件。
23.领域建模工具
对特定领域因果关系或相互关系进行可视化描述的工具。
24.领域构件实现工具
基于构件的构件组装工具。
25.过程
指使用本开发环境开发嵌入式软件的8个阶段,依次为新建项目、需求分析、软件设计、软件实现、单元测试、软硬件集成、集成测试与系统测试、系统验收与评估。
26.宿主机
开发嵌入式软件的电脑。
27.目标机
嵌入式软件运行的产品硬件。
28.宿主机代码
可以在宿主机运行的代码。
29.目标机代码
可以在目标机上运行的代码。
本项目中,根据项目阶段的进度,目标机代码包括Alpha版代码、Beta版代码、RC版代码、Release版代码4种。
30.单元测试
单元测试是一种白盒测试,深入到系统内部对软件内部逻辑控制结构上的问题进行清除,重点是系统的模块,包括子程序的正确性验证等。
31.集成测试
集成测试的目的是确保各单元组合在一起后能够按既定意图协作运行,并确保增量的行为正确。
集成测试的重点,将主要测试模块之间的接口和接口数据传递关系,以及模块组合后的整体功能。
32.系统测试
系统测试是一种黑盒测试,是对整个系统功能和性能等方面的测试,只关心外部实现,重点是整个系统的运行测试。
33.Alpha版代码
主要是以实现软件功能为主,通常只在软件开发者内部交流,一般而言,该版本软件的Bug较多,需要继续修改。
34.Beta版代码
该版本相对于Alpha版代码已有了很大的改进,消除了严重的错误,但还是存在着一些缺陷,需要经过多次测试来进一步消除,此版本主要的修改对像是软件的UI。
35.RC版代码
eleaseCandidate的缩写,意思是发布倒计时。
该版本已经相当成熟了,基本上不存在导致错误的BUG,与即将发行的正式版相差无几。
36.Release版
该版本意味“最终版本”,在前面版本的一系列测试版之后,终归会有一个正式版本,是最终交付用户使用的一个版本。
1.4参考资料
2任务概述
2.1目标
本项目目标是开发一个面向领域的可信嵌入式软件开发环境,包含如下5个DTSED工具,支持嵌入式软件开发的全过程。
(1)DTSED工具集成框架
(2)DTSED领域构件工具集
(3)DTSED集成开发工具集
(4)DTSED可信支持工具集
(5)DTSED项目管理工具集
2.2用户的特点
本工具的用户包括嵌入式软件项目的项目负责人、项目经理、开发人员、测试人员等。
2.3假定和约束
3需求
3.1对功能的规定
3.1.1DTSED工具集成框架
运行端:
该框架所涉及组件全部都运行在PC端。
需求描述
核心需求:
为用户提供本环境的所有工具的使用入口,以及环境本身的整体所必要的功能,完成对环境中所有工具的管理。
功能需求列表:
1、完成工具的平台集成;
2、对环境中的所有工具进行分类管理,能对所需要的工具进行快速定位;
包含组件:
插件管理器
各组件需求说明:
1、插件管理器:
插件管理器的作用是将所有的工具都集成在整个环境的菜单中,并可以在以后扩充更多的插件工具。
预期添加的插件会归纳到如下几个主菜单项中:
领域构件、集成开发、可信支持和项目管理。
即将环境工具分为四类,各类下属子菜单如下:
●领域构件工具主菜单下的子菜单包括:
✓领域建模工具
⏹特征模型编辑
⏹模型检查
⏹领域词典
✓领域构件实现工具
⏹界面编辑器
⏹构件属性编辑器
✓构件管理器
⏹构件向导工程
⏹模型向导工程
⏹构件图形库
⏹构件源代码库
⏹构件库
⏹构件语法检验
●集成开发工具主菜单下的子菜单包括:
✓工程管理
⏹新建工程
⏹打开工程
⏹保存工程
⏹删除工程
⏹新建模型
✓代码转换工具
⏹模型正确性检测
⏹目标代码框架选择
⏹目标IDE参数配置
⏹目标代码转换
⏹代码语法检查
✓代码编辑工具
⏹新建文件
⏹添加文件
⏹删除文件
⏹代码管理
⏹代码窗口切换
⏹语法高亮
✓程序转换框架管理
⏹添加程序转换框架
⏹修改程序转换框架
●可信支持工具主菜单下的子菜单包括:
✓可信评估工具
⏹可信指标体系和证据体系管理
⏹可信证据管理
⏹可信评估
⏹可信过程改进建议
⏹可信资源库
✓测试过程管理工具
⏹测试需求管理
⏹测试计划管理
⏹测试执行管理
⏹测试缺陷管理
⏹后台维护
✓单元测试框架
●项目管理工具主菜单下的子菜单包括:
✓计划管理工具
⏹文件
⏹编辑
⏹查看
⏹插入
⏹工具
⏹项目
⏹帮助
✓任务管理工具
⏹任务的创建
⏹待办任务功能
⏹任务日志功能
⏹任务排序功能
⏹任务视图功能
⏹权限控制
✓文档管理工具
集成框架的核心是软件生产线元模型,基于生产线元模型构造软件生产线,并支持软件生产线的运行。
DTSED工具装配是对软件生产线模型的实例化与初始化操作,即针对特定的软件开发项目,配置相关的项目信息,完善支撑该项目开发的软件生产线
3.1.2DTSED领域构件工具集
运行端:
该工具集所涉及组件全部都运行在PC端。
主要需求:
功能需求列表:
1、能在嵌入式软件开发需求阶段进行领域分析,构建领域模型,并提供模型检查功能。
2、提供领域词典的功能,把在领域分析过程中出现的和领域相关的词语以及对这些词语的详细解释的存入领域词典。
3、提供在嵌入式软件开发实现阶段建立构件组装的功能。
4、提供模型检查功能,包括对领域模型和构件组装模型的检查。
包含组件:
领域建模工具、构件组装建模工具(组态领域建模工具)、领域模型界面编辑器、构件属性编辑器
各组件需求说明:
1、领域建模工具:
领域建模工具能够针对不同领域的需求建立领域模型。
该功能还能够对领域模型进行模型检查,因此领域建模工具对领域分析人员和建模人员起到了重要的作用。
因此领域建模工具包括领域特征模型编辑、模型检查、领域词典等功能。
(1)领域特征模型编辑
图形化的描述领域特征模型。
包括领域特征编辑、特征间关系的编辑、图形化模型的管理。
●特征编辑:
⏹添加特征:
为模型添加一个特征
⏹删除特征:
删除不需要的特征
⏹编辑特征:
设置或者修改特征的属性。
⏹修改特征名:
对特征名进行修改
●特征间关系:
提供描述特征间关系的
●图形化特征模型的管理:
需要确定格式
(2)模型检测
对特征模型所包含的特征关系进行正确性检测,显示关系间的冲突,保证特征模型的正确性和一致性。
(3)领域词典
领域词典:
领域词典中集中存放了在领域分析过程中出现的和领域相关的词语以及对这些词语的详细解释。
领域词典编辑有两个编辑界面:
特征和一般领域术语的编辑。
●领域关联词:
指针对领域知识的表示,具有相对稳定性的词或者组合词。
●领域特征属性:
用来描述领域关联词的领域知识的属性特征。
每个领域关联词可以同时拥有多个领域特征属性。
●编辑领域术语:
编辑领域术语中能够新建、打开、保存、另存一个领域词典四个功能。
领域词典的实现方式:
一是建模完成后,保存模型时自动添加进入领域词典;
二是手动添加领域词典。
领域词典中某个领域知识的描述可以为以后构件的命名甚至是构件的描述及入库提供数据支持。
比如,某个领域的领域关联词(DTN)可以作为后续构件的构件名(CN)主体(比如:
CN=DTN∪构件),同时构件的描述信息中有一部分可以从领域词典中继承过来,而领域特征属性,本身就可以为构件的关联检索提供依据。
2、构建组装建模工具:
组件构建工具主要是按领域模型的分析进行构件的实现与组态软件的构建,完成系统(或更大构件)实现阶段的软件产品组装,并且生成的组态模型能够通过代码转换工具转换成代码。
组态构建工具包括:
构件列表、构件、构件连接子、组态模型检查等功能。
●构件列表:
根据用户的选择动态显示相应的构件列表,列表基本内容:
⏹通用基本构件:
始终存在于构件列表,并且是实现软件产品组装常用的构件。
⏹领域共性构件:
通过用户选择相关领域动态加载的。
不同领域的共性构件不同。
●构件,是构件组装建模工具的基本元素。
●构件连接子,用于连接各个构件,使之相关联。
●组态模型检查,对组态模型进行模型检查,在信息区显示检查结果。
⏹语法检查
⏹可配置性检查
3、领域模型界面编辑器:
一个领域模型相关的各种构件显示特性,通过该领域模型界面编辑器进行可视调整。
从已有的构件库中挑选出合适的构件组织成模型后,该模型最终对应的实际系统一般都是有运行界面的。
各相关的构件,特别是带界面显示的构件有其显示位置和形状。
利用领域模型界面编辑器可以对界面上构件的显示位置和形状进行编辑,使其符合开发人员的个性化需求。
领域模型界面编辑器包括功能:
参照IEC61131-3的图形编程语言标准,该环境必须至少支持结构文本(ST)形式的编辑器功能。
4、构件属性编辑器
每一个构件要进行添加、修改等操作,因此需要有一个构件属性编辑器。
属性编辑器可以手工方式输入构件的各个不同部分的代码和属性,也可以读取现有的构件信息,并对其进行修改。
构件是分为无界面构件(比如,纯代码组成的构件)及界面构件的和界面构件。
所涉及的信息分别存储在构件源代码库、构件图形库中。
●添加操作:
⏹添加新的构件:
首先将构件上传,再进行测试和认证,只有符合构件只有符合构件设计规范的构件才能被添加
⏹添加新接口:
对一个构件添加新的接口类型,现存的构件可以添加新的provides接口和新的requires接口
●修改:
可以修改构件的接口和属性,其中包括描述属性,约束属性和QOS属性。
5、构件管理器
构件管理器包括:
构件向导工程、模型向导工程、构件图形库、构件源代码库、构件库、构件语法检验等功能。
●构件向导工程:
是为了生成一个构件时,能保存未输入完的构件信息,以待下次重新进行修改,而不用每次新建一个构件来输入。
包含空白工程和示例向导工程两个方面。
运行工程须明确下属性
⏹构件的项目
⏹构件的名称
⏹构件的功能
⏹构件使用的限制条件
⏹构件的属性
⏹构件使用的接口类型以及个数
向导可以依次提醒用户当前需要设定什么内容。
当需要对一个以生成的构件进行修改时,也可以使用该向导对构件的属性,接口进行更改。
●组态向导工程:
生成一个模型时,能保存未输入完的构件信息,以待下次重新进行修改,而不用每次新建一个模型来输入。
可以分为空白工程和示例向导工程两种。
●构件图形库:
⏹构建存储相关的图形信息
⏹背景
⏹动态变动图片
⏹构件图标库
●构件源代码库:
由于构件相关的源代码可能很长,如果直接存储在构件信息中,可能会不利于构件整个源文件的阅读和修改。
因此将构件相关的源代码与构件本身分开进行存储。
存储信息包含:
⏹构件名称
⏹构件对应的源码文件名
⏹构件的功能和使用方法
⏹构件使用的限制条件
构件源代码库支持检索,并可导出源代码到编辑器中,在修改完成后自动更新保存源代码文件,并且生成新的构件替换对应的构件库中的原构件。
●构件库:
负责存储包括除图片和源代码外的所有构件信息,如果构件本身没有用到图片,而只是简单的纯色图形,则信息直接包含于构件库中。
构件库支持检索,并可以找到构件源代码库中对应的代码,在需要代码时可以实现构件源代码库中的对源代码的操作功能。
从构件库中可以导出构件到向导中对构件进行修改。
构建库由以下工具组成:
⏹构件库工具面板:
提供快捷的操作方式,类似于微软mspaint的最左边的工具面板。
⏹构件新建工具:
构件分为原子构件和复合构件,因此新建构件分为新建原子构件和新建复合构件,其中新建原子构件有两种方式:
一种是新建构件库有没有的原子构件,另一种是修改构件库中已有的构件来创建新的原子构件。
⏹构件管理工具:
主要包括以下功能:
(1)对构件库中已有构件的属性和代码进行修改
(2)当使用构件库中的复合构件时,自动依据存储的信息组装出复合构件
(3)添加两个相同的构件时提示是否一定添加。
管理原则:
(1)构件库能够实时的显示。
(2)在构件库中选中任何一个构件,都能够直接显示出该构件的信息。
(3)能够方便的对每一个构件进行修改操作,并能够在构件中将修改完成的原子构件。
(4)构件库对构件进行分类。
(5)能够直接添加新的构件库,或者直接更新更新构件库。
3.1.3DTSED集成开发工具集
运行端:
该工具集所涉及组件全部都运行在PC端。
需求描述:
核心需求:
对项目开发过程中的实现阶段提供生成目标IDE代码的方式。
功能需求列表:
1、提供完善的工程管理功能,能对最终生成的代码以及代码转换相关的模型、构件、资源文件进行管理
2、能调用领域构件工具提供的模型选择、编辑和校验的功能,从而能在最类似的模型的基础上进行修改,提高开发效率。
3、能将正确的模型转换成目标IDE代码,代码填充入按环境自带的程序框架转换成目标IDE代码。
4、提供目标IDE程序转换框架,包括转换规范、转换框架代码维护。
现在预先提供UCOS+UCGUI环境的程序框架。
包含组件:
工程管理、代码转换工具、代码编辑工具、程序转换框架管理。
各组件需求说明:
1、工程管理:
建立新的工程,可以在工程内选择已有的领域模型,或是重新建立新的领域模型。
该工程与项目是两个不同的概念。
由于此阶段是要修改程度最大的,一个项目在此阶段可以建立多个工程,并最终选择一个最好的模型进行输出和修改。
因此包括有工程建立,工程删除等管理功能。
●新建工程:
创建新的工程,并设置工程属性。
工程设置的属性包括
⏹工程名
⏹保存路径
⏹选择领域模型
●打开工程:
⏹打开指定目录下的工程
⏹快速打开最近的工程
●保存工程:
⏹手动保存(在指定的路径下)
⏹自动保存(在新建工程时设置的路径下)
●工程删除:
删除不再需要的工程。
●新建模型:
创建新的模型,供程序员在工程中选择。
2、代码生成工具:
根据转换规范,对已有的模型进行转换。
生成目标操作系统或是无操作系统的代码。
在用户确认无误后,保存或是输出最终的目标IDE代码工程。
从而可以在目标IDE工程中进行编译和调试,做进一步的修改和完善。
●模型正确性检测
●目标代码框架选择,提供UCOS+UCGUI环境的程序框架。
●目标IDE参数配置,提供IDE代码工程的相关信息
●目标代码转换
●调用目标IDE工具进行代码语法检查
3、代码编辑管理工具:
完善代码编辑管理工具,使其能对生成的代码进行修改或是直接进行代码的书写。
代码管理器提供对工程代码的可视化管理功能,包括往工程添加删除文件、修改代码或工程属性、代码窗口的切换等。
●新建文件:
在当前工程下可以创建新的空文本,供程序员编辑代码。
●添加文件:
在当前工程下可以添加指定路径下的文本。
●删除文件:
在当前工程下可以删除不再需要的文本。
●代码管理:
对文本中的代码进行管理,包括代码修改、代码保存。
●代码窗口切换:
一次只能查看一个代码窗口,通过切换代码窗口来查看代码。
●语法高亮:
把文本的不同内容用不同的颜色,字体等渲染,增加文本的清晰程度。
4、程序转换框架管理
●添加程序转换框架,包括特定硬件的目标程序的初始化代码和退出代码和配置信息。
●修改程序转换框架,对应于多种硬件或是多种操作系统,一个构件可以对应有多种程序框架。
可以进行修改,适应不同的硬件要求,而构件本身不需要进行修改。
各文档规范分类说明:
代码转换规范
●确定目标框架与构件内含代码的位置匹配关系,须参考构件实现规范
●为代码转换定义相应的标注,从而为语法分析自动化转换进行标注,功能如MFC的代码标注。
3.1.4DTSED可信支持工具集
运行端:
该工具集所涉及组件全部都运行在PC端。
主要功能:
包含用此环境进行开发某嵌入式项目的项目过程可信评估、可信保障以及纠正和提醒建议等等。
包含组件:
可信评估级保障工具、测试过程管理工具以及单元测试框架。
各组件需求说明:
1、可信评估工具
需求描述:
核心需求:
可信评估工具对嵌入式软件的开发全过程进行可信跟踪,通过在可信评估工具中对可信证据进行配置,提交并审核可信证据及文档,为可信评估提供证据支撑,最终通过可信评估工具得到该项目的可信等级。
功能需求列表:
1、可信指标体系和证据体系管理。
提供可信指标和证据配置功能,配置项目的可信证据项,方便证据的搜集。
2、可信证据管理。
提供可信证据及文档的提交功能,能够显示和编辑可信证据,并查看专家的审核意见;以及可信证据及文档审核功能,并显示证据是否通过审核。
3、可信评估。
分为阶段评估和可信等级评估。
可信阶段评估主要评估项目的阶段可信得分;可信等级评估主要评估项目的可信等级。
4、可信过程改进建议。
可信评估工具功能包括可信资源库、历史版本信息、可信证据配置、可信证据及文档提交、审核可信证据及文档、可信评估、AHP参数设置、帮助。
●可信资源库:
可信资源库主要是存放可信定义文件和可信项目可信文件。
⏹可信定义文件:
主要包括可信证据文件、AHP参数、可信等级标准文件和注册项目文件。
⏹项目可信文件:
主要包括可信证据文件、证据文档和可信评估报告。
●历史版本信息:
历史版本信息主要包括查看历史版本和下载两个功能
⏹查看历史版本:
查看项目所有版本的可信信息,包括可信等级,评估得分,可信证据及文档,审核意见及审核报告
⏹下载:
打包下载某个版本的可信证据、文档及评估报告。
●可信证据配置:
配置待评估项目的可选证据项,可按可信属性或者提交阶段,查看该可信等级的所有可信证据项,并选择添加或删除
●可信证据及文档提交:
主要包括显示和编辑、保存和查看审核意见三个功能。
⏹显示和编辑:
显示待填写的可信证据项,并提供编辑功能。
⏹保存:
保存当前证据项
⏹查看审核意见:
查看每个证据项的审核意见和证据文档的审核报告
●审核可信证据及文档:
对项目的可信证据及证据文档进行审核,显示是否通过,并显示不通过的原因,并填写审核报告。
●可信评估:
可信评估包括阶段评估和可信等级评估
⏹可信阶段评估:
评估项目每个阶段的可信评估,显示得分,即为该阶段的评分标准。
⏹可信等级评估:
评估项目的可信等级,当前可信等级评估完成后,如果未达到该等级,还可以进行下一级评估。
●AHP参数设置:
设置可信评估的AHP参数。
●帮助:
查看可信等级定义以及相应可信等级下的证据项和证据文
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 面向领域的可信嵌入式软件开发环境总体需求规格说明书V04 副本 面向 领域 可信 嵌入式 软件 开发 环境 总体 需求 规格 说明书 V04