chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

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

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

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

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

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

掃碼添加小助手

加入工程師交流群

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

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

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

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

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

如何滿足功能安全及其他標準的要求,包括 DO-178B/C 和 ISO 26262

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

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

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

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

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

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

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

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

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

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

客戶合作高于合同談判

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

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

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

專注個體和互動

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

注重客戶合作

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

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

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

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

注重響應(yīng)變化

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

案例——

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    關(guān)注

    114

    文章

    17113

    瀏覽量

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

    關(guān)注

    8

    文章

    7256

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

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

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

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

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

    GPU、FPGA等硬件加速。通過分析硬件加速器的性能參數(shù),可以估算模型在硬件加速下的計算量。 四、實驗與分析 為了驗證上述估計方法的有效性,我們選取了幾個具有代表性的深度學(xué)習
    發(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 ?324次閱讀
    提高SEA<b class='flag-5'>模型</b>PBNR計算精度的<b class='flag-5'>方法</b>及策略

    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

    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ù)IBIS模型的基礎(chǔ)架構(gòu)詳細討論Corner在不同模型組件中的應(yīng)用,最后介紹
    的頭像 發(fā)表于 04-23 16:10 ?381次閱讀
    IBIS<b class='flag-5'>模型</b>中的Corner參數(shù)處理

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

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

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

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

    AI模型托管原理分析

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

    對放大電路的分析方法介紹

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

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

    的章節(jié)包括統(tǒng)一自然語言任務(wù)、大語言模型的訓(xùn)練過程和局限性分析,閱讀還算順利。 至此,基礎(chǔ)篇只能算是瀏覽完成,因為部分原理方法并沒有吃透,但盡管如此也是收獲頗豐,因為我了解了大語言模型
    發(fā)表于 07-25 14:33

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

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