www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當(dāng)前位置:首頁 > 嵌入式 > 嵌入式分享
[導(dǎo)讀]FSM 可以清晰地了解不同事件的預(yù)期系統(tǒng)行為。它們有助于定義和記錄需求。通過映射 FSM,測試人員可以有效地設(shè)計(jì)涵蓋所有可能轉(zhuǎn)換的測試用例,并確保系統(tǒng)對(duì)各種場景做出適當(dāng)?shù)姆磻?yīng)。FSM 可以幫助在早期設(shè)計(jì)階段識(shí)別不一致或缺失的邏輯。這可以防止在開發(fā)過程的后期出現(xiàn)代價(jià)高昂的錯(cuò)誤。它們充當(dāng)技術(shù)和非技術(shù)利益相關(guān)者之間的橋梁,促進(jìn)測試期間更好的溝通和協(xié)作。但讓我們看一些例子:

FSM 可以清晰地了解不同事件的預(yù)期系統(tǒng)行為。它們有助于定義和記錄需求。通過映射 FSM,測試人員可以有效地設(shè)計(jì)涵蓋所有可能轉(zhuǎn)換的測試用例,并確保系統(tǒng)對(duì)各種場景做出適當(dāng)?shù)姆磻?yīng)。FSM 可以幫助在早期設(shè)計(jì)階段識(shí)別不一致或缺失的邏輯。這可以防止在開發(fā)過程的后期出現(xiàn)代價(jià)高昂的錯(cuò)誤。它們充當(dāng)技術(shù)和非技術(shù)利益相關(guān)者之間的橋梁,促進(jìn)測試期間更好的溝通和協(xié)作。但讓我們看一些例子:

明確需求規(guī)范

一家科技初創(chuàng)公司正在開發(fā)一款革命性的智能樓宇管理系統(tǒng)。他們最新的挑戰(zhàn)是開發(fā)一款控制復(fù)雜電梯的應(yīng)用程序。該團(tuán)隊(duì)由熱情的項(xiàng)目經(jīng)理索菲亞領(lǐng)導(dǎo),但面臨溝通障礙。

“工程師們一直在改變應(yīng)用程序的行為!”索菲亞在一次團(tuán)隊(duì)會(huì)議上說道?!扒耙环昼娝€優(yōu)先處理快速呼叫,下一分鐘它就為所有樓層提供服務(wù)??蛻舾械嚼Щ?,我們落后于計(jì)劃?!?

首席軟件工程師戴維撓了撓頭?!拔覀兌剂私夂诵墓δ?,但將這些要求轉(zhuǎn)化為代碼卻很棘手?!?

新任 UI/UX 設(shè)計(jì)師 Aisha 說道:“也許我們需要一種更直觀的方式來表現(xiàn)電梯的行為。讓每個(gè)人一眼就能看懂。”

索菲亞拿出一塊白板。“如果我們?yōu)槲覀兊膽?yīng)用程序創(chuàng)建一個(gè) FSM 會(huì)怎么樣?”

團(tuán)隊(duì)圍成一圈,索菲亞則畫了一張圖。FSM 描述了電梯的不同狀態(tài)(空閑、上行、下行、門打開)以及觸發(fā)它們之間轉(zhuǎn)換的事件(按鈕按下、樓層傳感器激活)。它還為每個(gè)狀態(tài)定義了明確的輸出(門打開、樓層廣播)。

“這太神奇了!”大衛(wèi)驚呼道?!八吻辶穗娞菘刂葡到y(tǒng)的決策過程?!?

艾莎笑了?!斑@個(gè) FSM 還可以指導(dǎo)用戶界面設(shè)計(jì)。我們可以根據(jù)用戶的輸入向他們顯示電梯的當(dāng)前狀態(tài)和預(yù)期行為。”

在接下來的幾天里,團(tuán)隊(duì)完善了 FSM,確保所有用戶場景和極端情況都得到考慮。他們使用 FSM 作為編碼、UI 設(shè)計(jì)甚至客戶演示的參考點(diǎn)。

