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