商鵬

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