結(jié)果令人印象深刻。他們的應(yīng)用程序運(yùn)行完美,在高峰時(shí)段優(yōu)先處理快速呼叫,并高效地為所有樓層提供服務(wù)?;?FSM 的清晰用戶界面讓每個(gè)人都能了解電梯的當(dāng)前狀態(tài)。

“FSM 改變了游戲規(guī)則,”Sofia 在一次成功的客戶演示中說道?!八峁┝藢?duì)系統(tǒng)行為的共同理解,從而實(shí)現(xiàn)了順利的開發(fā)和客戶滿意度?!?

該應(yīng)用的成功證明了 FSM 的強(qiáng)大功能。通過提供系統(tǒng)行為的清晰視覺表示,F(xiàn)SM 彌補(bǔ)了溝通鴻溝,確保了明確定義的需求,并有助于開發(fā)出功能強(qiáng)大且用戶友好的軟件。

測試用例生成

另一家初創(chuàng)公司正在開發(fā)一款用于限制區(qū)域的人工智能安全門。門禁控制基于員工身份證和許可級(jí)別。然而,測試階段變成了一個(gè)令人沮喪的隨機(jī)場景迷宮。

“這些漏洞到處都有!”首席 QA 測試員 Mike 抱怨道?!扒耙环昼姶箝T還打開,需要提供有效身份證件,下一分鐘大門就毫無理由地拒絕進(jìn)入。”

首席開發(fā)人員麗莎皺起了眉頭?!拔覀円呀?jīng)寫了很多測試用例,但這些小故障還是不斷出現(xiàn)?!?

團(tuán)隊(duì)新成員、剛剛畢業(yè)的計(jì)算機(jī)科學(xué)畢業(yè)生亞歷克斯 (Alex) 認(rèn)真地聽著。“你們考慮過使用 FSM 嗎?”

邁克問道:“有限狀態(tài)機(jī)?那是什么?”

Alex 解釋了 FSM 如何直觀地表示應(yīng)用的行為。它將顯示各種狀態(tài)(空閑、驗(yàn)證 ID、允許訪問、拒絕訪問)以及觸發(fā)轉(zhuǎn)換的事件(刷卡、檢查通行證)。

“通過映射 FSM,”Alex 繼續(xù)說道,“我們可以系統(tǒng)地設(shè)計(jì)涵蓋所有可能轉(zhuǎn)換的測試用例,并確保我們的應(yīng)用程序在每種情況下都能做出適當(dāng)?shù)姆磻?yīng)?!?

團(tuán)隊(duì)決定嘗試一下。他們一起在白板上畫了一個(gè) FSM。它詳細(xì)說明了所有可能的徽章刷卡(有效身份證、無效身份證、吊銷身份證)以及相應(yīng)的狀態(tài)轉(zhuǎn)換和輸出(門打開、訪問被拒絕消息、安全警報(bào))。

基于 FSM,Mike 和 Alex 設(shè)計(jì)了全面的測試案例。他們測試了不同權(quán)限級(jí)別的有效訪問權(quán)限、使用無效徽章的嘗試訪問權(quán)限,甚至模擬了被吊銷的身份證件。他們還測試了極端情況,例如在驗(yàn)證過程中同時(shí)刷徽章或網(wǎng)絡(luò)中斷。

結(jié)果非常顯著。FSM 幫助他們識(shí)別并修復(fù)了之前未曾預(yù)料到的錯(cuò)誤。例如,他們發(fā)現(xiàn)了一個(gè)邏輯錯(cuò)誤,該錯(cuò)誤導(dǎo)致應(yīng)用程序在 ID 被撤銷后仍授予訪問權(quán)限。

“這個(gè) FSM 真是救星!”Mike 驚呼道?!八拖褚粡埪肪€圖,確保我們測試了系統(tǒng)中每一條可能的路徑?!?

麗莎松了一口氣,點(diǎn)點(diǎn)頭?!巴ㄟ^這些全面的測試,我們終于可以對(duì)我們的應(yīng)用程序的可靠性充滿信心了?!?

