【软件工程∶基于模型开发(MBD)时的验证(Verification)】

(1) 对需求及设计的“验证”

软件需求到模型设计,有如下三类转化(Transform),为保证转化(Transform)的正确性和完整性,需要进行验证

【系统需求 + 系统架构设计】-> Transform To ->【软件需求】

验证活动:验证软件需求(上图中的黄色背景的活动)

验证对象:软件需求

【软件需求】-> Transform To ->【软件架构设计】

验证活动:验证软件架构设计(上图中的黄色背景的活动)

验证对象:软件架构设计

【软件架构设计】-> Transform To -> 【模型设计】

验证活动:验证模型设计(上图中的黄色背景的活动)

验证对象:模型设计

采用MBD方法的好处是:模型设计的验证方法,可以包括动态验证,即:通过运行模型来验证模型设计。

这可以满足ISO 26262:2018 Part 6 - Table 4中的要求“1c Simulation of dynamic behaviour of the design”.

(2) 对实现的“验证”

模型开发场合,通常不会对模型生成的Source Code进行修改和维护,修改和维护的对象都是“模型”。因此“模型”是设计,也是实现

对”实现(模型)”的测试

测试对象:模型

测试方法:MIL

测试用例的依据:模型设计的依据(即:分配给模型的软件架构设计和软件需求)+ 模型设计

这个部分,我再次请教了董淑成老师,董老师说:MIL测试用例的开发,首先是基于分配给模型的需求(即:黑盒测试),在执行MIL测试后,如果发现覆盖度达不到要求,则需要分析模型,看一下哪些地方没有被覆盖到,是设计有问题,还是测试用例不足,之后根据情况,补充测试用例(白盒测试),目的是提高测试的充分性。

【模型设计】-> Transform To -> 【Source Code】

如果工具是可信赖的,且模型生成的代码不会进行修改和维护,则这个步骤可以通过工具来保证,可以不验证。

26262标准中要求:ASIL C/ASIL D,需要通过Back-to-Back方式进行验证(模型和代码的等效性验证)。(图中所示的SIL Test / B2B Test)

(3) 与ASPICE的映射

模型开发(MBD)时,如果模型生成代码的工具是可信赖的,且模型生成的代码不会被修改和维护,则单元验证,可以只在模型层面来做。

VDA Guideline的相关Rules如下:

[MBD.RL.6] If there is no static verification and unit testing performed on code automatically generated from the model by a qualified tool chain (and without any modification after generation), then SWE.4.BP3 shall not be downrated.

关于SWE.4的补充说明:软件单元验证的通常方法包括:Code Review, Static/Dynamic Analysis, Unit Test,但这不是绝对的。

可参考如下的VDA Guideline的Rules:

[SWE.4.RL.1] If it is made reasonably plausible based on context-specific arguments that a particular verification measure is not necessary, then SWE.4.BP1 shall not be downrated.

(-- 完 --)

转∶


原文链接

https://t.cn/A6H5g3Bk


namo-amitabhaya!

【软件工程∶给CMMI决策者的十条】

原创 丛斌博士

2024-05-13

上周参加了ISACA CMMI年会,借着这个机会向同行、CMMI的管理者表达了自己的一些意见。不吐不快,尽一份作为一个CMMI、Humphrey铁粉的责任。

01
从SEI到CMMI研究院,再到今天的ISACA,35年的历程,模型版本换了近十次,人换了一茬。但不能忘记历史,更不能割断历史。Humphrey和他的同事们留下的资产,是宝贵的财富。
不谈历史等于自毁根基,在巨人的肩膀上推动CMMI,则是承前启后,真正的发扬光大。
休息时,两个评估师告诉我,听了我的建议后,他们立刻在网上买了Humphrey的“管理软件过程”的书,旧书,花了1.99美金。

02
需要进一步明确CMMI模型的价值定位,如果完全沦为一个资质认证的评估模型,会很容易被替代。
建议重新强调IDEAL(熟悉老版本CMM和CMMI的朋友应该还记得它),强调CMMI模型和CMMI评估在改进中的定位。

03
随着CSMM逐步推广并成为国家标准,参加年会的许多在中国做评估和培训的老师,对CMMI在中国的前途表达了担忧。
在一片脱轨声中,是否应该把CMMI这样一个从美国军工成长出来的东西踢出去。
CMMI是一个方法论,代表了业界优秀实践的集合。2.0的一个重要改进是让CMMI成为了一个动态模型,让它承载了昨天和今天的最优秀实践,也代表了未来优秀方法。
CMMI的内容表述了整个行业的发展,没有国界。和CMMI脱轨,像是和软件工程脱轨一样,和先进的方法论脱轨一样,放弃了一个了解创新的渠道。
目前,从0到1,美国还是有其明显优势,这也包含新的研发模式的进化。
近20年来,敏捷、DevOps、质量理论、数据科学、安全安保、AIGC等方面的创新,美国都是发源地。
ISACA需要做的,是把这个道理和相关的决策者讲清楚。我接触到的(虽然有限)领导,都是极具眼光格局的。
希望CMMI可以和CSMM互相推动,取长补短。没有了CMMI,CSMM的更新改进也会少了一个重要的来源。

