您的位置:軟件測試 > 軟件項目管理 > 開發(fā)管理 >
小軟件項目開發(fā)的管理
作者:網絡轉載 發(fā)布時間:[ 2013/4/27 14:32:53 ] 推薦標簽:

  一個企業(yè)的管理,大公司有大公司的方式,小公司也有小公司的方式,如果把別人的經驗生搬硬套到自己身上,可能會適得其反。同樣,管理一個軟件項目也一樣,大項目和小項目的方式不完全一樣。但從另一個角度來看,項目的大與小并沒有本質的區(qū)別,很多方法是共通的。本文的目的是從作者的經驗來談談小項目開發(fā)的管理。

  一、小項目的特點

  大家知道,“軟件危機”的出現(xiàn)起源于一些大型項目的不斷延遲甚至失敗。小項目相比之下,具有以下特點:

  1.項目功能相對較少

  2.開發(fā)人員較少

  3.開發(fā)周期較短

  另外,在現(xiàn)實中,有很多小項目是由一些中小公司進行開發(fā)的,這些公司往往人員流動性較大,這也是不容忽視的一個現(xiàn)實.

二、小項目開發(fā)中常犯的錯誤
  小項目看起來比較簡單,比較容易成功,因而人們往往忽視了小項目的管理,其實這是一種誤解,從本人的經驗看來,小項目開發(fā)中容易犯以下的一些錯誤:

  1、開發(fā)之前沒有認真地進行項目可行性和工作量的估計。

  往往由于項目較小,便很草率地制定一個開發(fā)日程表,沒有認真地估計項目難度,結果實際完成時間與估計完成時間往往有較大差別。

  2、沒有真正的設計過程

  開發(fā)人員少,意味著不同人員的程序之間交互、接口相對少一些。開發(fā)周期短意味著往往是同樣的幾個人從頭到尾負責一個項目。這兩者都讓人容易犯些錯誤。往往是幾個人碰一下頭,討論一下基本的數(shù)據結構、函數(shù)接口便分頭去做自己的工作了,沒有一份較正式的文檔。

  這種做法潛在的危險之一是有的人可能會對討論出的接口、結構理解有偏差(應該承認人是會犯錯誤的)。一個誤解可能造成以后的返工。

  另一個潛在的危險是由于討論時忽略了某些情況,等大家都按當時的分工完成屬于自己的工作后,才發(fā)現(xiàn)各個模塊組合起來卻形不成一個完整的系統(tǒng)。其根源在于沒有一個負責協(xié)調的人員不斷監(jiān)控整個開發(fā)過程。

  第三個潛在的危險是一旦有人中途退出開發(fā)隊伍,其他人加入時,新來的人難以理解以前別人做好的代碼,索性自己從頭來。另外,沒有文檔的程序,日后維護和版本升級都比較困難。

  3.不經過單元測試而直接進入系統(tǒng)測試

  造成這一現(xiàn)象的原因是每個模塊相對比較簡單,但是為了測試一個模塊需要建立一些測試環(huán)境。例如,為了測試一個函數(shù)是否正確,應該用一些測試數(shù)據去調用該函數(shù),需要編寫一些測試數(shù)據。但很多開發(fā)人員嫌麻煩,覺得反正其他模塊也很快出來了,直接用真正的數(shù)據來運行幾次行了。

  殊不知,一旦直接進入系統(tǒng)測試,發(fā)現(xiàn)運行結果不正確后需要一步步查找。由于模塊間的調用關系,可能查了很久才發(fā)現(xiàn)是某個模塊的問題。這種方法一來效率比較低,大量的時間用在了將一個錯誤定位在模塊上了。另外由于這種測試不完全,真正運行系統(tǒng),當調用某模塊時,可能大部分時候都是正常數(shù)據,極少出現(xiàn)邊界情況,可能某些邊界情況容易被忽視,很久之后才被發(fā)現(xiàn)。但是如果對每個模塊進行單元測試時都進行一下邊界測試,會很容易消除一些隱患。真可謂欲速則不達也。

三.合理的開發(fā)流程
  合理的開發(fā)模式,一句話形容是“麻雀雖小,五臟俱全”,即使是小型項目的開發(fā),仍然應該遵循軟件開發(fā)的一般規(guī)律,必須的步驟不能省略。但是小項目有它自身的一些特點,實行起來可以相對靈活些。

  以下我從幾個方面描述一下我認為比較合理的模式.

  1.需求獲取

  在進入正式開發(fā)之前,必須先從用戶處獲取準確的需求。在這上面花費相當時間是很必要的。

  軟件項目可以大致分為專用軟件和通用軟件兩大類。

  對于專用軟件,例如給某單位開發(fā)一套該單位專用的系統(tǒng),一般用戶對于軟件要完成哪些功能已經有了一個比較清楚的輪廓,而且往往在開發(fā)合同中已經大致地規(guī)定了。

  但是,開發(fā)合同上規(guī)定的只是一個大概的框架,在進入開發(fā)之前必須與用戶進行比較具體的交流和討論,了解清楚用戶心目中的產品究竟是什么樣子。這個步驟如果沒有好好做,往往到了開發(fā)工作的后期才發(fā)現(xiàn)開發(fā)人員的理解和用戶的要求有一些誤解,那么必然造成時間上的浪費。

  對于通用軟件,在開發(fā)之前應該做一定的市場調查工作,一方面是從經濟效益考慮,調查產品的潛在市場有多大,另一方面是從技術的角度,必須了解清楚潛在用戶對軟件的各種技術上的要求,例如,用戶現(xiàn)有硬件配置如何,軟件配置如何,使用什么網絡,使用什么數(shù)據庫等等,根據調查的統(tǒng)計結果決定即將開發(fā)的軟件的一些技術指標。

  為了比較好地與用戶進行交流,使用一些工具是很有好處的。

  為了討論用戶界面,可以用VB, delphi等做一個原型,根據原型有針對性地與用戶討論需求。(原型開發(fā)不僅僅可以用于準確獲取用戶的需求,開發(fā)出來的原型本身可以作為下一步開發(fā)的基礎,增量式地完成開發(fā))

  為了討論軟件運行的流程,可以采用UML的Use Case圖。

  2.需求分析

  在了解用戶的需求之后,將需求用一種模型來表示,是需求分析,目前比較流行的分析方法是面向對象的方法,通過分析用戶需求,用類、類之間的各種關系來表示整個系統(tǒng)。

  這部分涉及到具體的方法,在此不詳細討論,但是原則上是提取類->類之間關系,可能需要不斷修改而形成一份分析文檔。

上一頁12下一頁
軟件測試工具 | 聯(lián)系我們 | 投訴建議 | 誠聘英才 | 申請使用列表 | 網站地圖
滬ICP備07036474 2003-2017 版權所有 上海澤眾軟件科技有限公司 Shanghai ZeZhong Software Co.,Ltd