您的位置:軟件測試 > 軟件項目管理 > 項目管理綜合 >
軟件項目開發(fā)??管理措施
作者:網絡轉載 發(fā)布時間:[ 2013/5/2 14:24:33 ] 推薦標簽:

在一個軟件產品發(fā)布并使用之后,其中肯定有許多地方不如意和值得改進的地方。客戶在使用的過程中會發(fā)現(xiàn)一些問題,提出更高的需求,市場也在發(fā)生變化,我們的競爭對手也在發(fā)展,新的技術不斷地產生,這些因素推動著我們的產品不斷地向前發(fā)展,使軟件版本不停地往上增長。這些發(fā)展的需求不是一下子提出來的,在客戶使用的過程中發(fā)現(xiàn)某些不如意不方便的地方,他們會向我們提出寶貴的意見,而技術人員會把這些需求記錄下來,以便修改或成為下一個版本的新特性或需求。

一個軟件的開發(fā)主要分為需求、設計、編碼、測試、維護幾個重要的階段,下面每個階段的一些管理措施提點愚見:

1. 需求管理

在進入正式開發(fā)之前,必須先從用戶處獲取準確的需求。在這上面花費相當時間是很必要的。在軟件項目的開發(fā)過程中,需求變更貫穿了軟件項目的整個生命周期,從軟件的項目立項,研發(fā),維護,用戶的經驗在增加,對使用軟件的感受有變化,以及整個行業(yè)的新動態(tài),都為軟件帶來不斷完善功能 ,優(yōu)化性能,提高用戶友好性的要求。在軟件項目管理過程中,項目經理經常面對用戶的需求變更。如果不能有效處理這些需求變更,項目計劃會一再調整,軟件交付日期一再拖延,項目研發(fā)人員的士氣將越來越低落,將直接導致項目成本增加、質量下降及項目交付日期推后。這決定了項目組必須擁有需求管理策略。

在整個開發(fā)周期中期望用戶的需求一直保持不變是不大可能的,因為用戶對于如何應用計算機軟件并沒有一個成熟的經驗。需求變化的原因很多,如:

一開始沒有調研全,需要增加需求;

客戶需求發(fā)生了變化,需求必須變化;

需求錯誤;

需求不清楚。

基于上述的問題,必須對需求進行管理,使需求能夠真正成為軟件工程和管理的基線。 一種比較明智的方法是在簽定開發(fā)合同(協(xié)議)時把用戶需求的改動和經濟利益掛鉤,如果用戶增加或改動了需求,那么軟件的交付日期可以推遲,費用也應增加。

需求是一項復雜的工作,使用的方法也很多,不同的開發(fā)方式有不同的方法,這里簡單介紹一些相關的方法:

可行性分析:在允許的成本、性能要求下,分析每項需求實施的可行性,提出需求實現(xiàn)相關風險,包括與其它需求的沖突,對外界因素的依賴和技術障礙。

快速原型:當用戶自身對有的需求不十分清楚時,我們可以建立一個系統(tǒng)原型,用戶通過評價原型更好地理解所要解決的問題。

圖形分析模型:繪制圖形分析模型是編制軟件需求規(guī)格說明重要手段。它們能幫助分析人員理清數(shù)據(jù)、業(yè)務模式、工作流程以及他們之間的關系,找出遺漏、冗余和不一致的需求。這樣的模型包括數(shù)據(jù)流圖、實體關系圖、狀態(tài)變換圖、對話框圖、對象類及交互作用圖。

數(shù)據(jù)字典:數(shù)據(jù)字典是對系統(tǒng)用到的所有數(shù)據(jù)項和結構的定義,以確保開發(fā)人員使用統(tǒng)一的數(shù)據(jù)定義。在需求階段,數(shù)據(jù)字典至少應定義客戶數(shù)據(jù)項,確保客戶與開發(fā)小組是使用一致的定義和術語。

2. 設計管理

項目經理把功能模塊分配給每個開發(fā)人員,每個開發(fā)人員把自己相關的功能模塊收集起來,同時預估時間,其中主要包括寫文檔的時間、開發(fā)時間和單元測試的時間,一般要求精確到工作日。這些信息返回給項目經理,項目經理再把本小組人員的任務和預估時間發(fā)送給管理層,由管理層對此任務及進度進行評估審核,管理層會根據(jù)產品發(fā)布時間及客戶需求、市場因素等方面作出選擇,可能某些功能由于時間緊急會被推遲到下一個版本中去。若預估出來的時間同預計的產品發(fā)布時間有較大沖突,而且此功能是本版本中必須得做的,則開發(fā)小組會被要求重新預估時間,加快開發(fā)速度來達到這個要求。

雖然這個開發(fā)進度時間是一個大概的估計時間,但我們要盡力按照這個開發(fā)進度來執(zhí)行。作為開發(fā)人員每個星期寫一篇周記,描述自己本周所做的工作,根據(jù)自己的描述來評估我們自己的工作,每個人手上的工作是否按照這個進度在走,是否有人延后了,是否延誤了別人的工作。在周記里每個人都要報告自己的進度,同時還要報告上個星期做了什么,正在做什么,以及下個星期打算做什么。通過這個周記,會讓你覺得有人在監(jiān)督你,無形之中迫使你不斷地督促自己不要使任務延后,如果有延后的跡象也會盡早發(fā)現(xiàn)而趕上。若某些經過努力不能趕上,那也沒有辦法,只能修改原先的進度表,因為那是我們的估計與現(xiàn)實發(fā)生了偏差,我們必須使我們的進度表符合實際情況。

3. 編碼管理

進入編碼工作之后,可能會發(fā)現(xiàn)前面分析或設計階段的某些錯誤,這時應返回到前面的階段進行必要的修改。由于我們用asp.net(c#)語言進行開發(fā),因此我們借助了VS2005工具。關于代碼風格,我們基本上套用VS2005中自動的代碼格式編排。良好的編碼習慣有利于我們提高整個團對的開發(fā)效率,比如變量的命名、寫代碼時要對類及函數(shù)提供詳細的注釋及說明等,基本做到看它們的說明能知道這個變量、類或函數(shù)的功能以及主要算法的實現(xiàn)原理。在開發(fā)過程中對主要的模塊要編寫單元測試,同時要單元測試先行,當所有的單元測試代碼通過時,此功能也基本上完成了。

我們采用VSS進行代碼管理控制,其中存放了此產品的所有源代碼,各個部分存放在不同的目錄中。每天早上要求開發(fā)人員從VSS中獲取新的源代碼,然后進行編譯并開始的工作。在下班之前理論上要求員工簽入所有當天修改的代碼,在簽入之前要保證編譯是能通過的。若有誰簽入的代碼導致運行失敗則會被要求某些懲罰措施或警告。有時我們編寫的代碼涉及到多個文件,而且此改動是比較復雜需要花費多天的工作量,如果現(xiàn)在簽入進去可能會導致項目測試通不過,因為有些代碼沒有完全完成,而之前的代碼能測試通過,而且這些代碼基本上不會涉及到他人,在這種情況下可以不簽入進去,直到全部代碼完成能提交測試時再一起簽入進去。

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