軟件工程基本原理與信息系統(tǒng)工程項目管理68
本文關(guān)鍵詞:軟件工程基本原理與信息系統(tǒng)工程項目管理,由筆耕文化傳播整理發(fā)布。
軟件工程基本原理與信息系統(tǒng)工程項目管理;ProjectManagementforInfo;BasedonPrinciplesofSoftw;馮鐕釗;FengZanzhao;(廣東省水利水電信息中心2002年);【摘要】本文結(jié)合作者多年從事信息系統(tǒng)項目策劃和管;【關(guān)鍵詞】軟件工程信息系統(tǒng)項目管理;1.引言;國內(nèi)不少信息系統(tǒng)建設(shè)項目都或多或少地經(jīng)受過“項目;也有
軟件工程基本原理與信息系統(tǒng)工程項目管理
Project Management for Information System
Based on Principles of Software Engineering
馮鐕釗
Feng Zanzhao
(廣東省水利水電信息中心 2002年)
【摘要】本文結(jié)合作者多年從事信息系統(tǒng)項目策劃和管理的經(jīng)驗,引申軟件工程原理,分析信息系統(tǒng)工程基本任務(wù),探索項目業(yè)主對信息系統(tǒng)項目進(jìn)行有效管理、順利實現(xiàn)既定目標(biāo)的一些方法。
【關(guān)鍵詞】軟件工程 信息系統(tǒng) 項目管理
1. 引言
國內(nèi)不少信息系統(tǒng)建設(shè)項目都或多或少地經(jīng)受過“項目泥潭”的痛楚:用戶需求含糊,技術(shù)方案粗糙,計劃不嚴(yán)謹(jǐn),管理不規(guī)范,工作難協(xié)調(diào),實際效果與用戶心目中期望的目標(biāo)相差甚遠(yuǎn),合同糾紛不斷、一改再改,到后期變得無章可循、各說各理。整個項目就象一個爛泥潭,離竣工日遙遙無期。 多數(shù)業(yè)主單位都不是信息技術(shù)本行的,不知如何對信息系統(tǒng)項目進(jìn)行有效管理,聽任系統(tǒng)開發(fā)商的安排。而不少開發(fā)商自身就嚴(yán)重缺乏有效的管理措施。
也有一些業(yè)主單位企圖照搬有形工程(如土建工程)建設(shè)管理的方法對信息系統(tǒng)項目進(jìn)行管理,結(jié)果往往是令人啼笑皆非。
本文結(jié)合作者多年從事信息系統(tǒng)項目策劃和管理的經(jīng)驗,試圖從項目業(yè)主的角度出發(fā),探索對信息系統(tǒng)項目進(jìn)行有效管理、順利實現(xiàn)既定目標(biāo)的一些方法,希望起到拋磚引玉的作用。
2. 信息系統(tǒng)工程與軟件工程
毫無疑問,現(xiàn)代信息系統(tǒng)的建設(shè)是應(yīng)用驅(qū)動型的,
因應(yīng)業(yè)務(wù)發(fā)展的需要而提出開發(fā)各種業(yè)務(wù)應(yīng)用軟件,進(jìn)
而確定所需的系統(tǒng)集成方案,即配置怎樣的網(wǎng)絡(luò)運(yùn)行環(huán)
境,以及它們?nèi)绾斡行У丶稍谝黄鸾M成目標(biāo)系統(tǒng)。如
圖1所示。
信息系統(tǒng)建設(shè)的成敗主要體現(xiàn)在各種業(yè)務(wù)應(yīng)用軟件
的運(yùn)行是否達(dá)到預(yù)期目的。而“項目泥潭”通常就容易
發(fā)生在應(yīng)用軟件的開發(fā)和集成上。
因此,現(xiàn)代信息系統(tǒng)工程的重點和難點都是軟件工
程,軟件工程的基本原理對信息系統(tǒng)工程的建設(shè)管理將
起主導(dǎo)作用。
3. 軟件的主要特點與軟件危機(jī)
3.1. 軟件的主要特點
(1) 軟件是一種抽象的邏輯實體,其質(zhì)量問題是隱蔽的。
(2) 軟件在運(yùn)行使用中不會磨損和老化,但會退化(過時)。
(3) 軟件的復(fù)雜性使開發(fā)人員之間分工困難,增加人手未必能加快進(jìn)度,卻可能帶來混亂。
(4) 軟件開發(fā)需要投入大量、復(fù)雜、高強(qiáng)度的腦力勞動,且至今尚未完全擺脫手工藝的開發(fā)方式,因而成本相當(dāng)昂貴。
(5) 軟件的開發(fā)與運(yùn)行不僅涉及技術(shù)因素,而且相當(dāng)多地涉及社會因素,涉及機(jī)構(gòu)、體制、管理方式、甚至人的觀念和心理。這些非技術(shù)因素直接影響到項目的成敗。
3.2. 軟件危機(jī)
在計算機(jī)軟件技術(shù)發(fā)展的早期,因程序規(guī)模較小,人們心目中只有程序設(shè)計的概念,注重個體編程技巧的發(fā)揮,缺乏軟件系統(tǒng)的概念。
隨著程序規(guī)模逐步擴(kuò)大,功能越發(fā)復(fù)雜,系統(tǒng)化全局性概念要求越來越高,這與那種任由個體發(fā)揮的編程方法之間形成了日益尖銳的矛盾,導(dǎo)致了軟件危機(jī)。
在西方發(fā)達(dá)國家,“軟件危機(jī)”是1960、1970年代的歷史故事。而在我國,軟件危機(jī)卻還是當(dāng)前時常發(fā)生的事情,這就是本文開頭所說的“項目泥潭”。
4. 軟件工程的基本原理
約在1970年代以后,許多軟件科學(xué)家嘗試把其它工程領(lǐng)域中行之有效的工程學(xué)知識運(yùn)用到軟件開發(fā)工作中來,結(jié)合軟件技術(shù)自身的特點,經(jīng)過不斷實踐和總結(jié),逐步建立了一套工程化的軟件開發(fā)組織管理方法。這就是軟件工程。
4.1. 軟件工程的定義
1983年IEEE給出的定義為:“軟件工程是開發(fā)、運(yùn)行、維護(hù)和修復(fù)軟件的系統(tǒng)方法”。
其中,“軟件”的定義為:計算機(jī)程序、方法、規(guī)則、相關(guān)的文檔資料、以及在計算機(jī)上運(yùn)行時所必需的數(shù)據(jù)的集合。這里尤其要注意“軟件”與“程序”兩個概念的區(qū)別。
軟件工程包括三個要素:方法、工具和過程。
方法為軟件開發(fā)提供了“如何做”的技術(shù),包括項目計劃與估算、需求分析、數(shù)據(jù)結(jié)構(gòu)、系統(tǒng)總體結(jié)構(gòu)的設(shè)計、算法過程的設(shè)計、編碼、測試以及維護(hù)等。
工具包括各種軟件工具、開發(fā)機(jī)器和開發(fā)過程信息庫,提供自動或半自動的軟件開發(fā)環(huán)境。 過程定義了方法使用的順序、要求交付的文檔資料、為保證質(zhì)量和協(xié)調(diào)變化所需要的管理、及軟件開發(fā)各個階段完成的里程碑。這是本文討論的重點。
4.2. 軟件工程過程
軟件工程過程是為獲得軟件產(chǎn)品所進(jìn)行的一系列軟件工程活動,通常包含四種基本的過程活動:
(1) P (Plan):軟件規(guī)格說明。規(guī)定軟件的功能及其運(yùn)行限制;
(2) D (Do):軟件開發(fā)。產(chǎn)生滿足規(guī)格說明的軟件;
(3) C (Check):軟件確認(rèn)。確認(rèn)軟件能夠滿足用戶提出的要求;
(4) A (Action):軟件演進(jìn)。為滿足用戶的變更要求,軟件必須在使用過程中演進(jìn)。
4.3. 軟件生存周期模型
正如任何事物一樣,軟件也有其孕育、誕生、成長、成熟、衰亡的生存過程。我們稱之為計算機(jī)軟件的生存周期。根據(jù)這一思想,把上述基本的軟件工程過程活動進(jìn)一步展開,可以得到軟件生存周期的六個步驟。軟件生存周期的瀑布模型如圖2所示。
(1) 制定計劃:確定要開發(fā)的軟件系統(tǒng)的總目標(biāo)、
技術(shù)要求、技術(shù)和經(jīng)濟(jì)可行性、實施計劃,編制可行性
研究報告,提交管理部門審批。
(2) 需求分析:對待開發(fā)的軟件提出的需求進(jìn)行分
析并給出詳細(xì)定義,編寫軟件需求說明書或系統(tǒng)功能說
明書、以及初步的系統(tǒng)用戶手冊,提交評審。
(3) 軟件設(shè)計:把已確定了的各項需求轉(zhuǎn)換成一個
相應(yīng)的體系結(jié)構(gòu),進(jìn)而對系統(tǒng)內(nèi)的每個模塊要完成的工
作進(jìn)行具體的描述。編寫設(shè)計說明書,提交評審。
(4) 軟件編碼:即程序編寫,把軟件設(shè)計轉(zhuǎn)換成計
算機(jī)可以接受的程序代碼。
(5) 軟件測試:在設(shè)計測試用例的基礎(chǔ)上檢驗軟件
的各個組成部分。
(6) 運(yùn)行/維護(hù):已交付的軟件投入正式使用,并
在運(yùn)行過程中進(jìn)行適當(dāng)?shù)木S護(hù)。
實踐表明,上述各項活動之間并非完全是自上而
下、呈線性圖式的。實際情況是,每項開發(fā)活動均處于
一個質(zhì)量環(huán)(輸入-處理-輸出-評審)中。只有當(dāng)其工
作得到確認(rèn),才能繼續(xù)進(jìn)行下一項活動,在圖2中用向
下的箭頭表示;否則返工,在圖2中由向上的箭頭表示。
5. 信息系統(tǒng)項目過程及其各階段任務(wù)
參照軟件生存周期的瀑布模型,我們可以得出包括
業(yè)務(wù)應(yīng)用軟件和運(yùn)行環(huán)境網(wǎng)絡(luò)平臺在內(nèi)的一項完整的、
綜合型的信息系統(tǒng)工程的生存期模型,如圖3所示。
5.1. 定義階段
(1) 制定計劃:由系統(tǒng)分析人員和用戶合作,確定
擬建系統(tǒng)的總目標(biāo)及其功能、性能、可靠性、接口、運(yùn)
行管理和維護(hù)等技術(shù)要求;研究技術(shù)、經(jīng)濟(jì)和人才的可行性、現(xiàn)有條件和解決問題的可能方案;制定實施計劃、運(yùn)行管理和維護(hù)方案;形成完整的可行性研究報告和投資估算,提交主管部門審批立項。
(2) 需求分析:由系統(tǒng)分析人員和用戶合作,深入分析擬建系統(tǒng)的應(yīng)用需求、軟硬件需求,給出詳細(xì)定義,編寫需求分析和系統(tǒng)功能技術(shù)說明書以及項目概(預(yù))算書,提交管理部門組織專家評審。
通常,建設(shè)信息系統(tǒng)的目的是為改善當(dāng)前業(yè)務(wù)處理手段。因此,需求分析的任務(wù)是要借助當(dāng)前業(yè)務(wù)系統(tǒng)的邏輯模型導(dǎo)出目標(biāo)系統(tǒng)的邏輯模型,對目標(biāo)系統(tǒng)要“做什么”給出詳細(xì)定義。如圖4所示。
如果系統(tǒng)比較龐大、復(fù)雜,甚至涉及多專業(yè)業(yè)務(wù)處
理,則應(yīng)根據(jù)不同專業(yè)的主要技術(shù)特點對總系統(tǒng)進(jìn)行一
級或多級分解,導(dǎo)出每個子、孫系統(tǒng)的目標(biāo)邏輯模型,
并詳細(xì)定義它們之間的接口關(guān)系。
在系統(tǒng)功能技術(shù)說明書中,對所需的各種設(shè)備及其
配件、系統(tǒng)軟件、成品軟件、應(yīng)用軟件、軟件組件的功
能技術(shù)要求、配置、性能技術(shù)指標(biāo)等應(yīng)作出全面、詳盡、
明確和定量的說明。
要注意的是,這些說明應(yīng)從應(yīng)用需求角度出發(fā)、撇開具體產(chǎn)品型號而提出。這對于需要公開招標(biāo)的項目尤為重要。
此外,對于行業(yè)應(yīng)用軟件的開發(fā)或舊系統(tǒng)改造,如果存在某些必須遵守的技術(shù)標(biāo)準(zhǔn)或約定,也應(yīng)在系統(tǒng)功能技術(shù)說明書中詳細(xì)說明。
5.2. 軟件開發(fā)/系統(tǒng)集成階段
(3) 軟件設(shè)計/系統(tǒng)集成設(shè)計:
軟件設(shè)計如前所述。
系統(tǒng)集成設(shè)計根據(jù)審定的系統(tǒng)功能技術(shù)說明書,選擇滿足要求、性能價格比優(yōu)的具體型號產(chǎn)品及其配件,詳細(xì)列出軟硬件配置清單,給出詳實的系統(tǒng)集成設(shè)計方案和軟硬件采購、安裝調(diào)試計劃。
軟件設(shè)計和系統(tǒng)集成設(shè)計并非相互獨立的工作,它們之間的關(guān)系非常密切,必須充分溝通和協(xié)調(diào)。 此階段應(yīng)得到詳實的軟件設(shè)計/系統(tǒng)集成設(shè)計說明書,交業(yè)主組織專家評審。兩者應(yīng)盡量同時提交給同一批專家評審。
(4) 軟件編碼/設(shè)備采購:
根據(jù)審定的軟件設(shè)計/系統(tǒng)集成設(shè)計說明書,分別進(jìn)行程序編寫和設(shè)備采購工作。兩者之間并無太多聯(lián)系,但所處時間階段往往大致相同。此外,兩者都屬于生產(chǎn)制造階段,需要特別關(guān)注質(zhì)量控制。尤其對程序編寫,加強(qiáng)程序員的質(zhì)量意識非常重要。
在本階段,因?qū)嶋H運(yùn)行環(huán)境尚未建立,軟件開發(fā)單位應(yīng)自己建立一個能充分模擬實際運(yùn)行環(huán)境的開發(fā)環(huán)境,在該環(huán)境下進(jìn)行程序編寫。
(5) 軟件測試/設(shè)備安裝調(diào)試:兩者之間也無太多聯(lián)系,但完成時間最好大致相同,以便能一起進(jìn)入系統(tǒng)聯(lián)合調(diào)試。
需特別指出,程序代碼中不可避免會存在錯誤,軟件測試的目的不是證明軟件本身無錯或少錯,而是盡可能多地發(fā)現(xiàn)錯誤并改正之。測試用例應(yīng)圍繞這個目的而設(shè)計。
(6) 系統(tǒng)聯(lián)合調(diào)試:實踐表明,通過了各種測試被認(rèn)為合格的軟件,集成到實際運(yùn)行環(huán)境時,往往會出現(xiàn)一些意想不到的問題,其主要原因是開發(fā)環(huán)境與實際運(yùn)行環(huán)境之間不可避免地存在差異。因此,在軟件開發(fā)和系統(tǒng)集成的最后階段,應(yīng)該使兩者集成在一起進(jìn)行聯(lián)合調(diào)試,或叫做交工試運(yùn)行,測試系統(tǒng)各組成部分能否順利結(jié)合在一起正常運(yùn)行,能否達(dá)到需求分析階段所確定的目標(biāo)。
系統(tǒng)聯(lián)合調(diào)試通過后,可進(jìn)行系統(tǒng)交工驗收,標(biāo)志一個階段結(jié)束。
(7) 考核運(yùn)行:系統(tǒng)交工驗收后,應(yīng)安排一段具代表性的時間進(jìn)行系統(tǒng)考核運(yùn)行,讓用戶通過實際使用系統(tǒng),檢驗系統(tǒng)是否實現(xiàn)了建設(shè)目標(biāo)。考核運(yùn)行期長短視系統(tǒng)支持的應(yīng)用業(yè)務(wù)性質(zhì)和復(fù)雜性而定。
考核運(yùn)行期滿且驗證為合格后,可進(jìn)行系統(tǒng)竣工驗收。
5.3. 運(yùn)行維護(hù)階段
(8) 運(yùn)行/維護(hù):竣工驗收后系統(tǒng)投入正式使用,并在運(yùn)行過程中根據(jù)業(yè)務(wù)變化的需要進(jìn)行適當(dāng)?shù)木S護(hù)、調(diào)整和修改。
6. 信息系統(tǒng)項目管理基本方法
6.1. 項目建設(shè)階段管理
目前,信息系統(tǒng)項目建設(shè)投資計劃的報批往往是參照有形工程的思路進(jìn)行的,因此有必要將兩者的項目過程作一些對比,如表1所示。
信息系統(tǒng)工程的基本原理來源于有形工程,,各階段有大致的對應(yīng)關(guān)系,甚至在必要時可以直接借用有形工程相應(yīng)階段的名稱,但任務(wù)內(nèi)容及所用方法必須保證按信息系統(tǒng)工程自己的特點執(zhí)行,不可照搬有形工程的任務(wù)內(nèi)容和方法。 6.2. 兩階段合同管理 在需求分析完成且系統(tǒng)功能技術(shù)說明書得到批準(zhǔn)之前,項目建設(shè)的內(nèi)容和概(預(yù))算都還是不確定的。如果采用一份合同從頭管到尾,則在項目開始所定的合同是一份建設(shè)內(nèi)容不確定的合同,最終會導(dǎo)致“項目泥潭”的結(jié)局。
因此,不管是否需要招標(biāo),都應(yīng)該分兩個階段簽定
合同:
第一階段合同的任務(wù)是可行性研究、需求分析,其
成果主要是書面報告。這相當(dāng)于有形工程的可行性研究
和初步設(shè)計合同,合同額只占項目總投資的小部分。
第二階段合同的任務(wù)是軟件開發(fā)/系統(tǒng)集成,其成果是實現(xiàn)具體的目標(biāo)系統(tǒng)供用戶使用。這相當(dāng)于有形工程的施工合同,合同額將占項目總投資的大部分。注意如果兩個階段的系統(tǒng)開發(fā)商不是同一家,則軟件設(shè)計/系統(tǒng)集成設(shè)計(相當(dāng)于“施工設(shè)計”)任務(wù)應(yīng)由本階段合同的開發(fā)商執(zhí)行,才能做出切合實際的設(shè)計。
有了第一階段合同成果的明確定義,第二階段合同的執(zhí)行就可以避免走向“項目泥潭”。
6.3. 技術(shù)文檔與階段評審的重要性
智者千慮,必有一失。以抽象、隱蔽為主要特征的信息系統(tǒng)工程的每一個階段,都應(yīng)提交充分的技術(shù)文檔,供用戶和專家詳細(xì)評審,盡可能把需要返工的問題控制在當(dāng)前階段內(nèi),避免跨越一個或多個階段的返工。當(dāng)具體情況改變時,技術(shù)文檔應(yīng)得到及時修訂。
有些開發(fā)商總想以最少的工作量盡快把合同款項賺到手,不愿認(rèn)真進(jìn)行各階段詳細(xì)文檔的編制和評審,結(jié)果從頭到尾積累了一大堆問題需要跨階段返工,到最后反而可能要賠本。項目管理者必須對這種“偷工減料”的情況進(jìn)行嚴(yán)格監(jiān)控。
6.4. 項目監(jiān)理的必要性
信息系統(tǒng)工程建設(shè)監(jiān)理是近兩年才提出來的,目前尚在探索中,不象有形工程建設(shè)監(jiān)理制度那樣完善。從先行者的探索經(jīng)驗來看,這是很有必要而且成效顯著的。在目前條件下,可以雇請有直接開發(fā)經(jīng)驗的人員充當(dāng)監(jiān)理角色,幫助業(yè)主監(jiān)管項目建設(shè)的整個過程。
7. 結(jié)語
信息系統(tǒng)工程原理來源于有形工程,但又明顯區(qū)別于有形工程。項目管理人員應(yīng)該按信息系統(tǒng)工程的特點嚴(yán)格把握各階段的任務(wù)以及衡量其完成的標(biāo)準(zhǔn),重視各階段技術(shù)文檔的編制、評審和修訂,避免問題跨階段積累,使無形、抽象和隱蔽的信息系統(tǒng)工程的建設(shè)過程也能象有形工程那樣得到有效管理,將項目建設(shè)一步一步引向既定目標(biāo),取得成功。
【參考文獻(xiàn)】
1.《軟件工程高級培訓(xùn)教程》,鄭人杰主編,清華大學(xué)出版社,1999年8月第1版。
2.《實用軟件工程》(第二版),鄭人杰,殷人昆,陶永雷編著,清華大學(xué)出版社,1997年4月。
3. 清華網(wǎng)絡(luò)學(xué)堂軟件工程教學(xué)課件,殷人昆,2000年3月。
【作者簡介】馮鐕釗(1962-),男,廣東省北江防洪調(diào)度中心(水利水電信息中心)副主任、高級工程師,從事水利信息化建設(shè)和管理工作。
三億文庫3y.uu456.com包含各類專業(yè)文獻(xiàn)、各類資格考試、生活休閑娛樂、行業(yè)資料、文學(xué)作品欣賞、軟件工程基本原理與信息系統(tǒng)工程項目管理68等內(nèi)容。
12
下載地址:軟件工程基本原理與信息系統(tǒng)工程項目管理68.Doc
【】最新搜索
軟件工程基本原理與信息系統(tǒng)工程項目管理
70區(qū)域可持續(xù)發(fā)展系統(tǒng)動力學(xué)綜合協(xié)調(diào)模型研究
我校舉辦國學(xué)經(jīng)典誦讀展示活動_圖文
論我國園林植物造景_田曄林42
78人格測驗16PF解析成果
對二叔丁基苯的制備
2016繼續(xù)教育建設(shè)美麗中國答案86分
15小學(xué)體育教師業(yè)務(wù)考試試卷及答案修改版
淺論中國傳統(tǒng)園林植物造景技藝特征分析
93中學(xué)教育
本文關(guān)鍵詞:軟件工程基本原理與信息系統(tǒng)工程項目管理,由筆耕文化傳播整理發(fā)布。
本文編號:162700
本文鏈接:http://sikaile.net/kejilunwen/ruanjiangongchenglunwen/162700.html