作者:admin 時間:2022-09-02
本文為《軟件可靠性簡介》培訓課程中摘錄的公開內容。
本文目錄:
一、軟件性與產品的關系
二、軟件導致的問題
本文為拓展內容,《可靠性工程師手冊》一書中并無此內容。因我跟產品打交道多,所以談談軟件導致的問題。
一、軟件性與產品的關系
首先我們要明確下產品的概念。所謂產品,是指不發生可能造成人員傷亡、職業病、設備損壞、財產損失或環境損害的狀態。這個我在產品系列文章中有講,詳見《產品系列1:的基本概念》。
在本系列的第一篇文章里(《系統性談談軟件可靠性——講:軟件可靠性基礎概念》),我們特意強調了軟件的性和軟件導致的問題,不是同一個概念。
我把它們之間的關系總結為3點:
1.軟件性不夠,容易給整機帶來問題。例如,由于軟件本身的性不足,無法抵御黑客入侵,導致整機被控制、破壞,產生問題。舉個例子:2012年5月,新澤西州發生了一起黑客侵入心臟起搏器奪人性命的離奇案件。原本正常的起搏器突然超負荷運作,不斷高頻度的刺激心臟,使心臟在短時間內無法承受而的停止了工作,而起搏器也因為超負荷運作而報廢。
2.不是所有軟件性問題,都會導致整機不。在講中,我們講了軟件本身的性,是包含保密性、完整性、抗抵賴性、可核查性、真實性這五個子特性的。舉個例子來理解,假設我們軟件沒有去考慮“可審查”這點,非權限外的人員去操作了,或者權限內的人員沒有按要求操作,這些沒有記錄,從軟件性來講,這個軟件是性不夠。但如果這個軟件本身控制的東西就沒有什么問題,那它不會導致整機的問題。
3.不是所有整機問題,都是因為軟件本身性不夠導致,更有可能是因為Bug。舉個例子,我們假設有一個發熱設備控制軟件,設置了各種權限,有的日志記錄,還帶有自毀功能,一旦受到任何攻擊啟動自毀,本身性很高。但軟件有個bug,會導致發熱設備在某個情形下不停機了,一直發熱,這個時候,如果我們本身沒有對設備做一些額外防護(例如結構防護,或者程序上設計超時終止任何其他程序),它可能溫度超高,最終導致起火的問題。
二、軟件導致的產品問題
理解了上述內容后,我們特別講下由于軟件出錯導致的問題。
因為我們做家電,常見的六大維度問題,是起火、觸電、爆炸、漏水、機械傷害、誤操作。所以這里就講這六個類型,我搜集了一些案例。
起火:通常,發動機起火是由于過熱而發生的,這是一個機械問題。但是,現代汽車發動機和變速箱是由計算機控制的,并且像任何計算機一樣,可能存在軟件缺陷,帶來意想不到的后果。這正是某些2013年現代Velosters所發生的事情。
現代汽車在美被曝出多起車輛發動機非碰撞起火事件,公路交通管理局(NHTSA)對此展開了調查。調查發現,2013年4月26日至2013年10月16日生產的2013款飛思出現了軟件故障,有可能導致發動機熄火甚至起火。
NHTSA 表示,問題汽車中的發動機管理軟件可能會導致發動機中的空氣/燃料混合物過早點火,由此產生的過高氣缸壓力可能會損壞飛思搭載的1.6升渦輪增壓發動機。
在家電行業,很可能會發生的是程序Bug導致干燒,溫度過高,引發起火。
觸電:觸電方面,這個我沒有找到因為軟件問題導致直接觸電的案例。但很多系統,可以使用軟件去做一些預防提示。例如,安裝防誤系統軟件可以有效防止變電站工作人員的誤操作和人身觸電。如果這個防誤軟件出了Bug,給出錯誤的提示,就很可能會導致觸電問題。所以變電站是還有其他多重防護措施的:嚴格管理制度,提高值班人員的技術含量,提升現場操作人員的工作技能,在帶電設備旁要設置明顯標志牌,采取的隔離措施,操作等等。
爆炸:1996年6月4日?!鞍Ⅺ悂喣?5”運載火箭進行測試發射,結果是失敗的。在火箭發射后的第37秒就被迫自爆。經過檢查后發現,原因竟然是因為控制火箭飛行的軟件發生了故障。資料顯示由于64位元的運算錯誤的變為16位元的運算,造成程序崩潰后處理器發生數據溢出,讀取感測角度水平數據運算時錯誤地讀入垂直數據,導致火箭在高速下進行了90度水平滾轉而崩潰,觸發了自毀裝置。造成了非常大的損失。
家電一般來說,是物理爆炸比較多,大多數是由于用戶使用不當導致。但也可能會有化學爆炸,比如一些涉及到可燃氣體之類的家電,需要注意點火程序。
漏水:程序設計上有,但沒有考慮到動作先后順序以及過長,導致系統承壓,水壓作用下開裂漏水。
機械傷害:核管會在2013年9月20日公布的一份報告中表示,已經確定三菱重工 (MHI)用于為圣奧諾弗雷核電站2臺機組設計蒸汽發生器的計算機軟件存在缺陷 。核管會在報告中指出 ,三菱重工用于設計蒸汽發生器的軟件不能準確地預測蒸汽發生器中可導致管道振動和磨損的熱工水力條件,最終導致圣奧諾弗雷3號機組在2012年1月因放射性物質泄漏而緊急停堆,而發生泄漏的原因是該機組的1臺蒸汽發生器出現管道 “異常磨損”。對2號機組進行的檢查發現 ,2號機組的蒸汽發生器也存在同樣的問題。此后 ,這兩臺機組一直處于停堆狀態。
對于家電,用傳感器進行位置檢測是很普遍的情形,如果檢測邏輯或算法有問題,判斷所處位置錯誤,而程序沒有做保護,最后也很可能導致傷害,如產生機械破損,危險物質溢出等。
誤操作:程序設計上,以用戶操作按鍵為前提進入判斷條件。未考慮用戶的非正常操作,直接繞過按鍵進行了操作。這時程序無終止條件,一直不停機,導致財產損失。
除了上面幾個類型,隨著家電產品往智能化發展,我們還有考慮服務器的問題。入侵會不會導致產品問題。比如:入侵后,顯示錯誤的信息,使得用戶操作錯誤,例如取冷水時出熱水,導致問題。指引信息被修改,用戶受到錯誤的指引操作導致產品出問題。
軟件可以導致問題,但也可以利用軟件來做一些保護,提升產品。例如:限制最長的加熱時間,限制最長的制水時間,判斷參數是否有超出傳感范圍并作出保護等等。
軟件本身改起來,成本沒那么高,占有的資源相對來說比較小。所以我們在產品設計上,可以考慮在軟件上做一些防護,提升產品。
以上文章來源于永恒之地 ,作者徐步陌上行
國可RFMEA
與傳統的FMEA分析方法和軟件相比,R-FMEA最大的特點是通過其七步的分析流程, 構建了關聯緊密的FMEA基礎數據關系,即FMEA主模型。通過FMEA主模型,工程人員可以根據需要構建簡單的或者復雜的FMEA分析, 并實現企業知識的積累和快速重用。
國可R-FMEA軟件支持免費在線使用,并保證數據。日前,R-FMEA V4.6已正式發布,歡迎感興趣的朋友在線申請。
版權所有© 國可工軟科技有限公司 滬ICP備2020030271號