一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

基于模型設(shè)計(jì)的敏捷方法分析和介紹

MATLAB ? 來源:djl ? 2019-09-12 09:20 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

如今,大多數(shù)為工程應(yīng)用開發(fā)軟件的團(tuán)隊(duì)都意識(shí)到了傳統(tǒng)開發(fā)方法(瀑布式)的缺點(diǎn)。這包括在項(xiàng)目后期發(fā)現(xiàn)缺陷和設(shè)計(jì)問題,無(wú)法適應(yīng)需求的更改,以及交付的系統(tǒng)不滿足客戶需求的風(fēng)險(xiǎn)。為了克服這些缺點(diǎn),許多團(tuán)隊(duì)采用了將敏捷方法與基于模型的設(shè)計(jì)相結(jié)合的開發(fā)流程。

有關(guān)基于模型的設(shè)計(jì)和敏捷方法的研究表明,對(duì)工程應(yīng)用而言,基于模型的設(shè)計(jì)不僅是敏捷開發(fā)的有效補(bǔ)充,甚至有時(shí)使敏捷開發(fā)成為可能。像敏捷開發(fā)一樣,基于模型的設(shè)計(jì)最初是為了支持快速迭代,其還滿足了系統(tǒng)工程方面的挑戰(zhàn),而這些挑戰(zhàn)不是敏捷開發(fā)單獨(dú)能夠解決的:

如何在不使用設(shè)備的情況下進(jìn)行早期測(cè)試

如何管理工程系統(tǒng)的復(fù)雜性

如何降低在昂貴的硬件上測(cè)試未經(jīng)驗(yàn)證的軟件的風(fēng)險(xiǎn)

如何滿足功能安全及其他標(biāo)準(zhǔn)的要求,包括 DO-178B/C 和 ISO 26262

本文通過一個(gè)自適應(yīng)巡航控制示例,解釋基于模型的設(shè)計(jì)是如何支持敏捷開發(fā)的核心價(jià)值體系。該示例結(jié)合了基于模型的設(shè)計(jì)、敏捷方法和 Scrum 框架。

敏捷開發(fā)和基于模型的設(shè)計(jì)——基礎(chǔ)

軟件敏捷開發(fā)方法建立在2001年出版的《敏捷宣言》中概述的核心價(jià)值體系和原則之上。如今,敏捷開發(fā)最廣泛使用的框架之一是Scrum。在Scrum中,開發(fā)以稱為sprint的一系列周期進(jìn)行,在每個(gè)周期中,開發(fā)團(tuán)隊(duì)在項(xiàng)目待辦事項(xiàng)列表中的一個(gè)子集上工作一段時(shí)間(通常是一到兩個(gè)星期或者一個(gè)月)。在每個(gè)sprint中,開發(fā)團(tuán)隊(duì)對(duì)軟件進(jìn)行開發(fā)、測(cè)試、集成,最后對(duì)可工作的軟件設(shè)計(jì)文檔(圖1)。

基于模型設(shè)計(jì)的敏捷方法分析和介紹

基于 Scrum 框架的敏捷開發(fā)

基于模型的設(shè)計(jì)是一種以模型為中心的系統(tǒng)開發(fā)方法?;谀P偷脑O(shè)計(jì)在整個(gè)開發(fā)過程中使用模型作為設(shè)計(jì)載體,而不是依賴物理原型和文本規(guī)范的在團(tuán)隊(duì)內(nèi)傳遞。模型包含了與系統(tǒng)行為相關(guān)的所有組件——包括算法、控制邏輯、物理組件和環(huán)境組件。一旦模型被開發(fā)(細(xì)化)出來,就可以用其來生成代碼(C/C++、HDL或結(jié)構(gòu)化文本)、報(bào)告和其他類型的文檔?;谀P驮O(shè)計(jì)的核心要素包括系統(tǒng)級(jí)和組件級(jí)的設(shè)計(jì)和仿真、自動(dòng)代碼生成,以及持續(xù)測(cè)試與驗(yàn)證。

將敏捷開發(fā)的核心價(jià)值體系映射至基于模型的設(shè)計(jì)

敏捷宣言定義了軟件開發(fā)的四個(gè)核心價(jià)值觀:

個(gè)體和互動(dòng)高于流程和工具

工作的軟件高于詳盡的文檔

客戶合作高于合同談判

響應(yīng)變化高于遵循計(jì)劃

宣言作者指出,“高于”并不意味著“否定”。他們所倡議的是開發(fā)要素要有所側(cè)重:“雖然右邊的開發(fā)要素也有價(jià)值,但我們更注重左邊的要素?!?/p>

讓我們看看這些敏捷方法的價(jià)值觀如何映射到基于模型的設(shè)計(jì):

專注個(gè)體和互動(dòng)

基于模型設(shè)計(jì)的流程和工具——特別是建模和仿真——能夠促進(jìn)個(gè)人和團(tuán)隊(duì)之間進(jìn)行高效的交互。模型可以直接通過Simulink,報(bào)告或web頁(yè)面進(jìn)行共享, 使所有相關(guān)人員能夠使用模型作為一個(gè)共同的工作參考點(diǎn),避免產(chǎn)生分歧。仿真結(jié)果清晰可見,有助于設(shè)計(jì)決策、Scrum規(guī)劃以及促進(jìn)相關(guān)人員的討論。

注重客戶合作

客戶合作是敏捷方法的核心。每個(gè)sprint以計(jì)劃會(huì)議開始,以評(píng)審會(huì)議結(jié)束,在會(huì)議上,客戶經(jīng)常被邀請(qǐng)?zhí)峁┹斎?。建模和仿真不僅支持高效的客戶合作,還支持跨團(tuán)隊(duì)、跨領(lǐng)域和跨學(xué)科的合作。采用MathWorks公司基于模型的設(shè)計(jì)工具,來自硬件設(shè)計(jì)、系統(tǒng)設(shè)計(jì)、功能和組件開發(fā)的工程師們使用共同的語(yǔ)言/平臺(tái),可以集中精力在一起工作,而不必?fù)?dān)心工具兼容問題。

關(guān)注可工作的軟件

對(duì)于采用敏捷開發(fā)的團(tuán)隊(duì)來說,基于模型設(shè)計(jì)的主要優(yōu)勢(shì)之一是,即使沒有嵌入式目標(biāo)硬件、被控對(duì)象實(shí)物、傳感器或其他硬件,也能夠在最初的sprint中開發(fā)出一個(gè)可工作的系統(tǒng)。通過仿真驗(yàn)證后的Simulink模型可以作為可工作的軟件服務(wù)于整個(gè)項(xiàng)目的開發(fā)。模型作為系統(tǒng)開發(fā)過程中的可執(zhí)行規(guī)范,在早期的sprint中,當(dāng)硬件還不存在時(shí),作為硬件測(cè)試結(jié)果的替代,也可以與客戶共享模型的仿真結(jié)果,以用于評(píng)估項(xiàng)目進(jìn)度、尋求支持或計(jì)劃下一次sprint。模型還提供了一種清晰而便捷的方法來評(píng)估項(xiàng)目進(jìn)度。隨著模型的細(xì)化,可以用其生成代碼,用于軟件在環(huán)(SIL)、處理器在環(huán)(PIL)和硬件在環(huán)(HIL)測(cè)試,以及用于實(shí)時(shí)原型和生產(chǎn)系統(tǒng)。

模型還可以作為文檔的載體。在基于模型的設(shè)計(jì)中,文檔是模型設(shè)計(jì)過程的輸出,而不是一個(gè)單獨(dú)的任務(wù),文檔和報(bào)告可以根據(jù)需要從模型直接生成。

注重響應(yīng)變化

瀑布開發(fā)的一個(gè)主要障礙是不能對(duì)不斷演化的需求和條件做出足夠的反應(yīng)。敏捷開發(fā)和基于模型的設(shè)計(jì)解決了這一缺陷,使團(tuán)隊(duì)能夠更有效地應(yīng)對(duì)變化。對(duì)于工程應(yīng)用軟件中的任何重大更改,使用基于模型設(shè)計(jì)的工程師可以修改模型,然后簡(jiǎn)單地重新生成代碼。在實(shí)現(xiàn)任何更改之前,開發(fā)團(tuán)隊(duì)可以執(zhí)行假設(shè)分析來確定適應(yīng)特定更改請(qǐng)求的最佳方法。對(duì)模型進(jìn)行更改后,工程師可以進(jìn)行回歸測(cè)試,以確保更改不會(huì)為系統(tǒng)引入意外行為。當(dāng)模型與需求相鏈接后,開發(fā)團(tuán)隊(duì)還可以進(jìn)行影響分析,以了解對(duì)模型其中一個(gè)部分的更改將如何影響其他部分。