04
当年有CMM/CMMI的地方就有SPIN (Software Process Improvement Network),给了CMMI实践者一个沟通交流平台。CMMI年会关注的是实践者的声音,所以之前的会议被称为SEPG大会。
现在是时候应该考虑重建SPIN了,让模型的真正使用者成为CMMI的主人。

05
CMMI 3.0推出的4天 “BOC” 培训,在中国很难做起来。希望能做出改进,解决平衡好模型中不同领域的融合问题。
很高兴听到ISACA会研究解决这个问题。

06
转达了朋友的一个意见:尽可能让公众看到ISACA的评估审计过程,公告一些重要的审计结果,增加评估的可信度。

07
老调重弹:请研究一下2.0发布后,有多少人和组织购买了PDF版的模型?我的猜测是,少的可以忽略。
免费开放模型,开放评估方法,以最快、最广、最方便的方式,让尽可能多的人看到模型。模型的生命力在于其广泛地使用!
很高兴听到研究院愿意重新讨论这个问题,希望至少可以做到先部分开放。

08
ISACA成为了CMMI的守护者,此行一大收获是了解了ISACA的使命和业务。
希望ISACA管理者悟透二者的差异,平衡好CMMI的短期和长期目标、利益。

09
不少有情怀的中国评估师参与了ISACA的各种工作,让决策者听到了来自中国的声音。
希望ISACA能够更加支持、鼓励来自中国的参与,听到CMMI最大市场的一线反馈。

10
我的一点愿望:
20多年前我接触到了CMM,那是一个极具品牌,一个代表先进的东西。
20多年来,CMMI也给了我许多。
在不远的将来,要退休的时候,希望CMMI不要烂在我们手里,哪怕在另一个名头下,它还在继续装载行业的实践积累。

转∶


原文链接

https://t.cn/A6H5GfAC


namo-amitabhaya!

【软件工程,GJB5000∶如何描述软件的可靠性?】

原创 软件工程之思

2024-05-14

可靠性是软件的非功能性需求,指软件在异常情况下或在被非法、非常规使用时维持自身功能的能力。

在软件研制任务书中,可靠性与安全性、保密性一起都是作为关键性要求来描述的。

可是,在实践中,对于可靠性的描述并不准确。常见的描述都不具备可实现、可测试,不符合需求验收准则的要求。

那么,软件可靠性应该如何描述呢?

软件的可靠性体现在容错和健壮性这两个方面,描述可靠性可以从这两个方面考虑。

容错

容错指软件发生故障时仍保持正常运行的能力。

需求开发人员从容错的观点出发,可以这样描述可靠性:

冗余。对某些关键功能提出冗余要求。

弱化。在软件发生某种故障时,软件能够主动缩减它提供的功能,只保留关键功能,保证软件继续运行。

健壮性

健壮性是保护软件不受非正常使用方式或非法输入影响的能力。软件具备可靠性后,一旦出现非正常使用方式或非法输入,软件都能准确迁移至系统定义的状态。

健壮性只保证软件能迁移至系统定义的状态,并不要求软件修复或重新执行引发异常的处理。

需求开发人员从健壮性的观点出发,可以这样描述可靠性:

剥离。可以提出在发生故障时剥离发生故障的部分要求。

保护。可以提出在用户进行了错误操作的情况下也能安全运行的要求。

软件对可靠性的需求是不尽相同的。

比如一些关键的业务系统是不允许出现中断服务的,最多采取弱化的方式——缩减功能,但也要持续提供关键服务。

而供个人使用的软件可能就不需要这种持续性,这类软件大多都是选择保存数据重新启动。

所以,需求开发人员应当根据软件的实际情况分析是否需要给出可靠性需求,给出什么样的可靠性需求。

这正是:

说起需求可靠性,非功能中很关键
描述应从两方面,容错还有健壮性

参考书目:编程的原则:改善代码质量的101个方法,作者:上田勋,译者: 支鹏浩,出版社: 人民邮电出版社

作者简介:王小双,长期从事GJB5000推广、实施、评价、改进的工作,创建《软件工程之思》微信公众号,一直在《软件工程之思》分享GJB5000、CMMI、软件工程的知识和感悟。现致力于GJB5000培训、内外部评价以及软件过程改进、软件工程能力提升的研究工作。

转∶


原文链接

https://t.cn/A6H5bFW4


namo-amitabhaya!


