《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 通信與網(wǎng)絡(luò) > 設(shè)計應(yīng)用 > 基于UML的信息系統(tǒng)需求分析模型
基于UML的信息系統(tǒng)需求分析模型
來源:電子技術(shù)應(yīng)用2010年第11期
呂冠艷1, 李奮華2
(1. 山西水利職業(yè)技術(shù)學(xué)院 信息工程系, 山西 運城044004,;2. 運城學(xué)院 計算機科學(xué)與技術(shù)
摘要: 針對目前常用的需求分析方法存在的弊端,,提出了一種基于UML的信息系統(tǒng)需求分析模型,該模型提供了一個基于UML信息系統(tǒng)需求分析框架及其應(yīng)用過程,。實踐表明,,該模型對信息系統(tǒng)開發(fā)具有較好的適應(yīng)性,。
Abstract:
Key words :

摘  要: 針對目前常用的需求分析方法存在的弊端,提出了一種基于UML的信息系統(tǒng)需求分析模型,,該模型提供了一個基于UML信息系統(tǒng)需求分析框架及其應(yīng)用過程,。實踐表明,該模型對信息系統(tǒng)開發(fā)具有較好的適應(yīng)性,。
關(guān)鍵詞: 需求分析,; 統(tǒng)一建模語言管理信息系統(tǒng),; 用例圖

    需求分析是軟件開發(fā)的關(guān)鍵環(huán)節(jié),,需求分析結(jié)果的好壞直接決定軟件開發(fā)的成敗[1],如何選擇一種高效的需求分析方法,,直接影響待開發(fā)軟件的質(zhì)量,。本文在簡要介紹UML的基礎(chǔ)上,針對常用需求分析算法存在的不足,,提出了一種基于UML的信息系統(tǒng)需求分析模型,,實踐表明,該模型能有效提高軟件開發(fā)的效率和待開發(fā)軟件的質(zhì)量,。
1 UML概述
    UML是一種編制系統(tǒng)藍圖的標(biāo)準(zhǔn)化語言,,可以實現(xiàn)大型復(fù)雜系統(tǒng)各種成分描述的可視化,說明并構(gòu)造系統(tǒng)模型并建立各種所需的文檔,,是一種定義良好,、易于表達,、功能強大且普遍適用的建模語言[2],。
    UML對軟件工程的發(fā)展做出了杰出的貢獻[3]。UML支持從需求分析開始的軟件開發(fā)的全過程,。UML通過三類圖形建立系統(tǒng)模型:用例(Use Case)圖,、靜態(tài)結(jié)構(gòu)圖(對象類圖、對象圖,、組件圖,、配置圖)和動態(tài)行為圖(順序圖、協(xié)同圖,、狀態(tài)圖,、活動圖),這些圖可以從不同的抽象角度實現(xiàn)系統(tǒng)的可視化[4],?!?br />     UML采用一整套成熟的建模技術(shù),廣泛地適用于各個應(yīng)用領(lǐng)域,。它的各個模型可以幫助開發(fā)人員更好地理解業(yè)務(wù)流程,,建立更可靠,、更完善的系統(tǒng)模型。從而使用戶和開發(fā)人員對問題的描述達到相同的理解,,以減少語義差異,,保障分析的正確性。
2 常用需求分析方法及其不足
    信息系統(tǒng)實質(zhì)上是實際業(yè)務(wù)系統(tǒng)的一種計算機模型,,因此,,信息系統(tǒng)的開發(fā)實質(zhì)上就是要建立業(yè)務(wù)模型與計算機模型系統(tǒng)之間的映射關(guān)系[5]。一個綜合性的信息系統(tǒng)要支持組織內(nèi)各級多個部門的管理,,結(jié)構(gòu)復(fù)雜,、規(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ā)周期漫長或遺漏關(guān)鍵功能等問題[6],。
    目前比較常用的需求分析方法主要有數(shù)據(jù)流分析法、原型分析法和基于用例的分析法三種,。
    (1)數(shù)據(jù)流分析法(DFA)
    數(shù)據(jù)流分析是建立系統(tǒng)模型的一種主要需求分析方法,,它采用分解的策略,將軟件系統(tǒng)抽象為一系列的邏輯加工單元,,單元接收輸入數(shù)據(jù)流,,加工后使之變換成輸出數(shù)據(jù)流,從而表示出軟件系統(tǒng)的處理內(nèi)容和任務(wù),。但是隨著信息技術(shù)的發(fā)展和企業(yè)業(yè)務(wù)過程的日益龐大復(fù)雜,,信息系統(tǒng)復(fù)雜多變,易出錯,,難維護,。
    (2)原型分析法
    原型法是指在系統(tǒng)尚不完善時就呈現(xiàn)給用戶,不斷修改改善,,在完善過程中逐漸了解需求,,但原型法也存在如下缺陷[7]:①原型的設(shè)計和修改工作量大,增加了系統(tǒng)的開發(fā)成本,;②由于用戶不關(guān)心或不理解原型的概念和實現(xiàn),而且存在較大期望,,使得與實際系統(tǒng)差別較大的原型增加了需求分析人員與用戶交流的難度[3],。
    (3)基于用例(Use Case)的需求分析法
    用例本質(zhì)上是用戶與系統(tǒng)之間為達到某個目的而進行的某種形式的交互的描述。但是,,以用例為中心,,從用例開始的需求分析存在如下缺陷:①對于劃分Use Case的粒度大小、Use Case的分類,、Use Case的提取還沒有一個特定的標(biāo)準(zhǔn)和較好的方法,,完全由需求分析人員憑經(jīng)驗來掌握,這樣很容易造成系統(tǒng)分析的失誤,;②對于大規(guī)模信息系統(tǒng),,Use Case的定義、分析,、審查需要花費大量成本,,而且不恰當(dāng)?shù)剡x擇Use Case往往給識別系統(tǒng)中的對象帶來困難,導(dǎo)致系統(tǒng)的對象結(jié)構(gòu)設(shè)計不合理,,影響系統(tǒng)功能,。
