課程報告 軟體型態管理軟體工具之選擇與評估 報告者:謝佑忞 班級:碩研資管一甲 學號:MA490102 課程:南臺資管所 專案管理專題 授課老師:陳炳文 報告出處:軟體專案管理 林信惠、黃明祥、王文良著,智勝出版
大綱 型態管理 個案 Q & A 結論
前言(1/2) 大部份的軟體開發工作是由一群擁有不同背景與專長的人共 同合作完成,因此在進行軟體設計工作時 可能會有下列情形發生: 多人同時更新某一個軟體 多人共同使用同一個程式碼,雖然部分程式已被更新,但仍有些人 不知道 使用版本不一致 雖然發現程式的錯誤原因,但卻無法有效通知相關人員以避免錯誤 的影響繼續擴大 許多設計人員可以共用同一支程式,但設計者卻自行開發相同的程 式
前言(2/2) 在軟體發展的過程中,變更是不可避免的,因此有效的控制 軟體的變更是軟體開發部門的重要工作項目 型態管理的重要問題如下: 專案開發人員要如何瞭解現行發展的軟體版本? 如何有效地控制軟體變更問題? 軟體發生變更時,該如何通知相關人員? 進行軟體更改時,應如何確保一定的軟體品質水準? 如何評估軟體變更所造成的影響?
型態管理目的 型態管理是運用各種工具、方法與程序管制軟體發展的變更 活動,使軟體品質維持良好的一致性與完整性,並使資源運 用到最佳的效果。 目的敘述如下: 降低軟體修改導致專案失敗的風險 建立軟體發展過程中所有的記錄(程式碼、文件等) 控制軟體的品質與改進軟體再用性(Reusability) 控制專案時程與成本於既定水準 各種工具、方法與程序 一致性與完整性
型態管理 型態管理的主要工作項目 型態管理 型態識別 型態變更控制 型態稽核 型態狀況報告 型態識別:定義與控制軟體型態的項目、基準線, 安排型態項目的發展時程,製作文件與編碼,建立及維持一套基準線,使其能在軟體生命週期內,對於每個型態項目做管制及狀態的彙報 型態變更控制:對於型態項目的變更進行控制 型態稽核:對於軟體開發過程的基準線實施稽核工作,以確保軟體功 能符合既定需求 型態狀況報告:提供軟體發展過程之記錄
型態識別 確認 定義與控制軟體型態的項目、基準線, 安排型態項目的發展時程,製作文件與編碼,建立及維持一套基準線,使其能在軟體生命週期內,對於每個型態項目做管制及狀態的彙報 將軟體的類型(原始碼、資料、文件)、結構與基準線做適當的分類與確認。 命名 應考慮命名的規則與習慣以及版本管理的需求 取用 取得、暫存、讀取、再應用 應考慮執行效率與安全性 存放 資料庫管理(長期的再應用)
型態管理的活動與軟體開發過程之關係 管制點 基準線 由圖可知,在需求分析、設計、測試及驗收的各階段均須設定「管制點」進行審查獲稽核工作。 制定基準線做為型態項目的控制手段,防止任意變更軟體規格或程式碼而導致開發過程的混亂情形。 為了確保軟體的完整性與一致性,預先設計的管制點進行追蹤與控制,可確保達成預計軟體品質水準的目標,而型態管理將軟體型態項目的發展歷程均存入專案資料庫中,對於系統開發工作亦有極大助益。 管制點 基準線
型態變更控制(1/2) 是針對型態項目中已建立的基準線 提出修改 進行評估、協調與核准 對於已核准之修改加以執行 負責型態控制的主要單位為型態控制委員會由:專案經理、 型態經理、品質保證經理、系統工程師、系統分析師、測試 經理及資深使用者代表所組成,其職責為負責型態項目變更 時的審查、核准、追蹤與控制的工作。 基準線為一個工作產品,指出某個活動的結束與另 一個活動的展開之臨界點
型態變更控制(2/2) 針對軟體的變更進行控制活動,其主要目的是: 建立一套申請修改和執行的程序,做為軟體修改的準則。 針對變更的必要性與重要性的大小,評估變更的可行方案, 使資源運用達到最有效率的目標。 將軟體修改之副作用減至最低程度 建立各種更改需求的提出與執行過程之完整記錄,做為考察 追蹤軟體品質的基本來源。
型態稽核 型態稽核的主要目的是確保軟體能夠符合規格、標準、合約 規定或是其他規定準則。
型態狀況報告 型態狀況報告是蒐集、記錄、變更型態文件、型態基準線或 外包廠商繳交系統文件的狀態。 主要目的是針對型態項目的進度與變更提供一份完整資訊。 型態狀況報告之主要內容 定義型態項目的功能及實體特性清單 各種預計變更與偏差的狀況表 變更進度表 專案資料庫現有型態項目的功能與實體特性清單 由於型態狀況報告主要是利用專案資料庫提供一些型態管理活動紀錄,因此,在設計型態狀況報告時,必須要與型態變更控制、稽核、型態項目的內容相互結合,否則提供資訊不僅不完整而且可能發生誤導情形
個案 主要人物: 資訊處處長劉處長 資訊處副處長鍾副處長 資訊處系統分析課課長蔣課長 立新電子公司是國內積體電路的製造廠商,員工人數1600人, 一年營業額為新台幣200億元,資訊部門人數為30人,該部 門在MIS開發過程中,經常發生軟體修改與變更造成混亂與時 程延誤的現象,為了解決上述問題,公司擬引進一套軟體型 態管理軟體工具。 劉處長指示由蔣課長負責整體評估工作,並指示鐘副處長協 助蔣課長。 軟體修改與變更造成混亂與時 程延誤
評估構面 功能性的分析構面: 軟體型態管理功能支援能力 開發環境整合與開發人員的支援能力 網路支援、圖型化介面與其他功能 非功能性的分析構面: 適用對象與範圍 學習曲線長短 價格 維護與運作之難易度 型態管理的基本功能 成本 介面 操作方便性 軟體工具的整合
CSV 一套廣泛使用於自由軟體與發放原始碼社群中之版本控制與 管理軟體。 開發環境使用之檔案類型僅支援純文字與二進位檔案。
Rational ClearCase LT 採用主從架構,除具備基本版本管理與控制之功能外,對於 版本控制的物件並不限定於程式原始碼、純文字檔之支援, 它尚包含Rational Rose(mal)、網頁、word與XML等多種物件 版本之管理,最重要的特色是配合使用之軟體型態管理流程 「一致性變動管理」的方法論,進行軟體型態管理的控管作 業。
評估比較-功能性分析(1/3) 比較分析構面 評估準則 評估的軟體工具 CSV Rational ClearCase 軟體型態管理功能支援能力 版本辨識 ✔ 型態管理 版本管理 變動管理 ✘ 版本儲存庫與版本控制元素的存取 版本釋出管理 自動化系統建立 版本合併與比較 版本歷史紀錄
評估比較-功能性分析(2/3) 比較分析構面 評估準則 評估的軟體工具 CSV Rational ClearCase 開發環境整合與開發人員的支援能力 流程管理 ✘ ✔ 通訊支援 與開發環境之整合能力 與case工具的整合能力 跨平台支援 工作區管理 狀態稽核 組態稽核
評估比較-功能性分析(3/3) 比較分析構面 評估準則 評估的軟體工具 CSV Rational ClearCase 網路支援、圖型化介面與其他功能 對於區域/廣域網路支援能力 ✔ ✘ Web存取 視覺化支援 供應商控制 安全控管
評估比較-非功能性分析 非功能性評估準則 評估軟體 CSV Rational ClearCase 適用對象與範圍 學習曲線的長短 價格 適用於僅想要進行版本控制的組織或團體 適用人數小至個位數,大至數百人 適用於分散式開發環境(LAN、WAN) 自行定義軟體型態管理流程 適用於想進行版本控制、系統建立與快速導入軟體型態管理流程之組織或團體 適用於分散式開發環境(LAN) 學習曲線的長短 無軟體型態管理流程,僅須學習期指令操作,學習時間短 除指令介面外,另支援圖型化介面,可縮短各項功能的學習時間 網路上相關資源豐富,所提供之資訊以指令介面居多 軟體型態管理流程分為管理人員與開發人員,對於軟體工程與軟體型態管理稍有認識的人,其學習曲線較短 提供軟體參考文件供管理人員參考 價格 免費 每一個授權20萬,精簡版授權10萬 維護與運作之難易度 由相關開發社群進行版本更新與維護的動作,省去維護成本。 由Rational提供客戶諮詢與付費技術服務,並不定期提供軟體更新與修補版本。
討論 如果您是劉處長在您看完蔣課長的報告後,針對兩種型態管 理的工具,您的決策會傾向採用何種型態管理的工具? 選擇Rational ClearCase 支援功能較多 省去維護時間 整合能力較好 選擇型態管理工具主要的評估準則 型態管理的基本功能 成本 介面 操作方便性 軟體工具的整合
討論 個案公司採用的評估構面是否完整?有無必要改進?每一個 構面的評估準則是否完整?個案公司進行評估的步驟是否洽 當? 選擇型態管理工具主要的評估準則 型態管理的基本功能 成本 介面 操作方便性 軟體工具的整合 選擇型態管理工具主要的評估準則 型態管理的基本功能 成本 介面 操作方便性 軟體工具的整合
型態管理工具的重要性 將型態管理活動納入制度化管理,減少人工作業可以大幅提 高工作效率與品質。 將開發完的軟體存放在資料庫,對未來新專案的開發具有極 大的助益,例如增加軟體再用或協助成本的估計作業等。 保存所有變更記錄可以有效地控制軟體品質,減少追蹤軟體 失敗的時間。 將軟體或系統文件做適當地管理,對系統開發或維護人員而 言,可縮短軟體開發時程或減少維護管理的工作負荷 對亦於產生異常的軟體組件,可經由型態管理工具予以反映 出來,及早加以預防與解決,確保專案如期交貨與成本控制 目標的達成。
謝謝各位耐心地聆聽 Thanks For Your Listening.