您可以捐助,支持我们的公益事业。

1元 10元 50元





认证码:  验证码,看不清楚?请点击刷新验证码 必填



  求知 文章 文库 Lib 视频 iPerson 课程 认证 咨询 工具 讲座 Model Center   Code  
会员   
   
 
   
 订阅
  捐助
基于模型开发的活动及与ASPICE过程的映射
 
作者:杨环宇
   次浏览      
 2020-6-4  
 
编辑推荐:
文章主要介绍了被问到的几个问题基于模型开发,通常包括哪些活动呢?模型开发活动,与ASPICE中的过程(SWE.1 ~ SWE.6)是如何映射的呢?围绕这两个问题讲解。
本文来自于仨人谈起,由火龙果软件Anna编辑、推荐。

汽车嵌入式软件开发中,基于模型开发的方法非常普遍,经常被客户及一些评估师问到的问题是:

基于模型开发,要包括哪些活动?

这些活动与ASPICE中的过程(SWE.1 ~ SWE.6)是如何映射的呢?

软件开发过程中,应用模型开发,是指:采用具备一定语法和语义含义的模型,来全部或部分完成软件需求、软件设计、并基于模型来生成代码。

根据使用模型的目的,基于模型开发可以映射到“SWE.1 软件需求分析”、"SWE.2 软件架构设计"和"SWE.3 软件详细设计和单元构建"等ASPICE中的各个Process。

当前比较普遍的用法是用模型进行设计、基于模型生成代码、在模型及代码层面进行验证。使用模型来定义需求的情形不是特别多。

接下来,我们就基于当前比较普遍的这种用法来进行分析:

一、基于模型开发,通常包括哪些活动呢?

① 模型设计

基于模型设计的输入(通常是软件需求和软件架构设计)和模型规范(如: 基于MAAB的模型规则),进行模型设计。

② 模型静态分析

使用工具对模型进行分析,包括:

分析模型是否符合建模规范,如:使用Simulink Verification & Validation检查是否符合MAAB。当现有的规则无法满足要求时,工程师也可以自己动手定制一些检查规则项

模型的形式化验证,如:使用Simulink Design Verifier检查是否有整数溢出,或者是否有死逻辑等

③ 模型评审

评审模型的内部逻辑、评审其是否与模型设计的输入相一致。也就是评审设计的模型否能正确的实现模型设计的输入。

④ 模型动态验证

一般是通过模型在环(MIL)测试的方式对模型进行动态验证。

测试的目的有两个:

功能测试:测试“模型设计的输入”是否被正确的实现了,往往用比如“需求覆盖度”的覆盖度指标进行衡量。

模型内部逻辑的正确性:往往用结构化覆盖度指标进行衡量,比如条件覆盖(Condition Coverage)、判定覆盖(Decision Coverage)、MC/DC覆盖等。

⑤ 自动代码生成

进行一定的代码生成的定制化设置、并使用工具生成代码。

在这个过程中“用户的定制化设置”和"生成代码的工具"都有可能引入错误。

因此,在对代码质量要求很高的场合,会希望做“⑥等效性测试”。

⑥ 等效性测试

通常采用软件在环(SIL)测试和处理器在环(PIL)测试的方式,用来验证代码和模型的一致性。

SIL是将模型生成的代码通过DLL的方式运行在Windows平台上;PIL是将生成的代码运行到目标处理器上,两种模式使用的编译器是不同的,SIL使用的就是Windows下的编译器,比如Visual Studio C++或者LCC编译器,而PIL使用的是目标编译器。

二、模型开发活动,与ASPICE中的过程(SWE.1 ~ SWE.6)是如何映射的呢?

(1) SWE.3 软件详细设计和单元构建

模型设计是设计到可以生成代码的程度,这里面就包括有软件单元的详细设计。

基于模型生成代码,就是软件单元的构建。

注意:有些时候,当模型本身不足以全面、清晰的呈现设计时,是需要有一些补充的文字信息描述的。

(2) SWE.4 软件单元验证

(3) SWE.2 软件架构设计

有些时候,在模型设计中,会包括SWC之间的交互及接口的设计,这个部分是属于软件架构设计的。

(4) SWE.5 软件集成和集成测试

基于模型开发时,模型中SWC与SWC之间的集成步骤,体现的不明显。SWC之间的接口的一致性,往往是由建模工具来检查和保证的。

在"④模型动态验证"和"⑥等效性测试"时,会测试SWC之间的交互,这个部分的测试属于模型的集成测试。

   
次浏览       
 
相关文章

CMM之后对CMMI的思考
对软件研发项目管理的深入探讨
软件过程改进
软件过程改进的实现
 
相关文档

软件过程改进框架
软件过程改进的CMM-TSP-PSP模型
过程塑造(小型软件团队过程改进)
软件过程改进:经验和教训
 
相关课程

以"我"为中心的过程改进(iProcess )
iProcess过程改进实践
CMMI体系与实践
基于CMMI标准的软件质量保证
最新活动计划
LLM大模型应用与项目构建 12-26[特惠]
QT应用开发 11-21[线上]
C++高级编程 11-27[北京]
业务建模&领域驱动设计 11-15[北京]
用户研究与用户建模 11-21[北京]
SysML和EA进行系统设计建模 11-28[北京]
 
最新文章
iPerson的过程观:要 过程 or 结果
基于模型的需求管理方法与工具
敏捷产品管理之 Story
敏捷开发需求管理(产品backlog)
Kanban看板管理实践精要
最新课程
基于iProcess的敏捷过程
软件开发过程中的项目管理
持续集成与敏捷开发
敏捷过程实践
敏捷测试-简单而可行
更多...   
成功案例
英特尔 SCRUM-敏捷开发实战
某著名汽车 敏捷开发过程与管理实践
北京 敏捷开发过程与项目管理
东方证券 基于看板的敏捷方法实践
亚信 工作量估算
更多...