首頁 考試吧論壇 Exam8視線 考試商城 網絡課程 模擬考試 考友錄 實用文檔 求職招聘 論文下載 | ||
![]() |
2011中考 | 2011高考 | 2012考研 | 考研培訓 | 在職研 | 自學考試 | 成人高考 | 法律碩士 | MBA考試 MPA考試 | 中科院 |
|
![]() |
四六級 | 職稱英語 | 商務英語 | 公共英語 | 托福 | 雅思 | 專四專八 | 口譯筆譯 | 博思 | GRE GMAT 新概念英語 | 成人英語三級 | 申碩英語 | 攻碩英語 | 職稱日語 | 日語學習 | 法語 | 德語 | 韓語 |
|
![]() |
計算機等級考試 | 軟件水平考試 | 職稱計算機 | 微軟認證 | 思科認證 | Oracle認證 | Linux認證 華為認證 | Java認證 |
|
![]() |
公務員 | 報關員 | 銀行從業資格 | 證券從業資格 | 期貨從業資格 | 司法考試 | 法律顧問 | 導游資格 報檢員 | 教師資格 | 社會工作者 | 外銷員 | 國際商務師 | 跟單員 | 單證員 | 物流師 | 價格鑒證師 人力資源 | 管理咨詢師考試 | 秘書資格 | 心理咨詢師考試 | 出版專業資格 | 廣告師職業水平 駕駛員 | 網絡編輯 |
|
![]() |
衛生資格 | 執業醫師 | 執業藥師 | 執業護士 | |
![]() |
會計從業資格考試(會計證) | 經濟師 | 會計職稱 | 注冊會計師 | 審計師 | 注冊稅務師 注冊資產評估師 | 高級會計師 | ACCA | 統計師 | 精算師 | 理財規劃師 | 國際內審師 |
|
![]() |
一級建造師 | 二級建造師 | 造價工程師 | 造價員 | 咨詢工程師 | 監理工程師 | 安全工程師 質量工程師 | 物業管理師 | 招標師 | 結構工程師 | 建筑師 | 房地產估價師 | 土地估價師 | 巖土師 設備監理師 | 房地產經紀人 | 投資項目管理師 | 土地登記代理人 | 環境影響評價師 | 環保工程師 城市規劃師 | 公路監理師 | 公路造價師 | 安全評價師 | 電氣工程師 | 注冊測繪師 | 注冊計量師 |
|
![]() |
繽紛校園 | 實用文檔 | 英語學習 | 作文大全 | 求職招聘 | 論文下載 | 訪談 | 游戲 |
【摘要】
本文以某通信公司的業務報表系統開發為例,討論了軟件需求分析工具與方法的選用。我們認為,軟件需求分析是軟件工程中重要的一步,直接關系到后繼工程的進行以及最終的產品能否滿足用戶的需求,因此在整個工程中起著關鍵性的作用。采用適當的工具,有可能顯著減少需求階段的錯誤,也可大幅度提高需求分析的質量和工作效率。當然工具的選用應當與實際的項目相結合,充分地發揮工具的作用。本文結合我們工作的實際經歷,簡要討論了開發系統時所選用的工具及其應用,選用時所考慮的原則以及所碰到的問題。在文中也結合多種開發方法(即傳統的瀑布法、信息工程法、面向對象的方法)的比較,指出各種方法的不足之處,說明我們所采用的工具對軟件需求分析所起的作用,以及相應產生的效果。
【正文】
我在某市一家通信公司工作,作為一名技術骨于,受領導委托,參與了開發本公司的業務報表系統,我擔任系統的需求分析、總體設計和部分代碼的編寫工作。
我所在的企業作為一家通信運營公司,分為總部、省級公司和地市級分公司三級,各級公司之間都有數據報表的要求。但是,每一個地市分公司因所處的地方不同,經營環境不同,所面臨的問題也不一樣,因此形成了各具特色的數據報表(除地市分公司向省公司匯報的之外)。公司又分設了許多部門,這些部門也都會需要數據,作為分析決策的依據。因此,了解各個部門的需求就成了業務報表系統的關鍵。
在調研的過程中,我選用了一種工具叫Play CASE,可以從網上免費下載,有很強的功能。下面就介紹一下,在需求分析階段,我是如何使用這一工具的。
第一步,了解業務組織結構。公司內部的數據實際上是在部門之間流動的。業務部門需要知道在本地覆蓋區內各基站的話務量、當天的話務量(即話務量的時空分布)。財務部門需要知道本月各類用戶的話費收入、預交款收入、與其他電信運營商的網間結算等。計劃部門需要各部門的分析數據。計費部門需要提供本月的賬革統計數據、話單統計數據分布(比如分別按照基站分布、時段分布以及按用戶類別分布)、預交款統計數據、當前的欠費總額分布、催繳情況等等。這些部門時常為了數據而產生了大量無謂的爭議。在使用Play CASE工具時,先要將這些部門錄入到Play CASE的“業務部門”中.構成了一個信息源的接收點(或發送點);而Play CASE通過圖示表示了這些部門的關系,并轉換成了相應的軟件結構。實際上,這是一種系統建模的方法,即把業務系統中的各個組織轉變為軟件功能中的各個結構。這樣,在需求分析階段,明確哪些部門需要數據,從而保證了需求分析對整個公司的全面性,而不會忽略掉某一個部門,導致需求分析的不完整。
第二步,了解各個業務部門中的業務流程,使之通過Play CASE轉換成軟件的運行過程,這是一種動態建模的方法。在上一步的基礎上,追蹤各個部門的行為,錄入到Play CASE中,并以形式化的語言描述各過程。對于復雜的過程,該工具還提供了進一步細化的方法,并且形成了業務流程圖和業務狀態圖。根據這些流程圖、狀態圖與實際業務部門的業務相結合比較,還是較為吻合的。在此步的實施過程中,運用了動態建模技術,使各部門業務流程的情況在軟件的運行過程反映出來,從而保證了需求分析階段中運行過程的描述能真實地反映實際情況,防止在后繼的程序編寫過程中,可能會經常發生的一類情況:程序員因為沒有理解業務流程而出現“閉門造車”的現象,從軟件的功能角度上保證了軟件的正確性。
第三步,將業務數據轉變為軟件數據,這一步工作實際上就是收集各部門所需要的數據。分析各部門需要的數據都有哪些;以及數據是如何轉換的,這可以歸入“功能建模”的范疇。將這些相應數據錄入到Play CASE中,選定所屬的部門。這時就自動地建立了DFD圖(數據流程圖),數據字典,省去了人工建立時的很大麻煩。
第四步,將業務上的數據關系轉變成軟件中的數據關系。這里采用了面向對象的方法,把業務部門所需要的數據看作一個實體,部門間的數據關系就是實體之間的關系。比如:經營部門所需要的用戶資料、用戶話費,實際上就是用戶這一實體與賬單這一實體間的關系。Play CASE提供了構件(不過我覺得是部件更為合適一些),來表示對應的數據,并提供了三種構件的表示關系即組裝關系、分類關系與相連關系。這三類關系基本上反映出了現實世界中的業務數據之間的關系。例如現實世界中的用戶資料與用戶話費,在Play CASE中,可將用戶構件與賬單構件用相連關系表示。這種方法,實際上是借鑒了OOA面向對象的分析方法中的類、聚集、繼承、封裝等概念,能較好地反映出現實中的業務;同時,這一步的工作也為總體設計中數據庫的概念模式設計奠定了很好的基礎。
經歷了上述四個步驟以后,利用Play CASE工具自動生成了軟件需求規格說明書、初步的DFD圖和業務流程圖,為下一步的總體設計打好了基礎。
使用Play CASE工具,使需求分析既能繼承傳統的結構化分析方法,又能吸收面向對象設計方法的優點。比如能把業務流程轉變成為運行過程,業務組織轉變成了軟件的結構等都體現了這一點。而在運行過程中,對復雜過程的細分以及追蹤則反映了傳統方法中的自上到下分解的分析思想,這對于解決復雜系統的分析是很有幫助的。
通過使用,我覺得這個工具還是很不錯的。因為它實際將以下四個方面的問題結合起來了:軟件、業務、開發人員和用戶。對于用戶而言,Play CASE用圖形化的方式顯示出業務流程,使用戶了解業務在軟件中的運行過程,提供了將來驗收軟件時的依據。對于開發人員來說,使開發人員能更清楚地了解業務流程,不會再發生“因為不理解用戶的需求而出現的閉門造車情況,從而導致開發出來的產品不符合用戶需要”的現象。因此,Play CASE所自動提供的需求說明書能夠很好地溝通用戶與開發人員之間的理解,使他們都能對需求有共同的理解。
使用Play CASE工具后,使我們的需求分析取得了很好的效果,不但能自動地提供許多結果,如需求說明書等;還使需求的質量有了很大的提高,受到領導的贊揚(領導不是學計算機的,但對公司的業務十分熟悉);在后繼的設計與維護工作中,我們感到工作似乎輕松了很多。
當然,該軟件工具也有不足之處,一個突出問題是靈活性不夠,一縣公司的部門或者組織機構發生變化時,整個設計都要重新來過。因此,在改進的過程中,我們在第一步過程預留了好多個虛擬的部門,以備將來進一步的擴充或者變動。
相關推薦:北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內蒙古 |