下載本文檔
版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
小軟件項目開發(fā)的管理作者:BianYuan文章摘要:管理一個軟件項目大項目和小項目的方式不完全一樣,但從另一個角度來看,項目的大與小并沒有本質(zhì)的區(qū)別,很多方法是共通的。本文是作者以自己的經(jīng)驗來談談小項目開發(fā)管理的特點,以及在開發(fā)過程中的注意事項。一個企業(yè)的管理,大公司有大公司的方式,小公司也有小公司的方式,如果把別人的經(jīng)驗生搬硬套到自己身上,可能會適得其反。同樣,管理一個軟件項目也一樣,大項目和小項目的方式不完全一樣。但從另一個角度來看,項目的大與小并沒有本質(zhì)的區(qū)別,很多方法是共通的。本文的目的是從作者的經(jīng)驗來談談小項目開發(fā)的管理。一、 小項目的特點大家知道,〃軟件危機〃的出現(xiàn)起源于一些大型項目的不斷延遲甚至失敗。小項目相比之下,具有以下特點:項目功能相對較少開發(fā)人員較少開發(fā)周期較短另外,在現(xiàn)實中,有很多小項目是由一些中小公司進行開發(fā)的,這些公司往往人員流動性較大,這也是不容忽視的一個現(xiàn)實.二、 小項目開發(fā)中常犯的錯誤小項目看起來比較簡單,比較容易成功,因而人們往往忽視了小項目的管理,其實這是一種誤解,從本人的經(jīng)驗看來,小項目開發(fā)中容易犯以下的一些錯誤:1、 開發(fā)之前沒有認真地進行項目可行性和工作量的估計。往往由于項目較小,便很草率地制定一個開發(fā)日程表,沒有認真地估計項目難度,結果實際完成時間與估計完成時間往往有較大差別。2、 沒有真正的設計過程開發(fā)人員少,意味著不同人員的程序之間交互、接口相對少一些。開發(fā)周期短意味著往往是同樣的幾個人從頭到尾負責一個項目。這兩者都讓人容易犯些錯誤。往往是幾個人碰一下頭,討論一下最基本的數(shù)據(jù)結構、函數(shù)接口便分頭去做自己的工作了,沒有一份較正式的文檔。這種做法潛在的危險之一是有的人可能會對討論出的接口、結構理解有偏差(應該承認人是會犯錯誤的)。一個誤解可能造成以后的返工。另一個潛在的危險是由于討論時忽略了某些情況,等大家都按當時的分工完成屬于自己的工作后,才發(fā)現(xiàn)各個模塊組合起來卻形不成一個完整的系統(tǒng)。其根源在于沒有一個負責協(xié)調(diào)的人員不斷監(jiān)控整個開發(fā)過程。第三個潛在的危險是一旦有人中途退出開發(fā)隊伍,其他人加入時,新來的人難以理解以前別人做好的代碼,索性自己從頭來。另外,沒有文檔的程序,日后維護和版本升級都比較困難。不經(jīng)過單元測試而直接進入系統(tǒng)測試造成這一現(xiàn)象的原因是每個模塊相對比較簡單,但是為了測試一個模塊需要建立一些測試環(huán)境。例如,為了測試一個函數(shù)是否正確,應該用一些測試數(shù)據(jù)去調(diào)用該函數(shù),需要編寫一些測試數(shù)據(jù)。但很多開發(fā)人員嫌麻煩,覺得反正其他模塊也很快出來了,直接用真正的數(shù)據(jù)來運行幾次就行了。殊不知,一旦直接進入系統(tǒng)測試,發(fā)現(xiàn)運行結果不正確后需要一步步查找。由于模塊間的調(diào)用關系,可能查了很久才發(fā)現(xiàn)是某個模塊的問題。這種方法一來效率比較低,大量的時間用在了將一個錯誤定位在模塊上了。另外由于這種測試不完全,真正運行系統(tǒng),當調(diào)用某模塊時,可能大部分時候都是正常數(shù)據(jù),極少出現(xiàn)邊界情況,可能某些邊界情況容易被忽視,很久之后才被發(fā)現(xiàn)。但是如果對每個模塊進行單元測試時都進行一下邊界測試,就會很容易消除一些隱患。真可謂欲速則不達也。合理的開發(fā)流程合理的開發(fā)模式,一句話形容就是"麻雀雖小,五臟俱全〃,即使是小型項目的開發(fā),仍然應該遵循軟件開發(fā)的一般規(guī)律,必須的步驟不能省略。但是小項目有它自身的一些特點,實行起來可以相對靈活些。以下我從幾個方面描述一下我認為比較合理的模式需求獲取在進入正式開發(fā)之前,必須先從用戶處獲取準確的需求。在這上面花費相當時間是很必要的。軟件項目可以大致分為專用軟件和通用軟件兩大類。對于專用軟件,例如給某單位開發(fā)一套該單位專用的系統(tǒng),一般用戶對于軟件要完成哪些功能已經(jīng)有了一個比較清楚的輪廓,而且往往在開發(fā)合同中已經(jīng)大致地規(guī)定了。但是,開發(fā)合同上規(guī)定的只是一個大概的框架,在進入開發(fā)之前必須與用戶進行比較具體的交流和討論,了解清楚用戶心目中的產(chǎn)品究竟是什么樣子。這個步驟如果沒有好好做,往往到了開發(fā)工作的后期才發(fā)現(xiàn)開發(fā)人員的理解和用戶的要求有一些誤解,那么必然造成時間上的浪費。對于通用軟件,在開發(fā)之前應該做一定的市場調(diào)查工作,一方面是從經(jīng)濟效益考慮,調(diào)查產(chǎn)品的潛在市場有多大,另一方面是從技術的角度,必須了解清楚潛在用戶對軟件的各種技術上的要求,例如,用戶現(xiàn)有硬件配置如何,軟件配置如何,使用什么網(wǎng)絡,使用什么數(shù)據(jù)庫等等,根據(jù)調(diào)查的統(tǒng)計結果決定即將開發(fā)的軟件的一些技術指標。為了比較好地與用戶進行交流,使用一些工具是很有好處的。為了討論用戶界面,可以用VB,delphi等做一個原型,根據(jù)原型有針對性地與用戶討論需求。(原型開發(fā)不僅僅可以用于準確獲取用戶的需求,開發(fā)出來的原型本身可以作為下一步開發(fā)的基礎,增量式地完成開發(fā))為了討論軟件運行的流程,可以采用UML的UseCase圖。需求分析在了解用戶的需求之后,將需求用一種模型來表示,就是需求分析,目前比較流行的分析方法是面向?qū)ο蟮姆椒?,通過分析用戶需求,用類、類之間的各種關系來表示整個系統(tǒng)。這部分涉及到具體的方法,在此不詳細討論,但是原則上是提取類->類之間關系,可能需要不斷修改而形成一份分析文檔。我想強調(diào)幾個問題。一是要分清問題域與系統(tǒng)責任。系統(tǒng)責任是指所要開發(fā)的軟件應該完成的功能,而問題域是包含所有相關的部分。例如你要開發(fā)一個程控機計費程序,程控機已經(jīng)是現(xiàn)成,輸出的數(shù)據(jù)格式也已經(jīng)是固定的,你的程序僅僅需要從程控機中讀取相應的信息,那么,〃程控機〃在你的系統(tǒng)里只是一個外部的東西,把它作為一個類也許就是不必要的,僅僅需要一個類來完成讀數(shù)據(jù)的操作。又如,你需要在一個已經(jīng)存在的數(shù)據(jù)庫上開發(fā)一些應用,數(shù)據(jù)庫的格式已經(jīng)固定,并且已經(jīng)有一個后臺程序在運行,你需要開發(fā)一個新的前臺程序,這時,服務器程序?qū)δ銇碚f就是一個外部的東西。但是,象這種外部的內(nèi)容必須在分析文檔中有一些說明,作為系統(tǒng)的外在約束。二是需求獲取與需求分析的關系。用什么方法來完成需求的獲取,在很大程度上影響了需求分析的做法。例如當初采用UseCase來表示用戶需求,那么從各種序列圖中選出相互交互的各個實體,就是一個個類。三是分析與設計過程的銜接。分析過程的內(nèi)容是用類的結構來表示目標系統(tǒng),并不設計具體實現(xiàn),如采用什么編程語言,在什么操作系統(tǒng)平臺上運行等等。這些具體實現(xiàn)是在設計階段來完成的。面向?qū)ο蠓椒ǖ膬?yōu)點是分析、設計、編碼過程表示法統(tǒng)一,能比較好的銜接。但是,是把分析和設計階段分開,采用瀑布式開發(fā),還是采用其他方式,要看具體的情況。對于需求潛在變化不大的項目,可以采用瀑布模型,有一個很明顯的設計階段,這樣做的好處是有一份比較完整的分析文檔,這樣以后如果需要采用不同的編程語言、或者采用其他的平臺時,便可以以這份分析文檔作為開發(fā)的基礎。對于需求變化頻繁的項目,可能采用少量分析->少量設計->少量編碼->測試的方式更合適,而且隨時可能要返回到前面某個一階段去進行修改。但是這意味著可能沒有一份完整的分析文檔?,F(xiàn)在很多CASE工具并不區(qū)分分析和設計的階段。但是,這并不意味著開發(fā)就可以對分析和設計不加區(qū)分,CASE工具如同一支筆,如何用好還得還人。設計過程設計階段的工作包括:對分析模型必要的修改??赡苄枰獙δ承╊惤Y構進行一些修改,這些修改的原因可能是編程環(huán)境的要求,或者為了重用以前的某些工作。定義界面部分、數(shù)據(jù)訪問(數(shù)據(jù)庫)部分。由于目前很多編程語言都可以可視化地設計界面,所以界面部分工作往往留到了編碼階段來完成。于是設計階段的工作量并不大。編碼進入編碼工作之后,可能會發(fā)現(xiàn)前面分析或設計階段的某些錯誤,這時應返回到前面的階段進行必要的修改。測試如前所述,即使是小項目,也應該嚴格地進行測試。四、人員的安排比較小的項目,往往是幾個人來完成,這幾個人基本上從頭到尾參加開發(fā)。在這幾個人中,有一位項目負責人,負責分析、設計和協(xié)調(diào)的工作。由于項目小,項目負責人也要參加編程,那么這人必須把時間合理運用,經(jīng)驗告訴我?guī)讞l原則:協(xié)調(diào)幾個人的工作比自己完成一段編碼更重要.由于協(xié)調(diào)上出了漏洞,可能導致很大的問題,所以項目負責人必須隨時監(jiān)控各開發(fā)人員的工作,包括內(nèi)容是否與要求發(fā)生偏差,進度是否滯后等等。只有在完成這些工作之后,項目負責人剩下的時間才能用于編程
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度飛機租賃與飛行員培訓服務合同3篇
- 2025屆江蘇蘇州市四校高三12月聯(lián)考語文試題(學生版)
- 兒童身體協(xié)調(diào)性訓練考核試卷
- 公路客運服務投訴處理與改進考核試卷
- 2025版木屋建筑工程質(zhì)量保修合同示范文本4篇
- 2025版學校小賣部環(huán)保購物袋定制與銷售合同2篇
- 2025年分期美食體驗券購買合同
- 2025年養(yǎng)老保險擔保合同
- 2025年嬰童用品贈與合同
- 2025年倉庫貨物清點協(xié)議
- 中央2025年國務院發(fā)展研究中心有關直屬事業(yè)單位招聘19人筆試歷年參考題庫附帶答案詳解
- 2024年09月北京中信銀行北京分行社會招考(917)筆試歷年參考題庫附帶答案詳解
- 外呼合作協(xié)議
- 小學二年級100以內(nèi)進退位加減法800道題
- 保險公司2025年工作總結與2025年工作計劃
- 2024年公司領導在新年動員會上的講話樣本(3篇)
- 眼科護理進修專題匯報
- GB/T 33629-2024風能發(fā)電系統(tǒng)雷電防護
- 深靜脈血栓(DVT)課件
- 2023年四川省廣元市中考數(shù)學試卷
- GB/T 19885-2005聲學隔聲間的隔聲性能測定實驗室和現(xiàn)場測量
評論
0/150
提交評論