案例——

將敏捷開發(fā)與基于模型的設(shè)計(jì)相結(jié)合

開發(fā)自適應(yīng)巡航控制器

在這個(gè)例子中,某汽車工程團(tuán)隊(duì)正在開發(fā)一套具有傳感器融合算法的自適應(yīng)巡航控制系統(tǒng)軟件。該系統(tǒng)融合了車載雷達(dá)和視覺傳感器的輸入數(shù)據(jù),識(shí)別出最重要的目標(biāo)及其與當(dāng)前車輛的距離,以調(diào)整車速并保持安全距離。

項(xiàng)目中,其中一組工程師負(fù)責(zé)開發(fā)控制算法,另一組工程師負(fù)責(zé)開發(fā)駕駛場(chǎng)景和傳感器數(shù)據(jù)綜合算法。這些合成數(shù)據(jù)將使工程師能夠在獲得實(shí)際的傳感器數(shù)據(jù)之前開發(fā)和測(cè)試算法。在開發(fā)的早期階段,使用合成數(shù)據(jù)進(jìn)行仿真可以為設(shè)計(jì)決策提供信息,例如車內(nèi)傳感器的類型、數(shù)量和位置。

在第一個(gè)sprint中,每個(gè)子團(tuán)隊(duì)(或工程團(tuán)隊(duì))都對(duì)各自負(fù)責(zé)的子系統(tǒng)進(jìn)行建模,使用共享的系統(tǒng)級(jí)的Simulink模型來協(xié)調(diào)各自的工作(圖2)。甚至在這個(gè)初期階段,工程師們可以運(yùn)行仿真以觀察在不同工況下控制器的行為。在編寫或生成代碼之前,工程師們可以調(diào)試控制器,識(shí)別出要優(yōu)化的參數(shù),并利用可工作的系統(tǒng)模型來可視化關(guān)鍵性能指標(biāo)。

基于模型設(shè)計(jì)的敏捷方法分析和介紹

帶傳感器融合算法的自適應(yīng)巡航控制系統(tǒng)的Simulink模型

在隨后的sprint中,開發(fā)團(tuán)隊(duì)基于客戶反饋對(duì)模型進(jìn)行改進(jìn)或增強(qiáng)——例如,通過調(diào)整安全跟蹤距離或改變車輛加速或減速的速率——對(duì)這些參數(shù)進(jìn)行優(yōu)化,并生成代碼,部署到ECU上。生成的代碼可以按照原樣使用,也可以作為較大系統(tǒng)的一部分與已有代碼集成。Jenkins提供的持續(xù)集成(CI)功能可以用來不斷檢查生成代碼與手工代碼的集成活動(dòng), 比如運(yùn)行模型測(cè)試,檢查建模規(guī)范的符合性,對(duì)生成的代碼進(jìn)行測(cè)試等。所有這些活動(dòng)的結(jié)果都會(huì)被自動(dòng)報(bào)告,以跟蹤進(jìn)度,并且提供給不使用開發(fā)工具的相關(guān)人員。

基于模型設(shè)計(jì)的敏捷方法分析和介紹

自適應(yīng)巡航控制模型的仿真結(jié)果

在之后的sprint中,開發(fā)團(tuán)隊(duì)加入了更嚴(yán)格的驗(yàn)證和確認(rèn)活動(dòng),包括SIL、PIL或HIL測(cè)試,以確保設(shè)計(jì)滿足需求。此外,開發(fā)人員還檢查模型和代碼是否符合已建立的標(biāo)準(zhǔn)和指南,使用靜態(tài)分析和形式化方法來證明軟件不存在嚴(yán)重的運(yùn)行時(shí)錯(cuò)誤,并為標(biāo)準(zhǔn)的認(rèn)證生成認(rèn)證報(bào)告及其他所需文件。

