監(jiān)理公司管理系統(tǒng) | 工程企業(yè)管理系統(tǒng) | OA系統(tǒng) | ERP系統(tǒng) | 造價(jià)咨詢管理系統(tǒng) | 工程設(shè)計(jì)管理系統(tǒng) | 甲方項(xiàng)目管理系統(tǒng) | 簽約案例 | 客戶案例 | 在線試用
X 關(guān)閉

淺談信息系統(tǒng)開發(fā)中的差錯(cuò)放大及其治理

申請(qǐng)免費(fèi)試用、咨詢電話:400-8352-114

AMTeam.org

淺談信息系統(tǒng)開發(fā)中的差錯(cuò)放大及其治理

陳書勤

常言道:“差之毫厘失之千里”,意指原本一點(diǎn)些微的差異由于未及時(shí)得到校正,到頭來造成了巨大的偏差。其實(shí),在信息系統(tǒng)軟件開發(fā)中就常常出現(xiàn)這種由小變大的差錯(cuò),究其原因主要是在系統(tǒng)開發(fā)各個(gè)階段中產(chǎn)生的大小錯(cuò)漏未及時(shí)消除,逐級(jí)累積放大所致,其嚴(yán)重后果往往是造成系統(tǒng)軟件的潛在致命硬傷,不及時(shí)發(fā)現(xiàn)遲早會(huì)造成用戶的巨大損失。下面進(jìn)一步分析系統(tǒng)差錯(cuò)放大的成因、危害和治理措施。

1、信息系統(tǒng)開發(fā)各階段的差錯(cuò)原因溯源和診斷

在信息系統(tǒng)軟件開發(fā)所必經(jīng)的需求分析、軟件設(shè)計(jì)、軟件編程、系統(tǒng)測試等開發(fā)過程中,每個(gè)階段都不可避免地因人為或非人為因素產(chǎn)生一些錯(cuò)誤并帶到下一階段中,這些錯(cuò)漏又往往因未及時(shí)處理而造成無窮的后患,下面就簡單地依次逐級(jí)進(jìn)行差錯(cuò)原因溯源和診斷:

1)在需求分析階段:由于用戶可能對(duì)自己的業(yè)務(wù)敘述以及對(duì)系統(tǒng)軟件的需求等背景內(nèi)容不夠系統(tǒng)和完善,加之信息系統(tǒng)開發(fā)商理解上的偏差,形成包含了錯(cuò)誤需求的“需求分析報(bào)告”。這種錯(cuò)誤包括誤解與遺漏,造成隨之展開的設(shè)計(jì)、編程上的逐級(jí)錯(cuò)上加錯(cuò)。

2)在軟件設(shè)計(jì)階段:因?yàn)閷?duì)需求理解的偏差,加上設(shè)計(jì)本身考慮不周,導(dǎo)致含有錯(cuò)誤的“設(shè)計(jì)報(bào)告”出臺(tái),根據(jù)這種設(shè)計(jì)方案所展開的編程同樣會(huì)錯(cuò)上加錯(cuò)。

3)在軟件編程階段:因?yàn)閷?duì)設(shè)計(jì)思路、意圖、方案、規(guī)劃等基本思想的理解偏差,加上編程本身的疏忽,“程序代碼”中往往會(huì)錯(cuò)誤和漏洞百出。

4)在系統(tǒng)測試階段:總會(huì)有一些“潛伏的錯(cuò)誤”沒能及時(shí)發(fā)現(xiàn),而能夠發(fā)現(xiàn)的錯(cuò)誤在交付期迫近的情況下又不能修改,可能是因?yàn)槟骋荒K修改工作量太大,沒有修改時(shí)間;也可能是因?yàn)楣ぷ髁侩m小,但模塊修改涉及范圍太大,輕易難改,即使是修改也常常越改越亂。
由此這般致使在正式交付的軟件中就潛伏了很多錯(cuò)誤,造成了軟件的“硬傷”,如此差錯(cuò)逐級(jí)積累和放大,其危害后果是不言而喻的。

