【摘要】
本文以某個(gè)IT產(chǎn)品銷售公司的信息系統(tǒng)項(xiàng)目的開發(fā)為背景,討論了一個(gè)信息系統(tǒng)需求分析的整個(gè)過程,其重要特征是:所涉及的項(xiàng)目是原有系統(tǒng)的一個(gè)升級替換版本。因此,需求分析過程不同于建立一個(gè)全新的系統(tǒng),大體上可分為三個(gè)階段:()實(shí)施逆向工程獲得對系統(tǒng)的初步了解;(2)在第1步的基礎(chǔ)上寫出基本需求,交由客戶評審補(bǔ)充;(3)在第2步的基礎(chǔ)上開發(fā)原型,利用原型與客戶交流,最終獲得基線需求。針對上述三個(gè)階段,本文論述了所使用的分析方法與工具以及所遇到過的一些典型問題和措施,最后對需求分析中使用的工具,談一些自己的初步體會。
【正文】
我于1998年8月至2000年7月參加了某個(gè)大型集團(tuán)的企業(yè)信息系統(tǒng)的開發(fā)工作,該大型集團(tuán)的業(yè)務(wù)主要涉及到IT類產(chǎn)品的進(jìn)銷存。本人在項(xiàng)目中負(fù)責(zé)系統(tǒng)分析的工作,該集團(tuán)企業(yè)原先已委托某個(gè)電腦公司開發(fā)過一套IT類產(chǎn)品管理系統(tǒng),但是該老系統(tǒng)存在兩個(gè)主要的問題:(一)系統(tǒng)運(yùn)行速度非常慢,如商品銷售開單時(shí),從確定開單到開單完成有時(shí)需要1~2分鐘左右的響應(yīng)時(shí)間,讓客戶無法忍受。(二)系統(tǒng)數(shù)據(jù)不準(zhǔn)確,經(jīng)常出現(xiàn)實(shí)物庫存與電腦庫存嚴(yán)重不相匹配的情況,使銷售數(shù)據(jù)的統(tǒng)計(jì)產(chǎn)生一些混亂,有關(guān)財(cái)務(wù)的數(shù)據(jù)因此無法有效使用,只能采用人工錄入方式補(bǔ)充進(jìn)行。在這種情況下,該集團(tuán)的總經(jīng)理決定參考原有系統(tǒng)重新開發(fā)一個(gè)系統(tǒng),以便解決原系統(tǒng)所存在的上述兩個(gè)難以克服的難題。注;原系統(tǒng)采用PB6.5開發(fā),數(shù)據(jù)庫采用SYBASE,服務(wù)器采用Windows2000Server,客戶端采用Windows 98,程序架構(gòu)采用的是傳統(tǒng)的C/S結(jié)構(gòu)。
鑒于該集團(tuán)業(yè)務(wù)操作復(fù)雜,流程多,涉及人員多等特點(diǎn),以及項(xiàng)目完成時(shí)間短,經(jīng)費(fèi)有限,人員有限等限制約束條件,再考慮到必須避免前一系統(tǒng)出現(xiàn)過的結(jié)構(gòu)混亂與難于維護(hù)等問題,我們決定要對原系統(tǒng)的需求做一個(gè)比較徹底的和切實(shí)可行的分析,由于原有系統(tǒng)已經(jīng)開發(fā)了近兩年,并且客戶也有了一定的使用經(jīng)驗(yàn),業(yè)務(wù)基本流程本身也并沒有太大的變化,因此,我們把需求分析的過程分為三步:()分析原有系統(tǒng)的結(jié)構(gòu),主要是數(shù)據(jù)庫結(jié)構(gòu)和程序結(jié)構(gòu),(2)在獲得第(1)步結(jié)果的基礎(chǔ)上寫出基本需求,交由客戶評審補(bǔ)充,(3)在第(2)步的基礎(chǔ)上開發(fā)原型,利用此原型與客戶交流,從而獲得最終可用的需求結(jié)果。下面按上述三步分別加以論述。
第一步是實(shí)施逆向工程,獲取原有系統(tǒng)的基本需求
由于原有系統(tǒng)在功能上大體上能基本滿足客戶的需求,并且在兩年多的開發(fā)中也積累了不少經(jīng)驗(yàn),因此,從中可以獲得一些有益的參考,也可以避免多走彎路。在這一階段,我們采用的主要工具是PB自帶的Power Designer和PB Documents;前者主要用來分析數(shù)據(jù)庫結(jié)構(gòu),后者主要用來分析程序結(jié)構(gòu),便于開發(fā)人員與高級用戶理解程序。采用這兩個(gè)工具的原因是:原系統(tǒng)過于龐大,模塊多,數(shù)據(jù)庫模式多,表格量很大,僅靠人工的方法很難從中獲得一個(gè)比較完整的、明確的系統(tǒng)結(jié)構(gòu)以及整體構(gòu)成,而且原有系統(tǒng)未能提供一套正確完整有效的設(shè)計(jì)文檔,于是我們只能依靠工具輔助來進(jìn)行。在使用Power Designer分析數(shù)據(jù)庫,并且用PB Documents分析原程序中的PBL以后,我們對原系統(tǒng)的結(jié)構(gòu)有了一個(gè)初步的了解,再結(jié)合對原系統(tǒng)的使用,基本明確了功能與流程的需求,并在此基礎(chǔ)上用人工錄入方式,產(chǎn)生了初步需求的自然語言文檔。這里指出,使用Power Designer的一個(gè)不足之處是:如果一個(gè)表中的字段過多,而且又同時(shí)依賴多個(gè)表時(shí),輸出的表格相關(guān)圖形很復(fù)雜,有很多交叉,且難于調(diào)整,不方便閱讀及打印。
第二步是在第一步的基礎(chǔ)上進(jìn)行的,即寫出