商鵬
摘 要 用例圖是統(tǒng)一建模語言UML中的重要模型,是軟件建模的核心,反映客戶的功能需求,是有效的用戶需求獲取、分析和描述技術(shù)。本文介紹了用例圖的構(gòu)成,通過對教務(wù)管理系統(tǒng)進(jìn)行需求分析,建立了用例圖模型,用于指導(dǎo)系統(tǒng)的后續(xù)開發(fā)。
關(guān)鍵詞 用例圖;教務(wù)管理系統(tǒng);建模
引言
在軟件開發(fā)過程中,要捕獲并分析客戶的需求,準(zhǔn)確的描述出客戶的功能性需求和行為性需求,也就是確定系統(tǒng)要完成的功能任務(wù),一般可以使用統(tǒng)一建模語言UML中的用例圖。用例圖是將需求轉(zhuǎn)化成系統(tǒng)的模型圖表示。本文將對教務(wù)管理系統(tǒng)中的客戶需求進(jìn)行分析并建立用例圖。
1 用例圖介紹
從功能上講,用例圖主要用來描述用戶的功能需求,側(cè)重從用戶的角度理解軟件系統(tǒng)的需求,強(qiáng)調(diào)誰在使用系統(tǒng)、系統(tǒng)可以完成哪些功能。用例圖是外部參與者所能觀察到的系統(tǒng)功能的模型圖,呈現(xiàn)了一些參與者、一些用例以及它們之間的關(guān)系,主要用于對系統(tǒng)、子系統(tǒng)或類的功能行為進(jìn)行建模。用例圖由參與者、用例及關(guān)系組成。
參與者是為了完成某個任務(wù),而與系統(tǒng)進(jìn)行交互的外部實(shí)體,是用例的啟動者。參與者不僅可以是人,還可以是其他系統(tǒng)、硬件設(shè)備,甚至是時鐘。用例就是對一組動作序列的描述,系統(tǒng)執(zhí)行該動作序列來為系統(tǒng)的參與者產(chǎn)生一個可觀察的結(jié)果,這個動作序列就是業(yè)務(wù)工作流程[1]。用例反映用戶的功能需求。用例圖中的關(guān)系包括參與者之間的關(guān)系、參與者與用例之間的關(guān)系、用例之間的關(guān)系三類。參與者之間的關(guān)系一般為特殊-一般關(guān)系,即泛化關(guān)系。參與者和用例之間的關(guān)系表示了參與者與用例間的通信,一般是關(guān)聯(lián)關(guān)系。用例之間有三種關(guān)系,分別是泛化關(guān)系、包含關(guān)系和擴(kuò)展關(guān)系。在用例建模的過程中,建議的步驟是先找出參與者,再根據(jù)參與者確定每個參與者相關(guān)的用例[2]。
用例的粒度指的是用例所包含的系統(tǒng)服務(wù)或功能單元的多少。用例粒度越大,用例中包含的功能就越多,反之則包含的功能越少。如果粒度太小,會導(dǎo)致用例數(shù)目過多,造成用例模型過大;如果粒度太大,會導(dǎo)致用例數(shù)目過少,難以進(jìn)行后續(xù)的詳細(xì)分析。用例圖建模中沒有統(tǒng)一的粒度要求。一個用例的粒度是否合適,是以該用例是否完成了參與者的某個目的為判斷依據(jù)的。因此,在為系統(tǒng)進(jìn)行用例圖建模時,要根據(jù)功能需求選擇合適的用例粒度。
2 用例圖構(gòu)建
2.1 需求描述
教務(wù)管理系統(tǒng)使用者分管理員、教師與學(xué)生三類。
管理員可以管理學(xué)生和教師的賬號,包括Excel批量導(dǎo)入和手動添加兩種方式;可以對教師和學(xué)生信息進(jìn)行管理;對學(xué)校課程進(jìn)行管理,課程必須被分配老師和班級。對學(xué)生選課情況進(jìn)行管理,選修課程若達(dá)不到指定人數(shù)不予開課。管理員可以進(jìn)行信息匯總與統(tǒng)計(jì)。
教師可管理自己的個人信息;可以查看所教授課程的課程信息,包括課程選修人數(shù),如果有需要可以打印選修學(xué)生名單;可以管理課程通知;可以上傳教學(xué)資源,并對資源進(jìn)行管理,設(shè)置資源可見范圍;可以發(fā)布在線測試,設(shè)置測試時間及測試內(nèi)容,對測試進(jìn)行管理;學(xué)生完成測試后,教授可對其試卷進(jìn)行手動批閱或網(wǎng)絡(luò)批閱;在課程結(jié)束后,根據(jù)上課情況對選修學(xué)生進(jìn)行評分,并可以對成績進(jìn)行管理,如果有需要可以下載、打印成績。
學(xué)生可以進(jìn)行選課,選課時可以查看課程相關(guān)信息,如上課時間、授課教師、選課列表等;在課程未開課前可以取消選課;可以查看老師上傳的教學(xué)資源;教師發(fā)布在線測試之后,學(xué)生可以在規(guī)定時間內(nèi)完成測試;測試結(jié)束后,可以查看測試成績。
2.2 用例圖模型
通過需求描述進(jìn)行系統(tǒng)分析,教務(wù)管理系統(tǒng)包括管理員、教師和學(xué)生三類參與者。
找到參與者之后,看各參與者需要系統(tǒng)提供什么樣的服務(wù)來確定與之關(guān)聯(lián)的用例[3]。因?yàn)橄到y(tǒng)較復(fù)雜、功能較多,用例的粒度設(shè)計(jì)的較大,包含一定數(shù)量的功能。
對于管理員,師生信息管理、師生賬號管理、課程管理、學(xué)生選課管理和信息匯總與統(tǒng)計(jì)是其關(guān)聯(lián)用例。對于師生賬號管理,可以通過手動添加賬號或者批量導(dǎo)入賬號兩種方式實(shí)現(xiàn),因此師生賬號管理用例與手動添加賬號和批量導(dǎo)入賬號用例之間是泛化關(guān)系。課程管理必須包含分配教師和分配班級,因此相應(yīng)用例之間是包含關(guān)系。學(xué)生選課管理在滿足條件“選課人數(shù)不足”時不予開課,因此學(xué)生選課管理用例和不予開課用例之間是擴(kuò)展關(guān)系。參與者管理員的用例圖如圖3.1所示(見文末)。
對于教師,個人信息管理、課程信息查看、課程通知管理、教學(xué)資源管理、在線測試管理、批閱試卷、課程成績管理是其關(guān)聯(lián)用例。在課程信息查看時,如果有必要可以打印學(xué)生名單,因此課程信息查看與學(xué)生名單打印兩用例之間是擴(kuò)展關(guān)系。批閱試卷有手動批閱和網(wǎng)絡(luò)批閱兩種方式,因此相應(yīng)用例之間是泛化關(guān)系。課程成績管理中,如果有需要可以打印成績或下載成績,相應(yīng)用例之間是擴(kuò)展關(guān)系。參與者教師的用例圖如圖3.2所示(見文末)。
對于學(xué)生,選課、查看教學(xué)資源、參加在線測試、成績查詢是其關(guān)聯(lián)用例,選課時必須要進(jìn)行各種信息的查看,因此選課用例和查看信息用例之間是包含關(guān)系。在未開課前可以取消選課,選課用例與取消選課用例之間是擴(kuò)展關(guān)系。參與者學(xué)生的用例圖如圖3.3所示(見文末)。
3 結(jié)束語
用例圖的應(yīng)用在軟件系統(tǒng)開發(fā)中非常廣泛,設(shè)計(jì)良好的用例圖能夠很好地體現(xiàn)客戶的功能需求,可以在需求分析之后快速搭建用例框架,為整個系統(tǒng)的設(shè)計(jì)奠定良好的鋪墊。
參考文獻(xiàn)
[1] 高樹芳.《軟件工程》[M].大連:大連理工大學(xué)出版社,2018:119.
[2] 劉偉,周淑萍,劉雅輝.用"用例"分析技術(shù)進(jìn)行需求分析[J].微計(jì)算機(jī)信息,2006,(36):265-267.
[3] 張秋余,楊玥,王雪,等.基于用例的需求建模方法[J].計(jì)算機(jī)工程與設(shè)計(jì),2006,(19):3539-3540.