2、信息系統(tǒng)軟件開發(fā)的差錯(cuò)放大及其對(duì)系統(tǒng)開發(fā)商的沖擊

系統(tǒng)編程員一定都有這種體會(huì):花費(fèi)了近半個(gè)月的功夫、用了九牛二虎之力所編出的程序聯(lián)機(jī)測試時(shí)趴了窩,窮究其原因才發(fā)現(xiàn)罪魁禍?zhǔn)缀唵蔚街徊贿^是一條語句或一個(gè)變量的“小錯(cuò)誤”,但是錯(cuò)誤卻是在編程開始時(shí)早就埋伏下來了的。

系統(tǒng)開發(fā)者也一定都有這樣的體驗(yàn):在系統(tǒng)開發(fā)的每個(gè)階段都會(huì)把上一階段文檔的要求成倍或成數(shù)量級(jí)的放大成現(xiàn)階段的文檔,例如1個(gè)“用戶需求”常??赡苄枰?0條“設(shè)計(jì)”語句才能展開,1條“設(shè)計(jì)”語句非得需要10段“程序”才能實(shí)現(xiàn),1段“程序”往往需要10種“測試”組合才能讓人感到踏實(shí)。同理,差錯(cuò)錯(cuò)漏也同樣被不幸地逐級(jí)進(jìn)行放大,致使早期的低級(jí)錯(cuò)誤,在軟件開發(fā)后期往往會(huì)鑄成大錯(cuò),對(duì)用戶造成無法估量的損失。

雖然IT業(yè)內(nèi)的系統(tǒng)開發(fā)商普遍視“防患于未然、有錯(cuò)必糾”為基本工作原則和職業(yè)道德準(zhǔn)則,但繁雜的修改返工卻讓開發(fā)商付出沉重代價(jià)。因系統(tǒng)差錯(cuò)的“放大效應(yīng)”,致使越到開發(fā)后期,系統(tǒng)軟件修改返工所造成以成本、質(zhì)量和效率三要素所體現(xiàn)的代價(jià)就越大:

①在成本上:由于修改返工造成總開發(fā)時(shí)間和單位開發(fā)時(shí)間上的延長,直接體現(xiàn)為人、財(cái)、物投入的增加;②在質(zhì)量上:修改軟件很少會(huì)推倒重來,而往往會(huì)進(jìn)行軟件“打補(bǔ)丁”式的補(bǔ)救,卻常常常是悉心的修改反而又引入了令人意想不到的新錯(cuò)誤,真是一波未平一波又起,剛摁下葫蘆又起了瓢;③在效率上:修改返工中若不增加開發(fā)人員,則必將導(dǎo)致增加絕對(duì)開發(fā)時(shí)間,使實(shí)際開發(fā)效率驟降。若增加開發(fā)人員,則會(huì)因新員工不熟悉原工作流程或由于6人以上的修改返工小組中人際交流時(shí)間的激增,而降低了單位時(shí)間的開發(fā)效率。

差錯(cuò)放大導(dǎo)致的修改返工常常導(dǎo)致管理信息系統(tǒng)軟件開發(fā)的實(shí)際工期嚴(yán)重拖延。更嚴(yán)重的是造成用戶與系統(tǒng)開發(fā)商之間的反目,使系統(tǒng)開發(fā)商的信譽(yù)掃地,甚至危及其生存。

3、傳統(tǒng)軟件工程在克服差錯(cuò)放大問題上的常見誤區(qū)及其治理

