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