軟體工程管理(轉)

urinator發表於2007-08-16
軟體工程管理
自從有了計算機,就有了軟體開發。軟體是由程式、資料和文件組成。一般認為軟體的發展經歷了三個大的時期:以個體生產為特徵,主要憑個人經驗、技巧的程式設計時期;以作坊生產為特徵,幾個人分工合作的程式系統時期;以工程化和產業化為特徵的軟體工程時期,同時強調生產技術和管理方法。

一個軟體生命週期包括六個階段:
1. 計劃階段:定義系統,確定使用者的要求或總目標,進行可行性研究,提出可行的方案,包括資源、成本、效益、進度等,並制定粗略的實施計劃。
2. 需求分析:確定軟體功能、效能、可靠性、介面標準等要求,根據功能要求進行資料流程分析,提出初步的系統邏輯模型,並據此修改專案實施計劃。
3. 軟體設計:包括系統概要設計和詳細設計。在概要設計中,要建立系統整體結構,進行模組劃分,根據要求確定介面。在詳細設計中,要建立演算法、資料結構和流程圖。
4. 編碼:把流程圖翻譯成程式,並對程式進行除錯。可見編碼的實現方式與軟體的處理流程是相對獨立的,
5. 測試:通過單元測試,檢驗模組內部的結構和功能;通過整合測試,把模組聯結成系統,重點找介面上的問題;確認測試:按照需求的內容逐項進行測試;系統測試,就是到實際的使用環境中進行測試。以上四種測試中,單元測試和整合測試是由開發者自己完成的,而確認測試和系統測試則是由使用者參與完成的。這是軟體質量保證的重要一環。
6. 執行維護:一般包括三類工作,為了修改錯誤而做的改正性維護,為了適應環境變化而做的適應性維護,為了適應使用者新的需求而做的完善性維護,這有時會成為二次開發,進入一個新的生命週期,再從計劃階段開始。可見,維護的工作是軟體生命週期中重要的一環,通過良好的執行維護工作,可以延長軟體的生命週期,乃至為軟體帶來新的生命,

軟體生命週期是一個連續的、周而復始的過程,每一階段都有特定的目的,各個階段之間都存在著必然的因果關係,所以在軟體開發過程當中,應該遵循軟體工程的有關要求和規範,按部就班地進行軟體開發,特別是在軟體開發的初期,如果差之毫釐,那麼以後開發出來的軟體一定會謬以千里。為了保證在開發過程中可以根據一些新的情況對軟體的需求、設計進行合理的調整,所以在軟體工程管理中一般都包含了變更控制。當執行變更控制時,一定要回溯到前面的各個有關聯的階段,保證所做的變更與前期的各項工作保持整體一致性。值得一提的是,軟體的質量管理,不能單純地依賴於測試階段的工作,而是要在整個軟體生命週期中,從每一個環節上加強控制,這是保證軟體質量的根本方法。

考慮到一些新產品在最初的設想階段,預先定義完全、清晰、精細、一致的需求,是有相當的難度,需要做一些實驗,因此在軟體工程的開發策略上還存在一種快速原型法。他的軟體開發過程一般包括四個階段:

1. 提出基本需求,可以不完全。
2. 建造快速原型
3. 對模型進行檢驗,補充、細化需求
4. 按照改進的需求對模型進行改進、擴充。

通過第3、4步驟的反覆迴圈,最終形成完整、準確的需求,模型也就成為了符合要求的目標系統。
快速原型法往往會被認為是一種快速啟動的方法,對需要快速進入市場的產品開發是一個有利的途徑。但是,必須清醒地認識到,採用快速原型法,由於最初沒有定義清楚任務目標的範圍,所以專案風險很大,有可能會陷入無止境的精益求精,這就需要更強有力的專案管理、控制能力,更需要使用者和開發者對任務目標的共識,以及在專案進行過程中的相互理解和密切合作。如果不能具備這種能力,就不要冒險採取這種方法。

軟體工程管理不是一項技術,而是管理,但在大多數的高等院校中都是伴隨著理工類課程的,在管理類課程中並沒有詳細介紹有關的內容,這不能不說是一個誤區。現在資訊科技在各行各業中所佔的比重越來越大,在其中唱主角的軟體的開發工作,就會成為大家共同關心的內容,特別是作為管理者,更應該正確認識軟體工程管理,使自己在整個軟體工程的組織中正確定位,採取科學、嚴謹的態度,正確學習有關的理論知識用於指導實踐,使軟體開發工作真正為滿足企業的目標而發揮作用。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/7942439/viewspace-21432/,如需轉載,請註明出處,否則將追究法律責任。

相關文章