為克服差錯(cuò)放大所造成的軟件危機(jī),IT業(yè)內(nèi)于20世紀(jì)80年代末期推出了按工程化方式組織管理軟件開發(fā)的“軟件工程”,向廣大開發(fā)商提供了包括分析、設(shè)計(jì)、編程、測試方法等軟件開發(fā)規(guī)范的技術(shù)手段和包括項(xiàng)目式、專業(yè)式、矩陣式管理等模式的標(biāo)準(zhǔn)化現(xiàn)代管理手段。但是,傳統(tǒng)的軟件工程應(yīng)用在克服差錯(cuò)放大方面仍然不理想。這主要是因?yàn)閭鹘y(tǒng)的系統(tǒng)分析設(shè)計(jì)方法所基于的軟件工程方法論所存在的致命誤區(qū)。下面就分別剖析這些誤區(qū):

1)誤區(qū)之一:“唯技術(shù)論與軟件至上說”

過去,許多純技術(shù)派和理論派人士,習(xí)慣于按照傳統(tǒng)的思維,凌駕于用戶之上,單純從技術(shù)角度考慮問題,嚴(yán)重脫離生產(chǎn)管理實(shí)際閉門造車,全然忘記了信息系統(tǒng)軟件必須從實(shí)踐中來到實(shí)踐中去的基本道理,忽視了系統(tǒng)必須服務(wù)于客戶的根本理念。很難想象運(yùn)行模式與用戶的管理模式大相徑庭管理軟件會(huì)有什么實(shí)際意義。其實(shí)對(duì)于系統(tǒng)軟件來說,其結(jié)構(gòu)也就正體現(xiàn)了有關(guān)原理組成部分的包容關(guān)系;軟件的流程也恰恰體現(xiàn)了這些組成部分的交互過程;軟件的數(shù)據(jù)則體現(xiàn)了進(jìn)行這些交互過程所產(chǎn)生的具體信息。俗稱為“建?!钡能浖到y(tǒng)分析設(shè)計(jì)方法就是在虛擬的軟件世界中建立現(xiàn)實(shí)世界的應(yīng)用模型,完全是一個(gè)軟件反映應(yīng)用的“鏡像”建立過程,是一個(gè)虛實(shí)結(jié)合的辨證過程。

在實(shí)踐中,我們既不能將管理信息化看成是簡單的手算變電算的陳舊軟件開發(fā)模式,也不能武斷地認(rèn)為只有用先進(jìn)的管理軟件才能改變用戶的落后管理模式。實(shí)際應(yīng)用中卻是由用戶最終根據(jù)自身的需要來選擇和確定管理模式的計(jì)算機(jī)化方向。如果系統(tǒng)開發(fā)商不能從企業(yè)的實(shí)用角度看問題,而是一味地逼企業(yè)應(yīng)用所謂“先進(jìn)軟件”,就會(huì)陷入兩難境地。在信息化建設(shè)過程中,企業(yè)好比是“病人”,軟件商好比是“藥商”,管理咨詢顧問好比是“醫(yī)生”。“病人”(企業(yè))需要??啤搬t(yī)生”(管理顧問)進(jìn)行檢查診斷(現(xiàn)狀分析)、開藥方(管理模式改良方案),“藥商”(軟件商)再照方(需求)制造相應(yīng)的藥品(軟件)。

可以說,軟件商依靠的是軟件制造技術(shù),管理顧問遵循的是現(xiàn)代管理規(guī)范,管理系統(tǒng)軟件則是企業(yè)管理制度的e化。軟件商決不能只一味深鉆技術(shù),還要全面理解與掌握用戶的實(shí)際業(yè)務(wù)知識(shí),只有這樣才能保證為用戶量體裁衣,開發(fā)出符合管理實(shí)際需求的用戶系統(tǒng)。

2)誤區(qū)之二:“順從迎合論與需求用戶決定說”

