當(dāng)前位置:工程項(xiàng)目OA系統(tǒng) > 房地產(chǎn)OA系統(tǒng) > 相關(guān)系統(tǒng) > 房地產(chǎn)項(xiàng)目管理軟件
質(zhì)量管理:軟件開(kāi)發(fā)各階段的質(zhì)量管理
申請(qǐng)免費(fèi)試用、咨詢電話:400-8352-114
提到軟件開(kāi)發(fā),我們的腦海里總是浮現(xiàn)出這樣的情景:開(kāi)發(fā)組的每一位成員都在辛苦的工作,有的加班加點(diǎn),甚至通宵達(dá)旦是常有的事,雖然項(xiàng)目經(jīng)理修改了一次又一次的進(jìn)度計(jì)劃,而實(shí)際的開(kāi)發(fā)情況卻總是很令人擔(dān)憂,以至于每次向領(lǐng)導(dǎo)匯報(bào)工作的時(shí)候總是覺(jué)得以前制定的計(jì)劃沒(méi)有很好的完成,總是覺(jué)得人力資源不夠,總是覺(jué)得我們沒(méi)有太多的時(shí)間。等到代碼終于開(kāi)發(fā)完成了,測(cè)試進(jìn)度卻又非常令人擔(dān)憂,每一個(gè)小BUG都要花很長(zhǎng)的時(shí)間去查找,改了某一個(gè)小錯(cuò)誤卻又引起了很多錯(cuò)誤,結(jié)果產(chǎn)品發(fā)布遙遙無(wú)期,而項(xiàng)目組里的每一位成員已經(jīng)筋疲力盡。怎樣擺脫這樣的困境呢?為何軟件開(kāi)發(fā)項(xiàng)目管理這么困難呢?為何我們做的計(jì)劃總是不能按時(shí)完成呢?為何軟件開(kāi)發(fā)不能像硬件開(kāi)發(fā)那樣可以控制呢?原因在于軟件開(kāi)發(fā)完全靠人的大腦思維產(chǎn)生出產(chǎn)品,而每個(gè)人的大腦思維是不一樣的,因此在軟件開(kāi)發(fā)過(guò)程中有太多不確定的、可以變化的因素,我們?cè)鯓影盐兆∵@些變化因素呢?就像我們題目所說(shuō)的一樣,軟件開(kāi)各階段的成果質(zhì)量管理,如果我們能夠很好的控制軟件生命周期每一個(gè)階段的質(zhì)量,也就很好的控制了整個(gè)軟件開(kāi)發(fā)的整個(gè)過(guò)程。
軟件產(chǎn)品的質(zhì)量是個(gè)很大的概念,因?yàn)檐浖a(chǎn)品完全是人們大腦思維的產(chǎn)物,就是將大腦里無(wú)形的看不見(jiàn)摸不著的思維變成一個(gè)可以看到的,可以解決實(shí)際問(wèn)題的一組界面或者組件。這樣的一個(gè)復(fù)雜的過(guò)程,質(zhì)量應(yīng)該如何保證呢?有人想到了ISO9000、CMM,也有人很反對(duì),說(shuō)應(yīng)該用敏捷開(kāi)發(fā)。其實(shí),不管用什么樣的開(kāi)發(fā)過(guò)程,關(guān)鍵是找到這些過(guò)程的真諦,有些人說(shuō),ISO和CMM到中國(guó)來(lái)就變了味了,為什么變味兒了呢?其實(shí)我們只學(xué)到了該做什么,卻不知道怎樣去做,為什么要這樣做?大家都知道做軟件開(kāi)發(fā)需要寫需求規(guī)格說(shuō)明書(shū)和設(shè)計(jì)文檔,為什么要寫,文檔的重要性有多高?沒(méi)有資深開(kāi)發(fā)和管理經(jīng)驗(yàn)的人員可能很難理解其重要性,如果只是簡(jiǎn)單的形式上去寫一篇這樣的文檔,對(duì)后面的編碼和測(cè)試沒(méi)有實(shí)際的指導(dǎo)作用,甚至起了“ 誤導(dǎo)”作用,同樣會(huì)引起大量返工,那么這些文檔除了負(fù)擔(dān)之外就沒(méi)有其他用途了,要知道寫這些文檔是需要消耗項(xiàng)目組資源的(進(jìn)度、成本...)。
很多人又想到了測(cè)試,覺(jué)得是我們測(cè)試的力度不夠,所以我們產(chǎn)品質(zhì)量不過(guò)關(guān),其實(shí),軟件開(kāi)發(fā)的質(zhì)量保證從開(kāi)發(fā)最初就應(yīng)該開(kāi)始了,如果到了測(cè)試階段才重視就已經(jīng)晚了。軟件產(chǎn)品開(kāi)發(fā)過(guò)程,不管采用瀑布式還是迭代式,都離不開(kāi)需求、設(shè)計(jì)、編碼、測(cè)試這幾個(gè)階段,在迭代式開(kāi)發(fā)中,這幾個(gè)階段也是周期性出現(xiàn)的。怎樣把握好每個(gè)階段的質(zhì)量,確實(shí)不是一件容易的事,本期重點(diǎn)介紹一下需求、設(shè)計(jì)和編碼階段的成果質(zhì)量,當(dāng)然以后會(huì)共享一些過(guò)程質(zhì)量方面的知識(shí)。
1、需求
我們知道人與人的交流總是會(huì)存在一些誤會(huì),同樣一句話,心情不好與心情好的時(shí)候聽(tīng)起來(lái)的感覺(jué)可能會(huì)截然相反,正是因?yàn)槿藗冎g存在著理解上的偏差,在描述需求的語(yǔ)言上就應(yīng)該注意盡量避免歧義的產(chǎn)生。如果對(duì)UML比較熟悉的話,需求分析可以利用UML工具進(jìn)行,這樣可以減少一些自然語(yǔ)言引起的歧義,但是UML可能與用戶溝通起來(lái)有一些障礙,因?yàn)椴⒉皇撬械挠脩舳剂私?nbsp;UML各種圖形的意思。除了工具之外,我們可以從以下幾個(gè)方面來(lái)保證需求描述的質(zhì)量。
1、看句子和段落是否簡(jiǎn)短,一個(gè)很長(zhǎng)的句子,看起來(lái)會(huì)非常困難,因此無(wú)法弄懂真正的需求,另外過(guò)長(zhǎng)的句子和段落容易讓人忽視一些需求,所以如果一個(gè)句子不能完全描述清楚需求,應(yīng)該將其拆分成多個(gè)小句子。2、句子是否有語(yǔ)法錯(cuò)誤,還要注意標(biāo)點(diǎn)符號(hào),有時(shí),標(biāo)點(diǎn)符號(hào)點(diǎn)錯(cuò)了,就完全成了另外一個(gè)意思了。 3、是否存在模糊不清的需求,出現(xiàn)類似于可能,大概,或者等詞匯表述的需求。4、另外注意引用的術(shù)語(yǔ)和詞匯是否前后一致。5、是否存在一些形容詞、比較性詞語(yǔ),比如:容易的、快速的、方便的、有效的、許多、很少、簡(jiǎn)單、復(fù)雜、最新的,界面友好的,減少、擴(kuò)大,不小于等等,需要將描述性詞語(yǔ)進(jìn)行量化,并且給出具體值或者范圍,要不然不同的人根據(jù)不同的理解就會(huì)得出不同的結(jié)果,最終可能跟用戶最初的要求有偏差,那“炒回鍋肉”的事情就不可避免地會(huì)發(fā)生。
另外保證需求質(zhì)量的一個(gè)很重要的因素就是需求是否細(xì)化,如果需求不細(xì)化也會(huì)很容易造成代碼的返工,于是就出現(xiàn)了我們的程序員盡管總是加班加點(diǎn)卻總是不能如期的完成任務(wù)的情景。那么我們?cè)鯓硬拍芘袛嘈枨蠹?xì)化的程度呢?需求細(xì)化程度確實(shí)很難把握,什么樣的需求可以算是比較細(xì)了,不用再進(jìn)行細(xì)化了呢?哪些需求又太粗了呢?答案是需求是否可以寫出相應(yīng)的測(cè)試用例,如果寫不出來(lái),就說(shuō)明需求還不是很細(xì),還需要再進(jìn)行細(xì)化。
2、設(shè)計(jì)
軟件架構(gòu)設(shè)計(jì)在軟件產(chǎn)品開(kāi)發(fā)周期中占有很重要的位置,我們開(kāi)發(fā)出來(lái)的軟件產(chǎn)品在開(kāi)發(fā)伊始到產(chǎn)品發(fā)布會(huì)涉及到方方面面的角色,例如:用戶、項(xiàng)目管理人員、程序員、測(cè)試員、維護(hù)人員等等。不同的角色對(duì)架構(gòu)設(shè)計(jì)的要求也不相同。例如用戶關(guān)心的是需求,因此我們的設(shè)計(jì)對(duì)需求的覆蓋率是多少?對(duì)于程序員來(lái)說(shuō)模塊是否清晰,類的功能是否單一等等,對(duì)于測(cè)試人員來(lái)說(shuō)系統(tǒng)的是系統(tǒng)的可測(cè)試性。對(duì)于維護(hù)人員來(lái)講系統(tǒng)的擴(kuò)展性、可維護(hù)性如何?一個(gè)高質(zhì)量的軟件架構(gòu),應(yīng)該最大限度的考慮并滿足不同角色的不同要求。正是因?yàn)橛羞@些要求,我們?cè)谶M(jìn)行軟件設(shè)計(jì)的時(shí)候,應(yīng)該進(jìn)行全面的考慮。一般用來(lái)衡量軟件設(shè)計(jì)質(zhì)量的標(biāo)準(zhǔn)可以從以下幾個(gè)方面來(lái)考慮:
1)、功能性:包括完全性、正確性、安全性、兼容性、互用性。完全性包括功能點(diǎn)覆蓋率,重點(diǎn)功能點(diǎn)覆蓋率,優(yōu)先功能覆蓋率。正確性包括需求一致度。安全性根據(jù)軟件需求的不同有不同的安全性要求。來(lái)源于考試大
2)、效率:包括產(chǎn)品運(yùn)行的時(shí)間效率和利用的硬件資源兩方面來(lái)考慮。
3)、維護(hù)性:包括架構(gòu)的可改正性,可擴(kuò)充性以及可測(cè)試性。如果用戶的一個(gè)很小的需求變更會(huì)引起架構(gòu)設(shè)計(jì)很大的變化,那么這樣的架構(gòu)設(shè)計(jì)的可改正性和可擴(kuò)充性就比較差。
4)、可移植性:包括硬件的獨(dú)立性、軟件獨(dú)立性、可安裝性、可重用性。軟件設(shè)計(jì)是否模塊化、每個(gè)模塊的可復(fù)用性如何都是應(yīng)該考慮的因素。
5)、可靠性:包括缺陷數(shù)量、容錯(cuò)性、可用性。
6)、使用性:包括可理解性、易學(xué)習(xí)性、可操作性、易溝通性。我們軟件的最終目的是讓用戶來(lái)使用的,如果易用性不好,可操作性不好都會(huì)影響用戶對(duì)軟件的接納程度。因此在軟件的可使用性也是非常重要的。
3、編碼
代碼質(zhì)量的一個(gè)很重要的標(biāo)準(zhǔn)就是代碼的可讀性及規(guī)范性,可讀性不一定是簡(jiǎn)單的代碼,而是容易理解的代碼,因?yàn)檫^(guò)于復(fù)雜的代碼難以測(cè)試和維護(hù),同時(shí)出錯(cuò)的幾率也會(huì)更高。如果一個(gè)方法內(nèi)部的代碼很長(zhǎng),而且使用了很多令人難以理解的數(shù)據(jù)集,這樣就會(huì)帶來(lái)代碼維護(hù)的困難,因?yàn)楹苌儆腥四軌蛴行У胤治鏊鼈?,因此也就是最容易出現(xiàn)缺陷和錯(cuò)誤的地方。類之間的耦合度會(huì)造成類與類之間的相互關(guān)聯(lián),當(dāng)一個(gè)類發(fā)生改變時(shí)會(huì)使其他的類發(fā)生意想不到的變化,一般從導(dǎo)入類的個(gè)數(shù)判斷類之間的耦合度,如果導(dǎo)入類的個(gè)數(shù)很多,每一個(gè)導(dǎo)入類發(fā)生變化都會(huì)影響到該類本身,另外如果該類的public方法太多也會(huì)導(dǎo)致類之間的高耦合性增加。
也許有的程序員會(huì)認(rèn)為寫出可讀、規(guī)范的代碼會(huì)影響工作進(jìn)度。的確,對(duì)于程序員個(gè)體短時(shí)間來(lái)說(shuō)為代碼寫上注釋是要花費(fèi)些時(shí)間,但如今軟件開(kāi)發(fā)是多人協(xié)作
周期很長(zhǎng)的過(guò)程,寫過(guò)程序的人都知道,如果自己寫了不規(guī)范的代碼,隨著自己所寫的代碼越來(lái)越多,到后來(lái)需要修改某個(gè)前期寫的模塊時(shí)都不知道自己當(dāng)初是怎么想的了,讀自己的代碼也需要花很長(zhǎng)時(shí)間才讀懂。況且如果隨著人員的調(diào)動(dòng)等其他原因,往往維護(hù)代碼的程序員已不是當(dāng)初寫代碼的人,很多情況就是讀懂了一段糟糕的代碼還比重新寫出一段代碼花費(fèi)的時(shí)間還長(zhǎng),嚴(yán)重影響工作效率(有些時(shí)候還影響維護(hù)人員的心情),反過(guò)來(lái),如果大家都講究把代碼寫成規(guī)范可讀的,無(wú)疑對(duì)于整個(gè)組織來(lái)說(shuō)提高總體工作效率是非常有用的。
代碼質(zhì)量另一個(gè)非常重要的衡量手段就是測(cè)試,通過(guò)統(tǒng)計(jì)測(cè)試代碼所產(chǎn)生的缺陷情況,如嚴(yán)重等級(jí)分布、缺陷曲線的變化等可以從一個(gè)方面來(lái)簡(jiǎn)單地評(píng)估代碼質(zhì)量。
- 1李俊奇:海綿城市建設(shè)應(yīng)避免誤區(qū)
- 2時(shí)評(píng):BIM“線”上一體化
- 3時(shí)評(píng):綠色建筑當(dāng)真“食之無(wú)味,棄之可惜”嗎?
- 4衛(wèi)生間地面防水隔離層隱蔽工程驗(yàn)收記錄
- 5工程造價(jià)行業(yè)正處大數(shù)據(jù)時(shí)代
- 6某魯班獎(jiǎng)框架結(jié)構(gòu)工程創(chuàng)優(yōu)計(jì)劃
- 7【汕頭】建筑工程施工許可申請(qǐng)表
- 8何健翔:暢想“超高層”建筑
- 9扎哈·哈迪德:我設(shè)計(jì)的東京國(guó)家體育館沒(méi)有問(wèn)題
- 10航天產(chǎn)品制造過(guò)程質(zhì)量管理系統(tǒng)的研究
- 11基于知識(shí)庫(kù)的建筑工程施工質(zhì)量控制點(diǎn)設(shè)置
- 12質(zhì)量管理:市政道路工程施工的質(zhì)量問(wèn)題及防治措施
- 13李長(zhǎng)敏:建議東大直街重新規(guī)劃 種植行道樹(shù)
- 14時(shí)評(píng):“無(wú)用工程”如何杜絕
- 15全球LED照明市場(chǎng)分析及趨勢(shì)預(yù)測(cè)
- 162015年安全工程師考試《安全生產(chǎn)技術(shù)》模擬題9
- 172015年安全工程師考試《安全產(chǎn)生技術(shù)》模擬題(5)
- 18浙江省政府投資項(xiàng)目實(shí)施代建制暫行規(guī)定
- 192015年安全工程師《安全產(chǎn)生技術(shù)》練習(xí)題(26)
- 202015安全工程師考試《安全生產(chǎn)管理知識(shí)》備考測(cè)試10
- 21project can be meaned as:
- 22享受項(xiàng)目管理
- 232015年安全工程師考試《相關(guān)法律知識(shí)》測(cè)試試題20
- 24我們?nèi)绾芜M(jìn)行沈陽(yáng)市植物園工程項(xiàng)目的進(jìn)度管理工作
- 252015年安全工程師《安全生產(chǎn)技術(shù)》模擬題33
- 262015年安全工程師考試《安全生產(chǎn)技術(shù)》模擬題25
- 27吳發(fā)沛:模塊化建筑大有作為
- 28質(zhì)量管理:談建筑設(shè)計(jì)質(zhì)量的優(yōu)化管理
- 29江億:實(shí)現(xiàn)低能耗數(shù)據(jù)中心冷卻的中國(guó)夢(mèng)
- 30英制鋼管尺寸對(duì)照表
成都公司:成都市成華區(qū)建設(shè)南路160號(hào)1層9號(hào)
重慶公司:重慶市江北區(qū)紅旗河溝華創(chuàng)商務(wù)大廈18樓