海南軟件職業(yè)技術(shù)學(xué)院 鄧奉先 卓書堯
?
用例建模在實驗室管理系統(tǒng)需求分析中的應(yīng)用研究
海南軟件職業(yè)技術(shù)學(xué)院 鄧奉先 卓書堯
軟件開發(fā)過程中需求分析起著關(guān)鍵性作用,準(zhǔn)確把握用戶需求關(guān)系到開發(fā)項目的成敗。本文以高職院校實驗室管理系統(tǒng)為例,采用UML統(tǒng)一建模語言對系統(tǒng)進行抽象,使用用例建模技術(shù)展示系統(tǒng)的功能需求以及系統(tǒng)用戶與系統(tǒng)之間的交互關(guān)系,為后續(xù)的系統(tǒng)設(shè)計與實現(xiàn)打下基礎(chǔ)。
需求分析;UML;用例建模
需求分析是軟件開發(fā)過程中重要的一個部分,通過需求分析準(zhǔn)確把握用戶需求,對一個項目開發(fā)的成敗起到關(guān)鍵作用。需求分析的任務(wù)是確定系統(tǒng)“做什么”,將用戶“做什么”的要求最終轉(zhuǎn)換為一個完全的、精細的軟件邏輯模型,并形成軟件需求規(guī)格說明書,準(zhǔn)確地描述用戶的要求[1]。本文以高職院校實驗室管理系統(tǒng)為例,采用UML統(tǒng)一建模語言對系統(tǒng)進行抽象,使用用例建模技術(shù)展示系統(tǒng)的功能需求以及系統(tǒng)用戶與系統(tǒng)之間的交互關(guān)系,為后續(xù)的系統(tǒng)設(shè)計與實現(xiàn)打下基礎(chǔ)。
UML(Unified Modeling Language),是一種支持模型化和軟件系統(tǒng)開發(fā)的圖形化語言,UML支持從需求分析開始的軟件開發(fā)的全過程,為軟件開發(fā)的所有階段提供模型化和可視化支持。UML通過三類圖形建立系統(tǒng)模型:用例圖、靜態(tài)結(jié)構(gòu)圖(包括類圖、對象圖、組件圖、配置圖)、動態(tài)行為圖(包括順序圖、協(xié)同圖、狀態(tài)圖、活動圖),這三類圖從不同的抽象角度實現(xiàn)系統(tǒng)的可視化。其中需求分析階段采用用例圖來描述用戶、需求、系統(tǒng)功能單元之間的關(guān)系,它展示了一個從系統(tǒng)外部觀察到的系統(tǒng)功能模型圖[2]。
用例(Use Case)代表用戶的需求,是表達用戶需求提供的一種方法,使用用例的方法來描述系統(tǒng)需求的過程稱為用例建模[3]。用例建模是站在用戶的角度考慮問題,把用戶需求和設(shè)計完全分離開來,用戶不需要了解系統(tǒng)的內(nèi)部結(jié)構(gòu)和設(shè)計,他們關(guān)心的是系統(tǒng)能提供的服務(wù),也就是他們能使用的功能。用例建模用于需求分析階段,是系統(tǒng)開發(fā)者和用戶對需求規(guī)格達成的共識,驅(qū)動后續(xù)各個階段的開發(fā)工作。
2.1參與者(Actor)
參與者是與被定義系統(tǒng)發(fā)生交互的外部實體(指人、事物或者其他系統(tǒng)扮演的角色),代表系統(tǒng)的使用者或使用環(huán)境,它們以某種方式參與用例的過程。
2.2用例(Use Case)
用例表示一個或多個參與者為實現(xiàn)特定目標(biāo)而執(zhí)行的操作,它是對系統(tǒng)的用戶需求(主要是功能需求)的描述,表達了系統(tǒng)的功能和提供的服務(wù)。
2.3用例間關(guān)系
用例除了與其參與者發(fā)生關(guān)聯(lián)外,還可以與用例存在泛化、包含和擴展關(guān)系。用例泛化類似于類間的泛化,子用例表示父用例的特殊形式。包含關(guān)系是指包含提供者用例的行為到客戶用例的事件中。擴展關(guān)系是把新行為插入到已有用例的方法。
2.4用例圖
用例圖是一種UML技術(shù),展示了參與者與用例之間的關(guān)系。用例圖主要包括參與者、用例以及它們之間的關(guān)系組合而成。
3.1功能需求
基于用例建模的需求分析是以用例為主導(dǎo)捕獲和描述軟件需求的過程,它提供了收集需求的框架和表達需求的方法[4]。這種方法區(qū)別于傳統(tǒng)的基于功能分解的方式描述系統(tǒng)功能,克服傳統(tǒng)方法容易混淆需求和設(shè)計的界限的缺點,它是系統(tǒng)分析人員和用戶反復(fù)溝通的結(jié)果,是兩者對需求達成的共識[5]。用例模型的建立是一個迭代的過程,在迭代的過程中不斷求精獲得功能需求。用例模型是由用例圖和對每個用例的詳細描述(即用例規(guī)約)組成的。
本文以高職院校實驗室管理系統(tǒng)為例,選取其中的用戶信息管理模塊描述用例建模的過程。
用戶信息管理子系統(tǒng)的使用人員包括實驗室設(shè)備的使用與管理人員,主要有設(shè)備科負(fù)責(zé)人、實驗室管理員,該功能實現(xiàn)用戶信息管理和賬號信息查詢。該功能記錄所有使用實驗室的設(shè)備使用人員,用戶在成功登錄進入系統(tǒng)后,用戶可以查詢賬號基本信息并能修改賬號密碼功能[6]。
3.2需求建模
(1)確定參與者:設(shè)備科室負(fù)責(zé)人、實驗室管理員。
(2)確定用例:查詢個人信息、修改個人信息。
(3)繪制用例圖:
圖1 用戶管理用例圖
用例圖的描述是總體上對系統(tǒng)功能的認(rèn)識,用例規(guī)約是對用例圖中的每個用例詳細說明的文本描述,進一步說明系統(tǒng)的需求,是下一個階段系統(tǒng)設(shè)計的基礎(chǔ),也是測試用例的重要依據(jù)。
(4)編寫用例規(guī)約
用例名:修改個人信息。
參與者:設(shè)備科負(fù)責(zé)人、實驗室管理員。
用例簡述:該用例規(guī)定了設(shè)備科負(fù)責(zé)人和實驗室管理員修改個人賬號信息的處理過程。
涉眾及興趣:設(shè)備科負(fù)責(zé)人、實驗室管理員希望能夠修改個人的信息。
前置條件:設(shè)備科負(fù)責(zé)人、實驗室管理員通過賬號和密碼驗證登錄進入系統(tǒng)。
事件流:
(a)基本流:①用戶在登錄進入系統(tǒng)后,選擇用戶管理功能模塊下點擊“修改個人信息”;②系統(tǒng)響應(yīng)點擊事件,跳轉(zhuǎn)至修改信息界面;③用戶錄入要修改的信息,點擊“確定”按鈕;④系統(tǒng)對用戶的輸入數(shù)據(jù)進行驗證,若合法,則彈出提示對話框“已成功修改信息”。
(b)備選流:如果在用戶進行修改操作的過程中輸入的數(shù)據(jù)格式不正確,如用戶輸入手機號碼為10位,則提示“手機號碼為11位”;如果在修改操作過程中出現(xiàn)系統(tǒng)故障或斷電的情況,修改的信息將放棄本次存儲,保證數(shù)據(jù)的完整性和一致性。
后置條件:用戶修改后的信息正確錄入系統(tǒng)。
用例建模應(yīng)用于需求分析階段,建模的過程是一個迭代和逐步求精的過程,完全站在用戶的角度考慮問題,從外部來定義系統(tǒng)的功能,不關(guān)心系統(tǒng)的設(shè)計與實現(xiàn)細節(jié),將需求與設(shè)計完全分離開來。本文結(jié)合實例分析用例建模的過程,通過用例圖和用例規(guī)約描述系統(tǒng)需求分析,它作為用戶和開發(fā)人員溝通的一個有效手段,既有利于用戶理解系統(tǒng)提供的服務(wù),又有效地降低待開發(fā)系統(tǒng)的復(fù)雜度。
[1]張海藩.軟件工程導(dǎo)論(第5版)[M].清華大學(xué)出版社,2009.
[2]蔡敏,等著.UML基礎(chǔ)與rose建模教程[M].人民郵電出版社,2006.
[3]謝星星.UML基礎(chǔ)與Rose建模實用教程.清華大學(xué)出版社,2011.
[4]孔垂煜.用例建模在軟件需求工程中的應(yīng)用[J].福建電腦,2009(10).
[5]張秋余等.基于用例的需求建模方法[J].計算機工程與設(shè)計,2006(19).
[6]鄧奉先.高職院校實驗室管理系統(tǒng)的研究與開發(fā)[D].中山大學(xué),2013.
鄧奉先(1985-),女,海南瓊海人,碩士,講師,研究方向:軟件工程、數(shù)據(jù)挖掘。
卓書堯(1980-),男,海南萬寧人,碩士,高級實驗師,研究方向:軟件工程、實驗室建設(shè)。