現(xiàn)實(shí)中人們往往都將軟件失敗歸因于需求分析不準(zhǔn),卻沒有搞清造成“不準(zhǔn)”的根本原因。其實(shí)正是傳統(tǒng)軟件工程方法論中過分依賴于通過直接詢問用戶來確定用戶對(duì)系統(tǒng)的需求,才是需求分析誤差的根源。因?yàn)椋幱诜菍I(yè)化層面、對(duì)信息化系統(tǒng)不十分熟悉的廣大用戶常常無法條理清晰、完整準(zhǔn)確地闡述出自己的要求;而系統(tǒng)開發(fā)商也往往受到對(duì)用戶的業(yè)務(wù)流程及管理模式不理解或不熟悉的限制,無法正確地把握住用戶的真實(shí)需求,但是開發(fā)商由于急于拉到用戶訂單,生怕放走了到口的“肥肉”,就經(jīng)常會(huì)發(fā)生要么一味迎合用戶并非完全準(zhǔn)確真實(shí)的“需求條件”,做出一付所謂“客戶至上”、“唯客戶需求馬首是瞻”的姿態(tài),要么只是象征性地就用戶的不合理需求提出輕描淡寫的“暗示”或無足輕重的“警示”,實(shí)際上卻不堅(jiān)持正確的觀點(diǎn),到頭來也是迎合了用戶的要求。這些都是系統(tǒng)開發(fā)商極其不負(fù)責(zé)任的態(tài)度,實(shí)際上是在知錯(cuò)瞞報(bào)。正是因?yàn)殚_發(fā)商自知理虧,所以只要所謂的用戶需求有變,就只好“曲義迎合”用戶,將系統(tǒng)軟件修改的補(bǔ)丁摞補(bǔ)丁,根本無法按時(shí)交付,讓滿懷期盼的系統(tǒng)用戶從可以理解到可以忍受直至忍無可忍,最終導(dǎo)致雙方“反目成仇”。

那么恰當(dāng)?shù)淖龇ㄈ绾文??答案是:系統(tǒng)開發(fā)商應(yīng)該強(qiáng)化對(duì)用戶業(yè)務(wù)流程的理解,全面深入地了解用戶的原有業(yè)務(wù),盡量以用戶的視角考慮系統(tǒng)問題,尊重用戶的需求但不迎合其中不合理的部分。必須明確用戶對(duì)軟件的需求主要有功能、過程、數(shù)據(jù)需求。從大量本土化系統(tǒng)開發(fā)成功案例可以看出,系統(tǒng)開發(fā)商應(yīng)從以下幾個(gè)方面描述用戶的業(yè)務(wù)管理模式,并由此而得出用戶的實(shí)際需求:

①以組織結(jié)構(gòu)為線索,按層次描述企業(yè)部門、崗位、工作職責(zé)、工作步驟的組成情況,羅列出每個(gè)人的本職工作;

②以業(yè)務(wù)種類為線索,按環(huán)環(huán)緊扣模式描述每個(gè)業(yè)務(wù)種類的具體業(yè)務(wù)流程,這些流程體現(xiàn)了部門間的、人之間的業(yè)務(wù)往來情況:

③以工作交接為線索,沿著相關(guān)的業(yè)務(wù)流程,收集相應(yīng)的業(yè)務(wù)數(shù)據(jù)(單據(jù)與報(bào)表),詳盡描述這些數(shù)據(jù)的內(nèi)容及其之間的關(guān)系。

④在包括業(yè)務(wù)分析和需求定義兩個(gè)過程的需求分析中,特別應(yīng)突出業(yè)務(wù)分析的重要性,應(yīng)將業(yè)務(wù)分析過程分離出來,成為獨(dú)立的階段。也就是將系統(tǒng)軟件的開發(fā)流程細(xì)分為業(yè)務(wù)分析——需求定義——總體設(shè)計(jì)——詳細(xì)設(shè)計(jì)——編碼——測試——維護(hù)等7個(gè)階段。
⑤正視國內(nèi)企業(yè)因?yàn)檎w管理水平低下而且業(yè)務(wù)流程普遍因處于成長期而易于變動(dòng)的現(xiàn)實(shí),也就是對(duì)企業(yè)頻繁發(fā)生的并非由于新業(yè)務(wù)帶來的需求變化要事先預(yù)計(jì)和預(yù)留接口。

