Can you summarize the following document?
        
  Therac-25可以進行二種放射線療法:  若是要進行直接電子束療法,裝置會直接產生低能量的電子束,利用電磁鐵掃描方式讓電子束分散到安全的劑量範圍。若是要進行百萬伏特級X射線療法,裝置會轉動四個零件調整電子束的路徑,使電子束進入X射線腔中,而X射線腔也有裝置會偵測電子束的強度。

  此事件發生時,所發射的是高能量的電子束,而不是預期的低能量電子束,而且裝置對應的零件沒有讓電子束進入X射線腔中。以前的機種有硬體互鎖機制以避免這種情形發生,而Therac-25取消了硬體互鎖機制,為了安全起見改用軟體的互鎖機制。軟體互鎖機制在有競爭危害時會失效。其缺陷如下:有一個測試程式中一位元組的計數器常常會溢位,若操作員恰好在計數器溢位時輸入命令,軟體互鎖機制會失效。  高能量的電子束給予的能量是理想輻射劑量的100倍,是可能會造成β輻射的致命劑量。患者Ray Cox描述其感覺像「強烈的電擊」,他因此尖叫跑出診療室。幾天後病人開始出現輻射灼傷,病人也開始出現輻射過量的症狀,其中有三個病患後來因為輻射過量而死亡。

  調查委員會調查後的結論是此一系列事故的主因是不良的軟體設計及開發實務,沒有明確的將主因歸因到所找到的軟體程式設計錯誤。而軟體的設計方式也讓軟體在實務上不可能以自動化測試進行測試。  研究這系列事故的研究者發現了幾個造成此事件的主因,包括了以下的組織層面原因:  研究者也發現一些工程方面的原因:  此軟體是用組合語言撰寫,因此在測試時需要更多心力,也需要心力才能進行好的設計。不過語言選擇本身沒有列為事故的主要原因。裝置也使用其自己的作業系統。  Leveson指出此事件的一個重大教訓就是不可以假設複用的軟體就一定安全: 「有一個天真的假設,就是認為軟體複用以及用現有的商業軟體可以增加安全性,因為要使用的軟體已經頻繁使用過。複用的軟體模組無法保證在配合新系統使用時的安全性...」。為了因應像Therac-25這類的事件,創立了IEC 62304標準,匯入了針對醫療裝置的開發生命週期標準,而且也有針對使用未知譜系的軟體時的特定建議作法。
Therac-25事件是在軟體工程界被大量引用的案例。Therac-25是加拿大原子能有限公司(AECL)所生產的放射線療法機器,在Therac-6和Therac-20之後推出(以往的Therac-6和Therac-20是加拿大原子能有限公司和法國的CGL公司合作開發)。在1985年到1987年之間,在美國及加拿大至少有六起和Therac-25相關的醫療事故,因為軟體設計時的瑕疵,使病人受到了過量的輻射。軟體的瑕疵是因為競爭危害(二個同時進行程式之間時序衝突造成的問題),有瑕疵時會使病患接受到比正常劑量高一百倍的輻射,因此造成患者死亡或重傷。