摘 要: 針對目前常用的需求分析方法存在的弊端,,提出了一種基于UML的信息系統(tǒng)需求分析模型,,該模型提供了一個基于UML信息系統(tǒng)需求分析框架及其應用過程,。實踐表明,該模型對信息系統(tǒng)開發(fā)具有較好的適應性,。
關鍵詞: 需求分析,; 統(tǒng)一建模語言; 管理信息系統(tǒng),; 用例圖
需求分析是軟件開發(fā)的關鍵環(huán)節(jié),,需求分析結果的好壞直接決定軟件開發(fā)的成敗[1],如何選擇一種高效的需求分析方法,,直接影響待開發(fā)軟件的質(zhì)量,。本文在簡要介紹UML的基礎上,針對常用需求分析算法存在的不足,,提出了一種基于UML的信息系統(tǒng)需求分析模型,,實踐表明,該模型能有效提高軟件開發(fā)的效率和待開發(fā)軟件的質(zhì)量,。
1 UML概述
UML是一種編制系統(tǒng)藍圖的標準化語言,,可以實現(xiàn)大型復雜系統(tǒng)各種成分描述的可視化,說明并構造系統(tǒng)模型并建立各種所需的文檔,,是一種定義良好,、易于表達、功能強大且普遍適用的建模語言[2],。
UML對軟件工程的發(fā)展做出了杰出的貢獻[3],。UML支持從需求分析開始的軟件開發(fā)的全過程。UML通過三類圖形建立系統(tǒng)模型:用例(Use Case)圖,、靜態(tài)結構圖(對象類圖,、對象圖、組件圖,、配置圖)和動態(tài)行為圖(順序圖,、協(xié)同圖、狀態(tài)圖,、活動圖),,這些圖可以從不同的抽象角度實現(xiàn)系統(tǒng)的可視化[4]?!?br />
UML采用一整套成熟的建模技術,,廣泛地適用于各個應用領域,。它的各個模型可以幫助開發(fā)人員更好地理解業(yè)務流程,建立更可靠,、更完善的系統(tǒng)模型,。從而使用戶和開發(fā)人員對問題的描述達到相同的理解,以減少語義差異,,保障分析的正確性,。
2 常用需求分析方法及其不足
信息系統(tǒng)實質(zhì)上是實際業(yè)務系統(tǒng)的一種計算機模型,因此,,信息系統(tǒng)的開發(fā)實質(zhì)上就是要建立業(yè)務模型與計算機模型系統(tǒng)之間的映射關系[5],。一個綜合性的信息系統(tǒng)要支持組織內(nèi)各級多個部門的管理,結構復雜,、規(guī)模龐大,。因此,要想開發(fā)出一套高效的系統(tǒng),,首先要進行系統(tǒng)的需求分析,,根據(jù)需求過程中工作性質(zhì)的不同,信息系統(tǒng)需求分析可分為問題識別,、分析與綜合,、編制需求分析文檔、需求評審四個階段,。
但是,,在實際需求分析過程中,由于信息系統(tǒng)所涉及的信息量非常龐大,,以致在需求定義中常常忽略某個環(huán)節(jié)或環(huán)節(jié)間的必要聯(lián)系,,從而出現(xiàn)產(chǎn)品質(zhì)量低下、開發(fā)周期漫長或遺漏關鍵功能等問題[6],。
目前比較常用的需求分析方法主要有數(shù)據(jù)流分析法,、原型分析法和基于用例的分析法三種。
(1)數(shù)據(jù)流分析法(DFA)
數(shù)據(jù)流分析是建立系統(tǒng)模型的一種主要需求分析方法,,它采用分解的策略,,將軟件系統(tǒng)抽象為一系列的邏輯加工單元,單元接收輸入數(shù)據(jù)流,,加工后使之變換成輸出數(shù)據(jù)流,,從而表示出軟件系統(tǒng)的處理內(nèi)容和任務。但是隨著信息技術的發(fā)展和企業(yè)業(yè)務過程的日益龐大復雜,,信息系統(tǒng)復雜多變,,易出錯,難維護,。
(2)原型分析法
原型法是指在系統(tǒng)尚不完善時就呈現(xiàn)給用戶,,不斷修改改善,,在完善過程中逐漸了解需求,但原型法也存在如下缺陷[7]:①原型的設計和修改工作量大,增加了系統(tǒng)的開發(fā)成本,;②由于用戶不關心或不理解原型的概念和實現(xiàn),,而且存在較大期望,使得與實際系統(tǒng)差別較大的原型增加了需求分析人員與用戶交流的難度[3],。
(3)基于用例(Use Case)的需求分析法
用例本質(zhì)上是用戶與系統(tǒng)之間為達到某個目的而進行的某種形式的交互的描述,。但是,,以用例為中心,,從用例開始的需求分析存在如下缺陷:①對于劃分Use Case的粒度大小、Use Case的分類,、Use Case的提取還沒有一個特定的標準和較好的方法,,完全由需求分析人員憑經(jīng)驗來掌握,這樣很容易造成系統(tǒng)分析的失誤,;②對于大規(guī)模信息系統(tǒng),,Use Case的定義、分析,、審查需要花費大量成本,,而且不恰當?shù)剡x擇Use Case往往給識別系統(tǒng)中的對象帶來困難,導致系統(tǒng)的對象結構設計不合理,,影響系統(tǒng)功能,。
3 基于UML的信息系統(tǒng)需求分析模型
針對上述常用需求分析方法存在的不足,UML作為一種強大的圖形化建模語言,,是理想的需求描述和建模分析工具,,它對信息系統(tǒng)的大規(guī)模、復雜,、不斷變化的用戶需求有很強的控制力,,為解決人員交流和通信障礙提供了有力的工具[8]。
基于UML的信息系統(tǒng)需求分析模型,,不從用例開始進行需求分析,,而從業(yè)務流程分析開始,從靜態(tài)和動態(tài)兩個方面對系統(tǒng)的需求建模,,該模型如圖1所示,。
(1)相關人員培訓:該模型涉及三類人員:領域?qū)<摇⒂脩舸?、需求分析員,。通常情況下,領域?qū)<液陀脩舸砣鄙儆嬎銠C方面的知識,,不精通需求分析及建模技術,;需求分析員又缺少用戶的業(yè)務知識,,不熟悉其業(yè)務流程,因此,,在需求分析前,,對領域?qū)<液陀脩舸磉M行UML知識的培訓,使其了解各種視圖的含義,;對需求分析員進行業(yè)務知識的培訓,,使其對該領域中的一些基本知識和常用術語等有所了解[9]。
(2)初始需求的捕獲:通過調(diào)研和建立聯(lián)合分析小組等方式,,了解用戶的業(yè)務流程,,進而獲取用戶對系統(tǒng)的最初需求,并用UML活動圖對以用戶業(yè)務流程為核心的初始用戶需求進行描述[10],。
(3)用例模型的創(chuàng)建:分析步驟(2)所得活動圖中每個活動的參與者,,找出該活動中與之相對應的動作,二者形成一個用例,。通過確定系統(tǒng)邊界和分析活動的轉(zhuǎn)移,,刪除多余的用例,合并相同的用例,,填補遺漏的用例,;采用活動圖的泳道技術對用例進行集成,形成一個完整的用例模型,。
(4)動態(tài)模型,、靜態(tài)模型的創(chuàng)建:分析步驟(2)所得活動圖中每個活動所涉及到的對象及對象之間的關系,根據(jù)活動的改變而引起對象狀態(tài)的變化和對象的交互,,創(chuàng)建相應的對象圖,、狀態(tài)圖和交互圖(順序圖、協(xié)作圖),;應用順序圖對步驟(2)所得活動圖中的每個活動進行分析,,發(fā)掘新的需求,完善描述初始用戶需求的活動圖,;通過順序圖對步驟(3)所得用例模型中的每個用例進行處理,,創(chuàng)建相應的類圖。
4 基于UML的信息系統(tǒng)需求分析模型的應用
基于UML的信息系統(tǒng)需求分析模型對MIS系統(tǒng)的開發(fā)具有較好的適應性,,結合具體實踐,,本節(jié)以運動會信息管理系統(tǒng)的開發(fā)為例,說明該模型在MIS系統(tǒng)開發(fā)中的應用[11],。
(1)捕獲初始需求:通過大量調(diào)研,,給出該系統(tǒng)的初始需求描述:運動會信息管理系統(tǒng)要實現(xiàn)運動員報名、各類人數(shù)統(tǒng)計,、競賽日程設定,、初秩序冊生成,、檢錄和成績處理、新秩序冊生成,、團體分統(tǒng)計,、破紀錄人數(shù)統(tǒng)計等功能。該系統(tǒng)的活動圖模型如圖2所示,。
(2)創(chuàng)建用例模型:通過對圖2中每個活動的參與者的分析,,所獲得運動會信息管理系統(tǒng)的完整用例模型如圖3所示。
(3)創(chuàng)建動態(tài)模型,、靜態(tài)模型:通過對圖2中“比賽成績處理”活動所涉及到的對象,、對象之間的關系分析,獲取的比賽成績處理順序圖如圖4所示,,其他活動順序圖的獲取與此類似,。
基于UML的需求分析模型以簡單的圖形建模語言UML為基礎,為人員交流提供了統(tǒng)一的平臺,,消除了語言理解分歧;該模型涵蓋了領域知識學習,、建模方法培訓,、系統(tǒng)需求分析構造等環(huán)節(jié),并從實施的角度考慮了角色構成及其職責分配,,使各類人員能夠更好地交流與合作,,為得到完善的需求分析打下了堅實的基礎。通過MIS的開發(fā)實踐表明,,該模型不但能縮短軟件開發(fā)的周期,,而且減少了軟件開發(fā)的風險,有效提高了開發(fā)軟件的質(zhì)量,。
參考文獻
[1] 張海潘.軟件工程導論[M].北京:清華大學出版社, 2009:320-344.
[2] 袁濤,孔蕾蕾.統(tǒng)一建模語言UML[M].北京:清華大學出版社,2009:46-79.
[3] FOWLER M. The unified modeling language[J]. Computer Science, 2003, 2863(9):325-334.
[4] EVANS A, FRANCE R. The UML as a Formal modeling notation [J].Computer Science, 2004,1618(7):336-348.
[5] 熊筱琴.高校圖書館信息管理系統(tǒng)與設計方法研究[J]. 科技情報開發(fā)與經(jīng)濟,2007(14):7-9.
[6] CHOE J M. The consideration of cultural differences in the design of information systems[J].Information Management, 2004,41(5):669-684.
[7] 王新昊.Web快速開發(fā)技術淺析[J].科技資訊,2007(14):219-221.
[8] 樸春慧,趙靜,,李建斌.基于UML的工程資料管理系統(tǒng)分析與設計[J].微計算機信息,2008(2-3):13-15.
[9] 汪成亮,張聰,張勤.UM技術在實際工程中的應用[J].計算機工程與應用,2002,38(1):121-124.
[10] 施維,宋雨.基于UML的網(wǎng)絡管理平臺的分析與設計[J].華北電力大學學報,2003,30(4):86-89.
[11] 林子禹,鄧靖荒,唐勝群,等.UML在醫(yī)療保險管理信息系統(tǒng)領域模型設計中的應用[J].計算機工程與應用,
2002,38(15):206-208.