該團(tuán)隊(duì)學(xué)到了寶貴的教訓(xùn):FSM 不僅僅是理論工具,而且是軟件測試戰(zhàn)場上的強(qiáng)大盟友。

早期錯(cuò)誤檢測

另一個(gè)開發(fā)團(tuán)隊(duì)正在開發(fā)一款 VoIP 應(yīng)用。該應(yīng)用承諾通過互聯(lián)網(wǎng)實(shí)現(xiàn)清晰的語音通話,但開發(fā)過程卻令人沮喪不已。

“通話質(zhì)量一直在下降!”首席開發(fā)人員 Mary 愁眉苦臉地說?!扒耙环昼娨纛l還很清晰,后一分鐘就變得一團(tuán)糟。”

項(xiàng)目經(jīng)理杰森壓力很大,捏了捏鼻梁?!懊看螠y試后我們都會(huì)修復(fù)錯(cuò)誤,但這些音頻問題就像一場打地鼠游戲?!?

新任 UI/UX 設(shè)計(jì)師 Anna 建議:“也許我們需要一種更結(jié)構(gòu)化的方法來直觀地展示我們的 VoIP 應(yīng)用應(yīng)該如何運(yùn)行。在編碼開始之前就暴露出潛在的故障?!?

馬克想起了他一年級(jí)計(jì)算機(jī)科學(xué)學(xué)位時(shí)學(xué)到的一個(gè)概念?!坝邢逘顟B(tài)機(jī) (FSM) 怎么樣?”

團(tuán)隊(duì)圍坐在白板旁,馬克畫了一張圖。FSM 描述了應(yīng)用的各種狀態(tài)(空閑、發(fā)起呼叫、已連接、通話中)以及觸發(fā)轉(zhuǎn)換的用戶操作(撥號(hào)、接聽、掛斷)。它還定義了每個(gè)狀態(tài)的預(yù)期輸出(鈴聲、語音連接、通話結(jié)束消息)。

“這太神奇了!”安娜驚呼道?!巴ㄟ^繪制流程,我們可以在邏輯中潛在的弱點(diǎn)導(dǎo)致音頻問題之前發(fā)現(xiàn)它們。”

在接下來的幾天里,團(tuán)隊(duì)精心設(shè)計(jì)了 FSM。他們很早就發(fā)現(xiàn)了邏輯中的一個(gè)關(guān)鍵漏洞。最初的設(shè)計(jì)沒有考慮到不同的互聯(lián)網(wǎng)連接強(qiáng)度。這可以解釋 Mary 描述的不穩(wěn)定的通話質(zhì)量。

以 FSM 為指導(dǎo),網(wǎng)絡(luò)工程師 Alex 改進(jìn)了應(yīng)用程序適應(yīng)不同帶寬的能力。該應(yīng)用程序根據(jù)用戶的互聯(lián)網(wǎng)速度動(dòng)態(tài)調(diào)整音頻壓縮級(jí)別。這確保了即使在連接不穩(wěn)定的情況下也能獲得更流暢的通話體驗(yàn)。

FSM 揭示了另一個(gè)潛在問題:缺乏明確的“通話中斷”狀態(tài)。如果連接突然中斷且沒有任何通知,這可能會(huì)讓用戶感到困惑。基于這一洞察,團(tuán)隊(duì)設(shè)計(jì)了一條由意外連接中斷觸發(fā)的信息豐富的“通話結(jié)束”消息。

到發(fā)布當(dāng)天,VoIP 應(yīng)用的表現(xiàn)已堪稱完美。FSM 幫助他們在早期階段發(fā)現(xiàn)關(guān)鍵故障,從而防止用戶失望和潛在流失。

改善溝通

另一個(gè)開發(fā)團(tuán)隊(duì)正在開發(fā)一款移動(dòng)銀行應(yīng)用程序。它承諾提供最先進(jìn)的安全性和用戶友好的功能。然而,開發(fā)團(tuán)隊(duì)與利益相關(guān)者之間的溝通卻因誤解而變成了一場財(cái)務(wù)噩夢。