3 基于UML的信息系統(tǒng)需求分析模型
    針對上述常用需求分析方法存在的不足,UML作為一種強大的圖形化建模語言,,是理想的需求描述和建模分析工具,,它對信息系統(tǒng)的大規(guī)模、復(fù)雜,、不斷變化的用戶需求有很強的控制力,,為解決人員交流和通信障礙提供了有力的工具[8]。
    基于UML的信息系統(tǒng)需求分析模型,,不從用例開始進行需求分析,,而從業(yè)務(wù)流程分析開始,從靜態(tài)和動態(tài)兩個方面對系統(tǒng)的需求建模,,該模型如圖1所示。

    (1)相關(guān)人員培訓(xùn):該模型涉及三類人員:領(lǐng)域?qū)<?、用戶代表,、需求分析員。通常情況下,,領(lǐng)域?qū)<液陀脩舸砣鄙儆嬎銠C方面的知識,,不精通需求分析及建模技術(shù);需求分析員又缺少用戶的業(yè)務(wù)知識,,不熟悉其業(yè)務(wù)流程,,因此,,在需求分析前,對領(lǐng)域?qū)<液陀脩舸磉M行UML知識的培訓(xùn),,使其了解各種視圖的含義,;對需求分析員進行業(yè)務(wù)知識的培訓(xùn),使其對該領(lǐng)域中的一些基本知識和常用術(shù)語等有所了解[9],。
    (2)初始需求的捕獲:通過調(diào)研和建立聯(lián)合分析小組等方式,,了解用戶的業(yè)務(wù)流程,進而獲取用戶對系統(tǒng)的最初需求,,并用UML活動圖對以用戶業(yè)務(wù)流程為核心的初始用戶需求進行描述[10],。
    (3)用例模型的創(chuàng)建:分析步驟(2)所得活動圖中每個活動的參與者,找出該活動中與之相對應(yīng)的動作,,二者形成一個用例,。通過確定系統(tǒng)邊界和分析活動的轉(zhuǎn)移,刪除多余的用例,,合并相同的用例,,填補遺漏的用例;采用活動圖的泳道技術(shù)對用例進行集成,,形成一個完整的用例模型,。
    (4)動態(tài)模型、靜態(tài)模型的創(chuàng)建:分析步驟(2)所得活動圖中每個活動所涉及到的對象及對象之間的關(guān)系,,根據(jù)活動的改變而引起對象狀態(tài)的變化和對象的交互,,創(chuàng)建相應(yīng)的對象圖、狀態(tài)圖和交互圖(順序圖,、協(xié)作圖),;應(yīng)用順序圖對步驟(2)所得活動圖中的每個活動進行分析,發(fā)掘新的需求,,完善描述初始用戶需求的活動圖,;通過順序圖對步驟(3)所得用例模型中的每個用例進行處理,創(chuàng)建相應(yīng)的類圖,。
