當(dāng)前位置:首頁 > 測試測量 > 測試測量
[導(dǎo)讀]互聯(lián)設(shè)備和系統(tǒng)已成為我們?nèi)粘I钪胁豢苫蛉钡囊徊糠郑覀冋J(rèn)為這是理所當(dāng)然的。使用智能手機(jī)找到到達(dá)目的地的最快方式,坐在沙發(fā)上在平板電腦上閱讀新聞,或者使用智能手機(jī)應(yīng)用程序控制智能供暖——這些系統(tǒng)讓生活變得更加方便。然而,這種便利性的提高需要更嚴(yán)格的安全和安全要求,而這些要求必須由開發(fā)此類系統(tǒng)的人員來管理。對于自動駕駛來說尤其如此,高效的安全理念是重中之重。

互聯(lián)設(shè)備和系統(tǒng)已成為我們?nèi)粘I钪胁豢苫蛉钡囊徊糠?,我們認(rèn)為這是理所當(dāng)然的。使用智能手機(jī)找到到達(dá)目的地的最快方式,坐在沙發(fā)上在平板電腦上閱讀新聞,或者使用智能手機(jī)應(yīng)用程序控制智能供暖——這些系統(tǒng)讓生活變得更加方便。然而,這種便利性的提高需要更嚴(yán)格的安全和安全要求,而這些要求必須由開發(fā)此類系統(tǒng)的人員來管理。對于自動駕駛來說尤其如此,高效的安全理念是重中之重。

軟件架構(gòu)師應(yīng)具備的專業(yè)知識和技能

產(chǎn)品復(fù)雜性的增加和硬件功能的增強(qiáng)導(dǎo)致嵌入式系統(tǒng)中軟件的范圍不斷擴(kuò)大。軟件實現(xiàn)了大多數(shù)系統(tǒng)中的大部分功能。嵌入式軟件開發(fā)部門正在不斷增長。這在汽車行業(yè)和當(dāng)前的勞動力市場中尤為明顯。例如,梅賽德斯奔馳計劃從 2030 年起通過基于軟件的系統(tǒng)產(chǎn)生大部分收入。軟件開發(fā)不再是一個人的表演,而是由分布在全球多個地點的大型團(tuán)隊完成。在過去的幾年里,嵌入式軟件在嵌入式行業(yè)的大多數(shù)公司中都取得了顯著的重要性,甚至在機(jī)電一體化領(lǐng)域也是如此。但這僅僅是開始。

更加關(guān)注敏捷軟件開發(fā)方法

敏捷軟件項目使用基于測試驅(qū)動的軟件開發(fā)技術(shù)的漸進(jìn)式軟件架構(gòu)開發(fā)。這是兩種主要方法:

· 功能架構(gòu):軟件系統(tǒng)由功能或特性及其依賴關(guān)系來表示。

· 組件架構(gòu):開發(fā)一個粗略的草案以及幾個包含經(jīng)過微調(diào)的軟件結(jié)構(gòu)的詳細(xì)草案。

軟件架構(gòu)是項目成功的關(guān)鍵

想要滿足其負(fù)責(zé)任的工作要求的軟件架構(gòu)師需要涵蓋以下關(guān)鍵方面的廣泛專業(yè)知識:

1. 對軟件架構(gòu)的基本理解:在抽象層面上,軟件架構(gòu)是需求和軟件實現(xiàn)之間的橋梁。在軟件中,架構(gòu)描述了由軟件組件、軟件層、軟件子系統(tǒng)、接口及其依賴性等組成的粗略結(jié)構(gòu)(在特殊情況下還包括模塊和類)。對于這些架構(gòu)元素,還可以描述交互的和單獨的行為。運行時架構(gòu)是軟件架構(gòu)的另一個關(guān)鍵要素。

2. 軟件架構(gòu)師的角色:每個擁有所需專業(yè)知識的人都可以在公司中擔(dān)任軟件架構(gòu)師的角色。然而,對于真正專業(yè)的方法,個人角色應(yīng)該是首選。根據(jù)項目的規(guī)模,可以有一名或多名軟件架構(gòu)師參與項目。

3. 首席架構(gòu)師管理軟件架構(gòu)師團(tuán)隊:軟件架構(gòu)師協(xié)調(diào)項目中多個角色的一切,因此需要技術(shù)和非技術(shù)知識——經(jīng)驗越多越好。軟件架構(gòu)師的角色可能不應(yīng)該分配給缺乏經(jīng)驗的大學(xué)畢業(yè)生——它需要外向、創(chuàng)新、果斷和經(jīng)驗豐富的個性。

設(shè)計過程——創(chuàng)建軟件架構(gòu)

設(shè)計流程描述了軟件(架構(gòu))的開發(fā)過程。每個公司都必須確定并實施最適合他們的流程。軟件架構(gòu)師在定義此過程中發(fā)揮著關(guān)鍵作用?;赩模型類型表示,該設(shè)計過程可以應(yīng)用于完整嵌入式系統(tǒng)的開發(fā),即不僅僅應(yīng)用于軟件的開發(fā)。

