對日軟體開發過程中的質量管理
2004-04-01
----記系統開發事業本部大連開發部質量管理活動系列之一
necsi系統開發事業本部主要承接日本客戶委託開發的軟體專案,承擔從功能設計(fd)、詳細設計(dd)到編碼、測試等不同開發階段的作業。今後我們計畫將更多地參與前期工程設計,積極推進海外作業人員的派遣。
公司一直把質量管理/按期交貨放在最重要的位置,各開發部長期把在按期交貨的前提下加強質量控制問題作為業務活動的重要內容,貫穿於軟體開發的過程中。
開發人員對委託方提供的設計資料的理解程度直接影響著開發進度和質量,從過去的產品質量資料分析結果來看,程式設計錯誤和對設計資料的理解錯誤是產生質量問題的兩個主要原因。
特別是對設計資料的理解錯誤如不從一開始就採取措施進行預防,對程式本身及其他程式的質量將可能產生較大的影響。針對這一點,系統開發事業本部大連開發部開展了以「預防/消除設計資料理解錯誤」為主題的質量控制(qc)活動。隨著活動開展的深入,質量控制逐漸取得了明顯的成效。
1.2023年11月末,各開發專案組提出了各專案質量分析報告;
2.在對質量報告進行分析後,發現設計資料理解錯誤是質量問題的原因之一;
3.討論預防和消除設計資料理解錯誤問題的應對措施;
4.2023年12月26日,召開以「預防/消除設計資料理解錯誤」為主題的質量活動發表大會;
5.2023年1月以各專案組為單位實施「預防/消除設計資料理解錯誤」質量控制活動;
6.2023年3月在第八屆nec中國地區質量控制大會上進行了活動匯報;
7.計畫於2023年6月,對本次質量管理活動的結果進行總結報告。
分類
產生的原因
預防和消除錯誤的措施
《粗心大意》
由於受交貨期的壓力,擔當者在參照設計資料時,細節部分的理解不夠仔細。 例如:畫面資料的顯示順序、間隔、字型顯示等。
a.對設計書審查不足
概要設計資料的審查主要以專案全體或各組為單位進行,而詳細設計資料卻主要由擔當者本人進行審查,這樣一來很容易產生錯誤
a.強化對詳細設計資料的審查: 建立審查體制,做到責任明確
b.**審查及單體測試密度不足
b.在確保測試專案數充分的前提下,由第三者進行**審查及單體測試設計書的覆蓋性檢查
c.日語能力不足
c.在專案組內召開設計資料說明會,由擔當者本人在小組內對設計資料的理解進行說明。
《關聯資料參照不足》
程式設計時,擔當者主要參照自己負責部分的《詳細設計書》,而《概要設計書》和關聯功能的設計資料參照不足。
a. 專案內部交流不足
a.強化專案組內部溝通
專案組內定期進行設計思想交流,創造組內自由交流的氛圍。
b. 最新版設計資料的參照不便
(未被整理,難以參照)
b.按功能分類整理關聯設計資料,有責任使擔當者能隨時拿到最新版本。
c. 設計內容表述不明確,與設計者溝通不足
c.應與設計者進行必要的溝通和確認(審查記錄等)
《單純設計書理解錯誤》
擔當者在交貨期的壓力下,沒有完全掌握設計思想的狀況下即開始編碼,對設計要求的理解容易發生偏差。
a. 對設計資料審查不足
a. 加強對設計書的審查
b. 專案全體業務或相關業務理解不透徹
b. 全體業務或關聯業務的知識一定要全員共享(可隨時檢視)
c. 開發者參照的設計資料不能確保是最新版本
c. 按功能分類整理關聯設計資料,確保參照的資料版本正確。
d. 開發技術及日語能力不足
有疑問時,未與設計者確認,按自己的理解編碼。
d. 加強開發技術的學習
有疑問時,首先在專案組內部溝通確認,然後再與設計者確認
e. 在設計說明會之前尚未確認說明資料內容便出席會議,許多問題未能及時發現。
e. 在設計資料說明會之前先拿到設計資料,對說明資料內容確認後再出席會議。
《日文漢字本身的特點》
由於日文設計資料大量地使用漢字,容易帶來一些誤解,有些日文漢字與中文漢字的意思還是有區別的。比如:「0以上」 中文意思是》0(如不特別說明),而日文意思是》=0。
a. 與設計者確認不足
a. 如有待確認的問題,首先在專案組內同日語較好的員工確認,仍不能確認的再與設計者確認.
b. 程式設計擔當者日語能力不足
b. 對容易引起誤解的詞彙,能善於總結,形成設計理解詞典並全員周知
1.對於設計者的建議(依賴事項)
(1)明確實現的功能,對處理的條件要充分描述。
(2)充分地對設計書進行審查。
(3)對程式設計前或程式設計中發生的問題,由設計人員到程式設計現場或通過網路會議進行設計及原因說明。
2.對於開發者的建議
(1)加強審查 !
(2)加強確認 !
(3)加強溝通 !
軟體開發過程
1.程式設計師寫出自認為沒有bug的 2.軟體測試,發現了20個bug。3.程式設計師修改了10個bug,並告訴測試組另外10個不是bug。4.測試組發現其中5個改動根本無法工作,同時又發現了15個新bug。5.重複3次步驟3和步驟4。6.鑑於市場方面的壓力,為了配合當初制定的過分樂觀的發布時間表,...
軟體開發過程
1.程式設計師寫出自認為沒有bug的 2.軟體測試,發現了20個bug。3.程式設計師修改了10個bug,並告訴測試組另外10個不是bug。4.測試組發現其中5個改動根本無法工作,同時又發現了15個新bug。5.重複3次步驟3和步驟4。6.鑑於市場方面的壓力,為了配合當初制定的過分樂觀的發布時間表,...
軟體開發過程
軟體生命週期 1 問題定義 使用者需要解決什麼問題?2 可行性分析 使用者需要解決的問題是否可行 技術可行性 市場可行性 3 需求分析 將使用者提出的問題進行細化 4 系統設計 確定細化問題的實現方法 5 編碼 依據需求和設計穩定進行開發,解決問題 6 測試 驗證是否已經解決使用者提出的問題 單元測...