4 基于UML的信息系統(tǒng)需求分析模型的應(yīng)用
    基于UML的信息系統(tǒng)需求分析模型對MIS系統(tǒng)的開發(fā)具有較好的適應(yīng)性,,結(jié)合具體實踐,本節(jié)以運動會信息管理系統(tǒng)的開發(fā)為例,,說明該模型在MIS系統(tǒng)開發(fā)中的應(yīng)用[11],。
    (1)捕獲初始需求:通過大量調(diào)研,給出該系統(tǒng)的初始需求描述:運動會信息管理系統(tǒng)要實現(xiàn)運動員報名,、各類人數(shù)統(tǒng)計,、競賽日程設(shè)定、初秩序冊生成、檢錄和成績處理,、新秩序冊生成,、團體分統(tǒng)計、破紀錄人數(shù)統(tǒng)計等功能,。該系統(tǒng)的活動圖模型如圖2所示,。

    (2)創(chuàng)建用例模型:通過對圖2中每個活動的參與者的分析,所獲得運動會信息管理系統(tǒng)的完整用例模型如圖3所示,。

    (3)創(chuàng)建動態(tài)模型,、靜態(tài)模型:通過對圖2中“比賽成績處理”活動所涉及到的對象、對象之間的關(guān)系分析,,獲取的比賽成績處理順序圖如圖4所示,,其他活動順序圖的獲取與此類似。

    基于UML的需求分析模型以簡單的圖形建模語言UML為基礎(chǔ),,為人員交流提供了統(tǒng)一的平臺,,消除了語言理解分歧;該模型涵蓋了領(lǐng)域知識學(xué)習(xí),、建模方法培訓(xùn),、系統(tǒng)需求分析構(gòu)造等環(huán)節(jié),并從實施的角度考慮了角色構(gòu)成及其職責(zé)分配,,使各類人員能夠更好地交流與合作,,為得到完善的需求分析打下了堅實的基礎(chǔ)。通過MIS的開發(fā)實踐表明,,該模型不但能縮短軟件開發(fā)的周期,,而且減少了軟件開發(fā)的風(fēng)險,有效提高了開發(fā)軟件的質(zhì)量,。
參考文獻
[1] 張海潘.軟件工程導(dǎo)論[M].北京:清華大學(xué)出版社, 2009:320-344.
[2] 袁濤,孔蕾蕾.統(tǒng)一建模語言UML[M].北京:清華大學(xué)出版社,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)與設(shè)計方法研究[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ā)技術(shù)淺析[J].科技資訊,2007(14):219-221.
[8] 樸春慧,趙靜,,李建斌.基于UML的工程資料管理系統(tǒng)分析與設(shè)計[J].微計算機信息,2008(2-3):13-15.
[9] 汪成亮,張聰,張勤.UM技術(shù)在實際工程中的應(yīng)用[J].計算機工程與應(yīng)用,2002,38(1):121-124.
[10] 施維,宋雨.基于UML的網(wǎng)絡(luò)管理平臺的分析與設(shè)計[J].華北電力大學(xué)學(xué)報,2003,30(4):86-89.
[11] 林子禹,鄧靖荒,唐勝群,等.UML在醫(yī)療保險管理信息系統(tǒng)領(lǐng)域模型設(shè)計中的應(yīng)用[J].計算機工程與應(yīng)用,
2002,38(15):206-208.

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載,。