軟件項目開發流程以及人員職責

實行軟件工程項目管理:
▲ 項目經理(負責人):項目經理(負責人)對整個項目負完全責任,是指導、控制、管理和規範某個軟件和軟/硬件系統建設的人,項目經理(負責人)是最終對客戶負責的人。
▲ 軟件項目經理(負責人):軟件項目經理(負責人)對一個項目的所有軟件活動負完全責任,控制一個項目的所有軟件資源,按照軟件約定與項目經理(負責人)打交道。
▲ 軟件工程組: 軟件工程組是負責一個項目的軟件開發和維護活動(例如:需求分析、設計、編程和測試)的人員(包括管理人員和技術人員)。
▲ 系統工程組: 系統工程組是負責下列工作的人(既有經理也有技術人員)的集團:規定系統需求;將系統需求分配給硬件、軟件和其它成分;規定硬件、軟件和其它成分之間的界面;以及監控這些成分的設計和開發以保證它們符合其規格說明。
▲ 系統測試組:系統測試組是一些負責策劃和完成獨立的軟件系統測試的個人(既有經理又有技術人員)的集團,測試的目的是爲了確定軟件產品是否滿足對它的要求。
▲ 軟件質量保證組: 軟件質量保證組是一些計劃和實施項目的質量保證活動的個人(既有經理又有技術人員)的集團,其工作的目的是保證軟件過程的步驟和標準得到遵守。
▲ 軟件配置管理組: 軟件配置管理組是一些負責策劃、協調和實施軟件項目的正式配置管理活動的個人(既有經理又有技術人員)的集團

總體流程如下:
計劃階段-》需求分析階段-》軟件開發階段-》測試階段-》完成
一、項目計劃階段
項目計劃草案和風險管理計劃作爲第一步,當有一個商業機會後,根據公司高層負責制定的初步商業計劃書來完成項目的計劃草案,確定、分析項目風險並確定其優先級,還要制定風險解決方案。本階段的目的是確立產品開發的經濟理由。
當確定開發之後則制定軟件開發計劃、人員組織結構定義及配備、過程控制計劃。
(1)項目計劃草案
項目計劃草案應包括產品簡介、產品目標及功能說明、開發所需的資源、開發時間和里程碑。
(2)風險管理計劃
也就是把有可能出錯或現在還不能確定的東西列出來,並制定出相應的解決方案。風險發現得越早對項目越有利。
(3) 軟件開發計劃
軟件開發計劃的目的是收集控制項目時所需的所有信息,項目經理根據項目計劃來安排資源需求並根據時間表跟蹤項目進度。項目團隊成員根據項目計劃以瞭解他們的工作任務、工作時間以及他們所依賴的其他活動。
可將計劃分成總體計劃和詳細計劃,總體計劃中每個任務爲一個里程碑,詳細計劃中必須將任務落實到個人。
軟件開發計劃還應包括產品的應收標準及應收任務(包括確定需要制訂的測試用例)。
(4)人員組織結構定義及配備
常見的人員組織結構有垂直方案、水平方案、混合方案。垂直方案中每個成員充當多重角色。水平方案中每個成員充當一到兩個角色。混合方案則包括了經驗豐富的人員與新手相互融合。具體選擇根據人員實際技能情況進行選擇。
(5)過程控制計劃
過程控制計劃的目的是收集項目計劃正常執行所需的所有信息,用來指導項目進度的監控、計劃的調整,確保項目按時完成。
二、需求分析階段
需求分析階段的目的是在系統工作方面與用戶達成一致。
(1)軟件需求規約
詳細說明系統將要實現的所有功能。
(2) 用戶界面原型
可以有三種表示方法:圖紙(在紙上)、位圖(繪圖工具)、可執行文件(交互式)。

三、 軟件開發階段
本階段從物理上實現目標系統。採用了面向對象方法。
(1)軟件架構
說明軟件的組織結構、部署結構及運行環境。
(2)類設計
定義類之間的關聯和類的屬性、方法。
(3)數據庫設計
定義數據庫表之間的關聯和各個表的字段。
(4)編碼和單元測試
按照設計文檔進行編碼,每完成一個模塊應進行單元測試。
(5)集成系統
按軟件組織結構的要求將各個子系統組合起來。
四、測試階段
測試的目的是在發佈之前找出程序的錯誤。包括:覈實每個模塊是否正常運行(參考設計文檔)、覈實需求是否被正確實施(參考需求文檔)。
(1)測試計劃
收集和組織測試信息,爲測試工作提供指導。
(2)測試數據
儘量使用真實數據。
(3) 測試報告
記錄測試結果,詳細描述問題,提出解決辦法。
(4)幫助文件和用戶操作手冊
五、 管理軟件開發過程
有以下幾方面地工作:
(1)組織會議
討論會議、總結會議等。
(2)評審程序
對各個階段的工作結果進行審覈。
(3)協調人員
(4) 配置管理

使用一些配置管理工具進行開發文檔管理,如:visual sourcesafe,teamsouce等
六、 各參與角色的具體職責描述及對人員的要求
(1) 項目經理
職責:
1、 制定產品的目標。
2、 制定各個工作的詳細任務表,跟蹤這些任務的執行情況,進行控制。
3、 組織會議對程序進行評審。
4、 綜合具體情況,對各種不同方案進行取捨並做出決定。
5、 協調各項目參與人員之間的關係。
人員要求:
對產品有激情,具有領導才能。
對問題能正確而迅速地做出確定。
能充分利用各種渠道和方法來解決問題。
能跟蹤任務,有很好地日程觀念。
能在壓力下工作。
(2)系統分析員
職責:
1、 瞭解用戶需求,寫出《軟件需求規約》。
2、 建立用戶界面原型。
人員要求:擔任系統分析員的人員應該善於協調,並且具有良好的溝通技巧。擔任此角色的人員中必須要有具備業務和技術領域知識的人才。
(3)設計員
職責:
1、 定義類的方法和屬性以及各個類之間的關聯,畫出類圖。
2、 進行數據庫設計。
人員要求: 掌握面向對象分析與設計技術,統一建模語言(uml)。
(4)程序員
職責:按項目的要求進行編碼和單元測試。
人員要求:良好的編程技能和測試技術。
(5)測試員
職責: 執行測試,描述測試結果,提出問題解決方案。
人員要求:瞭解被測試的系統,具備診斷和解決問題的技能,編程技能
發佈了31 篇原創文章 · 獲贊 0 · 訪問量 1756
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章