監(jiān)理公司管理系統(tǒng) | 工程企業(yè)管理系統(tǒng) | OA系統(tǒng) | ERP系統(tǒng) | 造價咨詢管理系統(tǒng) | 工程設計管理系統(tǒng) | 甲方項目管理系統(tǒng) | 簽約案例 | 客戶案例 | 在線試用
X 關閉

軟件質(zhì)量之路-軟件質(zhì)量框架

申請免費試用、咨詢電話:400-8352-114

  軟件質(zhì)量的重要性是不言而喻的,但是當所有人都意識到它的重要性的時候,卻很少有人能夠清晰的描述出如何才能夠提高軟件質(zhì)量。軟件質(zhì)量框架的目的就在于提出一個評價的原型,幫助我們分析一種方法和技術是否能夠提高軟件質(zhì)量。本系列文章分日構(gòu)建、測試驅(qū)動開發(fā)、建立核心框架、面向組件的大規(guī)模軟件架構(gòu)來進行深入分析。

  什么才是一個高質(zhì)量的軟件

  在討論軟件質(zhì)量原型之前,我們先回答第一個問題。一個軟件之所以被認定為質(zhì)量優(yōu)秀,并不是因為它獲得了一個省級或部級獎,而是它的內(nèi)在具備了這樣一些特性:

  滿足用戶的需求。這是最重要的一點,一個軟件如果不能夠滿足用戶的需要,設計的再好,采用的技術再先進,也沒有任何的意義。所以這一點非常的樸實,但卻是軟件質(zhì)量的第一個評判標準。

  合理進度、成本、功能關系。軟件開發(fā)中所有的管理都是圍繞著這幾個要素在做文章的,如何在特定的時間內(nèi),以特定的成本,開發(fā)出特定功能的軟件。三者之間存在一種微妙的平衡。在Planning XP一書中,專門有一個章節(jié)討論它們。一個高質(zhì)量的軟件的開發(fā)過程中,項目成員一定能夠客觀的對待這三個因素,并通過有效的計劃、管理、控制,使得三者之間達成一種平衡,保證產(chǎn)出的最大化。

  具備擴展性和靈活性,能夠適應一定程度的需求變化。當今的社會已經(jīng)變成一種變化速度極快的設計了。變化就會對軟件產(chǎn)生沖擊,所以一個質(zhì)量優(yōu)秀的軟件,應該能夠在一定程度上適應這種變化,并保持軟件的穩(wěn)定。

  能夠有效的處理例外的情況。寫過軟件的人都知道,實現(xiàn)主體功能的工作量其實不大,真正的工作量都在處理各種例外。所以,一個軟件如果能夠足夠的強壯、足夠的魯棒,能夠承受各種的非法情況的沖擊,這個軟件就是高質(zhì)量的。

  保持成本和性能的平衡。性能往往來源于客戶的非功能需求,是軟件質(zhì)量的一個重要的評價因素。但是性能問題在任何地方都存在,所以需要客觀的看待它。例如,一段性能不錯的代碼可能可讀性很差,這就需要進行平衡,如果這段代碼的性能是整個軟件的關鍵,那么取高性能而舍棄可讀性,反之則取可讀性而舍棄高性能。一個優(yōu)秀的軟件能夠保持成本和性能之間的平衡。

  能夠可持續(xù)的發(fā)展。很少有軟件組織只開發(fā)一個軟件的,所以,一個優(yōu)秀的軟件在開發(fā)完成后,可以形成知識沉淀,為軟件組織的長期發(fā)展貢獻力量。這是一個優(yōu)秀的軟件應該要能夠做到的。

  軟件質(zhì)量框架的組成

  軟件質(zhì)量框架不是理論,而是優(yōu)秀軟件開發(fā)思想的一個應用,是對軟件開發(fā)過程的有效管理實踐。它以敏捷方法論為基礎,并將先進的軟件開發(fā)技術融入其中。您可能在之前聽說過,學習過,嘗試過各種軟件技術,但是缺少一個統(tǒng)一整體的認識。所以,軟件質(zhì)量框架的目的是將您原先在腦海中就存在的思路進一步的整理,將一副完整的圖像(big picture)展現(xiàn)在你面前。軟件質(zhì)量框架偏重應用,所以不會涉及太多的理論,但是,它是基于理論的,所以,在需要理論支持的地方,我們會簡單的描述理論,并給出必要的鏈接,供有興趣的讀者進一步閱讀。

  軟件質(zhì)量框架并不復雜,它由幾個部分組成,第一部分是前提,說明了軟件框架的適用范圍,以及適合的環(huán)境,和方法學一樣,沒有泛之四海皆準的方法學,所以軟件質(zhì)量框架也需要一個上下文環(huán)境。第二部分是價值觀,價值觀說明了軟件質(zhì)量框架中強調(diào)的價值,在軟件框架的結(jié)構(gòu)和實踐中,都將充分的的表現(xiàn)出一開始我們定義的價值。第三部分是結(jié)構(gòu)。結(jié)構(gòu)定義了軟件質(zhì)量框架的組成部分,以及軟件質(zhì)量框架和開發(fā)過程之間的關系。第四部分是文章中著墨最多的部分,即優(yōu)秀實踐。優(yōu)秀實踐通過具體、實際的分析、舉例,深入闡述了軟件質(zhì)量框架的價值觀和結(jié)構(gòu)。

  在本文剩下的篇幅中,將會對前三個部分進行闡述,并對軟件質(zhì)量開發(fā)的實踐進行簡單的描述。在剩余的篇章中,將會針對這些實踐進行細致的分析。

  軟件質(zhì)量框架的前提

  平臺前提:由于軟件質(zhì)量框架的實踐將會涉及具體的技術和代碼,所以我們首先為軟件質(zhì)量框架定義了平臺。軟件質(zhì)量框架將會運行在J2EE平臺上,使用對象分析技術(并不一定是面向?qū)ο蠹夹g,我們可以采用以數(shù)據(jù)為中心的技術)。

  組織前提:執(zhí)行軟件質(zhì)量框架需要投入,需要付出,軟件質(zhì)量框架最難的地方不是學習,而是執(zhí)行。在一個組織中,需要評估應用軟件質(zhì)量框架需要多少的投入,對目前的開發(fā)過程有多大的助益。一般來說,組織的規(guī)模越大、其開發(fā)過程和產(chǎn)品越復雜,就越適合采用軟件質(zhì)量框架。

  方法學前提:在敏捷方法學中,對規(guī)則和秩序有兩種不同的觀點,一種是強調(diào)規(guī)則和秩序,以XP為代表,它對代碼都有要求;另一種則不那么強調(diào),以自適應軟件開發(fā)為代表,它不要求程序員的具體行為。軟件質(zhì)量框架采用第一種觀點,要求組織中存在嚴謹?shù)囊?guī)則和秩序。

  軟件質(zhì)量框架的價值觀

  明確具體:對軟件的管理必須是明確具體的。軟件開發(fā)是工程、也是藝術,需要緊密的協(xié)作和溝通,任何一個含糊的指令都可能導致軟件開發(fā)中出現(xiàn)錯誤,所以,在軟件開發(fā)中,任何一個指令都應該是相對明確的。為什么說是相對呢?是和成本相對,指令越明確,成本就越高。例如,你可以把需求文檔寫的非常的具體,但是你需要付出制作和維護的代價。所以我們的明確性是一個考慮成本前提下的特性。

  明確具體要從綜合上考量。怎么理解呢?例如,XP中的用戶故事是非常不精確的,按道理說它是不明確,也是不具體的。但是在整個開發(fā)周期中,將會有迭代、測試、現(xiàn)場用戶等多種手段使得用戶故事明確具體起來,所以從整體上看,它并不違反我們的價值觀。產(chǎn)品質(zhì)量是一個系統(tǒng)工程,決不僅僅是QA部門的工作,這個道理適用于制造業(yè),也適用于軟件開發(fā)業(yè)。

  容錯:軟件開發(fā)是人的工作,人是無法避免錯誤的。所以,軟件質(zhì)量框架中允許犯錯。因為不犯錯是天方夜譚。你就算做了這方面的強制規(guī)定也無法避免它的出現(xiàn),反而會引發(fā)其它的問題,例如隱瞞錯誤,或為了隱瞞錯誤而導致的額外成本。所以正確的態(tài)度是允許發(fā)生錯誤,并建立一套監(jiān)測、管理、反饋、修改錯誤的體制。

  規(guī)范:在前提中,我們已經(jīng)提到了,規(guī)范是軟件質(zhì)量框架的基本態(tài)度。所以,軟件質(zhì)量框架中強調(diào)規(guī)范,并使用規(guī)范來推動框架的運作。

發(fā)布:2007-02-28 10:20    編輯:泛普軟件 · xiaona    [打印此頁]    [關閉]
相關文章:
相關系統(tǒng)
聯(lián)系方式

成都公司:成都市成華區(qū)建設南路160號1層9號

重慶公司:重慶市江北區(qū)紅旗河溝華創(chuàng)商務大廈18樓

咨詢:400-8352-114

加微信,免費獲取試用系統(tǒng)

QQ在線咨詢