想做程序員?你需要了解軟件的生命周期(下)
需求調研階段輸出的需求規(guī)格說明書,經(jīng)過評審確定后形成需求基線,由項目組內的開發(fā)工程師進行系統(tǒng)設計。如果公司有專門的系統(tǒng)架構師,則由系統(tǒng)架構師從系統(tǒng)可靠性、擴展性、安全性、可維護性等角度進行系統(tǒng)概要設計。系統(tǒng)概要設計活動結束后輸出系統(tǒng)概要設計說明書(High Level Design,HLD),評審活動通過后形成概要設計基線,此時可以依據(jù)需求規(guī)格說明書及概要設計文檔進行系統(tǒng)的詳細設計、數(shù)據(jù)庫設計等相關事宜。
詳細設計說明書,一般由項目組開發(fā)人員進行設計,詳細設計(Low Level Design,LLD)有些公司又稱為軟件設計說明書。
對于比較復雜的軟件系統(tǒng),通常情況下都需要進行詳細設計,重點在于闡述系統(tǒng)中各個模塊之間的詳細關聯(lián)以及每個模塊子程序設計思想。開發(fā)人員通過詳細設計方便清晰地理解開發(fā)對象的設計思路及編程思路,從而降低編碼錯誤風險。
概要設計、詳細設計結束后,按照整體項目實施計劃,項目組開發(fā)人員根據(jù)各自的編碼任務及規(guī)范完成相關模塊、子系統(tǒng)、軟件的編碼。
當測試版本交付日期達到后,項目組開發(fā)人員構建測試版本,以便交與測試團隊進行測試。根據(jù)前期的測試計劃,測試團隊執(zhí)行測試用例測試系統(tǒng)的功能、性能。經(jīng)過多次版本迭代后,完成系統(tǒng)測試,輸出系統(tǒng)測試報告。
項目專家團隊評審測試部門輸出的系統(tǒng)測試報告,如果達到預定義的停測標準,則可結束測試活動,否則持續(xù)回歸測試,直至達到被測對象出口準則。
六、發(fā)布運行維護
如果研發(fā)對象是產(chǎn)品,一般由研發(fā)公司擇日發(fā)布,通常情況下會在網(wǎng)絡或媒體上宣傳,如果研發(fā)對象是項目,則一般由客戶確定正式交付日期,客戶在接收軟件公司提供的軟件系統(tǒng)前,通常會進行驗收測試,驗收通過才正式接受。
項目交付使用后,需根據(jù)與客戶簽訂的產(chǎn)品維護協(xié)議,制定產(chǎn)品維護流程,當軟件系統(tǒng)在使用過程中出現(xiàn)問題時,需及時處理,直到產(chǎn)品廢棄或升級,進入新的生命周期。
軟件產(chǎn)品使用到一定期限后,可以根據(jù)約定進行升級,或者根據(jù)客戶新需求,再次進行新需求的調研開發(fā),重復上述的項目運作流程。
軟件系統(tǒng)正式運行后,如果用戶在使用過程中發(fā)現(xiàn)了缺陷,研發(fā)公司將會提供補丁進行修復,從而保證軟件系統(tǒng)正常工作。
【案例2-1 智能OA辦公系統(tǒng)研發(fā)流程】
威鏈優(yōu)創(chuàng)公司通過對市場及自身業(yè)務的調研發(fā)現(xiàn),云服務、智能辦公軟件系統(tǒng)的市場前景,計劃針對全國潛在客戶設計智能辦公系統(tǒng),能夠在任何時刻、任何地點、任何智能設備上進行日常工作的辦公。計劃研發(fā)該款產(chǎn)品前,該公司組織一些市場調研人員對潛在客戶進行市場需求調研分析。根據(jù)市場反饋信息了解該產(chǎn)品可能的需求情況,通過細致調研后,市場人員會輸出《智能OA辦公系統(tǒng)市場需求調研報告》。此種需求調研方式稱為被動模式,終端用戶被動接受需求。
某政府部門通過公開招標,招募能夠開發(fā)智能OA系統(tǒng)的軟件公司,如果威鏈優(yōu)創(chuàng)公司中標,則該公司可派出需求調研人員與政府部門相關人員溝通,獲取初步需求后輸出《威鏈優(yōu)創(chuàng)智能OA辦公系統(tǒng)初步需求調研報告》,作為后續(xù)可行性研究活動的輸入。此種方式稱為主動模式,由終端用戶主動提出開發(fā)需求。
當智能OA項目需求確定后,威鏈優(yōu)創(chuàng)公司根據(jù)初步需求分析其所需的技術范圍、成本及可能存在的風險,通過權衡Time、Scope、Cost、Risk 4個方面,最終決定可以進行項目開發(fā)。在此階段,項目經(jīng)理發(fā)起可行性研究活動。通過可行性研究后,輸出《威鏈優(yōu)創(chuàng)智能OA系統(tǒng)研發(fā)可行性報告》,根據(jù)此研究報告,該公司決策層決定是否承接該項目,當然這個環(huán)節(jié)可在企業(yè)招標前完成。
在確定項目可以承接實施后,該公司根據(jù)實際需要成立了“威鏈優(yōu)創(chuàng)智能OA項目組”。項目經(jīng)理在此環(huán)節(jié)需輸出整個項目計劃,研發(fā)經(jīng)理需給出開發(fā)計劃,測試經(jīng)理則不一定給出相關計劃。
項目組成立后,該公司將派遣相關需求調研人員與客戶進行深入溝通,獲取最詳細的用戶需求。最終輸出經(jīng)過用戶評審通過的《威鏈優(yōu)創(chuàng)智能OA系統(tǒng)需求規(guī)格說明書》。
需求規(guī)格說明書評審通過后,威鏈優(yōu)創(chuàng)公司進行“威鏈優(yōu)創(chuàng)智能OA系統(tǒng)”概要設計及詳細設計,并由開發(fā)人員進行項目開發(fā)。測試版本生成后,項目組測試團隊進行項目測試,幾輪迭代達到停測標準后,“威鏈優(yōu)創(chuàng)智能OA系統(tǒng)”將根據(jù)客戶要求部署上線運行。整個研發(fā)過程如圖2-2所示。

常規(guī)項目一般都使用圖2-2所示的研發(fā)流程,共需完成市場需求調研、可行性研究、產(chǎn)品項目立項、需求調研開發(fā)、設計開發(fā)測試、發(fā)布運行維護等幾個環(huán)節(jié)。