3)誤區(qū)之三:“分工精細(xì)論與各開發(fā)階段獨(dú)立說”

通常人們都將信息系統(tǒng)軟件的開發(fā)階段精細(xì)劃分為業(yè)務(wù)分析、需求定義、總體設(shè)計(jì)、詳細(xì)設(shè)計(jì)、編碼、測試、維護(hù)等階段,業(yè)內(nèi)普遍認(rèn)為階段劃分和工作分解越精細(xì)越好,而且常常每個(gè)開發(fā)階段采用各自獨(dú)特的描述方法。

在系統(tǒng)開發(fā)的建模方法上,傳統(tǒng)上主要采用結(jié)構(gòu)化生命周期建模法和面向?qū)ο蠼7▋煞N。然而在實(shí)踐中開發(fā)商常常會(huì)發(fā)現(xiàn)雖然分工十分精細(xì)、階段也十分細(xì)化,可仍舊是錯(cuò)漏頻出。這主要是由于系統(tǒng)開發(fā)各個(gè)階段的文檔具有自己其各自獨(dú)特的表達(dá)形式,造成了各階段文檔銜接的“兩層皮”現(xiàn)象嚴(yán)重,致使錯(cuò)誤乘虛而入,產(chǎn)生了軟件的差錯(cuò)積累與放大效應(yīng)。

針對(duì)上述問題,目前國內(nèi)主要采用系統(tǒng)化、實(shí)用化的計(jì)算機(jī)輔助軟件工程(CASE)建模方法加以解決,CASE法集成了結(jié)構(gòu)化生命周期建模法和面向?qū)ο蠼7▋煞N方法的優(yōu)點(diǎn),提供了從業(yè)務(wù)模型推導(dǎo)需求模型的手段,在此模型的基礎(chǔ)上,通過建模技術(shù)自動(dòng)生成軟件模型,保證在將企業(yè)的業(yè)務(wù)模型,即組織結(jié)構(gòu)、業(yè)務(wù)流程、業(yè)務(wù)信息這三方面的內(nèi)容描繪得全面、透徹基礎(chǔ)上,強(qiáng)調(diào)系統(tǒng)開發(fā)的業(yè)務(wù)分析和需求分析階段的重要性,能夠?qū)崟r(shí)自動(dòng)查錯(cuò)糾錯(cuò),從而更有效地降低系統(tǒng)軟件的錯(cuò)漏,作到防患于未然。

4、結(jié)束語

上面我們系統(tǒng)分析了信息系統(tǒng)開發(fā)中差錯(cuò)放大的成因、危害及治理,說一千道一萬,是希望能夠找出一條適合于國內(nèi)企業(yè)的信息系統(tǒng)開發(fā)的理想途徑,通過完善的業(yè)務(wù)建模避免差錯(cuò),防止其逐步放大與擴(kuò)散,使企業(yè)信息化的建設(shè)順利成功地實(shí)現(xiàn)。在這一過程中,開發(fā)商、用戶之間必須端正思想,本著科學(xué)務(wù)實(shí)的態(tài)度,建立良好的協(xié)作機(jī)制,才真正有可能開發(fā)出為管理實(shí)際服務(wù)的信息化系統(tǒng),達(dá)到開發(fā)商和用戶雙贏的理想結(jié)局。

發(fā)布:2007-03-25 10:08    編輯:泛普軟件 · xiaona    [打印此頁]    [關(guān)閉]
相關(guān)文章:
長沙OA系統(tǒng)
聯(lián)系方式

成都公司:成都市成華區(qū)建設(shè)南路160號(hào)1層9號(hào)

重慶公司:重慶市江北區(qū)紅旗河溝華創(chuàng)商務(wù)大廈18樓

咨詢:400-8352-114

加微信,免費(fèi)獲取試用系統(tǒng)

QQ在線咨詢