91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

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

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

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

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

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

掃碼添加小助手

加入工程師交流群

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

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

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

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

如何降低在昂貴的硬件上測試未經(jīng)驗證的軟件的風(fēng)險

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

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

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

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

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

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

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

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

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

個體和互動高于流程和工具

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

客戶合作高于合同談判

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

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

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

專注個體和互動

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

注重客戶合作

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

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

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

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

注重響應(yīng)變化

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

案例——

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    關(guān)注

    114

    文章

    17804

    瀏覽量

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

    關(guān)注

    8

    文章

    7339

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

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

    多種空間矢量調(diào)制方法的諧波分析

    摘 要:以三相電壓型逆變器為研究對象,介紹了多種空問矢量調(diào)制方法。該方法易于數(shù)字化,避免繁瑣的計算。本文通過一種在標(biāo)準(zhǔn)正弦波的基礎(chǔ)上,注入零序分量來統(tǒng)一給出這些調(diào)制方法。逆變器在這些調(diào)
    發(fā)表于 07-25 14:03

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

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

    模型推理顯存和計算量估計方法研究

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

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

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

    模型在半導(dǎo)體行業(yè)的應(yīng)用可行性分析

    的應(yīng)用,比如使用機器學(xué)習(xí)分析數(shù)據(jù),提升良率。 這一些大模型是否真的有幫助 能夠在解決工程師的知識斷層問題 本人純小白,不知道如何涉足這方面 應(yīng)該問什么大模型比較好,或者是看什么視頻能夠涉足這個行業(yè)
    發(fā)表于 06-24 15:10

    輪轂電機電磁噪聲測試方法及特性分析

    有限元模型,求解徑向力波,并以此為激勵力求解電機外轉(zhuǎn)子的受迫振動響應(yīng),利用LMS.Virtual.Lab建立輪轂電機電磁噪聲邊界元模型,基于正交試驗原理對輪轂電機電磁保聲進(jìn)行仿真計算,分析了產(chǎn)生該試驗
    發(fā)表于 06-10 13:19

    FA模型的DataAbility的切換介紹

    ,Stage模型下的DataShareExtensionAbility為系統(tǒng)API,只有系統(tǒng)應(yīng)用才可以創(chuàng)建。因此,F(xiàn)A模型的DataAbility的切換,對于系統(tǒng)應(yīng)用和三方應(yīng)用策略有所不同。下面分別介紹
    發(fā)表于 06-06 08:10

    FA模型的ServiceAbility的切換介紹

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

    FA模型綁定Stage模型ServiceExtensionAbility介紹

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

    FA模型訪問Stage模型DataShareExtensionAbility說明

    FA模型訪問Stage模型DataShareExtensionAbility 概述 無論FA模型還是Stage模型,數(shù)據(jù)讀寫功能都包含客戶端和服務(wù)端兩部分。 FA
    發(fā)表于 06-04 07:53

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

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

    Stage模型啟動FA模型PageAbility方法

    Stage模型啟動FA模型PageAbility 本小節(jié)介紹Stage模型的兩種應(yī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 ?1302次閱讀
    IBIS<b class='flag-5'>模型</b>中的Corner參數(shù)處理

    封裝失效分析的流程、方法及設(shè)備

    本文首先介紹了器件失效的定義、分類和失效機理的統(tǒng)計,然后詳細(xì)介紹了封裝失效分析的流程、方法及設(shè)備。
    的頭像 發(fā)表于 03-13 14:45 ?2233次閱讀
    封裝失效<b class='flag-5'>分析</b>的流程、<b class='flag-5'>方法</b>及設(shè)備