當前位置:文思屋>社會工作>企業管理>

軟體質量管理的體系

文思屋 人氣:1.08W

一個開發團隊要提高效率,就需要思考目前的管理活動中有哪些要素是可以改進的:如何把一些事務性的操作變得自動化,從而節約人力;如何找到更好的方法,讓開發過程更為合理,更注重軟體的質量,下面小編為大家整理了關於軟體質量管理的體系,希望能為你提供幫助:

軟體質量管理的體系

一、軟體開發的有效管理:日建立

一個組織應當擁有一個有效的工作流程,這個工作流程能夠指導軟體開發的進行。這個流程應當是具體的、可操作的。隨意的計劃和從來不遵循的進度決不是一個有效的工作流程。日建立實踐提出了一種對開發過程進行精細管理的方法,它是量化軟體管理的基礎。有了日建立,你會發現計劃的制定和進度的監控是非常容易的一件事情。

我們傳統開發軟體的流程一般是這樣,理解領域問題,然後分配任務,由不同的人負責不同的軟體部件,在開發完成之後,再把各人的部件整合起來,形成完整的軟體。這個思路看起來並沒有什麼問題,但是在實踐中卻問題多多。

首先,這種方式適合開發人員之間工作彼此沒有交集的情況,以前這種現象很常見,但是現在,隨著軟體規模的擴大、分工合作的加深,開發人員間的相互依賴程度越來越高,這種清晰的職責劃分已經變得越來越難了。

其次,在軟體整合時,往往會出現各種各樣的問題,可是卻很難發現到底問題在哪裡?公說公有理,婆說婆有理。每個人的程式碼都沒有問題,結合到一起就出現大量的問題。

所以日構建就將平時難得一見的整合工作轉換成頻繁進行的一件工作,從而使得原先如同噩夢般的整合變成了一件簡單的工作。這也是很容易理解的,如果整合工作幾個月才進行一次,誰能夠記起幾個月前的細節呢?但是如果整合以天,甚至以分鐘為單位進行,排除bug就變成一件很容易的事情了。

二、測試驅動開發

軟體質量的根源來源於測試,測試做好了,軟體質量就會好。這是毫無疑問的。問題的關鍵在於怎麼做測試,才能保證測試的投入能夠帶來軟體質量的有效提升。測試驅動開發正是為了解決這個問題而出現的。它不是一個完整的方法論,可以和任何一種開發流程進行融合。測試驅動開發不但能夠改善測試效果,還能夠改進軟體的設計。

測試驅動開發起源於XP法中提倡的測試優先實踐。測試優先實踐重視單元測試,強調程式設計師除了編寫程式碼,還應該編寫單元測試程式碼。在開發的順序上,它改變了以往先編寫程式碼,再編寫測試的過程,而採用先編寫測試,再編寫程式碼來滿足測試的方法。這種方法在實際中能夠起到非常好的效果,使得測試工作不僅僅是單純的測試,而成為設計的一部分。

在編寫程式之前,每個人都會先進行設計工作。可能有些人的設計比較正式,繪製模型,編寫文件。有些人的設計只是存在於腦海之中。且不論設計是精細還是粗糙,你都為隨後的編碼活動制定了一個標準。這個標準的明確程度和你的設計的細緻程度有關。但應該承認,這個標準是不夠細化的。因為你的設計不可能精細到程式碼級的程度。而標準不夠明確則會產生一些問題,例如,在編寫程式碼的過程中,你還可能會發現原先的設計出現問題,從而中途改變程式碼的編寫思路。這將會導致成果難以檢驗,進度難以度量。

既然以設計為導向的標準不夠明確、不夠具體。那什麼樣的標準才是合適的呢?只能是程式碼。因為程式碼是最明確、最具體的.。所以測試優先的本質其實是目標管理。編寫測試程式碼其實是在制定一個小目標。這個小目標非常明確,它規定了你需要設計的類、方法,以及方法需要滿足的結果。這些目標制定完成之後,你才開始編寫程式碼來達成該目標。測試的目標要比設計的目標粒度更小,但是成本上卻更為經濟。

測試優先是軟體開發中一種細粒度的目標管理方法,通過明確的目標,推動軟體開發的進行。

三、建立核心框架

框架是一種具有高度重用性的軟體,這個特性決定了它非常適合成為軟體組織積累知識的一種有效手段。傳統的知識積累的方法是文件,但是文件容易產生歧異,開發人員往往也不願意去閱讀和理解文件。框架提供的是一種綜合的手段,包括文件、模型和程式碼。更容易理解,更重要的是,開發人員必須在日常的工作中使用框架,這使得他們對框架中的知識非常熟悉,並根據工作的需要來改進框架。

四、面向元件程式設計

有效的組織在於有效的分工。體力活動容易進行分工,腦力勞動則比較難,而軟體開發似乎就更難了。所以,長久以來我們都習慣採用以功能塊為單位的粗粒度劃分方式。面向元件程式設計採用更加細密的劃分方式,並以服務作為元件之間相互依賴的契約,不但定義了元件和元件之間的關係,也規定了元件開發者、元件使用者、元件測試者的權利和義務。從而能夠進行軟體開發工作的分配、管理、QA等工作。