該項目是為Ubuntu平臺開發的一款WebUI控制軟件,其主要功能為:(1)該軟件實現對網絡的界面化配置;(2)能夠自動登錄gmail,或者用戶經常使用的網頁用戶名;(3)能夠對當前計算機中所有的程序進行配置管理;(4)自動顯示計算機所處環境的wifi信號以及相應的信號強度,要求數據訪問快。其他的具體需求都在項目需求說明書中進行了說明,而且該項目的開發時間為2個月。
1.項目起步階段
當掌握項目后,項目經理開始進行開發人員組織,從項目來看,項目的業務較小,但是技術要求較高,如前文所述,為了保證項目能順利實施,項目首先摒棄了技術風險,所以在人員配置方面,必須要有技術過硬的程序開發人員參與。其次,為了保證系統的功能,項目選擇的語言不能是高級語言,所以應該設定在C,C++語言行列。首先,進行人員組建:編程人員3人,架構師1名,開發語言最終確定為C語言。繼而根據項目特點,搭建開發環境。其次,系統選擇敏捷式原型開發模式。
2.項目需求分析階段
在項目需求分析階段,為了規避業務風險,讓程序員以及架構師認真閱讀用戶需求報告,繼而讓程序員對需求進行整理,為了使項目的業務風險減到最低,程序員可提供QA,在這個階段首先是對業務進行詳細的分析,把握功能要點;其次,根據系統需求,羅列技術要點,需對項目中的技術點進行調查,比如:本項目中的gmail自動登錄,用戶常用網址的自動登錄以及用戶安全加密技術等的調查,技術調查的結果應該以技術模型為代表,這樣才能為后面的開發掃除技術風險。
3.系統設計階段
首先項目架構師應該根據項目特點,對項目進行結構劃分,對項目架構進行設計,就本項目而言,系統功能相對獨立,所以在項目架構上可以采用多進程處理辦法,一個功能點設置為一個進程,利用進程之間的數據通信來完成整個系統的聯動。以此來規避由于設計上的原因,影響進度的風險以及程序上的質量風險。
4.系統開發階段
在系統開發階段,程序員根據先前的設計情況,進行系統的編碼工作。當然為了程序的一致性,需要編寫編碼規格說明書,對函數的命名,變量的命名都應該有明確的規定,在開發階段,為了控制軟件的進度與質量,作為項目負責人,應該早、晚各開一次全員會議,早會是對當天的任務進行分配,晚會是對當天的工作情況進行總結。為了保證質量,作為項目的負責人需要檢查程序員編寫的代碼,首先是對其可讀性進行檢查,其次是對程序的邏輯進行檢查,對于本項目而言,需要注意程序中是否存在內存泄露現象,因為對于C語言而言,內存泄露是必須要控制的,而這也是質量風險控制的要點,如果等到測試發現問題再修改,會浪費更多的時間,影響項目的進度,導致項目的成本增加。
5.系統測試階段
到項目開發完成后,需要對系統進行測試,測試點主要針對系統功能進行測試,其中主要體現在用戶操作界面是否流暢,界面會不會被隱藏,或者操作界面顯示的數據是否正確,這都是測試的基本點。
對于本項目而言,主要由程序員自己負責測試,測試的要點為功能測試以及內存泄露的測試,由于先前做好了風險控制,對于內存進行了統一管理,即內存的分配與使用被封裝,而程序員進行內存分配時都會調用封裝的函數,而釋放會調用釋放函數,但是難免會有人遺忘,所以對程序進行模塊化,在程序模塊化結束后,進行了統一釋放。從測試結果來看,由于先前的風險規避設計,測試結果較為滿意,當測試完成后,就可打包,部署,交付客戶。從整個項目過程來看,從需求分析到編碼,測試都是在規避風險,所以,筆者認為計算機軟件工程實施過程其實是規避項目風險的過程,在項目的初期規避項目中期的風險,在項目中期規避項目后期的風險,這也是本人對軟件工程實施的一點心得。
作者:萬彩霞 單位:四川省南充師范學校