系分論文-通信行業(yè)的應(yīng)用

字號:

本文以某通信公司的業(yè)務(wù)報表系統(tǒng)開發(fā)為例,討論了軟件需求分析工具與方法的選用。我們認為,軟件需求分析是軟件工程中重要的一步,直接關(guān)系到后繼工程的進行以及最終的產(chǎn)品能否滿足用戶的需求,因此在整個工程中起著關(guān)鍵性的作用。采用適當(dāng)?shù)墓ぞ撸锌赡茱@著減少需求階段的錯誤,也可大幅度提高需求分析的質(zhì)量和工作效率。當(dāng)然工具的選用應(yīng)當(dāng)與實際的項目相結(jié)合,充分地發(fā)揮工具的作用。本文結(jié)合我們工作的實際經(jīng)歷,簡要討論了開發(fā)系統(tǒng)時所選用的工具及其應(yīng)用,選用時所考慮的原則以及所碰到的問題。在文中也結(jié)合多種開發(fā)方法(即傳統(tǒng)的瀑布法、信息工程法、面向?qū)ο蟮姆椒ǎ┑谋容^,指出各種方法的不足之處,說明我們所采用的工具對軟件需求分析所起的作用,以及相應(yīng)產(chǎn)生的效果。
    我在某市一家通信公司工作,作為一名技術(shù)骨于,受領(lǐng)導(dǎo)委托,參與了開發(fā)本公司的業(yè)務(wù)報表系統(tǒng),我擔(dān)任系統(tǒng)的需求分析、總體設(shè)計和部分代碼的編寫工作。
    我所在的企業(yè)作為一家通信運營公司,分為總部、省級公司和地市級分公司三級,各級公司之間都有數(shù)據(jù)報表的要求。但是,每一個地市分公司因所處的地方不同,經(jīng)營環(huán)境不同,所面臨的問題也不一樣,因此形成了各具特色的數(shù)據(jù)報表(除地市分公司向省公司匯報的之外)。公司又分設(shè)了許多部門,這些部門也都會需要數(shù)據(jù),作為分析決策的依據(jù)。因此,了解各個部門的需求就成了業(yè)務(wù)報表系統(tǒng)的關(guān)鍵。
    在調(diào)研的過程中,我選用了一種工具叫Play CASE,可以從網(wǎng)上免費下載,有很強的功能。下面就介紹一下,在需求分析階段,我是如何使用這一工具的。
    第一步,了解業(yè)務(wù)組織結(jié)構(gòu)。公司內(nèi)部的數(shù)據(jù)實際上是在部門之間流動的。業(yè)務(wù)部門需要知道在本地覆蓋區(qū)內(nèi)各基站的話務(wù)量、當(dāng)天的話務(wù)量(即話務(wù)量的時空分布)。財務(wù)部門需要知道本月各類用戶的話費收入、預(yù)交款收入、與其他電信運營商的網(wǎng)間結(jié)算等。計劃部門需要各部門的分析數(shù)據(jù)。計費部門需要提供本月的賬革統(tǒng)計數(shù)據(jù)、話單統(tǒng)計數(shù)據(jù)分布(比如分別按照基站分布、時段分布以及按用戶類別分布)、預(yù)交款統(tǒng)計數(shù)據(jù)、當(dāng)前的欠費總額分布、催繳情況等等。這些部門時常為了數(shù)據(jù)而產(chǎn)生了大量無謂的爭議。在使用Play CASE工具時,先要將這些部門錄入到Play CASE的“業(yè)務(wù)部門”中.構(gòu)成了一個信息源的接收點(或發(fā)送點);而Play CASE通過圖示表示了這些部門的關(guān)系,并轉(zhuǎn)換成了相應(yīng)的軟件結(jié)構(gòu)。實際上,這是一種系統(tǒng)建模的方法,即把業(yè)務(wù)系統(tǒng)中的各個組織轉(zhuǎn)變?yōu)檐浖δ苤械母鱾€結(jié)構(gòu)。這樣,在需求分析階段,明確哪些部門需要數(shù)據(jù),從而保證了需求分析對整個公司的全面性,而不會忽略掉某一個部門,導(dǎo)致需求分析的不完整。
    第二步,了解各個業(yè)務(wù)部門中的業(yè)務(wù)流程,使之通過Play CASE轉(zhuǎn)換成軟件的運行過程,這是一種動態(tài)建模的方法。在上一步的基礎(chǔ)上,追蹤各個部門的行為,錄入到Play CASE中,并以形式化的語言描述各過程。對于復(fù)雜的過程,該工具還提供了進一步細化的方法,并且形成了業(yè)務(wù)流程圖和業(yè)務(wù)狀態(tài)圖。根據(jù)這些流程圖、狀態(tài)圖與實際業(yè)務(wù)部門的業(yè)務(wù)相結(jié)合比較,還是較為吻合的。在此步的實施過程中,運用了動態(tài)建模技術(shù),使各部門業(yè)務(wù)流程的情況在軟件的運行過程反映出來,從而保證了需求分析階段中運行過程的描述能真實地反映實際情況,防止在后繼的程序編寫過程中,可能會經(jīng)常發(fā)生的一類情況:程序員因為沒有理解業(yè)務(wù)流程而出現(xiàn)“閉門造車”的現(xiàn)象,從軟件的功能角度上保證了軟件的正確性。