需求(什么)和相關(guān)架構(gòu)(如何)

在分析過程中,分析師(在大多數(shù)情況下也是架構(gòu)師)在各個層面上確定并記錄各自的需求(“什么”)。這些要求是創(chuàng)建架構(gòu)(“如何”)的基礎(chǔ)?;谧酉到y(tǒng)架構(gòu),軟件架構(gòu)師與同一級別的其他開發(fā)領(lǐng)域(例如硬件開發(fā))協(xié)調(diào)開發(fā)子系統(tǒng)的軟件架構(gòu)。

根據(jù)需求,測試團(tuán)隊開發(fā)測試用例,以在開發(fā)過程的后期證明正確的實現(xiàn)。這也是在不同層面上進(jìn)行的。 “測試設(shè)計”和“安全設(shè)計”是軟件架構(gòu)背景下的基本主題。

設(shè)計依據(jù)及影響因素

軟件需求(功能性和非功能性)源自圖 3 所示的 X 分析(此處:軟件分析)?;诎踩院涂煽啃缘能浖|(zhì)量屬性分別如下所示。

通過分析影響因素,軟件架構(gòu)師確定:

· 軟件架構(gòu)需求的相關(guān)性

· 未來需求的變化

· 軟件架構(gòu)后果的推導(dǎo)

非功能性軟件需求包括軟件的軟件質(zhì)量屬性,例如:

· 可移植性

· 可維護(hù)性

· 可靠性

· 安全/安保

· 資源需求

· 表現(xiàn)

· 實時兼容性

一些質(zhì)量屬性是一致的,而另一些質(zhì)量屬性也可能產(chǎn)生相反的效果??紤]到這一點,我們可以問以下問題:哪些需求對架構(gòu)(功能性還是非功能性)影響更大?正確答案是非功能性需求。因此,除了子系統(tǒng)架構(gòu)之外,軟件需求及其產(chǎn)生的影響因素是軟件架構(gòu)最重要的設(shè)計依據(jù)。

溝通和文檔

通過全面的軟件架構(gòu)文檔,軟件架構(gòu)師為所有利益相關(guān)者提供了項目的基礎(chǔ),從而為參與項目的每個人提供了完全的可追溯性,確保了公司的連續(xù)性。文件也是與利益相關(guān)者持續(xù)協(xié)調(diào)溝通的基礎(chǔ)。

這里最重要的利益相關(guān)者是軟件開發(fā)人員,他們詳細(xì)完善軟件架構(gòu)并最終用目標(biāo)編程語言實現(xiàn)它。除了軟件開發(fā)人員之外,其他角色(例如測試團(tuán)隊)對軟件架構(gòu)也有合法的興趣。除非您知道需要什么,否則您無法驗證實施是否正確。

統(tǒng)一建模語言 (UML) 是一種符號,用于記錄軟件架構(gòu)的各種視圖和方面,并在設(shè)計中對其進(jìn)行細(xì)化 - 直至自動代碼生成。

軟件設(shè)計原則提高軟件質(zhì)量

我們的整個生活都是由規(guī)則決定的——即使有些人認(rèn)為他們不必遵守這些規(guī)則。我們所有人都面臨著新冠病毒大流行以及相關(guān)的規(guī)則和規(guī)定。您小時候肯定玩過樂高積木,或者您今天也玩過自己的孩子,關(guān)于如何正確安裝積木是有規(guī)則的。

軟件架構(gòu)師憑借其不斷增長的知識,繪制出軟件開發(fā)的風(fēng)格指南,描述了軟件架構(gòu)開發(fā)的規(guī)則。這些規(guī)則不能應(yīng)用于任何架構(gòu),因為它們?nèi)Q于特定的要求。在任何情況下,將規(guī)則應(yīng)用于軟件架構(gòu)都可以提高軟件質(zhì)量。

高內(nèi)聚是一個架構(gòu)設(shè)計原則。它的目的是通過在一個架構(gòu)元素中處理邏輯相關(guān)的任務(wù)來減少冗余,而不是在多個架構(gòu)元素之間分配類似的任務(wù)。已發(fā)布可應(yīng)用于嵌入式軟件架構(gòu)的具體設(shè)計原則。軟件架構(gòu)師可以通過軟件架構(gòu)模式在實際系統(tǒng)中實現(xiàn)設(shè)計原則。

架構(gòu)開發(fā)和架構(gòu)模式必須滿足安全要求

基于他們的技術(shù)知識,軟件架構(gòu)師使用他們的模式目錄開發(fā)軟件架構(gòu)。一般來說,模式是針對重復(fù)出現(xiàn)的問題(挑戰(zhàn))的已知的、經(jīng)過驗證的、評級的和可調(diào)整的解決方案。例如,在安全相關(guān)系統(tǒng)中必須考慮和照顧功能安全性和可靠性等方面。在為我們提供全自動支持的系統(tǒng)中(例如自動駕駛),安全性和可靠性是產(chǎn)品成功的關(guān)鍵。

