測試員2或3人
主要職責(zé):已經(jīng)實現(xiàn)的軟件組件、構(gòu)件或系統(tǒng)進(jìn)行正確性驗證測試,整合后的系統(tǒng)的性能測試等。書寫測試報告和測試統(tǒng)計報告提請質(zhì)量監(jiān)督組復(fù)審。
技術(shù)支持2或3人
主要職責(zé):協(xié)同系統(tǒng)分析人員聽取用戶需求,對需求分析進(jìn)行參考性復(fù)審。協(xié)同測試人員進(jìn)行測試,書寫操作手冊和在線幫助,在項目交付用戶之后進(jìn)行跟蹤服務(wù)。
文檔組1或2人
主要職責(zé):對各部門產(chǎn)生的文檔進(jìn)行格式規(guī)范、版本編號和控制、存檔文件的檢索;協(xié)助質(zhì)量監(jiān)督組進(jìn)行軟件質(zhì)量監(jiān)督。 通過適當(dāng)?shù)娜藛T配備和職責(zé)劃分,能有效的降低軟件開發(fā)在后期的失控的可能性,和軟件對關(guān)鍵人員的依賴性。
軟件技術(shù)風(fēng)險
本系統(tǒng)擬訂采用的兩個重大的軟件技術(shù)是面向?qū)ο蟮臉?gòu)件和基于微軟的COM組件技術(shù)。組件和構(gòu)件技術(shù)都是為了提高軟件的可靠性和軟件的可擴(kuò)展性而采用的技術(shù)手段。從技術(shù)成熟度上說不存在風(fēng)險,但為了實現(xiàn)良好的軟件構(gòu)架和穩(wěn)定的組件,與傳統(tǒng)開發(fā)方法比較,有相當(dāng)?shù)亩嗟念~外工作需要做,這會給項目工期帶來較大的風(fēng)險。
回避和控制這部分風(fēng)險的辦法是在項目進(jìn)行的過程不斷的對該階段進(jìn)行風(fēng)險估計和指定有效的里程碑。同時采用"范例"方式提高開發(fā)人員的構(gòu)件組件的分析識別能力,適時調(diào)整構(gòu)件組件的數(shù)量和粒度。
軟件過程風(fēng)險
軟件需求階段的風(fēng)險
軟件的開發(fā)是以用戶的需求開始,在大多數(shù)情況下,用戶需求要靠軟件開發(fā)方誘導(dǎo)才能保證需求的完整,再以書面的形式形成《用戶需求》這一重要的文檔。需求分析更多的是開發(fā)方確認(rèn)需求的可行性和一致性的過程,在此階段需要和用戶進(jìn)行廣泛的交流和確認(rèn)。需求和需求分析的任何疏漏造成的損失會在軟件系統(tǒng)的后續(xù)階段被一級一級地放大,因此本階段的風(fēng)險大。
設(shè)計階段的風(fēng)險
設(shè)計的主要目的在于軟件的功能正確的反映了需求?梢娦枨蟮牟煌暾蛯π枨蠓治龅牟煌暾湾e誤,在設(shè)計階段被成倍地放大。設(shè)計階段的主要任務(wù)是完成系統(tǒng)體系結(jié)構(gòu)的定義,使之能夠完成需求階段的即定目標(biāo);另一方面也是檢驗需求的一致性和需求分析的完整性和正確性。
設(shè)計本身的風(fēng)險主要來自于系統(tǒng)分析人員。分析人員在設(shè)計系統(tǒng)結(jié)構(gòu)時過于定制,系統(tǒng)的可擴(kuò)展性較弱,會給后期維護(hù)帶來巨大的負(fù)擔(dān),和維護(hù)成本的激增。對用戶來說系統(tǒng)的使用比例會有明顯的折扣,甚至造成軟件壽命過短。反之,軟件結(jié)構(gòu)的過于靈活和通用,必然引起軟件實現(xiàn)的難度增加,系統(tǒng)的復(fù)雜度會上升,這又會在實現(xiàn)和測試階段帶來風(fēng)險,系統(tǒng)的穩(wěn)定性也會受到影響。從另一個角度上看,業(yè)務(wù)規(guī)則的變化,或說用戶需求和將來軟件運行環(huán)境的變化都是必然的情況,目前軟件設(shè)計的所謂"通用性"是否能很好的適應(yīng)將來需求和運行環(huán)境的的變化,是需要認(rèn)真折衷的。這種折中也蘊涵著很大的風(fēng)險。
設(shè)計階段蘊涵的另一種風(fēng)險來自于設(shè)計文檔。文檔的不健全不僅會造成實現(xiàn)階段的困難,更會在后期的測試和維護(hù)造成災(zāi)難性的后果,例如根本無法對軟件系統(tǒng)進(jìn)行版本升級,甚至是發(fā)現(xiàn)的簡單錯誤都無從更正。實現(xiàn)階段引入的風(fēng)險軟件的實現(xiàn)從某種意義上講是軟件代碼的生產(chǎn)。原代碼本身也是文檔的一部分,同時它又是將來運行于計算機(jī)系統(tǒng)之上的實體。源代碼書寫的規(guī)范性,可讀性是該階段的主要風(fēng)險來源。規(guī)范的代碼生產(chǎn)會把屬于程序員自身個性風(fēng)格的成分引入代碼的比例降到低限度,從而減小了系統(tǒng)整合的風(fēng)險。
維護(hù)階段的風(fēng)險
軟件維護(hù)包含兩個主要的維護(hù)階段,一個是軟件生產(chǎn)完畢到軟件試運行階段的維護(hù),這個階段是一種實環(huán)境的測試性維護(hù),其主要目的是發(fā)現(xiàn)在測試環(huán)境中不能或未發(fā)現(xiàn)的問題;另一個階段是當(dāng)軟件的運行不再能適應(yīng)用戶業(yè)務(wù)需求或是用戶的運行環(huán)境(包括硬件平臺,軟件環(huán)境等)時進(jìn)行的軟件維護(hù),具體可能是軟件的版本升級或軟件移植等。
從軟件工程的角度看,軟件維護(hù)費用約占總費用的55%~70%,系統(tǒng)越大,該費用越高。對系統(tǒng)可維護(hù)性的輕視是大型軟件系統(tǒng)的大風(fēng)險。在軟件漫長的運營期內(nèi),業(yè)務(wù)規(guī)則肯定會不斷發(fā)展,科學(xué)的解決此問題的做法是不斷對軟件系統(tǒng)進(jìn)行版本升級,在確?删S護(hù)性的前提下逐步擴(kuò)展系統(tǒng)。
在軟件系統(tǒng)運營期間,主要的風(fēng)險源自于技術(shù)支持體系的無效運轉(zhuǎn)?茖W(xué)的方法是有一支客戶支持隊伍不斷收集運行中發(fā)現(xiàn)的問題,并將解決問題的方法傳授給軟件系統(tǒng)的所有使用者。
項目風(fēng)險表
風(fēng)險評估表中所提到的風(fēng)險是一般項目在開發(fā)過程中都客觀存在的,表中所列出的風(fēng)險系數(shù)是指在不對風(fēng)險進(jìn)行深入的分析和有效的規(guī)避的情況下,該風(fēng)險項發(fā)生的概率。比如軟件產(chǎn)品的設(shè)計目標(biāo)是運行十年,體系結(jié)構(gòu)不合理的風(fēng)險是40%的含義是,如果不對系統(tǒng)進(jìn)行深入的分析,未采用合理的軟件技術(shù)進(jìn)行設(shè)計,則生產(chǎn)出一個不具備可擴(kuò)展性的軟件系統(tǒng)的概率是40%。由于客戶公司是仍將不斷發(fā)展的,在十年內(nèi),該軟件系統(tǒng)都能滿足公司運營要求的可能性極低。由此而可能產(chǎn)生的災(zāi)難性后果是公司在業(yè)務(wù)發(fā)展的時候,必須重新開發(fā)新系統(tǒng)。
向客戶提供風(fēng)險評估,是按照國際慣例進(jìn)行的例行操作,一方面讓客戶對潛在的風(fēng)險有更充分的了解,表明公司誠信 為本的態(tài)度,另一方面也用以鞭策和激勵全體開發(fā)人員嚴(yán)格執(zhí)行開發(fā)標(biāo)準(zhǔn),共同監(jiān)督項目開發(fā)過程,努力避免風(fēng)險的發(fā)生。