发布     👍 0 举报 写留言 🖊   
✋热门推荐
  • “多了,紫微、太微……”大黑狗随口说了几个[太阳]卓轩心语分享[太阳][烟花]所有与人沟通、交流的情况里,先明白对方的需要和界限;[烟花]沟通没有对与错,只看有
  • 今天,愿所有见我面的,听我声的,闻我名的众生,都因我而喜悦祥和,心得清净,少欲少恼,种下一颗菩提种子。世间的诸多美好,需要我们怀着一颗虔诚之心,小心翼翼地捧着、
  •  一、利用“网红效应”虚构评价等方式“刷单炒信”在刷单团伙操纵下,通过组织“大V”(平台高级别用户)到店免费体验后发布指定好评、“刷手”在不实际体验或者使用商品
  • ②大理往保山方向大漾洱云高速路与大保高速路连接工程(杭瑞高速K2576-K2578)由于压缩车道施工,现场路段仅超车道可以通行,且在平坡收费站附近,该路段易出
  • 想见的人见不到,想看的风景看不到,想吃的美食吃不到…感觉在疫情下所有的东西都是不确定的遥不可及的…曾经我想去旅行考虑的是够不够资金…现在考虑的是会不会被封控,万
  • 这个世界上没有无缘无故的恨,也没有无缘无故的爱,汪峰多年的付出迎来了回报,李易峰也把汪峰送上热搜,相信将来一定会越来越好。 汪峰作为一名音乐人,为了娱乐圈
  • 当此天灾人祸,相继降作之时,若不以改恶修善,常念观音圣号,以为恃怙(音是护,依靠)则欲得安乐,难之难矣。(文钞三编卷二·复谢慧霖居士书二十二)  ●十余年来,天
  • 乱记一下今晚电影/困星爷的电影不存在俗套的剧情 喜欢n刷这个结尾大概是千人千念,可我还是更喜欢自己理解的浅显结尾,我很糟糕我一塌糊涂,没有自己的定位和人生方向,
  • 从楼上的阳台凭栏望半园,站楼下置身半园​,有些想离开的CC哥,愿他天堂安眠凡事不做满不求满,留白一半的自在跟宽融,李哥这样诠释半园。[失望][失望]“再坚持一下
  • 别人和他拍一个,评论区就是:好般配多拍呀~ 到我这里就是:你都有孩子了你拍个毛你又换对象了你 ,你不怕得病 。真的我都不想说我真懒得说,还有一些喜欢蹭我的人,我
  • 我们运动需要能量,但能量的直接来源并不是脂肪,并不是一运动就能够消耗脂肪。而骑马却可以轻易帮你达成以上条件:✓ 骑马可以锻炼你的心肺功能,这对肥胖人士尤为重要;
  • 还有腾讯会议截图是真不咋好看吃妆哼,这还是我挑的算好的了,但感觉镜子里的我挺好看的呀[哼]九月最大心愿,疫情早日得到控制,让我开学开学开学,让我把科四考完,还有
  • 《江苏沿海地区发展规划(2021-2025年)》提出,到2025年,沿海地区要基本实现交通基础设施现代化,基本建成“海港领航、陆海统筹、江海联动、双向开放、生态
  • 我们都知道股票做T的好处,就是能把股票日内的波动给掌握住,从而实现超额的收益,高点卖出,低点买进,其实,炒短线的高手,也并没有什么特殊的技巧,但是呢他们往往对分
  • ​​​【#距2022高考还有50天#梦想,是寂静的奋斗里生长的果实】闹钟响了就起床,不拖拉;工作时保持专注,减少刷社交网络的频率;到点就放下手机,不熬夜……其
  • 之前的文章有说过,有时候天克地冲并不一定是坏事,反而代表着一种转折,一种新的思想新的能量的进入。但虽然己酉月比起戊申月能稍稍缓和,但毕竟寅酉相绝,上个月那股子对
  • 有常来这里的人认出来了,那个大光头就是每天在这里卖艺的,趁着人群聚集的时候表演个胸口碎大石啊,头撞砖头什么的,博人眼球,讨个喝彩,赚点小钱,混口饭吃。就是这样
  • 为配合郑州市“一环十横十纵”道路综合改造(花园路、紫荆山路)供水管网改造工程,郑州自来水投资控股有限公司拟对紫荆山路(航海路—南仓街)道路两侧实施停水。此次停水
  • 眼底,忽一缕微风轻拂,悄无声息,从身边穿过,细细碎碎的温暖,从来都是如此简单,又如此深刻。那一缕飘散的幽香,在故事空瘦的片段里肆虐出弥漫的一个久远,不回首,心内
  • 昨天有人请客喝奶茶,妈妈和小果仁儿一人一杯,妈妈快速喝完了她的,小果仁儿一直捧着一大杯一点点的小口喝,两个手抱着一边跟着妈妈走,一边走一边喝就没有注意到马路上的