“市場營銷部門想要一個(gè)炫酷的登錄動(dòng)畫,”首席開發(fā)人員尼克嘆了口氣?!暗赡軙?huì)與雙因素身份驗(yàn)證過程相沖突?!?

項(xiàng)目經(jīng)理喬揉了揉太陽穴?!岸沂紫瘓?zhí)行官一直在問面部識(shí)別的問題,但目前的設(shè)計(jì)中還沒有這個(gè)功能?!?

充滿熱情的實(shí)習(xí)生約翰插話說:“你考慮過使用有限狀態(tài)機(jī)(FSM)來建模我們的應(yīng)用程序嗎?”

John 解釋了 FSM 如何直觀地表示應(yīng)用程序的流程。它將顯示不同的狀態(tài)(空閑、登錄、帳戶選擇、交易確認(rèn)),用戶操作(輸入憑證、選擇帳戶、確認(rèn)轉(zhuǎn)賬)會(huì)觸發(fā)轉(zhuǎn)換。

“FSM 的優(yōu)點(diǎn)在于,”John 繼續(xù)說道,“它為所有參與者提供了清晰簡潔的畫面。技術(shù)和非技術(shù)利益相關(guān)者可以輕松了解應(yīng)用程序的預(yù)期行為?!?

團(tuán)隊(duì)決定試一試。他們一起為該應(yīng)用繪制了一個(gè) FSM,詳細(xì)描述了用戶旅程的每一步。這包括雙因素身份驗(yàn)證過程及其與登錄動(dòng)畫的交互?,F(xiàn)在營銷人員清楚地認(rèn)識(shí)到,華麗的動(dòng)畫可能會(huì)破壞安全協(xié)議。

FSM 成為了溝通的橋梁。Joe 將它介紹給了 CEO,CEO 很容易就理解了當(dāng)前設(shè)計(jì)階段面部識(shí)別集成的局限性。FSM 幫助確定了功能的優(yōu)先順序,并確保每個(gè)人都達(dá)成共識(shí)。

測試人員也受益匪淺。FSM 充當(dāng)了路線圖,引導(dǎo)他們了解各種用戶場景和潛在的 HYPERLINK "https://dzone.com/articles/russells-paradox-permissive-rules-and-contradictin" 。他們可以系統(tǒng)地測試每個(gè)狀態(tài)轉(zhuǎn)換并識(shí)別應(yīng)用程序行為中的不一致之處。

到發(fā)布時(shí),該應(yīng)用程序已完美運(yùn)行。FSM 促進(jìn)了清晰的溝通,從而打造出設(shè)計(jì)精良且安全的銀行應(yīng)用程序。利益相關(guān)者很高興,開發(fā)團(tuán)隊(duì)松了一口氣,而 John 憑借其 FSM 知識(shí)成為團(tuán)隊(duì)的寶貴財(cái)富。

團(tuán)隊(duì)的關(guān)鍵結(jié)論是:FSM 不僅僅適用于內(nèi)部開發(fā)。它們可以彌合溝通鴻溝,并確保整個(gè)軟件開發(fā)生命周期中技術(shù)和非技術(shù)利益相關(guān)者之間的順利協(xié)作。


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

在嵌入式系統(tǒng)開發(fā)中,有限狀態(tài)機(jī)(FSM)是一種強(qiáng)大的工具,它能夠幫助開發(fā)者以清晰、結(jié)構(gòu)化的方式管理復(fù)雜的狀態(tài)轉(zhuǎn)換邏輯。FSM通過將系統(tǒng)行為劃分為一系列狀態(tài)和狀態(tài)之間的轉(zhuǎn)換,簡化了系統(tǒng)的設(shè)計(jì)和調(diào)試過程。在第一部分中,我們已...

關(guān)鍵字: 嵌入式系統(tǒng) 狀態(tài)機(jī) FSM C++