使用模式可能是軟件架構(gòu)開發(fā)中的一個挑戰(zhàn)。例如,只有方形磚可用,但一個要求可能是圓形輪廓。根據(jù)樂高原理,可以通過將積木分級組裝成一排或多排來解決。由于我們不是第一代開發(fā)軟件的人,因此幾乎所有軟件開發(fā)領(lǐng)域甚至軟件架構(gòu)的開發(fā)都已經(jīng)創(chuàng)建了模式。

質(zhì)量保證和質(zhì)量評估

軟件架構(gòu)師負(fù)責(zé)軟件質(zhì)量和質(zhì)量保證。在開發(fā)架構(gòu)之前必須定義質(zhì)量屬性。軟件架構(gòu)師知道這些屬性對其軟件架構(gòu)的影響,并且軟件測試團(tuán)隊知道如何證明它們。順便說一句,屬性不能在開發(fā)過程結(jié)束時“測試”到產(chǎn)品中。

在質(zhì)量方面,存在以下區(qū)別:

· 內(nèi)部質(zhì)量(例如軟件架構(gòu))

· 外部質(zhì)量(客戶所看到的)

工藝質(zhì)量對產(chǎn)品質(zhì)量有重大影響。再次回到樂高的類比——所有的磚塊都必須組裝起來以支撐結(jié)構(gòu),否則,一旦進(jìn)行額外的擴(kuò)展,它就會倒塌。對于軟件架構(gòu)來說也是如此;它們必須滿足所有質(zhì)量要求并提供之前定義的所有功能。

過去,軟件架構(gòu)預(yù)計能夠保持 20 年或更長時間的功能。如今,由于不斷出現(xiàn)的要求、法規(guī)和法律,它們正在不斷擴(kuò)展和改進(jìn)。因此,開發(fā)過程應(yīng)適應(yīng)這一方面,因為它是產(chǎn)品進(jìn)一步開發(fā)的關(guān)鍵。

確保質(zhì)量的最簡單方法

與其他架構(gòu)師和利益相關(guān)者一起進(jìn)行評審是確保軟件架構(gòu)質(zhì)量的最簡單方法。它們用于評估架構(gòu)是否符合所需的質(zhì)量屬性。通過 UML 模型生成的軟件架構(gòu)文檔是審查的合適基礎(chǔ)。

在基于場景的審查中,參與者會通過架構(gòu)檢查預(yù)定義的案例。例如,如果一個架構(gòu)在硬件方面要求可移植,這個過程就包括更換硬件,以證明該軟件架構(gòu)能夠滿足這個要求。

工具使開發(fā)軟件架構(gòu)變得更加容易

軟件架構(gòu)師負(fù)責(zé)或至少共同負(fù)責(zé)軟件開發(fā)的工具環(huán)境。他或她了解工具市場,能夠識別需求、開發(fā)工具需求、評估并最終選擇工具。在一家沒有工具組的公司里,他還負(fù)責(zé)工具集成。這些工具使參與軟件開發(fā)的每個人(尤其是軟件架構(gòu)師)的工作變得更加輕松。

工具使軟件架構(gòu)師的工作變得更加輕松:

· 需求管理

· 版本和配置管理

· 造型

· 生成文檔和程序代碼

· 構(gòu)建系統(tǒng)

· 靜態(tài)分析

· 動態(tài)分析

軟件架構(gòu)的實現(xiàn)

軟件架構(gòu)師將整個架構(gòu)或其部分傳遞給一名或多名軟件開發(fā)人員進(jìn)行進(jìn)一步細(xì)化(設(shè)計和實現(xiàn))。軟件架構(gòu)師與軟件開發(fā)人員合作創(chuàng)建的編碼風(fēng)格指南顯示了如何用目標(biāo)編程語言實現(xiàn)軟件架構(gòu)。嵌入式系統(tǒng)編程的典型目標(biāo)語言是 C 和 C++。

在C++中,軟件架構(gòu)可以通過命名空間在程序代碼中有效地表示。軟件架構(gòu)師和軟件開發(fā)人員必須確保定義的軟件架構(gòu)在其整個生命周期中得到保留,并且不會被編程“致死”(也稱為軟件侵蝕)。

如果軟件開發(fā)人員確定需要更改架構(gòu),則所有相關(guān)決策和架構(gòu)更改均由負(fù)責(zé)的軟件架構(gòu)師協(xié)調(diào)。產(chǎn)品對安全性、保密性和模塊化的要求越高,軟件架構(gòu)師在整個開發(fā)過程中的作用就越關(guān)鍵和重要。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫毥谦F公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運行,同時企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險,如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點: 有效應(yīng)對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運營商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術(shù)學(xué)會聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(shù)(集團(tuán))股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