




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
軟件工程管理隨著全球軟件業(yè)的飛速發(fā)展,用戶對(duì)軟件的功能和規(guī)模等方面都提出了更高的要求。原有的“軟件作坊”的小規(guī)模生產(chǎn)已經(jīng)不能適應(yīng)社會(huì)發(fā)展需求,同時(shí)軟件工程還是一個(gè)復(fù)雜的、要素相互關(guān)聯(lián)的系統(tǒng)性工程。軟件開發(fā)不同于其他產(chǎn)品的制造,軟件開發(fā)的整個(gè)過程都是設(shè)計(jì)過程;軟件開發(fā)不需要使用大量的物質(zhì)資源,而主要是人力資源;并且,軟件開發(fā)的產(chǎn)品只是程序代碼和技術(shù)文件,并沒有其他的物質(zhì)結(jié)果。軟件工程管理隨著全球軟件業(yè)的飛速發(fā)展,用戶對(duì)軟件的功能和規(guī)1如果能對(duì)整個(gè)過程進(jìn)行有效地、科學(xué)地管理,必然會(huì)產(chǎn)生意想不到的效益。軟件工程管理的目的是優(yōu)化軟件工程要素的組織結(jié)構(gòu),降低工程成本,加快進(jìn)度,提高軟件工程質(zhì)量,并把軟件工程的風(fēng)險(xiǎn)減小到最低限度。從現(xiàn)有情況看來,軟件公司大多在軟件開發(fā)與維護(hù)的過程中引入工程的思想和項(xiàng)目管理的方法,而且他們都已經(jīng)發(fā)現(xiàn)了軟件工程管理帶來的好處。所以說,軟件質(zhì)量的好壞,不僅取決于所采用的技術(shù),更決定于管理的好壞。如果能對(duì)整個(gè)過程進(jìn)行有效地、科學(xué)地管理,必然會(huì)產(chǎn)生意想不到的2本章主要介紹如下內(nèi)容:
軟件項(xiàng)目管理軟件計(jì)劃軟件質(zhì)量管理軟件經(jīng)濟(jì)學(xué)本章主要介紹如下內(nèi)容:軟件項(xiàng)目管理3第一節(jié)軟件項(xiàng)目管理
一、
軟件項(xiàng)目管理(一)軟件項(xiàng)目管理的定義軟件項(xiàng)目管理是為了使軟件項(xiàng)目能夠按照預(yù)定的成本、進(jìn)度、質(zhì)量順利完成,而對(duì)成本、人員、進(jìn)度、質(zhì)量、風(fēng)險(xiǎn)等進(jìn)行分析和管理的活動(dòng)。第一節(jié)軟件項(xiàng)目管理一、
軟件項(xiàng)目管理4管理行為是伴隨著人類的出現(xiàn)同步發(fā)展的,而管理科學(xué)和管理理論體系的形成卻不是很長(zhǎng),軟件項(xiàng)目的管理實(shí)踐和理論發(fā)展史就更短??傮w來說,軟件項(xiàng)目管理還處在一個(gè)實(shí)踐的階段、發(fā)展的階段,但是軟件項(xiàng)目管理已經(jīng)充分體現(xiàn)了其蘊(yùn)涵的科學(xué)性、技術(shù)性和藝術(shù)性。管理行為是伴隨著人類的出現(xiàn)同步發(fā)展的,而管理科學(xué)和管理理論體5軟件項(xiàng)目管理不同于其它普通的工程項(xiàng)目,它屬于智力密集型活動(dòng),其中,人員、抽象的文檔和程序代碼是管理的主要對(duì)象。因此,軟件項(xiàng)目管理與其它的工程項(xiàng)目管理相比有其自身的獨(dú)特性,在實(shí)踐中,軟件工程管理人員不能照抄照搬,應(yīng)做到因地制宜,確保管理行為具有針對(duì)性。軟件項(xiàng)目管理不同于其它普通的工程項(xiàng)目,它屬于智力密集型活動(dòng),6(二)軟件項(xiàng)目管理的目的曾經(jīng)有人這樣定義項(xiàng)目管理,它指“在項(xiàng)目活動(dòng)中運(yùn)用一系列的知識(shí)、技能、工具和技術(shù),以滿足或超過相關(guān)利益者對(duì)項(xiàng)目的要求”,顯然該定義給出了項(xiàng)目管理涉及的范疇和需要達(dá)到的目標(biāo)。我們知道,對(duì)于任何項(xiàng)目,項(xiàng)目管理的精髓都是成本、工期和質(zhì)量,三者之間相互關(guān)聯(lián)。(二)軟件項(xiàng)目管理的目的7但是最終的目標(biāo)都是降低成本,增加效益,客戶滿意且公司獲利。按期完成軟件項(xiàng)目,增強(qiáng)用戶對(duì)軟件開發(fā)方的信任。保質(zhì)保量,確保軟件產(chǎn)品滿足用戶需求。由此看來,是否有一套科學(xué)的、有效的項(xiàng)目管理手段和訓(xùn)練有素的管理隊(duì)伍將直接影響到軟件工程的成功與否。因此,項(xiàng)目管理已經(jīng)被公認(rèn)為是IT公司的核心競(jìng)爭(zhēng)力之一。但是最終的目標(biāo)都是降低成本,增加效益,客戶滿意且公司獲利。8(三)軟件項(xiàng)目管理的要素1.
三大基本要素(TCQ)軟件項(xiàng)目管理的三大要素是時(shí)間(Time)、成本(Cost)和質(zhì)量(Quality),三者相互關(guān)聯(lián),相互制約,都有各自的內(nèi)涵。(三)軟件項(xiàng)目管理的要素9項(xiàng)目的時(shí)間通常用計(jì)劃進(jìn)度表來表示,它是一個(gè)二維表。一維是時(shí)間,另一維是組成項(xiàng)目的基本活動(dòng)的集合?;顒?dòng)在整個(gè)項(xiàng)目周期的一定時(shí)間段中存在。有時(shí)在項(xiàng)目計(jì)劃進(jìn)度表中加上基線(節(jié)點(diǎn)),用來描述項(xiàng)目中某些具有重要意義的活動(dòng)最后完成期限。成本是軟件項(xiàng)目所需款項(xiàng)。項(xiàng)目的時(shí)間通常用計(jì)劃進(jìn)度表來表示,它是一個(gè)二維表。一維是時(shí)間10項(xiàng)目都會(huì)有一個(gè)成本預(yù)算,但是往往由于實(shí)際市場(chǎng)競(jìng)爭(zhēng)等因素的干擾,迫使軟件開發(fā)方為獲得項(xiàng)目而不切實(shí)際的降低預(yù)算成本,甚至誘發(fā)軟件工程的失敗。軟件項(xiàng)目的成本一般包括人力成本、設(shè)備費(fèi)用和分包費(fèi)用等等,其中人力費(fèi)用所占的比例較大。人力費(fèi)用在成本預(yù)算時(shí)一般較難把握,主要因?yàn)檐浖?xiàng)目的人員工作量計(jì)算復(fù)雜,且單位工作量成本的不確定性強(qiáng)。項(xiàng)目都會(huì)有一個(gè)成本預(yù)算,但是往往由于實(shí)際市場(chǎng)競(jìng)爭(zhēng)等因素的干擾11質(zhì)量相對(duì)用戶需求而言,一般質(zhì)量好壞的評(píng)判用戶意見更有說服力。用戶需求和軟件開發(fā)人員對(duì)軟件系統(tǒng)建立的模型的偏差是客觀存在的,而且不可能完全消除。所以,對(duì)用戶需求描述的嚴(yán)格定義、多次反饋和精確說明是必要的,它是軟件能否滿足用戶需求的基本保證。質(zhì)量相對(duì)用戶需求而言,一般質(zhì)量好壞的評(píng)判用戶意見更有說服力。12有時(shí),人們把時(shí)間、成本、質(zhì)量和軟件工作范圍并稱為軟件項(xiàng)目管理的四大要素,可見軟件工作范圍對(duì)于軟件項(xiàng)目管理有重要的意義。軟件工作范圍是指軟件的用途、以及對(duì)軟件的要求。主要包括軟件的功能、性能、接口和可靠性四個(gè)方面。軟件工作范圍一般由計(jì)劃人員確定,要用無二義性的語(yǔ)言來描述。軟件工作范圍給出了對(duì)“完成哪些工作就可以達(dá)到項(xiàng)目的目標(biāo)?”或“完成哪些工作項(xiàng)目就可以結(jié)束了?”等問題的描述。有時(shí),人們把時(shí)間、成本、質(zhì)量和軟件工作范圍并稱為軟件項(xiàng)目管理13具體的說,軟件工作范圍包括軟件功能、軟件性能、接口和軟件可靠性:軟件功能:根據(jù)用戶需求確定,盡可能精細(xì)。軟件性能:處理時(shí)間的約束、存儲(chǔ)限制、以及依賴于機(jī)器的某些特性。接口:硬件、軟件、人。計(jì)劃人員要充分考慮各個(gè)接口的性質(zhì)及復(fù)雜程度,以確定對(duì)開發(fā)資源、成本和進(jìn)度的各種影響。軟件的可靠性。具體的說,軟件工作范圍包括軟件功能、軟件性能、接口和軟件可靠142.
要素之間的關(guān)系軟件項(xiàng)目管理的要素之間是相互關(guān)聯(lián)、相互制約的。一般來說:
項(xiàng)目的工作范圍越大,花費(fèi)的成本越大,花費(fèi)的時(shí)間越長(zhǎng),但是與軟件項(xiàng)目的質(zhì)量沒有必然的關(guān)系。軟件項(xiàng)目的時(shí)間越長(zhǎng)、越充裕,花費(fèi)的成本越高,一般也能提高軟件項(xiàng)目的質(zhì)量。軟件項(xiàng)目的成本是軟件質(zhì)量的基本保證。軟件質(zhì)量的提高需要軟件項(xiàng)目的時(shí)間和成本的強(qiáng)力支撐。2.
要素之間的關(guān)系15總而言之,軟件項(xiàng)目的追求的最佳狀況是“多、快、好、省”。“多”指工作范圍大,“快”指時(shí)間短、“好”指質(zhì)量高,“省”指成本低。相互之間的關(guān)聯(lián)性告訴我們,提高一個(gè)指標(biāo)的同時(shí)會(huì)降低另一個(gè)指標(biāo),所以實(shí)際上這種理想的情況很難達(dá)到。因此,在軟件項(xiàng)目的實(shí)施中,我們要根據(jù)具體情況對(duì)不同要素的性能參數(shù)作取舍。
總而言之,軟件項(xiàng)目的追求的最佳狀況是“多、快、好、省”。16(四)軟件項(xiàng)目管理的內(nèi)容軟件項(xiàng)目管理的基本內(nèi)容是軟件配置管理、軟件質(zhì)量管理、軟件風(fēng)險(xiǎn)管理及開發(fā)人員管理四方面,他們貫穿軟件開發(fā)的整個(gè)過程。(四)軟件項(xiàng)目管理的內(nèi)容17(五)軟件項(xiàng)目管理的組織形式為了使軟件項(xiàng)目能夠按照計(jì)劃順利完成,項(xiàng)目組織是管理行為的主體,它在管理過程中具有非常重要的地位,它協(xié)調(diào)矛盾,提供保證和資源。可以這樣說,采用何種組織模式進(jìn)行管理對(duì)軟件項(xiàng)目管理過程的成功與否相當(dāng)重要。項(xiàng)目管理組織形式包括項(xiàng)目管理委員會(huì)、項(xiàng)目管理小組、項(xiàng)目評(píng)審小組和軟件產(chǎn)品項(xiàng)目組。
(五)軟件項(xiàng)目管理的組織形式18(五)軟件項(xiàng)目管理開發(fā)階段軟件項(xiàng)目管理開發(fā)包含以下幾個(gè)階段:總體規(guī)劃,項(xiàng)目立項(xiàng),需求分析,系統(tǒng)分析,系統(tǒng)設(shè)計(jì),編碼實(shí)現(xiàn),項(xiàng)目測(cè)試,文檔制作,項(xiàng)目發(fā)布,項(xiàng)目版本化發(fā)布。
(五)軟件項(xiàng)目管理開發(fā)階段191、總體規(guī)劃規(guī)劃項(xiàng)目工作的內(nèi)容,規(guī)定工作范圍及成果,確定目標(biāo)市場(chǎng)、技術(shù)指標(biāo)和應(yīng)用要求,明確實(shí)施方案,技術(shù)可行性及涉及的各種資源,估算項(xiàng)目成本。2、項(xiàng)目立項(xiàng)產(chǎn)品部對(duì)開發(fā)的項(xiàng)目提交申請(qǐng)及相關(guān)項(xiàng)目資料,由相關(guān)人員對(duì)該項(xiàng)目進(jìn)行一系列的風(fēng)險(xiǎn)評(píng)估。產(chǎn)品部進(jìn)行詳細(xì)進(jìn)度計(jì)劃安排,落實(shí)時(shí)間進(jìn)度、資源、技術(shù)、資金和費(fèi)用等。最后所有的項(xiàng)目申請(qǐng)資料、風(fēng)險(xiǎn)評(píng)估報(bào)告及產(chǎn)品進(jìn)度計(jì)劃都要報(bào)給公司上級(jí)領(lǐng)導(dǎo)審批,進(jìn)行立項(xiàng)評(píng)審。立項(xiàng)通過的項(xiàng)目才能進(jìn)入正式的開發(fā)工作。
1、總體規(guī)劃203、需求分析根據(jù)項(xiàng)目需求報(bào)告界定工作范圍和應(yīng)用方案的設(shè)計(jì)思路,進(jìn)一步深入細(xì)化應(yīng)用方案,描述將要開發(fā)出的計(jì)算機(jī)系統(tǒng)中包含的各項(xiàng)業(yè)務(wù)是如何做的,及業(yè)務(wù)流程、相關(guān)理論、運(yùn)算公式、原理、業(yè)務(wù)數(shù)據(jù)、單據(jù)報(bào)表格式等。
3、需求分析214、系統(tǒng)分析根據(jù)項(xiàng)目需求分析,對(duì)將要建立的滿足用戶需求的計(jì)算機(jī)系統(tǒng)進(jìn)行分析。在系統(tǒng)分析過程中采用面向?qū)ο蠓治黾夹g(shù)(OOA)劃分需求的問題域,對(duì)每一個(gè)問題域進(jìn)行分析和抽象,對(duì)其中的事物和它們之間的關(guān)系產(chǎn)生正確的認(rèn)識(shí),找出描述問題域及其系統(tǒng)責(zé)任所需的類及對(duì)象,定義這些類和對(duì)象的屬性與服務(wù),以及它們之間所形成的結(jié)構(gòu)、靜態(tài)聯(lián)系和動(dòng)態(tài)聯(lián)系。最終產(chǎn)生一個(gè)符合用戶需求,并能夠直接反映問題域和系統(tǒng)責(zé)任的面向?qū)ο蟮姆治瞿P汀?/p>
4、系統(tǒng)分析225、系統(tǒng)設(shè)計(jì)根據(jù)項(xiàng)目需求分析和系統(tǒng)分析,針對(duì)具體實(shí)現(xiàn)中的人機(jī)界面、數(shù)據(jù)存儲(chǔ)、任務(wù)管理等內(nèi)容,運(yùn)用面向?qū)ο笤O(shè)計(jì)技術(shù)(OOD)進(jìn)行系統(tǒng)設(shè)計(jì)。主要包括UI設(shè)計(jì)、對(duì)象設(shè)計(jì)和數(shù)據(jù)庫(kù)表設(shè)計(jì)。
5、系統(tǒng)設(shè)計(jì)236、編碼實(shí)現(xiàn)根據(jù)系統(tǒng)設(shè)計(jì)的結(jié)果,運(yùn)用面向?qū)ο蟮姆椒ㄟM(jìn)行程序編碼(OOP)以實(shí)現(xiàn)系統(tǒng)設(shè)計(jì)的內(nèi)容。編碼過程就是用具體的數(shù)據(jù)結(jié)構(gòu)來定義對(duì)象的屬性,用具體的語(yǔ)言來實(shí)現(xiàn)服務(wù)流程圖所表示的算法。在對(duì)象設(shè)計(jì)階段形成的對(duì)象類和關(guān)系最后被轉(zhuǎn)換成特殊的程序設(shè)計(jì)語(yǔ)言、數(shù)據(jù)庫(kù)或者硬件的實(shí)現(xiàn)。
6、編碼實(shí)現(xiàn)247、項(xiàng)目測(cè)試對(duì)系統(tǒng)分析、系統(tǒng)設(shè)計(jì)、程序編碼等運(yùn)用面向?qū)ο蟮姆椒ㄟM(jìn)行測(cè)試(OOT)。項(xiàng)目的測(cè)試工作貫穿項(xiàng)目的整個(gè)開發(fā)過程。主要包括:分析(OOA)測(cè)試、設(shè)計(jì)(OOD)測(cè)試和編碼(OOP)測(cè)試,以及集成測(cè)試和系統(tǒng)測(cè)試。
7、項(xiàng)目測(cè)試258、文檔制作跟隨項(xiàng)目開發(fā)過程應(yīng)產(chǎn)生的文檔主要包括三類:(1)開發(fā)文檔:分析、設(shè)計(jì)、編碼、測(cè)試以及各種開發(fā)管理文檔等資料;(2)用戶文檔:在線幫助,安裝指南,使用手冊(cè),技術(shù)手冊(cè),培訓(xùn)教材等;(3)宣傳資料:產(chǎn)品介紹資料,產(chǎn)品白皮書,產(chǎn)品宣傳PPT,演示光盤等。8、文檔制作269、項(xiàng)目驗(yàn)收對(duì)完工的項(xiàng)目按照驗(yàn)收步驟進(jìn)行驗(yàn)收。驗(yàn)收過程中對(duì)項(xiàng)目的情況給予評(píng)價(jià)。
10、項(xiàng)目版本化發(fā)布
對(duì)驗(yàn)收通過的項(xiàng)目進(jìn)行版本控制,整理項(xiàng)目版本所包含的內(nèi)容并版本化,發(fā)布產(chǎn)品發(fā)布通告。9、項(xiàng)目驗(yàn)收27二、人員管理軟件項(xiàng)目管理中的人員管理活動(dòng)是動(dòng)態(tài)的過程,每個(gè)人均在一定范圍進(jìn)行著管理的活動(dòng)。項(xiàng)目的參與者有高級(jí)管理者、項(xiàng)目(技術(shù))管理者、開發(fā)人員、客戶與最終用戶。值得注意的是人員管理屬于軟件項(xiàng)目管理的內(nèi)容之一,在此,我們對(duì)人員管理作近一步闡述。人員管理是軟件項(xiàng)目管理的核心內(nèi)容,我們?cè)谲浖?xiàng)目管理過程中強(qiáng)調(diào)以人為本,沒有成功的人員管理就沒有軟件項(xiàng)目的成功。
二、人員管理28對(duì)于軟件項(xiàng)目的管理者來說,要求要具有一定的素質(zhì),這是一些基本要求。具體要求如下:(1)調(diào)動(dòng)每個(gè)成員積極性的能力;(2)組織能力,指能全局統(tǒng)籌項(xiàng)目的實(shí)施;(3)協(xié)調(diào)能力,磨合項(xiàng)目成分之間的關(guān)系,做到系統(tǒng)整體性能最佳;
對(duì)于軟件項(xiàng)目的管理者來說,要求要具有一定的素質(zhì),這是一些基本29(4)創(chuàng)新能力,鼓勵(lì)項(xiàng)目成員創(chuàng)造并感到有一種創(chuàng)造力;(5)解決問題的能力,一個(gè)好的項(xiàng)目管理者要能及時(shí)發(fā)現(xiàn)問題,系統(tǒng)的組織人員解決問題;(6)成就感,管理者要使項(xiàng)目組的成員都有成就感;(7)具有項(xiàng)目的相關(guān)技術(shù)能力;軟件技能等。(4)創(chuàng)新能力,鼓勵(lì)項(xiàng)目成員創(chuàng)造并感到有一種創(chuàng)造力;30軟件人員要有一定的創(chuàng)造力和技術(shù)水平。BillCurtis認(rèn)為“不同的人員完成程序設(shè)計(jì)任務(wù)的能力上存在巨大的可變性”。對(duì)于軟件編程人員來說要有一定的編程能力,這是軟件編程人員最起碼的要求,要有良好的編程習(xí)慣,代碼要有清晰易懂,容易維護(hù);要對(duì)相關(guān)領(lǐng)域知識(shí)有所了解,軟件人員是為某一領(lǐng)域進(jìn)行編程的,所以對(duì)這一領(lǐng)域的了解有利于軟件人員提高軟件的質(zhì)量;要有創(chuàng)新能力,它是軟件團(tuán)隊(duì)活力的體現(xiàn);項(xiàng)目中的人員要具有相互溝通與協(xié)調(diào)的能力。
軟件人員要有一定的創(chuàng)造力和技術(shù)水平。BillCurtis認(rèn)31第二節(jié)軟件計(jì)劃一、軟件計(jì)劃計(jì)劃是用來建立一個(gè)總體方向的,是用來幫助開始進(jìn)行項(xiàng)目的工作,保證這些項(xiàng)目是在朝著一個(gè)目標(biāo)前進(jìn)的。但是,所有的行動(dòng)都是圍繞項(xiàng)目進(jìn)行的。軟件計(jì)劃將那些繁重的工作分解成更小單位的相關(guān)項(xiàng)目,這些相關(guān)項(xiàng)目都是在同一時(shí)間內(nèi)以平行的狀態(tài)被執(zhí)行。軟件計(jì)劃對(duì)項(xiàng)目的分解粒度可以根據(jù)具體的情況和要求來決定。本節(jié)介紹制定軟件計(jì)劃的兩種方法:甘特圖(GanttChart)和網(wǎng)絡(luò)圖方法第二節(jié)軟件計(jì)劃一、軟件計(jì)劃32(一)甘特圖(GanttChart)甘特圖是以水平線段表示每一項(xiàng)任務(wù),線段的起始點(diǎn)表示任務(wù)的開始,結(jié)束點(diǎn)表示任務(wù)的結(jié)束,線段的長(zhǎng)度表示任務(wù)的完成時(shí)間。任務(wù)開始把線段左邊的空的小圓圈涂黑,任務(wù)結(jié)束時(shí)把線段右邊的空的小圓圈涂黑。這樣就很容易看出哪些任務(wù)已經(jīng)開始,哪些還沒有開始,哪些已經(jīng)完工。(一)甘特圖(GanttChart)33甘特圖的優(yōu)點(diǎn)是簡(jiǎn)單明了,清楚地從圖上看出任務(wù)時(shí)間上的對(duì)比關(guān)系,非常直觀方便。它的缺點(diǎn)是各個(gè)任務(wù)之間的邏輯關(guān)系無法表示清楚。如下圖所示,給出了對(duì)于包含5個(gè)任務(wù)的軟件計(jì)劃甘特圖表示,其特征是給出了項(xiàng)目任務(wù)的時(shí)序狀態(tài)。甘特圖的優(yōu)點(diǎn)是簡(jiǎn)單明了,清楚地從圖上看出任務(wù)時(shí)間上的對(duì)比關(guān)系34實(shí)用軟件工程35(二)網(wǎng)絡(luò)圖方法網(wǎng)絡(luò)圖方法PERT(ProgramEvaluationandReviewTechnique),是美國(guó)海軍和洛克希德公司60年代初發(fā)展起來的一種先進(jìn)的管理技術(shù)。在國(guó)民經(jīng)濟(jì)中已經(jīng)廣為應(yīng)用,并且受到用戶的好評(píng)。(二)網(wǎng)絡(luò)圖方法36我們來看一個(gè)例子。下面是一個(gè)網(wǎng)絡(luò)PERT圖,每一個(gè)線段表示這一個(gè)項(xiàng)目中的每一個(gè)任務(wù),線段的起始點(diǎn)和終止點(diǎn)的都連接了一個(gè)節(jié)點(diǎn),節(jié)點(diǎn)有編號(hào),線段的旁邊標(biāo)有該項(xiàng)任務(wù)的名稱和該任務(wù)所要花費(fèi)的時(shí)間單元。如0-1之間的線段表示,該任務(wù)名稱為測(cè)試計(jì)劃,所花費(fèi)的時(shí)間單元是4個(gè)單位時(shí)間。我們來看一個(gè)例子。下面是一個(gè)網(wǎng)絡(luò)PERT圖,每一個(gè)線段表示這37實(shí)用軟件工程38我們以該例分析,從節(jié)點(diǎn)5為例,從起始點(diǎn)到達(dá)節(jié)點(diǎn)5有兩條路徑它們是0-1-2-5和0-3-4-5,所用的時(shí)間單元分別是9個(gè)單位時(shí)間和11個(gè)單位時(shí)間。E調(diào)試必須等C測(cè)試和調(diào)試兩個(gè)任務(wù)都完成后才能進(jìn)行,所以E調(diào)試的最早啟動(dòng)時(shí)間是11個(gè)單位時(shí)間后。依次類推我們把每一個(gè)節(jié)點(diǎn)的最早啟動(dòng)時(shí)間標(biāo)注在該節(jié)點(diǎn)的上方得到下圖。我們以該例分析,從節(jié)點(diǎn)5為例,從起始點(diǎn)到達(dá)節(jié)點(diǎn)5有兩條路徑它39實(shí)用軟件工程40另外我們從終止點(diǎn)逆向推進(jìn)來計(jì)算各個(gè)節(jié)點(diǎn)的最遲啟動(dòng)時(shí)間。以節(jié)點(diǎn)3為例,沿路徑8-5-4-3倒退到節(jié)點(diǎn)3應(yīng)為5個(gè)單元時(shí)間而沿路經(jīng)8-7-3應(yīng)為4個(gè)單位時(shí)間,所以該節(jié)點(diǎn)的最遲啟動(dòng)時(shí)間是4個(gè)單元時(shí)間。依次類推我們可以得到各個(gè)節(jié)點(diǎn)的最遲啟動(dòng)時(shí)間從下圖我們可以看到。另外我們從終止點(diǎn)逆向推進(jìn)來計(jì)算各個(gè)節(jié)點(diǎn)的最遲啟動(dòng)時(shí)間。以節(jié)點(diǎn)41實(shí)用軟件工程42通過比較兩個(gè)圖,得到節(jié)點(diǎn)0,3,7,8的最早啟動(dòng)時(shí)間和最遲啟動(dòng)時(shí)間是一樣的,也就是說這些節(jié)點(diǎn)上沒有停留的時(shí)間,這是一條耗時(shí)最長(zhǎng)的路徑,稱之為關(guān)鍵路經(jīng)。見下圖。關(guān)鍵路徑的耗時(shí)等于整個(gè)工程的耗時(shí),因此要想縮短時(shí)間,就必須找出關(guān)鍵路徑,并研究如何減少關(guān)鍵路經(jīng)的耗時(shí)。通過比較兩個(gè)圖,得到節(jié)點(diǎn)0,3,7,8的最早啟動(dòng)時(shí)間和最遲啟43實(shí)用軟件工程44(三)軟件計(jì)劃制定總體原則創(chuàng)建項(xiàng)目計(jì)劃會(huì)迫使您早在編寫代碼之前就考慮如何構(gòu)建您的系統(tǒng)——減少項(xiàng)目的風(fēng)險(xiǎn),因?yàn)槟呀?jīng)考慮了各種策略和方法,并且已經(jīng)選擇了最有意義的一項(xiàng)。您的目的不應(yīng)該只是不花力氣產(chǎn)生一個(gè)計(jì)劃;它應(yīng)該是一個(gè)實(shí)際可行的計(jì)劃,您可以根據(jù)它來成功管理您的項(xiàng)目。(三)軟件計(jì)劃制定總體原則45在軟件計(jì)劃制定時(shí),總體上應(yīng)該注意:軟件過程驅(qū)動(dòng)軟件計(jì)劃。每個(gè)軟件過程都有一個(gè)不同的集合,它包括組織團(tuán)隊(duì)的活動(dòng)方法以及規(guī)劃項(xiàng)目常用的技術(shù)。不同的過程有不同的計(jì)劃,通常軟件計(jì)劃的制定由軟件過程驅(qū)動(dòng)。在軟件計(jì)劃制定時(shí),總體上應(yīng)該注意:46軟件計(jì)劃由粗到細(xì)。軟件計(jì)劃的制定遵循由粗到細(xì),不斷精化的原則。首先制定一個(gè)粗粒度的、確定項(xiàng)目高級(jí)活動(dòng)和預(yù)期里程碑的計(jì)劃,為了便于計(jì)劃的實(shí)施和貫徹,再對(duì)粗粒度的計(jì)劃進(jìn)行細(xì)化。一般說來,較小粒度的計(jì)劃便于實(shí)施,完成的可靠性高。軟件計(jì)劃由粗到細(xì)。軟件計(jì)劃的制定遵循由粗到細(xì),不斷精化的原則47計(jì)劃實(shí)施者和計(jì)劃制定者的統(tǒng)一。實(shí)施者和制訂者的分離容易導(dǎo)致兩者的相互扯皮,甚至計(jì)劃流產(chǎn)。創(chuàng)建項(xiàng)目計(jì)劃的最佳人員是負(fù)責(zé)實(shí)施該計(jì)劃的人員。當(dāng)規(guī)劃由一個(gè)人創(chuàng)建而由另一個(gè)人實(shí)施時(shí),如果項(xiàng)目不能按時(shí)完成或超出預(yù)算,他們不太會(huì)相信計(jì)劃,而很有可能會(huì)責(zé)備它。也就是說,參與項(xiàng)目的每個(gè)人都應(yīng)該投入到項(xiàng)目計(jì)劃的開發(fā)和進(jìn)展中。計(jì)劃實(shí)施者和計(jì)劃制定者的統(tǒng)一。實(shí)施者和制訂者的分離容易導(dǎo)致兩48第三節(jié)軟件質(zhì)量管理
近些年來,軟件人員正不懈的追求軟件質(zhì)量,雖然付出了巨大的努力,但是收效甚微。于是,大部分軟件企業(yè)試圖通過壯大軟件測(cè)試隊(duì)伍,希望通過加大測(cè)試力度來提高軟件質(zhì)量,然而,軟件測(cè)試不能從根本上提高軟件質(zhì)量。究其原因,人們似乎對(duì)于軟件質(zhì)量的概念和內(nèi)涵并不是很清楚,就更談不上采取有效的方法提高軟件的質(zhì)量。我們認(rèn)為,實(shí)施軟件質(zhì)量管理是軟件開發(fā)過程不可缺少的一個(gè)重要環(huán)節(jié)。第三節(jié)軟件質(zhì)量管理近些年來,軟件人員正不懈的追求軟件質(zhì)49一、軟件質(zhì)量及其評(píng)價(jià)傳統(tǒng)上,人們對(duì)軟件質(zhì)量的評(píng)價(jià)參數(shù)包括軟件功能是否齊全、結(jié)構(gòu)是否合理和層次是否分明等方面。不難發(fā)現(xiàn),這些評(píng)價(jià)的描述是含糊不清的,不能對(duì)軟件的質(zhì)量做定性的分析。不精確的軟件評(píng)價(jià)給用戶和軟件開發(fā)人員均帶來消極作用,對(duì)用戶而言,沒有明確的軟件評(píng)價(jià),用戶就沒有選購(gòu)軟件的依據(jù);同時(shí),軟件開發(fā)人員沒有軟件質(zhì)量的評(píng)價(jià)標(biāo)準(zhǔn),在軟件的開發(fā)過程中就無“法”可依。因此,軟件質(zhì)量評(píng)價(jià)標(biāo)準(zhǔn)的制定有其必要性,也有重要意義。一、軟件質(zhì)量及其評(píng)價(jià)50美國(guó)的B.W.Boehm和R.Brown提出了三個(gè)層次的評(píng)價(jià)度量模型,三個(gè)層次分別是軟件質(zhì)量要素、準(zhǔn)則和度量。在此我們對(duì)第一層次——軟件質(zhì)量要素作簡(jiǎn)單介紹。美國(guó)的B.W.Boehm和R.Brown提出了三個(gè)層次的評(píng)價(jià)51把軟件質(zhì)量分解成六個(gè)要素,通過如下的六個(gè)要素來評(píng)判軟件質(zhì)量:1.功能性:軟件功能來源于軟件的用戶需求,用戶需求分為顯性需求和隱性需求,隱性需求泛指用戶潛在的卻不能陳述的軟件需求;功能性是軟件滿足用戶需求的程度描述。把軟件質(zhì)量分解成六個(gè)要素,通過如下的六個(gè)要素來評(píng)判軟件質(zhì)量:522.可靠性:軟件可靠性包含兩個(gè)方面的內(nèi)容,其一、軟件在規(guī)定的運(yùn)行環(huán)境下正常工作的程度;其二、軟件在非法操作或故障發(fā)生時(shí)繼續(xù)運(yùn)行的程度。軟件可靠性在軟件工程中具有較大的實(shí)際意義,可靠性差的軟件在故障發(fā)生時(shí)不能正常運(yùn)行,這將使得軟件功能喪失。在必要時(shí),可以建立軟件保障系統(tǒng),從根本上提高軟件可靠性。2.可靠性:軟件可靠性包含兩個(gè)方面的內(nèi)容,其一、軟件在規(guī)定的533.易使用性:易使用性的內(nèi)容包括軟件用戶界面的友好性和軟件交互性,交互性和友好性是衡量軟件使用是否方便的兩個(gè)重要參數(shù)。4.效率:軟件效率指軟件運(yùn)行時(shí)對(duì)所需的計(jì)算機(jī)資源利用的有效程度,軟件效率的衡量通常從時(shí)間和存儲(chǔ)需求兩方面入手。3.易使用性:易使用性的內(nèi)容包括軟件用戶界面的友好性和軟件交545.可維護(hù)性:軟件的可維護(hù)性是指用戶需求改變或軟件環(huán)境發(fā)生變更時(shí),軟件系統(tǒng)能進(jìn)行相應(yīng)修改的容易程度,可維護(hù)性一般與軟件的可讀性、可理解性和可修改性相關(guān)。5.可維護(hù)性:軟件的可維護(hù)性是指用戶需求改變或軟件環(huán)境發(fā)生變556.可移植性:可移植性指軟件整體或部分對(duì)運(yùn)行的系統(tǒng)和環(huán)境的依賴程度,依賴程度越高,軟件可移植性越差。6.可移植性:可移植性指軟件整體或部分對(duì)運(yùn)行的系統(tǒng)和環(huán)境的依56二、軟件質(zhì)量問題的根源雖然軟件企業(yè)沒有停止對(duì)軟件質(zhì)量的追求,但是事實(shí)表明他們并沒有在提高軟件質(zhì)量方面取得突破性進(jìn)展。二、軟件質(zhì)量問題的根源57總的來說,較多質(zhì)量不高的軟件在軟件開發(fā)中存在以下幾點(diǎn)共性:缺乏軟件產(chǎn)品檢驗(yàn)標(biāo)準(zhǔn),開發(fā)人員在提高軟件質(zhì)量上還具有一定盲目性;軟件開發(fā)人員缺乏質(zhì)量意識(shí);軟件項(xiàng)目時(shí)間短、計(jì)劃緊;軟件項(xiàng)目資金不足,開發(fā)方降低開發(fā)成本;沒有有效的軟件項(xiàng)目管理體制。總的來說,較多質(zhì)量不高的軟件在軟件開發(fā)中存在以下幾點(diǎn)共性:58據(jù)有關(guān)調(diào)查顯示,國(guó)內(nèi)現(xiàn)有大部分軟件存在不同程度的質(zhì)量問題,但是如果在軟件開發(fā)過程中貫徹全面質(zhì)量管理思想,輔以有力的軟件測(cè)試,軟件質(zhì)量的提高還有較大的空間。據(jù)有關(guān)調(diào)查顯示,國(guó)內(nèi)現(xiàn)有大部分軟件存在不同程度的質(zhì)量問題,但59三、軟件質(zhì)量與CMM(一)CMM概念CMM(CapabilityMaturityModelforSoftware),英文縮寫名是SM-CMM,它指“軟件能力成熟度模型”,CMM是美國(guó)卡內(nèi)基—梅隆大學(xué)軟件工程研究所(簡(jiǎn)稱SEI)的研究成果;SEI是美國(guó)國(guó)防部出資于1984年設(shè)立。三、軟件質(zhì)量與CMM60從1986年開始,SEI針對(duì)軟件組織改善其軟件過程,特別是美國(guó)國(guó)防部對(duì)軟件承包商的能力評(píng)價(jià)問題,研究“過程成熟度框架”。1987年9月,SEI發(fā)表了關(guān)于過程成熟度框架的簡(jiǎn)要說明和成熟度調(diào)查問卷。以這一過程成熟度框架為藍(lán)本,在美國(guó)聯(lián)邦政府促進(jìn)下,從1987年到1991年在美國(guó)一些大公司的軟件組織進(jìn)行了軟件過程能力成熟度模型的評(píng)估實(shí)踐。從1986年開始,SEI針對(duì)軟件組織改善其軟件過程,特別是美61根據(jù)這4年的實(shí)踐經(jīng)驗(yàn),特別是從美國(guó)政府和工業(yè)界反饋的關(guān)于軟件過程評(píng)估的信息,SEI在原過程成熟度框架的基礎(chǔ)上開發(fā)出了“軟件能力成熟度模型(CMM)0.0版”。SEI給CMM下的定義是:對(duì)于軟件組織在定義,實(shí)現(xiàn),度量,控制和改善其軟件過程的進(jìn)程中各個(gè)發(fā)展階段的描述。根據(jù)這4年的實(shí)踐經(jīng)驗(yàn),特別是從美國(guó)政府和工業(yè)界反饋的關(guān)于軟件62這個(gè)模型便于確定軟件組織的現(xiàn)有過程能力和查找出軟件質(zhì)量及過程改進(jìn)方面的最關(guān)鍵問題,從而為選擇過程改進(jìn)戰(zhàn)略提供指南。SW-CMM為軟件企業(yè)的過程能力提供了一個(gè)階梯式的進(jìn)化框架,它基于過去所有軟件工程成果的過程改善的框架,吸取了以往軟件工程的經(jīng)驗(yàn)教訓(xùn)。它指明了一個(gè)成熟的軟件組織在軟件開發(fā)方面需要管理的那些主要工作、這些工作之間的關(guān)系、以及以怎樣的先后次序,一步一步的做好這些工作使軟件組織走向成熟,是目前國(guó)際上最流行也是最實(shí)用的軟件生產(chǎn)過程標(biāo)準(zhǔn)。這個(gè)模型便于確定軟件組織的現(xiàn)有過程能力和查找出軟件質(zhì)量及過程63(二)CMM結(jié)構(gòu)SW-CMM為軟件企業(yè)的過程能力提供了臺(tái)階式結(jié)構(gòu),共分五級(jí),分別是初始級(jí)、可重級(jí)、定義級(jí)、管理級(jí)和優(yōu)化級(jí)。初始級(jí)實(shí)際上是一個(gè)起點(diǎn),任何準(zhǔn)備按CMM結(jié)構(gòu)進(jìn)化的企業(yè)一般都處于這個(gè)起點(diǎn)上,并通過這個(gè)起點(diǎn)向可重級(jí)邁進(jìn)。除初始級(jí)外,每一級(jí)都設(shè)定了一組目標(biāo),如果達(dá)到了這組目標(biāo),則表明達(dá)到了這個(gè)成熟級(jí)別,可以向下一個(gè)級(jí)別邁進(jìn)。CMM從可重級(jí)起,每一個(gè)低的級(jí)別實(shí)現(xiàn)均是高的級(jí)別實(shí)現(xiàn)的基礎(chǔ),所以它不主張級(jí)別跨越。(二)CMM結(jié)構(gòu)64SW-CMM提供階梯式的進(jìn)化框架1.初始級(jí)初始級(jí)實(shí)際上是一個(gè)較為原始的階段,初始級(jí)的軟件過程是未加定義的隨意過程,項(xiàng)目的執(zhí)行是隨意甚至是混亂的。它的執(zhí)行沒有政策、資源等方面的保證時(shí),那么它仍然被視為初始級(jí)。SW-CMM提供階梯式的進(jìn)化框架652.可重級(jí)可重級(jí)的管理過程包括了需求管理、項(xiàng)目管理、質(zhì)量管理、配置管理和子合同管理五個(gè)方面,可重級(jí)的焦點(diǎn)集中在軟件管理過程上。一個(gè)可管理的過程則是一個(gè)可重級(jí)的過程,一個(gè)可重級(jí)的過程則能逐漸進(jìn)化和成熟。2.可重級(jí)可重級(jí)的管理過程包括了需求管理、項(xiàng)目管理、質(zhì)量管663.定義級(jí)定義級(jí)給出了定義執(zhí)行的步驟標(biāo)準(zhǔn),并將這些標(biāo)準(zhǔn)集成到企業(yè)軟件開發(fā)標(biāo)準(zhǔn)過程中去。所有開發(fā)的項(xiàng)目需根據(jù)這個(gè)標(biāo)準(zhǔn)過程,剪裁出該項(xiàng)目的過程,并執(zhí)行這些過程。過程的剪裁不是隨意的,在使用前需經(jīng)過企業(yè)有關(guān)人員的批準(zhǔn)。3.定義級(jí)定義級(jí)給出了定義執(zhí)行的步驟標(biāo)準(zhǔn),并將這些標(biāo)準(zhǔn)集成674.管理級(jí)管理級(jí)的管理是量化的管理。所有過程需建立相應(yīng)的度量方式,產(chǎn)品的質(zhì)量需有明確的度量指標(biāo)。這些度量應(yīng)是詳盡的,且可用于理解和控制軟件過程和產(chǎn)品,量化控制將使軟件開發(fā)真正變成工業(yè)生產(chǎn)活動(dòng)。4.管理級(jí)管理級(jí)的管理是量化的管理。所有過程需建立相應(yīng)的度685.優(yōu)化級(jí)優(yōu)化級(jí)的目標(biāo)是達(dá)到一個(gè)持續(xù)改善的境界。所謂持續(xù)改善是指可根據(jù)過程執(zhí)行的反饋信息來改善下一步的執(zhí)行過程,即優(yōu)化執(zhí)行步驟。如果一個(gè)企業(yè)達(dá)到了這一級(jí),那么表明該企業(yè)能夠根據(jù)實(shí)際的項(xiàng)目性質(zhì)、技術(shù)等因素,不斷調(diào)整軟件生產(chǎn)過程以求達(dá)到最佳。5.優(yōu)化級(jí)優(yōu)化級(jí)的目標(biāo)是達(dá)到一個(gè)持續(xù)改善的境界。所謂持續(xù)改69從效果而言,在上述不同階段,軟件開發(fā)生產(chǎn)的成熟程度給軟件企業(yè)帶來了完全不同的效果。從第一階段到第五個(gè)階段,軟件開發(fā)生產(chǎn)的計(jì)劃精度越來越高,每單位工程的生產(chǎn)周期越來越短,每單位工程的成本越來越低。CMM五級(jí)模型為軟件質(zhì)量的控制和質(zhì)量的提高奠定了堅(jiān)實(shí)的基礎(chǔ),它是當(dāng)前軟件質(zhì)量控制領(lǐng)域研究的一個(gè)熱點(diǎn)。從效果而言,在上述不同階段,軟件開發(fā)生產(chǎn)的成熟程度給軟件企業(yè)70第四節(jié)軟件經(jīng)濟(jì)學(xué)
一、軟件的價(jià)值觀軟件屬于商品范疇,是價(jià)值和使用價(jià)值的復(fù)合體。顯然價(jià)值是軟件開發(fā)人員智慧及腦力勞動(dòng)的結(jié)晶;使用價(jià)值特指軟件作為一種商品它具有滿足用戶的一種有用性,所以,軟件有用性程度是我們衡量軟件好壞的一個(gè)重要參數(shù)。第四節(jié)軟件經(jīng)濟(jì)學(xué)一、軟件的價(jià)值觀71但是軟件自身的特殊性使得軟件價(jià)值的評(píng)估顯得較為抽象,它不同于其它一般商品的定價(jià),軟件商品是無形的。通常我們綜合考慮影響軟件商品價(jià)值的相關(guān)因素,采用不同的評(píng)估方法了確定軟件價(jià)值。但是軟件自身的特殊性使得軟件價(jià)值的評(píng)估顯得較為抽象,它不同于72二、軟件價(jià)值評(píng)估的因素
軟件價(jià)值與軟件的成本有關(guān),但是計(jì)算機(jī)軟件給企業(yè)帶來的經(jīng)濟(jì)效益也可能受各種因素的影響而具有明顯的不確定性,這給軟件評(píng)估帶來許多困難??偠灾覀?cè)谶M(jìn)行軟件評(píng)估時(shí),通常綜合考慮如下因素:二、軟件價(jià)值評(píng)估的因素
軟件價(jià)值與軟件的成本有關(guān),但是計(jì)731、軟件規(guī)模:軟件規(guī)模主要指軟件的系統(tǒng)大小,其衡量指數(shù)通常包括可執(zhí)行程序或機(jī)器語(yǔ)言指令的字節(jié)數(shù)、高級(jí)語(yǔ)言語(yǔ)句的行數(shù)、系統(tǒng)數(shù)據(jù)存儲(chǔ)量和文體數(shù)目等等。2、軟件成本和可擴(kuò)展性:軟件成本是評(píng)估軟件價(jià)值的一個(gè)重要參數(shù);可擴(kuò)展性差的軟件系統(tǒng)的代價(jià)高。1、軟件規(guī)模:軟件規(guī)模主要指軟件的系統(tǒng)大小,其衡量指數(shù)通常包743、軟件運(yùn)行要求:軟件對(duì)系統(tǒng)和運(yùn)行環(huán)境的要求包括系統(tǒng)的支持系統(tǒng)環(huán)境及運(yùn)行硬件要求。4、軟件收益或經(jīng)濟(jì)壽命期:軟件收益較難計(jì)算,一般而言,軟件的效益是隱性的;軟件的壽命周期是決定軟件價(jià)值的另一重要參數(shù)。3、軟件運(yùn)行要求:軟件對(duì)系統(tǒng)和運(yùn)行環(huán)境的要求包括系統(tǒng)的支持系755、軟件市場(chǎng):現(xiàn)階段軟件的市場(chǎng)狀況對(duì)軟件價(jià)值的評(píng)估影響較大,沒有市場(chǎng)的軟件其自身的價(jià)值無法最終體現(xiàn)。軟件的市場(chǎng)需求量直接影響到軟件的價(jià)值,隨著市場(chǎng)需求及軟件拷貝的銷售量的遞增,軟件的單件價(jià)值下降。5、軟件市場(chǎng):現(xiàn)階段軟件的市場(chǎng)狀況對(duì)軟件價(jià)值的評(píng)估影響較大,76但是,我們對(duì)于影響軟件價(jià)值的研究要全盤考慮各個(gè)因素,在不同的階段影響軟件價(jià)值的因素所起的作用是不一樣的,因此,在軟件價(jià)值評(píng)估的時(shí)候我們通常根據(jù)現(xiàn)實(shí)情況加權(quán)確定軟件價(jià)值評(píng)估模型。但是,我們對(duì)于影響軟件價(jià)值的研究要全盤考慮各個(gè)因素,在不同的77三、軟件評(píng)估方法
當(dāng)前常用的軟件評(píng)估方法有重置成本法、收益現(xiàn)值法和現(xiàn)行市價(jià)法三種。重置成本法適合與對(duì)專用軟件和尚未投入生產(chǎn)、銷售的通用軟件進(jìn)行價(jià)值評(píng)估;而對(duì)于已經(jīng)生產(chǎn)并投放市場(chǎng)的通用軟件采用收益現(xiàn)值法;現(xiàn)行市價(jià)法一般用來對(duì)有市場(chǎng)同類可比軟件進(jìn)行評(píng)估,其價(jià)值評(píng)估一般參考同類軟件的市場(chǎng)價(jià)值。三、軟件評(píng)估方法
當(dāng)前常用的軟件評(píng)估方法有重置成本法、收78(一)重置成本法重置成本法按被評(píng)估資產(chǎn)的現(xiàn)時(shí)完全重置成本減去損耗或貶值來確定被評(píng)估資產(chǎn)的價(jià)格。其基本公式為:評(píng)估價(jià)值=重置全價(jià)-貶值(或重置全價(jià)×成新率。)常用軟件重置全價(jià)估算參數(shù)有開發(fā)成本要素、開發(fā)過程成本或語(yǔ)句行數(shù),下面我們分別進(jìn)行介紹:(一)重置成本法79(1)開發(fā)成本要素進(jìn)行評(píng)估的計(jì)算公式如下:
重置全價(jià)=∑(實(shí)耗材料量×現(xiàn)時(shí)價(jià)格)+∑(實(shí)耗工時(shí)×現(xiàn)行工時(shí)費(fèi)用)+∑(原勞務(wù)消耗量×現(xiàn)時(shí)收費(fèi)標(biāo)準(zhǔn))(1)開發(fā)成本要素進(jìn)行評(píng)估的計(jì)算公式如下:
重置全價(jià)=∑80(2)開發(fā)過程成本評(píng)估方法如下:根據(jù)軟件開發(fā)過程系統(tǒng)分析、系統(tǒng)設(shè)計(jì)、程序設(shè)計(jì)和軟件測(cè)試的四個(gè)階段,按每個(gè)階段的工作量和每個(gè)工作量的成本來計(jì)算各階段成本,各階段的成本之和為總成本。具體的過程成本估算步驟為:(2)開發(fā)過程成本評(píng)估方法如下:81功能分解。把軟件功能細(xì)化、分解,各功能的實(shí)現(xiàn)均有系統(tǒng)分析、系統(tǒng)設(shè)計(jì)、程序設(shè)計(jì)和軟件測(cè)試四個(gè)階段。各功能工作量計(jì)算。拆分每個(gè)功能為以上四個(gè)階段的各自工作量;計(jì)算工作量成本。工作量成本和工作參與人員有關(guān),同時(shí)受市場(chǎng)供給影響;功能分解。把軟件功能細(xì)化、分解,各功能的實(shí)現(xiàn)均有系統(tǒng)分析、系82(3)語(yǔ)句行數(shù)評(píng)估方法如下:語(yǔ)句行數(shù)評(píng)估方法計(jì)算公式為:軟件重置全價(jià)=工作日成本×工作日數(shù)。其中,工作日數(shù)=編碼行數(shù)÷日工作量定額(單位是行/日)。這里要求日工作量定額合理、準(zhǔn)確、穩(wěn)定、否則影響評(píng)估價(jià)值的準(zhǔn)確性。(3)語(yǔ)句行數(shù)評(píng)估方法如下:83(二)收益現(xiàn)值法收益現(xiàn)值法是指通過估算被評(píng)估資產(chǎn)的未來預(yù)期收益折算成現(xiàn)值。收益期限和預(yù)期收益額由評(píng)估人員分析預(yù)測(cè)評(píng)估對(duì)象的未來經(jīng)營(yíng)收益情況確定。(二)收益現(xiàn)值法84(三)現(xiàn)行市場(chǎng)法。該法是通過比較類似的軟件在自愿交易下的價(jià)格來確定軟件的價(jià)值。應(yīng)用這種方法評(píng)估計(jì)算機(jī)軟件的前提條件是,市場(chǎng)上必須有與評(píng)估對(duì)象類比的同類軟件的市場(chǎng)價(jià)格可供參考。運(yùn)用這種方法,被評(píng)估的軟件通常不是新軟件,而是已有一定的流通年限。(三)現(xiàn)行市場(chǎng)法。該法是通過比較類似的軟件在自愿交易下的價(jià)格85四、軟件風(fēng)險(xiǎn)評(píng)估通常軟件開發(fā)人員在開發(fā)軟件時(shí),總認(rèn)為每件事都會(huì)按計(jì)劃一樣的進(jìn)行。但事實(shí)卻難以預(yù)料,在軟件開發(fā)時(shí)總有意想不到的事發(fā)生,軟件開發(fā)是一項(xiàng)創(chuàng)造性的工作,其本身意味著不確定性,有無法預(yù)測(cè)的事件發(fā)生。如果這些突發(fā)事件引起軟件項(xiàng)目脫離正常運(yùn)作軌道,那就會(huì)導(dǎo)致軟件項(xiàng)目的失敗。四、軟件風(fēng)險(xiǎn)評(píng)估86軟件項(xiàng)目管理存在著風(fēng)險(xiǎn),在軟件開發(fā)的過程中開發(fā)進(jìn)度、預(yù)算、產(chǎn)品的功能、產(chǎn)品的性能或?qū)崟r(shí)運(yùn)行的效能會(huì)有風(fēng)險(xiǎn)。所以我們應(yīng)提前重視風(fēng)險(xiǎn),并加強(qiáng)防范,最大限度減少風(fēng)險(xiǎn)發(fā)生的機(jī)率。進(jìn)行風(fēng)險(xiǎn)管理是軟件項(xiàng)目中減少風(fēng)險(xiǎn)發(fā)生的重要手段。軟件項(xiàng)目管理存在著風(fēng)險(xiǎn),在軟件開發(fā)的過程中開發(fā)進(jìn)度、預(yù)算、產(chǎn)87(一)風(fēng)險(xiǎn)管理風(fēng)險(xiǎn)具有不確定性和損失性。風(fēng)險(xiǎn)發(fā)生的時(shí)期與發(fā)生的情況是難以預(yù)料的,每個(gè)風(fēng)險(xiǎn)發(fā)生的結(jié)果也各有區(qū)別,風(fēng)險(xiǎn)帶來的損失情況也不同。要考慮到采取的方法,技術(shù),工具,配備的人力,物力,在質(zhì)量上應(yīng)達(dá)到何種程度。風(fēng)險(xiǎn)的類型包括項(xiàng)目風(fēng)險(xiǎn),技術(shù)風(fēng)險(xiǎn),商業(yè)風(fēng)險(xiǎn),管理風(fēng)險(xiǎn)和預(yù)算風(fēng)險(xiǎn)等。風(fēng)險(xiǎn)管理包括風(fēng)險(xiǎn)識(shí)別、風(fēng)險(xiǎn)評(píng)估、風(fēng)險(xiǎn)處理和風(fēng)險(xiǎn)監(jiān)控。(一)風(fēng)險(xiǎn)管理88風(fēng)險(xiǎn)識(shí)別是提出一個(gè)潛在破壞項(xiàng)目進(jìn)度的風(fēng)險(xiǎn)列表。主要涉及到以下幾個(gè)方面的檢查:產(chǎn)品規(guī)模風(fēng)險(xiǎn)檢查;業(yè)務(wù)影響風(fēng)險(xiǎn)檢查;與客戶相關(guān)的風(fēng)險(xiǎn)檢查;過程風(fēng)險(xiǎn)檢查;技術(shù)風(fēng)險(xiǎn)檢查;開發(fā)環(huán)境風(fēng)險(xiǎn)檢查;與人員的模式和經(jīng)驗(yàn)有關(guān)的風(fēng)險(xiǎn)檢查等。識(shí)別風(fēng)險(xiǎn)的方法常用的有風(fēng)險(xiǎn)識(shí)別問詢法(座談法、專家法)、財(cái)務(wù)報(bào)表法、流程圖法、現(xiàn)場(chǎng)觀察法、相關(guān)部門配合法和環(huán)境分析法等。風(fēng)險(xiǎn)識(shí)別是提出一個(gè)潛在破壞項(xiàng)目進(jìn)度的風(fēng)險(xiǎn)列表。主要涉及到以下89(二)風(fēng)險(xiǎn)評(píng)估風(fēng)險(xiǎn)評(píng)估是對(duì)識(shí)別的風(fēng)險(xiǎn)進(jìn)行估計(jì)和評(píng)價(jià),估計(jì)一個(gè)風(fēng)險(xiǎn)出現(xiàn)的可能性的大小及由此帶來的種種影響,同時(shí)判定風(fēng)險(xiǎn)的級(jí)別,確定該風(fēng)險(xiǎn)的經(jīng)濟(jì)意義和處理的費(fèi)用與效用的分析。我們可以從成本、進(jìn)度和性能等方面對(duì)風(fēng)險(xiǎn)進(jìn)行評(píng)價(jià),依據(jù)風(fēng)險(xiǎn)描述、概率和帶來的影響對(duì)每個(gè)風(fēng)險(xiǎn)做出盡量準(zhǔn)確的判斷。(二)風(fēng)險(xiǎn)評(píng)估90風(fēng)險(xiǎn)處理常用的方法有,風(fēng)險(xiǎn)控制法,積極主動(dòng)采取措施避免風(fēng)險(xiǎn),消滅風(fēng)險(xiǎn)采用緊急的方案把風(fēng)險(xiǎn)降到最低。風(fēng)險(xiǎn)自留,當(dāng)風(fēng)險(xiǎn)量不是很大時(shí),可余留風(fēng)險(xiǎn)。風(fēng)險(xiǎn)轉(zhuǎn)移。風(fēng)險(xiǎn)處理常用的方法有,風(fēng)險(xiǎn)控制法,積極主動(dòng)采取措施避免風(fēng)險(xiǎn),91風(fēng)險(xiǎn)監(jiān)控是對(duì)風(fēng)險(xiǎn)的過程進(jìn)行監(jiān)控,這主要靠管理者的經(jīng)驗(yàn)來實(shí)施。例如開發(fā)人員的離職率較高,管理者可與在職人員進(jìn)行協(xié)商,了解人員流動(dòng)的原因,在項(xiàng)目開始前把該原因列入風(fēng)險(xiǎn)計(jì)劃。項(xiàng)目開始時(shí)作好人員流動(dòng)的準(zhǔn)備,采取措施確保有人員離開時(shí)能繼續(xù)工作。制定每個(gè)計(jì)劃的文檔,并對(duì)其進(jìn)行分析和總結(jié)。同時(shí)對(duì)一些關(guān)鍵崗位的開發(fā)人員做好后繼人員的培養(yǎng),一旦他們離開有人員接替工作。風(fēng)險(xiǎn)監(jiān)控是對(duì)風(fēng)險(xiǎn)的過程進(jìn)行監(jiān)控,這主要靠管理者的經(jīng)驗(yàn)來實(shí)施。92軟件工程管理隨著全球軟件業(yè)的飛速發(fā)展,用戶對(duì)軟件的功能和規(guī)模等方面都提出了更高的要求。原有的“軟件作坊”的小規(guī)模生產(chǎn)已經(jīng)不能適應(yīng)社會(huì)發(fā)展需求,同時(shí)軟件工程還是一個(gè)復(fù)雜的、要素相互關(guān)聯(lián)的系統(tǒng)性工程。軟件開發(fā)不同于其他產(chǎn)品的制造,軟件開發(fā)的整個(gè)過程都是設(shè)計(jì)過程;軟件開發(fā)不需要使用大量的物質(zhì)資源,而主要是人力資源;并且,軟件開發(fā)的產(chǎn)品只是程序代碼和技術(shù)文件,并沒有其他的物質(zhì)結(jié)果。軟件工程管理隨著全球軟件業(yè)的飛速發(fā)展,用戶對(duì)軟件的功能和規(guī)93如果能對(duì)整個(gè)過程進(jìn)行有效地、科學(xué)地管理,必然會(huì)產(chǎn)生意想不到的效益。軟件工程管理的目的是優(yōu)化軟件工程要素的組織結(jié)構(gòu),降低工程成本,加快進(jìn)度,提高軟件工程質(zhì)量,并把軟件工程的風(fēng)險(xiǎn)減小到最低限度。從現(xiàn)有情況看來,軟件公司大多在軟件開發(fā)與維護(hù)的過程中引入工程的思想和項(xiàng)目管理的方法,而且他們都已經(jīng)發(fā)現(xiàn)了軟件工程管理帶來的好處。所以說,軟件質(zhì)量的好壞,不僅取決于所采用的技術(shù),更決定于管理的好壞。如果能對(duì)整個(gè)過程進(jìn)行有效地、科學(xué)地管理,必然會(huì)產(chǎn)生意想不到的94本章主要介紹如下內(nèi)容:
軟件項(xiàng)目管理軟件計(jì)劃軟件質(zhì)量管理軟件經(jīng)濟(jì)學(xué)本章主要介紹如下內(nèi)容:軟件項(xiàng)目管理95第一節(jié)軟件項(xiàng)目管理
一、
軟件項(xiàng)目管理(一)軟件項(xiàng)目管理的定義軟件項(xiàng)目管理是為了使軟件項(xiàng)目能夠按照預(yù)定的成本、進(jìn)度、質(zhì)量順利完成,而對(duì)成本、人員、進(jìn)度、質(zhì)量、風(fēng)險(xiǎn)等進(jìn)行分析和管理的活動(dòng)。第一節(jié)軟件項(xiàng)目管理一、
軟件項(xiàng)目管理96管理行為是伴隨著人類的出現(xiàn)同步發(fā)展的,而管理科學(xué)和管理理論體系的形成卻不是很長(zhǎng),軟件項(xiàng)目的管理實(shí)踐和理論發(fā)展史就更短??傮w來說,軟件項(xiàng)目管理還處在一個(gè)實(shí)踐的階段、發(fā)展的階段,但是軟件項(xiàng)目管理已經(jīng)充分體現(xiàn)了其蘊(yùn)涵的科學(xué)性、技術(shù)性和藝術(shù)性。管理行為是伴隨著人類的出現(xiàn)同步發(fā)展的,而管理科學(xué)和管理理論體97軟件項(xiàng)目管理不同于其它普通的工程項(xiàng)目,它屬于智力密集型活動(dòng),其中,人員、抽象的文檔和程序代碼是管理的主要對(duì)象。因此,軟件項(xiàng)目管理與其它的工程項(xiàng)目管理相比有其自身的獨(dú)特性,在實(shí)踐中,軟件工程管理人員不能照抄照搬,應(yīng)做到因地制宜,確保管理行為具有針對(duì)性。軟件項(xiàng)目管理不同于其它普通的工程項(xiàng)目,它屬于智力密集型活動(dòng),98(二)軟件項(xiàng)目管理的目的曾經(jīng)有人這樣定義項(xiàng)目管理,它指“在項(xiàng)目活動(dòng)中運(yùn)用一系列的知識(shí)、技能、工具和技術(shù),以滿足或超過相關(guān)利益者對(duì)項(xiàng)目的要求”,顯然該定義給出了項(xiàng)目管理涉及的范疇和需要達(dá)到的目標(biāo)。我們知道,對(duì)于任何項(xiàng)目,項(xiàng)目管理的精髓都是成本、工期和質(zhì)量,三者之間相互關(guān)聯(lián)。(二)軟件項(xiàng)目管理的目的99但是最終的目標(biāo)都是降低成本,增加效益,客戶滿意且公司獲利。按期完成軟件項(xiàng)目,增強(qiáng)用戶對(duì)軟件開發(fā)方的信任。保質(zhì)保量,確保軟件產(chǎn)品滿足用戶需求。由此看來,是否有一套科學(xué)的、有效的項(xiàng)目管理手段和訓(xùn)練有素的管理隊(duì)伍將直接影響到軟件工程的成功與否。因此,項(xiàng)目管理已經(jīng)被公認(rèn)為是IT公司的核心競(jìng)爭(zhēng)力之一。但是最終的目標(biāo)都是降低成本,增加效益,客戶滿意且公司獲利。100(三)軟件項(xiàng)目管理的要素1.
三大基本要素(TCQ)軟件項(xiàng)目管理的三大要素是時(shí)間(Time)、成本(Cost)和質(zhì)量(Quality),三者相互關(guān)聯(lián),相互制約,都有各自的內(nèi)涵。(三)軟件項(xiàng)目管理的要素101項(xiàng)目的時(shí)間通常用計(jì)劃進(jìn)度表來表示,它是一個(gè)二維表。一維是時(shí)間,另一維是組成項(xiàng)目的基本活動(dòng)的集合?;顒?dòng)在整個(gè)項(xiàng)目周期的一定時(shí)間段中存在。有時(shí)在項(xiàng)目計(jì)劃進(jìn)度表中加上基線(節(jié)點(diǎn)),用來描述項(xiàng)目中某些具有重要意義的活動(dòng)最后完成期限。成本是軟件項(xiàng)目所需款項(xiàng)。項(xiàng)目的時(shí)間通常用計(jì)劃進(jìn)度表來表示,它是一個(gè)二維表。一維是時(shí)間102項(xiàng)目都會(huì)有一個(gè)成本預(yù)算,但是往往由于實(shí)際市場(chǎng)競(jìng)爭(zhēng)等因素的干擾,迫使軟件開發(fā)方為獲得項(xiàng)目而不切實(shí)際的降低預(yù)算成本,甚至誘發(fā)軟件工程的失敗。軟件項(xiàng)目的成本一般包括人力成本、設(shè)備費(fèi)用和分包費(fèi)用等等,其中人力費(fèi)用所占的比例較大。人力費(fèi)用在成本預(yù)算時(shí)一般較難把握,主要因?yàn)檐浖?xiàng)目的人員工作量計(jì)算復(fù)雜,且單位工作量成本的不確定性強(qiáng)。項(xiàng)目都會(huì)有一個(gè)成本預(yù)算,但是往往由于實(shí)際市場(chǎng)競(jìng)爭(zhēng)等因素的干擾103質(zhì)量相對(duì)用戶需求而言,一般質(zhì)量好壞的評(píng)判用戶意見更有說服力。用戶需求和軟件開發(fā)人員對(duì)軟件系統(tǒng)建立的模型的偏差是客觀存在的,而且不可能完全消除。所以,對(duì)用戶需求描述的嚴(yán)格定義、多次反饋和精確說明是必要的,它是軟件能否滿足用戶需求的基本保證。質(zhì)量相對(duì)用戶需求而言,一般質(zhì)量好壞的評(píng)判用戶意見更有說服力。104有時(shí),人們把時(shí)間、成本、質(zhì)量和軟件工作范圍并稱為軟件項(xiàng)目管理的四大要素,可見軟件工作范圍對(duì)于軟件項(xiàng)目管理有重要的意義。軟件工作范圍是指軟件的用途、以及對(duì)軟件的要求。主要包括軟件的功能、性能、接口和可靠性四個(gè)方面。軟件工作范圍一般由計(jì)劃人員確定,要用無二義性的語(yǔ)言來描述。軟件工作范圍給出了對(duì)“完成哪些工作就可以達(dá)到項(xiàng)目的目標(biāo)?”或“完成哪些工作項(xiàng)目就可以結(jié)束了?”等問題的描述。有時(shí),人們把時(shí)間、成本、質(zhì)量和軟件工作范圍并稱為軟件項(xiàng)目管理105具體的說,軟件工作范圍包括軟件功能、軟件性能、接口和軟件可靠性:軟件功能:根據(jù)用戶需求確定,盡可能精細(xì)。軟件性能:處理時(shí)間的約束、存儲(chǔ)限制、以及依賴于機(jī)器的某些特性。接口:硬件、軟件、人。計(jì)劃人員要充分考慮各個(gè)接口的性質(zhì)及復(fù)雜程度,以確定對(duì)開發(fā)資源、成本和進(jìn)度的各種影響。軟件的可靠性。具體的說,軟件工作范圍包括軟件功能、軟件性能、接口和軟件可靠1062.
要素之間的關(guān)系軟件項(xiàng)目管理的要素之間是相互關(guān)聯(lián)、相互制約的。一般來說:
項(xiàng)目的工作范圍越大,花費(fèi)的成本越大,花費(fèi)的時(shí)間越長(zhǎng),但是與軟件項(xiàng)目的質(zhì)量沒有必然的關(guān)系。軟件項(xiàng)目的時(shí)間越長(zhǎng)、越充裕,花費(fèi)的成本越高,一般也能提高軟件項(xiàng)目的質(zhì)量。軟件項(xiàng)目的成本是軟件質(zhì)量的基本保證。軟件質(zhì)量的提高需要軟件項(xiàng)目的時(shí)間和成本的強(qiáng)力支撐。2.
要素之間的關(guān)系107總而言之,軟件項(xiàng)目的追求的最佳狀況是“多、快、好、省”。“多”指工作范圍大,“快”指時(shí)間短、“好”指質(zhì)量高,“省”指成本低。相互之間的關(guān)聯(lián)性告訴我們,提高一個(gè)指標(biāo)的同時(shí)會(huì)降低另一個(gè)指標(biāo),所以實(shí)際上這種理想的情況很難達(dá)到。因此,在軟件項(xiàng)目的實(shí)施中,我們要根據(jù)具體情況對(duì)不同要素的性能參數(shù)作取舍。
總而言之,軟件項(xiàng)目的追求的最佳狀況是“多、快、好、省”。108(四)軟件項(xiàng)目管理的內(nèi)容軟件項(xiàng)目管理的基本內(nèi)容是軟件配置管理、軟件質(zhì)量管理、軟件風(fēng)險(xiǎn)管理及開發(fā)人員管理四方面,他們貫穿軟件開發(fā)的整個(gè)過程。(四)軟件項(xiàng)目管理的內(nèi)容109(五)軟件項(xiàng)目管理的組織形式為了使軟件項(xiàng)目能夠按照計(jì)劃順利完成,項(xiàng)目組織是管理行為的主體,它在管理過程中具有非常重要的地位,它協(xié)調(diào)矛盾,提供保證和資源??梢赃@樣說,采用何種組織模式進(jìn)行管理對(duì)軟件項(xiàng)目管理過程的成功與否相當(dāng)重要。項(xiàng)目管理組織形式包括項(xiàng)目管理委員會(huì)、項(xiàng)目管理小組、項(xiàng)目評(píng)審小組和軟件產(chǎn)品項(xiàng)目組。
(五)軟件項(xiàng)目管理的組織形式110(五)軟件項(xiàng)目管理開發(fā)階段軟件項(xiàng)目管理開發(fā)包含以下幾個(gè)階段:總體規(guī)劃,項(xiàng)目立項(xiàng),需求分析,系統(tǒng)分析,系統(tǒng)設(shè)計(jì),編碼實(shí)現(xiàn),項(xiàng)目測(cè)試,文檔制作,項(xiàng)目發(fā)布,項(xiàng)目版本化發(fā)布。
(五)軟件項(xiàng)目管理開發(fā)階段1111、總體規(guī)劃規(guī)劃項(xiàng)目工作的內(nèi)容,規(guī)定工作范圍及成果,確定目標(biāo)市場(chǎng)、技術(shù)指標(biāo)和應(yīng)用要求,明確實(shí)施方案,技術(shù)可行性及涉及的各種資源,估算項(xiàng)目成本。2、項(xiàng)目立項(xiàng)產(chǎn)品部對(duì)開發(fā)的項(xiàng)目提交申請(qǐng)及相關(guān)項(xiàng)目資料,由相關(guān)人員對(duì)該項(xiàng)目進(jìn)行一系列的風(fēng)險(xiǎn)評(píng)估。產(chǎn)品部進(jìn)行詳細(xì)進(jìn)度計(jì)劃安排,落實(shí)時(shí)間進(jìn)度、資源、技術(shù)、資金和費(fèi)用等。最后所有的項(xiàng)目申請(qǐng)資料、風(fēng)險(xiǎn)評(píng)估報(bào)告及產(chǎn)品進(jìn)度計(jì)劃都要報(bào)給公司上級(jí)領(lǐng)導(dǎo)審批,進(jìn)行立項(xiàng)評(píng)審。立項(xiàng)通過的項(xiàng)目才能進(jìn)入正式的開發(fā)工作。
1、總體規(guī)劃1123、需求分析根據(jù)項(xiàng)目需求報(bào)告界定工作范圍和應(yīng)用方案的設(shè)計(jì)思路,進(jìn)一步深入細(xì)化應(yīng)用方案,描述將要開發(fā)出的計(jì)算機(jī)系統(tǒng)中包含的各項(xiàng)業(yè)務(wù)是如何做的,及業(yè)務(wù)流程、相關(guān)理論、運(yùn)算公式、原理、業(yè)務(wù)數(shù)據(jù)、單據(jù)報(bào)表格式等。
3、需求分析1134、系統(tǒng)分析根據(jù)項(xiàng)目需求分析,對(duì)將要建立的滿足用戶需求的計(jì)算機(jī)系統(tǒng)進(jìn)行分析。在系統(tǒng)分析過程中采用面向?qū)ο蠓治黾夹g(shù)(OOA)劃分需求的問題域,對(duì)每一個(gè)問題域進(jìn)行分析和抽象,對(duì)其中的事物和它們之間的關(guān)系產(chǎn)生正確的認(rèn)識(shí),找出描述問題域及其系統(tǒng)責(zé)任所需的類及對(duì)象,定義這些類和對(duì)象的屬性與服務(wù),以及它們之間所形成的結(jié)構(gòu)、靜態(tài)聯(lián)系和動(dòng)態(tài)聯(lián)系。最終產(chǎn)生一個(gè)符合用戶需求,并能夠直接反映問題域和系統(tǒng)責(zé)任的面向?qū)ο蟮姆治瞿P汀?/p>
4、系統(tǒng)分析1145、系統(tǒng)設(shè)計(jì)根據(jù)項(xiàng)目需求分析和系統(tǒng)分析,針對(duì)具體實(shí)現(xiàn)中的人機(jī)界面、數(shù)據(jù)存儲(chǔ)、任務(wù)管理等內(nèi)容,運(yùn)用面向?qū)ο笤O(shè)計(jì)技術(shù)(OOD)進(jìn)行系統(tǒng)設(shè)計(jì)。主要包括UI設(shè)計(jì)、對(duì)象設(shè)計(jì)和數(shù)據(jù)庫(kù)表設(shè)計(jì)。
5、系統(tǒng)設(shè)計(jì)1156、編碼實(shí)現(xiàn)根據(jù)系統(tǒng)設(shè)計(jì)的結(jié)果,運(yùn)用面向?qū)ο蟮姆椒ㄟM(jìn)行程序編碼(OOP)以實(shí)現(xiàn)系統(tǒng)設(shè)計(jì)的內(nèi)容。編碼過程就是用具體的數(shù)據(jù)結(jié)構(gòu)來定義對(duì)象的屬性,用具體的語(yǔ)言來實(shí)現(xiàn)服務(wù)流程圖所表示的算法。在對(duì)象設(shè)計(jì)階段形成的對(duì)象類和關(guān)系最后被轉(zhuǎn)換成特殊的程序設(shè)計(jì)語(yǔ)言、數(shù)據(jù)庫(kù)或者硬件的實(shí)現(xiàn)。
6、編碼實(shí)現(xiàn)1167、項(xiàng)目測(cè)試對(duì)系統(tǒng)分析、系統(tǒng)設(shè)計(jì)、程序編碼等運(yùn)用面向?qū)ο蟮姆椒ㄟM(jìn)行測(cè)試(OOT)。項(xiàng)目的測(cè)試工作貫穿項(xiàng)目的整個(gè)開發(fā)過程。主要包括:分析(OOA)測(cè)試、設(shè)計(jì)(OOD)測(cè)試和編碼(OOP)測(cè)試,以及集成測(cè)試和系統(tǒng)測(cè)試。
7、項(xiàng)目測(cè)試1178、文檔制作跟隨項(xiàng)目開發(fā)過程應(yīng)產(chǎn)生的文檔主要包括三類:(1)開發(fā)文檔:分析、設(shè)計(jì)、編碼、測(cè)試以及各種開發(fā)管理文檔等資料;(2)用戶文檔:在線幫助,安裝指南,使用手冊(cè),技術(shù)手冊(cè),培訓(xùn)教材等;(3)宣傳資料:產(chǎn)品介紹資料,產(chǎn)品白皮書,產(chǎn)品宣傳PPT,演示光盤等。8、文檔制作1189、項(xiàng)目驗(yàn)收對(duì)完工的項(xiàng)目按照驗(yàn)收步驟進(jìn)行驗(yàn)收。驗(yàn)收過程中對(duì)項(xiàng)目的情況給予評(píng)價(jià)。
10、項(xiàng)目版本化發(fā)布
對(duì)驗(yàn)收通過的項(xiàng)目進(jìn)行版本控制,整理項(xiàng)目版本所包含的內(nèi)容并版本化,發(fā)布產(chǎn)品發(fā)布通告。9、項(xiàng)目驗(yàn)收119二、人員管理軟件項(xiàng)目管理中的人員管理活動(dòng)是動(dòng)態(tài)的過程,每個(gè)人均在一定范圍進(jìn)行著管理的活動(dòng)。項(xiàng)目的參與者有高級(jí)管理者、項(xiàng)目(技術(shù))管理者、開發(fā)人員、客戶與最終用戶。值得注意的是人員管理屬于軟件項(xiàng)目管理的內(nèi)容之一,在此,我們對(duì)人員管理作近一步闡述。人員管理是軟件項(xiàng)目管理的核心內(nèi)容,我們?cè)谲浖?xiàng)目管理過程中強(qiáng)調(diào)以人為本,沒有成功的人員管理就沒有軟件項(xiàng)目的成功。
二、人員管理120對(duì)于軟件項(xiàng)目的管理者來說,要求要具有一定的素質(zhì),這是一些基本要求。具體要求如下:(1)調(diào)動(dòng)每個(gè)成員積極性的能力;(2)組織能力,指能全局統(tǒng)籌項(xiàng)目的實(shí)施;(3)協(xié)調(diào)能力,磨合項(xiàng)目成分之間的關(guān)系,做到系統(tǒng)整體性能最佳;
對(duì)于軟件項(xiàng)目的管理者來說,要求要具有一定的素質(zhì),這是一些基本121(4)創(chuàng)新能力,鼓勵(lì)項(xiàng)目成員創(chuàng)造并感到有一種創(chuàng)造力;(5)解決問題的能力,一個(gè)好的項(xiàng)目管理者要能及時(shí)發(fā)現(xiàn)問題,系統(tǒng)的組織人員解決問題;(6)成就感,管理者要使項(xiàng)目組的成員都有成就感;(7)具有項(xiàng)目的相關(guān)技術(shù)能力;軟件技能等。(4)創(chuàng)新能力,鼓勵(lì)項(xiàng)目成員創(chuàng)造并感到有一種創(chuàng)造力;122軟件人員要有一定的創(chuàng)造力和技術(shù)水平。BillCurtis認(rèn)為“不同的人員完成程序設(shè)計(jì)任務(wù)的能力上存在巨大的可變性”。對(duì)于軟件編程人員來說要有一定的編程能力,這是軟件編程人員最起碼的要求,要有良好的編程習(xí)慣,代碼要有清晰易懂,容易維護(hù);要對(duì)相關(guān)領(lǐng)域知識(shí)有所了解,軟件人員是為某一領(lǐng)域進(jìn)行編程的,所以對(duì)這一領(lǐng)域的了解有利于軟件人員提高軟件的質(zhì)量;要有創(chuàng)新能力,它是軟件團(tuán)隊(duì)活力的體現(xiàn);項(xiàng)目中的人員要具有相互溝通與協(xié)調(diào)的能力。
軟件人員要有一定的創(chuàng)造力和技術(shù)水平。BillCurtis認(rèn)123第二節(jié)軟件計(jì)劃一、軟件計(jì)劃計(jì)劃是用來建立一個(gè)總體方向的,是用來幫助開始進(jìn)行項(xiàng)目的工作,保證這些項(xiàng)目是在朝著一個(gè)目標(biāo)前進(jìn)的。但是,所有的行動(dòng)都是圍繞項(xiàng)目進(jìn)行的。軟件計(jì)劃將那些繁重的工作分解成更小單位的相關(guān)項(xiàng)目,這些相關(guān)項(xiàng)目都是在同一時(shí)間內(nèi)以平行的狀態(tài)被執(zhí)行。軟件計(jì)劃對(duì)項(xiàng)目的分解粒度可以根據(jù)具體的情況和要求來決定。本節(jié)介紹制定軟件計(jì)劃的兩種方法:甘特圖(GanttChart)和網(wǎng)絡(luò)圖方法第二節(jié)軟件計(jì)劃一、軟件計(jì)劃124(一)甘特圖(GanttChart)甘特圖是以水平線段表示每一項(xiàng)任務(wù),線段的起始點(diǎn)表示任務(wù)的開始,結(jié)束點(diǎn)表示任務(wù)的結(jié)束,線段的長(zhǎng)度表示任務(wù)的完成時(shí)間。任務(wù)開始把線段左邊的空的小圓圈涂黑,任務(wù)結(jié)束時(shí)把線段右邊的空的小圓圈涂黑。這樣就很容易看出哪些任務(wù)已經(jīng)開始,哪些還沒有開始,哪些已經(jīng)完工。(一)甘特圖(GanttChart)125甘特圖的優(yōu)點(diǎn)是簡(jiǎn)單明了,清楚地從圖上看出任務(wù)時(shí)間上的對(duì)比關(guān)系,非常直觀方便。它的缺點(diǎn)是各個(gè)任務(wù)之間的邏輯關(guān)系無法表示清楚。如下圖所示,給出了對(duì)于包含5個(gè)任務(wù)的軟件計(jì)劃甘特圖表示,其特征是給出了項(xiàng)目任務(wù)的時(shí)序狀態(tài)。甘特圖的優(yōu)點(diǎn)是簡(jiǎn)單明了,清楚地從圖上看出任務(wù)時(shí)間上的對(duì)比關(guān)系126實(shí)用軟件工程127(二)網(wǎng)絡(luò)圖方法網(wǎng)絡(luò)圖方法PERT(ProgramEvaluationandReviewTechnique),是美國(guó)海軍和洛克希德公司60年代初發(fā)展起來的一種先進(jìn)的管理技術(shù)。在國(guó)民經(jīng)濟(jì)中已經(jīng)廣為應(yīng)用,并且受到用戶的好評(píng)。(二)網(wǎng)絡(luò)圖方法128我們來看一個(gè)例子。下面是一個(gè)網(wǎng)絡(luò)PERT圖,每一個(gè)線段表示這一個(gè)項(xiàng)目中的每一個(gè)任務(wù),線段的起始點(diǎn)和終止點(diǎn)的都連接了一個(gè)節(jié)點(diǎn),節(jié)點(diǎn)有編號(hào),線段的旁邊標(biāo)有該項(xiàng)任務(wù)的名稱和該任務(wù)所要花費(fèi)的時(shí)間單元。如0-1之間的線段表示,該任務(wù)名稱為測(cè)試計(jì)劃,所花費(fèi)的時(shí)間單元是4個(gè)單位時(shí)間。我們來看一個(gè)例子。下面是一個(gè)網(wǎng)絡(luò)PERT圖,每一個(gè)線段表示這129實(shí)用軟件工程130我們以該例分析,從節(jié)點(diǎn)5為例,從起始點(diǎn)到達(dá)節(jié)點(diǎn)5有兩條路徑它們是0-1-2-5和0-3-4-5,所用的時(shí)間單元分別是9個(gè)單位時(shí)間和11個(gè)單位時(shí)間。E調(diào)試必須等C測(cè)試和調(diào)試兩個(gè)任務(wù)都完成后才能進(jìn)行,所以E調(diào)試的最早啟動(dòng)時(shí)間是11個(gè)單位時(shí)間后。依次類推我們把每一個(gè)節(jié)點(diǎn)的最早啟動(dòng)時(shí)間標(biāo)注在該節(jié)點(diǎn)的上方得到下圖。我們以該例分析,從節(jié)點(diǎn)5為例,從起始點(diǎn)到達(dá)節(jié)點(diǎn)5有兩條路徑它131實(shí)用軟件工程132另外我們從終止點(diǎn)逆向推進(jìn)來計(jì)算各個(gè)節(jié)點(diǎn)的最遲啟動(dòng)時(shí)間。以節(jié)點(diǎn)3為例,沿路徑8-5-4-3倒退到節(jié)點(diǎn)3應(yīng)為5個(gè)單元時(shí)間而沿路經(jīng)8-7-3應(yīng)為4個(gè)單位時(shí)間,所以該節(jié)點(diǎn)的最遲啟動(dòng)時(shí)間是4個(gè)單元時(shí)間。依次類推我們可以得到各個(gè)節(jié)點(diǎn)的最遲啟動(dòng)時(shí)間從下圖我們可以看到。另外我們從終止點(diǎn)逆向推進(jìn)來計(jì)算各個(gè)節(jié)點(diǎn)的最遲啟動(dòng)時(shí)間。以節(jié)點(diǎn)133實(shí)用軟件工程134通過比較兩個(gè)圖,得到節(jié)點(diǎn)0,3,7,8的最早啟動(dòng)時(shí)間和最遲啟動(dòng)時(shí)間是一樣的,也就是說這些節(jié)點(diǎn)上沒有停留的時(shí)間,這是一條耗時(shí)最長(zhǎng)的路徑,稱之為關(guān)鍵路經(jīng)。見下圖。關(guān)鍵路徑的耗時(shí)等于整個(gè)工程的耗時(shí),因此要想縮短時(shí)間,就必須找出關(guān)鍵路徑,并研究如何減少關(guān)鍵路經(jīng)的耗時(shí)。通過比較兩個(gè)圖,得到節(jié)點(diǎn)0,3,7,8的最早啟動(dòng)時(shí)間和最遲啟135實(shí)用軟件工程136(三)軟件計(jì)劃制定總體原則創(chuàng)建項(xiàng)目計(jì)劃會(huì)迫使您早在編寫代碼之前就考慮如何構(gòu)建您的系統(tǒng)——減少項(xiàng)目的風(fēng)險(xiǎn),因?yàn)槟呀?jīng)考慮了各種策略和方法,并且已經(jīng)選擇了最有意義的一項(xiàng)。您的目的不應(yīng)該只是不花力氣產(chǎn)生一個(gè)計(jì)劃;它應(yīng)該是一個(gè)實(shí)際可行的計(jì)劃,您可以根據(jù)它來成功管理您的項(xiàng)目。(三)軟件計(jì)劃制定總體原則137在軟件計(jì)劃制定時(shí),總體上應(yīng)該注意:軟件過程驅(qū)動(dòng)軟件計(jì)劃。每個(gè)軟件過程都有一個(gè)不同的集合,它包括組織團(tuán)隊(duì)的活動(dòng)方法以及規(guī)劃項(xiàng)目常用的技術(shù)。不同的過程有不同的計(jì)劃,通常軟件計(jì)劃的制定由軟件過程驅(qū)動(dòng)。在軟件計(jì)劃制定時(shí),總體上應(yīng)該注意:138軟件計(jì)劃由粗到細(xì)。軟件計(jì)劃的制定遵循由粗到細(xì),不斷精化的原則。首先制定一個(gè)粗粒度的、確定項(xiàng)目高級(jí)活動(dòng)和預(yù)期里程碑的計(jì)劃,為了便于計(jì)劃的實(shí)施和貫徹,再對(duì)粗粒度的計(jì)劃進(jìn)行細(xì)化。一般說來,較小粒度的計(jì)劃便于實(shí)施,完成的可靠性高。軟件計(jì)劃由粗到細(xì)。軟件計(jì)劃的制定遵循由粗到細(xì),不斷精化的原則139計(jì)劃實(shí)施者和計(jì)劃制定者的統(tǒng)一。實(shí)施者和制訂者的分離容易導(dǎo)致兩者的相互扯皮,甚至計(jì)劃流產(chǎn)。創(chuàng)建項(xiàng)目計(jì)劃的最佳人員是負(fù)責(zé)實(shí)施該計(jì)劃的人員。當(dāng)規(guī)劃由一個(gè)人創(chuàng)建而由另一個(gè)人實(shí)施時(shí),如果項(xiàng)目不能按時(shí)完成或超出預(yù)算,他們不太會(huì)相信計(jì)劃,而很有可能會(huì)責(zé)備它。也就是說,參與項(xiàng)目的每個(gè)人都應(yīng)該投入到項(xiàng)目計(jì)劃的開發(fā)和進(jìn)展中。計(jì)劃實(shí)施者和計(jì)劃制定者的統(tǒng)一。實(shí)施者和制訂者的分離容易導(dǎo)致兩140第三節(jié)軟件質(zhì)量管理
近些年來,軟件人員正不懈的追求軟件質(zhì)量,雖然付出了巨大的努力,但是收效甚微。于是,大部分軟件企業(yè)試圖通過壯大軟件測(cè)試隊(duì)伍,希望通過加大測(cè)試力度來提高軟件質(zhì)量,然而,軟件測(cè)試不能從根本上提高軟件質(zhì)量。究其原因,人們似乎對(duì)于軟件質(zhì)量的概念和內(nèi)涵并不是很清楚,就更談不上采取有效的方法提高軟件的質(zhì)量。我們認(rèn)為,實(shí)施軟件質(zhì)量管理是軟件開發(fā)過程不可缺少的一個(gè)重要環(huán)節(jié)。第三節(jié)軟件質(zhì)量管理近些年來,軟件人員正不懈的追求軟件質(zhì)141一、軟件質(zhì)量及其評(píng)價(jià)傳統(tǒng)上,人們對(duì)軟件質(zhì)量的評(píng)價(jià)參數(shù)包括軟件功能是否齊全、結(jié)構(gòu)是否合理和層次是否分明等方面。不難發(fā)現(xiàn),這些評(píng)價(jià)的描述是含糊不清的,不能對(duì)軟件的質(zhì)量做定性的分析。不精確的軟件評(píng)價(jià)給用戶和軟件開發(fā)人員均帶來消極作用,對(duì)用戶而言,沒有明確的軟件評(píng)價(jià),用戶就沒有選購(gòu)軟件的依據(jù);同時(shí),軟件開發(fā)人員沒有軟件質(zhì)量的評(píng)價(jià)標(biāo)準(zhǔn),在軟件的開發(fā)過程中就無“法”可依。因此,軟件質(zhì)量評(píng)價(jià)標(biāo)準(zhǔn)的制定有其必要性,也有重要意義。一、軟件質(zhì)量及其評(píng)價(jià)142美國(guó)的B.W.Boehm和R.Brown提出了三個(gè)層次的評(píng)價(jià)度量模型,三個(gè)層次分別是軟件質(zhì)量要素、準(zhǔn)則和度量。在此我們對(duì)第一層次——軟件質(zhì)量要素作簡(jiǎn)單介紹。美國(guó)的B.W.Boehm和R.Brown提出了三個(gè)層次的評(píng)價(jià)143把軟件質(zhì)量分解成六個(gè)要素,通過如下的六個(gè)要素來評(píng)判軟件質(zhì)量:1.功能性:軟件功能來源于軟件的用戶需求,用戶需求分為顯性需求和隱性需求,隱性需求泛指用戶潛在的卻不能陳述的軟件需求;功能性是軟件滿足用戶需求的程度描述。把軟件質(zhì)量分解成六個(gè)要素,通過如下的六個(gè)要素來評(píng)判軟件質(zhì)量:1442.可靠性:軟件可靠性包含兩個(gè)方面的內(nèi)容,其一、軟件在規(guī)定的運(yùn)行環(huán)境下正常工作的程度;其二、軟件在非法操作或故障發(fā)生時(shí)繼續(xù)運(yùn)行的程度。軟件可靠性在軟件工程中具有較大的實(shí)際意義,可靠性差的軟件在故障發(fā)生時(shí)不能正常運(yùn)行,這將使得軟件功能喪失。在必要時(shí),可以建立軟件保障系統(tǒng),從根本上提高軟件可靠性。2.可靠性:軟件可靠性包含兩個(gè)方面的內(nèi)容,其一、軟件在規(guī)定的1453.易使用性:易使用性的內(nèi)容包括軟件用戶界面的友好性和軟件交互性,交互性和友好性是衡量軟件使用是否方便的兩個(gè)重要參數(shù)。4.效率:軟件效率指軟件運(yùn)行時(shí)對(duì)所需的計(jì)算機(jī)資源利用的有效程度,軟件效率的衡量通常從時(shí)間和存儲(chǔ)需求兩方面入手。3.易使用性:易使用性的內(nèi)容包括軟件用戶界面的友好性和軟件交1465.可維護(hù)性:軟件的可維護(hù)性是指用戶需求改變或軟件環(huán)境發(fā)生變更時(shí),軟件系統(tǒng)能進(jìn)行相應(yīng)修改的容易程度,可維護(hù)性一般與軟件的可讀性、可理解性和可修改性相關(guān)。5.可維護(hù)性:軟件的可維護(hù)性是指用戶需求改變或軟件環(huán)境發(fā)生變1476.可移植性:可移植性指軟件整體或部分對(duì)運(yùn)行的系統(tǒng)和環(huán)境的依賴程度,依賴程度越高,軟件可移植性越差。6.可移植性:可移植性指軟件整體或部分對(duì)運(yùn)行的系統(tǒng)和環(huán)境的依148二、軟件質(zhì)量問題的根源雖然軟件企業(yè)沒有停止對(duì)軟件質(zhì)量的追求,但是事實(shí)表明他們并沒有在提高軟件質(zhì)量方面取得突破性進(jìn)展。二、軟件質(zhì)量問題的根源149總的來說,較多質(zhì)量不高的軟件在軟件開發(fā)中存在以下幾點(diǎn)共性:缺乏軟件產(chǎn)品檢驗(yàn)標(biāo)準(zhǔn),開發(fā)人員在提高軟件質(zhì)量上還具有一定盲目性;軟件開發(fā)人員缺乏質(zhì)量意識(shí);軟件項(xiàng)目時(shí)間短、計(jì)劃緊;軟件項(xiàng)目資金不足,開發(fā)方降低開發(fā)成本;沒有有效的軟件項(xiàng)目管理體制??偟膩碚f,較多質(zhì)量不高的軟件在軟件開發(fā)中存在以下幾點(diǎn)共性:150據(jù)有關(guān)調(diào)查顯示,國(guó)內(nèi)現(xiàn)有大部分軟件存在不同程度的質(zhì)量問題,但是如果在軟件開發(fā)過程中貫徹全面質(zhì)量管理思想,輔以有力的軟件測(cè)試,軟件質(zhì)量的提高還有較大的空間。據(jù)有關(guān)調(diào)查顯示,國(guó)內(nèi)現(xiàn)有大部分軟件存在不同程度的質(zhì)量問題,但151三、軟件質(zhì)量與CMM(一)CMM概念CMM(CapabilityMaturityModelforSoftware),英文縮寫名是SM-CMM,它指“軟件能力成熟度模型”,CMM是美國(guó)卡內(nèi)基—梅隆大學(xué)軟件工程研究所(簡(jiǎn)稱SEI)的研究成果;SEI是美國(guó)國(guó)防部出資于1984年設(shè)立。三、軟件質(zhì)量與CMM152從1986年開始,SEI針對(duì)軟件組織改善其軟件過程,特別是美國(guó)國(guó)防部對(duì)軟件承包商的能力評(píng)價(jià)問題,研究“過程成熟度框架”。1987年9月,SEI發(fā)表了關(guān)于過程成熟度框架的簡(jiǎn)要說明和成熟度調(diào)查問卷。以這一過程成熟度框架為藍(lán)本,在美國(guó)聯(lián)邦政府促進(jìn)下,從1987年到1991年在美國(guó)一些大公司的軟件組織進(jìn)行了軟件過程能力成熟度模型的評(píng)估實(shí)踐。從1986年開始,SEI針對(duì)軟件組織改善其軟件過程,特別是美153根據(jù)這4年的實(shí)踐經(jīng)驗(yàn),特別是從美國(guó)政府和工業(yè)界反饋的關(guān)于軟件過程評(píng)估的信息,SEI在原過程成熟度框架的基礎(chǔ)上開發(fā)出了“軟件能力成熟度模型(CMM)0.0版”。SEI給CMM下的定義是:對(duì)于軟件組織在定義,實(shí)現(xiàn),度量,控制和改善其軟件過程的進(jìn)程中各個(gè)發(fā)展階段的描述。根據(jù)這4年的實(shí)踐經(jīng)驗(yàn),特別是從美國(guó)政府和工業(yè)界反饋的關(guān)于軟件154這個(gè)模型便于確定軟件組織的現(xiàn)有過程能力和查找出軟件質(zhì)量及過程改進(jìn)方面的最關(guān)鍵問題,從而為選擇過程改進(jìn)戰(zhàn)略提供指南。SW-CMM為軟件企業(yè)的過程能力提供了一個(gè)階梯式的進(jìn)化框架,它基于過去所有軟件工程成果的過程改善的框架,吸取了以往軟件工程的經(jīng)驗(yàn)教訓(xùn)。它指明了一個(gè)成熟的軟件組織在軟件開發(fā)方面需要管理的那些主要工作、這些工作之間的關(guān)系、以及以怎樣的先后次序,一步一步的做好這些工作使軟件組織走向成熟,是目前國(guó)際上最流行也是最實(shí)用的軟件生產(chǎn)過程標(biāo)準(zhǔn)。這個(gè)模型便于確定軟件組織的現(xiàn)有過程能力和查找出軟件質(zhì)量及過程155(二)CMM結(jié)構(gòu)SW-CMM為軟件企業(yè)的過程能力提供了臺(tái)階式結(jié)構(gòu),共分五級(jí),分別是初始級(jí)、可重級(jí)、定義級(jí)、管理級(jí)和優(yōu)化級(jí)。初始級(jí)實(shí)際上是一個(gè)起點(diǎn),任何準(zhǔn)備按CMM結(jié)構(gòu)進(jìn)化的企業(yè)一般都處于這個(gè)起點(diǎn)上,并通過這個(gè)起點(diǎn)向可重級(jí)邁進(jìn)。除初始級(jí)外,每一級(jí)都設(shè)定了一組目標(biāo),如果達(dá)到了這組目標(biāo),則表明達(dá)到了這個(gè)成熟級(jí)別,可以向下一個(gè)級(jí)別邁進(jìn)。CMM從可重級(jí)起,每一個(gè)低的級(jí)別實(shí)現(xiàn)均是高的級(jí)別實(shí)現(xiàn)的基礎(chǔ),所以它不主張級(jí)別跨越。(二)CMM結(jié)構(gòu)156SW-CMM提供階梯式的進(jìn)化框架1.初始級(jí)初始級(jí)實(shí)際上是一個(gè)較為原始的階段,初始級(jí)的軟件過程是未加定義的隨意過程,項(xiàng)目的執(zhí)行是隨意甚至是混亂的。它的執(zhí)行沒有政策、資源等方面的保證時(shí),那么它仍然被視為初始級(jí)。SW-CMM提供階梯式的進(jìn)化框架1572.可重級(jí)可重級(jí)的管理過程包括了需求管理、項(xiàng)目管理、質(zhì)量管理、配置管理和子合同管理五個(gè)方面,可重級(jí)的焦點(diǎn)集中在軟件管理過程上。一個(gè)可管理的過程則是一個(gè)可重級(jí)的過程,一個(gè)可重級(jí)的過程則能逐漸進(jìn)化和成熟。2.可重級(jí)可重級(jí)的管理過程包括了需求管理、項(xiàng)目管理、質(zhì)量管1583.定義級(jí)定義級(jí)給出了定義執(zhí)行的步驟標(biāo)準(zhǔn),并將這些標(biāo)準(zhǔn)集成到企業(yè)軟件開發(fā)標(biāo)準(zhǔn)過程中去。所有開發(fā)的項(xiàng)目需根據(jù)這個(gè)標(biāo)準(zhǔn)過程,剪裁出該項(xiàng)目的過程,并執(zhí)行這些過程。過程的剪裁不是隨意的,在使用前需經(jīng)過企業(yè)有關(guān)人員的批準(zhǔn)。3.定義級(jí)定義級(jí)給出了定義執(zhí)行的步驟標(biāo)準(zhǔn),并將這些標(biāo)準(zhǔn)集成1594.管理級(jí)管理級(jí)的管理是量化的管理。所有過程需建立相應(yīng)的度量方式,產(chǎn)品的質(zhì)量需有明確的度量指標(biāo)。這些度量應(yīng)是詳盡的,且可用于理解和控制軟件過程和產(chǎn)品,量化控制將使軟件開發(fā)真正變成工業(yè)生產(chǎn)活動(dòng)。4.管理級(jí)管理級(jí)的管理是量化的管理。所有過程需建立相應(yīng)的度1605.優(yōu)化級(jí)優(yōu)化級(jí)的目標(biāo)是達(dá)到一個(gè)持續(xù)改善的境界。所謂持續(xù)改善是指可根據(jù)過程執(zhí)行的反饋信息來改善下一步的執(zhí)行過程,即優(yōu)化執(zhí)行步驟。如果一個(gè)企業(yè)達(dá)到了這一級(jí),那么表明該企業(yè)能夠根據(jù)實(shí)際的項(xiàng)目性質(zhì)、技術(shù)等因素,不斷調(diào)整軟件生產(chǎn)過程以求達(dá)到最佳。5.優(yōu)化級(jí)優(yōu)化級(jí)的目標(biāo)是達(dá)到一個(gè)持續(xù)改善的境界。所謂持續(xù)改161從效果而言,在上述不同階段,軟件開發(fā)生產(chǎn)的成熟程度給軟件企業(yè)帶來了完全不同的效果。從第一階段到第五個(gè)階段,軟件開發(fā)生產(chǎn)的計(jì)劃精度越來越高,每單位工程的生產(chǎn)周期越來越短,每單位工程的成本越來越低。CMM五級(jí)模型為軟件質(zhì)量的控制和質(zhì)量的提高奠定了堅(jiān)實(shí)的基礎(chǔ),它是當(dāng)前軟件質(zhì)量控制領(lǐng)域研究的一個(gè)熱點(diǎn)。從效果而言,在上述不同階段,軟件開發(fā)生產(chǎn)的成熟程度給軟件企業(yè)162第四節(jié)軟件經(jīng)濟(jì)學(xué)
一、軟件的價(jià)值觀軟件屬于商品范疇,是價(jià)值和使用價(jià)值的復(fù)合體。顯然價(jià)值是軟件開發(fā)人員智慧及腦力勞動(dòng)的結(jié)晶;使用價(jià)值特指軟件作為一種商品它具有滿足用戶的一種有用性,所以,軟件有用性程度是我們衡量軟件好壞的一個(gè)重要參數(shù)。第四節(jié)軟件經(jīng)濟(jì)學(xué)一、軟件的價(jià)值觀163但是軟件自身的特殊性使得軟件價(jià)值的評(píng)估顯得較為抽象,它不同于其它一般商品的定價(jià),軟件商品是無形的。通常我們綜合考慮影響軟件商品價(jià)值的相關(guān)因素,采用不同的評(píng)估方法了確定軟件價(jià)值。但是軟件自身的特殊性使得軟件價(jià)值的評(píng)估顯得較為抽象,它不同于164二、軟件價(jià)值評(píng)估的因素
軟件價(jià)值與軟件的成本有關(guān),但是計(jì)算機(jī)軟件給企業(yè)帶來的經(jīng)濟(jì)效益也可能受各種因素的影響而具有明顯的不確定性,這給軟件評(píng)估帶來許多困難。總而言之,我們?cè)谶M(jìn)行軟件評(píng)估時(shí),通常綜合考慮如下因素:二、軟件價(jià)值評(píng)估的因素
軟件價(jià)值與軟件的成本有關(guān),但是計(jì)1651、軟件規(guī)模:軟件規(guī)模主要指軟件的系統(tǒng)大小,其衡量指數(shù)通常包括
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 法律行業(yè)合同法與知識(shí)產(chǎn)權(quán)試題集
- 大規(guī)模數(shù)據(jù)分析與應(yīng)用實(shí)戰(zhàn)指南
- 孵化器房屋租賃合同
- 管道襯膠施工方案
- 南通環(huán)保槽鋼施工方案
- 包柱廣告施工方案
- 平面夯實(shí)施工方案
- 帶電開挖電纜施工方案
- 旋挖咬合樁施工方案
- 部分區(qū)縣一模數(shù)學(xué)試卷
- 醫(yī)療器械經(jīng)營(yíng)質(zhì)量管理規(guī)范培訓(xùn)試題及答案
- 監(jiān)理工作業(yè)務(wù)指導(dǎo)手冊(cè)(頁(yè)含圖表)
- 新大象版科學(xué)四年級(jí)下冊(cè)珍貴的淡水資源課件公開課一等獎(jiǎng)?wù)n件省賽課獲獎(jiǎng)?wù)n件
- 2023年陜西延長(zhǎng)石油(集團(tuán))有限責(zé)任公司招聘筆試題庫(kù)含答案解析
- 水稻種子生產(chǎn)技術(shù)
- 財(cái)經(jīng)紀(jì)律規(guī)范財(cái)務(wù)管理辦法
- 第四章 學(xué)習(xí)心理導(dǎo)論
- 旅游政策與法規(guī)教案
- 科創(chuàng)板開戶試題附答案
- 長(zhǎng)輸管道工序監(jiān)理作業(yè)指導(dǎo)書
- 主主題三:醫(yī)院感染控制標(biāo)準(zhǔn)執(zhí)行案例
評(píng)論
0/150
提交評(píng)論