自動(dòng)飲料售賣機(jī)作為一種自助式零售設(shè)備,近年來在國內(nèi)外得到了廣泛應(yīng)用。本文將詳細(xì)介紹一款功能完善、操作簡便的自動(dòng)飲料售賣機(jī)的設(shè)計(jì)與實(shí)現(xiàn)過程,包括有限狀態(tài)機(jī)(FSM)的設(shè)計(jì)、Verilog編程、以及設(shè)計(jì)工程中可使用的工具及大...

關(guān)鍵字: Verilog 狀態(tài)機(jī) FSM

FSM 與程序圖的比較,雖然 FSM 和程序圖都是軟件測試的有用工具,但它們的范圍和詳細(xì)程度有所不同。要理解這兩種工具如何關(guān)聯(lián),以下類比可能會(huì)有所幫助。假設(shè)我們正在探索一座城市。FSM 就像一張帶有標(biāo)記區(qū)域(州)和連接道...

關(guān)鍵字: FSM 程序圖

確保應(yīng)用程序可靠性是一項(xiàng)永無止境的任務(wù)。有限狀態(tài)機(jī)(FSM) 通過將系統(tǒng)行為建模為狀態(tài)和轉(zhuǎn)換來提供解決方案,這是一種有用的工具,可以幫助軟件工程師了解軟件行為并設(shè)計(jì)有效的測試用例。

關(guān)鍵字: FSM 有限狀態(tài)機(jī)

星標(biāo)「嵌入式大雜燴」,一起進(jìn)步!來源:https://gitee.com/simpost/EFSM/tree/master/一、介紹EFSM(eventfinitestatemachine,事件驅(qū)動(dòng)型有限狀態(tài)機(jī)),是一個(gè)...

關(guān)鍵字: 有限狀態(tài)機(jī) 事件驅(qū)動(dòng)

摘要:隨著物聯(lián)網(wǎng)技術(shù)的發(fā)展,硬件間的相互通信速度要求越來越快。文中給出了采用VerilogHDL語言以有限狀態(tài)機(jī)的形式,在FPGA中實(shí)現(xiàn)對(duì)帶寄存器尋址的SPI接口控制的方法;同時(shí)介紹了通過SPI接口的結(jié)構(gòu)和工作原理,提出...

關(guān)鍵字: 物聯(lián)網(wǎng) VerilogHDL FPGA 有限狀態(tài)機(jī) SPI

摘要:針對(duì)傳統(tǒng)的條形碼識(shí)別管理系統(tǒng)數(shù)據(jù)實(shí)時(shí)性差,自動(dòng)化程度低,以及單一的RFID管理系統(tǒng)因?yàn)榕c服務(wù)器的有線通信而受到的諸多限制缺點(diǎn),提出了一種將搜集電子設(shè)備健康信息的RFID射頻識(shí)別系統(tǒng)整合到ZigBee無線網(wǎng)絡(luò)中的無線...

關(guān)鍵字: 關(guān)鍵詞 Zigbee CC2430 有限狀態(tài)機(jī) 混合組網(wǎng)

關(guān)注、星標(biāo)公眾號(hào),直達(dá)精彩內(nèi)容來源:https://www.cnblogs.com/skyfsm/p/7071386.html作者:Madcola有限狀態(tài)機(jī)(finitestatemachine)簡稱FSM,表示有限個(gè)狀...

關(guān)鍵字: 有限狀態(tài)機(jī) 編程

關(guān)注、星標(biāo)公眾號(hào),直達(dá)精彩內(nèi)容來源:https://www.cnblogs.com/skyfsm/p/7071386.html作者:Madcola有限狀態(tài)機(jī)(finitestatemachine)簡稱FSM,表示有限個(gè)狀...

關(guān)鍵字: 有限狀態(tài)機(jī) 編程

基于有限狀態(tài)機(jī)在LIN總線開發(fā)中的應(yīng)用      引言   隨著汽車智能化程度的提高和迅速升級(jí)換代的需要,汽車電子網(wǎng)絡(luò)正在由集中式控制向分布式控制發(fā)展。L

關(guān)鍵字: lin總 有限狀態(tài)機(jī)
關(guān)閉