隨著項(xiàng)目的進(jìn)行,客戶需求可能會(huì)發(fā)生變化。例如,客戶可能要求模型使用預(yù)測(cè)控制,而不是經(jīng)典的控制算法,因?yàn)橄冗M(jìn)的MPC(模型預(yù)測(cè)控制)控制器使車輛能夠?qū)?chǎng)景中其他車輛的激進(jìn)動(dòng)作更好地做出反應(yīng)。由于在這個(gè)項(xiàng)目中使用了系統(tǒng)模型,算法團(tuán)隊(duì)可以很容易地用新開發(fā)的模型預(yù)測(cè)控制器替換原來的控制算法,并保持模型的其余部分不變。團(tuán)隊(duì)重新運(yùn)行仿真并與客戶分享結(jié)果,進(jìn)而就是否繼續(xù)進(jìn)行設(shè)計(jì)更改還是恢復(fù)到原先的控制算法設(shè)計(jì)做出更好的決定。

該團(tuán)隊(duì)在其敏捷開發(fā)工作流中使用了基于模型的設(shè)計(jì),并且在涉及到具體硬件之前就交付了可以工作的軟件。建模和仿真使得團(tuán)隊(duì)能夠根據(jù)客戶反饋不斷改進(jìn)設(shè)計(jì),甚至在項(xiàng)目后期適應(yīng)重大的需求更改。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 控制器
    +關(guān)注

    關(guān)注

    114

    文章

    17113

    瀏覽量

    184319
  • 數(shù)據(jù)
    +關(guān)注

    關(guān)注

    8

    文章

    7256

    瀏覽量

    91884
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    知識(shí)分享 | 敏捷方法在基于模型的軟件開發(fā)項(xiàng)目中的應(yīng)用

    傳統(tǒng)的瀑布式軟件開發(fā)流程存在諸多局限,這使得應(yīng)用敏捷原則變得尤為重要,尤其是面對(duì)復(fù)雜且不斷變化的開發(fā)環(huán)境時(shí)。作為最高效的軟件開發(fā)方法之一,基于模型的開發(fā)(MBD)具有諸多優(yōu)勢(shì)。將敏捷
    的頭像 發(fā)表于 07-16 16:52 ?404次閱讀
    知識(shí)分享 | <b class='flag-5'>敏捷</b><b class='flag-5'>方法</b>在基于<b class='flag-5'>模型</b>的軟件開發(fā)項(xiàng)目中的應(yīng)用

    模型推理顯存和計(jì)算量估計(jì)方法研究

    GPU、FPGA等硬件加速。通過分析硬件加速器的性能參數(shù),可以估算模型在硬件加速下的計(jì)算量。 四、實(shí)驗(yàn)與分析 為了驗(yàn)證上述估計(jì)方法的有效性,我們選取了幾個(gè)具有代表性的深度學(xué)習(xí)
    發(fā)表于 07-03 19:43

    提高SEA模型PBNR計(jì)算精度的方法及策略

    在汽車 NVH 工程領(lǐng)域, PBNR(Power Based Noise Reduction)分析是整車高頻噪聲舒適性開發(fā)中常用的方法,相比于傳統(tǒng)的隔聲量NR分析方法,PBNR
    的頭像 發(fā)表于 06-30 09:30 ?323次閱讀
    提高SEA<b class='flag-5'>模型</b>PBNR計(jì)算精度的<b class='flag-5'>方法</b>及策略

    FA模型的ServiceAbility的切換介紹

    的ServiceExtensionAbility為系統(tǒng)API,只有系統(tǒng)應(yīng)用才可以創(chuàng)建。因此,F(xiàn)A模型的ServiceAbility的切換,對(duì)于系統(tǒng)應(yīng)用和三方應(yīng)用策略有所不同。下面分別介紹這兩種場(chǎng)景。 系統(tǒng)
    發(fā)表于 06-05 07:24

    FA模型綁定Stage模型ServiceExtensionAbility介紹

    FA模型綁定Stage模型ServiceExtensionAbility 本文介紹FA模型的三種應(yīng)用組件如何綁定Stage模型的Servi
    發(fā)表于 06-04 07:55

    Stage模型綁定FA模型ServiceAbility的方法

    Stage模型綁定FA模型ServiceAbility 本小節(jié)介紹Stage模型的兩種應(yīng)用組件如何綁定FA模型ServiceAbility
    發(fā)表于 06-04 06:54

    Stage模型啟動(dòng)FA模型PageAbility方法

    Stage模型啟動(dòng)FA模型PageAbility 本小節(jié)介紹Stage模型的兩種應(yīng)用組件如何啟動(dòng)FA模型的PageAbility組件。 U
    發(fā)表于 06-04 06:36

    KaihongOS操作系統(tǒng)FA模型與Stage模型介紹

    FA模型與Stage模型介紹 KaihongOS操作系統(tǒng)中,F(xiàn)A模型(Feature Ability)和Stage模型是兩種不同的應(yīng)用
    發(fā)表于 04-24 07:27

    IBIS模型中的Corner參數(shù)處理

    和電源完整性的影響。文章首先介紹了IBIS模型的歷史演進(jìn),隨后根據(jù)IBIS模型的基礎(chǔ)架構(gòu)詳細(xì)討論Corner在不同模型組件中的應(yīng)用,最后介紹
    的頭像 發(fā)表于 04-23 16:10 ?379次閱讀
    IBIS<b class='flag-5'>模型</b>中的Corner參數(shù)處理

    敏捷合成器的技術(shù)原理和應(yīng)用場(chǎng)景

    敏捷合成器,作為一種高性能的信號(hào)發(fā)生器,其技術(shù)原理和應(yīng)用場(chǎng)景值得深入探討。技術(shù)原理敏捷合成器的技術(shù)原理主要基于先進(jìn)的頻率合成技術(shù)和數(shù)字信號(hào)處理技術(shù)。它通常具有寬頻率范圍、快速建立和可編程的相位、頻率
    發(fā)表于 02-20 15:25

    云端語(yǔ)言模型開發(fā)方法

    云端語(yǔ)言模型的開發(fā)是一個(gè)復(fù)雜而系統(tǒng)的過程,涉及數(shù)據(jù)準(zhǔn)備、模型選擇、訓(xùn)練優(yōu)化、部署應(yīng)用等多個(gè)環(huán)節(jié)。下面,AI部落小編為您分享云端語(yǔ)言模型的開發(fā)方法。
    的頭像 發(fā)表于 12-02 10:48 ?691次閱讀

    AI模型托管原理分析

    AI模型托管是指將訓(xùn)練好的AI模型部署在云端或邊緣服務(wù)器上,由第三方平臺(tái)提供模型運(yùn)行、管理和優(yōu)化等服務(wù)。以下,AI部落小編將對(duì)AI模型托管的原理進(jìn)行詳細(xì)
    的頭像 發(fā)表于 11-07 09:33 ?792次閱讀

    對(duì)放大電路的分析方法介紹

    放大電路是電子技術(shù)中非常重要的組成部分,它廣泛應(yīng)用于信號(hào)處理、通信、測(cè)量等領(lǐng)域。對(duì)于放大電路的分析,通??梢苑譃橹绷?b class='flag-5'>分析和交流分析兩種情況。下面我們將介紹這兩種
    的頭像 發(fā)表于 08-07 10:08 ?1300次閱讀

    【《大語(yǔ)言模型應(yīng)用指南》閱讀體驗(yàn)】+ 基礎(chǔ)篇

    的章節(jié)包括統(tǒng)一自然語(yǔ)言任務(wù)、大語(yǔ)言模型的訓(xùn)練過程和局限性分析,閱讀還算順利。 至此,基礎(chǔ)篇只能算是瀏覽完成,因?yàn)椴糠衷?b class='flag-5'>方法并沒有吃透,但盡管如此也是收獲頗豐,因?yàn)槲伊私饬舜笳Z(yǔ)言模型
    發(fā)表于 07-25 14:33

    【《大語(yǔ)言模型應(yīng)用指南》閱讀體驗(yàn)】+ 俯瞰全書

    的大語(yǔ)言模型設(shè)計(jì)技術(shù)人員閱讀,主要包括大語(yǔ)言模型的優(yōu)化方法、Agent系統(tǒng)調(diào)優(yōu)以及模型的安全技術(shù)。 展望篇分析了大語(yǔ)言
    發(fā)表于 07-21 13:35