一、問題描述
? ? ? ? 隨著高校教育教學改革的深入,很多高等院校都開始對課程設置結構進行優化,從傳統課程結構的單一性轉向現代課程結構的基礎性和綜合性,從縱深型轉向寬廣型,越來越多的高校實行學分制教學,開設了大量的選修課,但是目前大多數學校使用教務管理軟件是諸如面向過程方法等非面向對象技術開發的,這使得這些管理軟件在可擴充性、交互性、網絡應用等方面存在很多不盡人意的地方,很難適應教育需求的變化,使得這些軟件不能得到長期穩定的應用。
? ? ? ? 現準備用面向對象方法對一個學生選課系統進行建模。該選課系統的需求如下,在取得授權的情況下,有關人員要進行如下工作:
? ? ? ? (1)生成學期選課表
? ? ? ? 按照課程設置部門和教室分配部門分別提供的教學計劃和教室分配情況,課程管理員按專業生成以及維護本學期的選課表,并在網上發布,以供學生選課之用。
? ? ? ? (2)選課
? ? ? ? 學生按培養計劃,在學期開始的前兩周進行試聽和選課。在這期間內學生可在網上隨時查詢與更改所選的課程。在選課期間,學生科查詢課程介紹、任課教室情況以及以往自己的選課情況和成績。學生只能選擇自己的課程。每門課程有人數限制(如每門課程的人數要多于20人,少于80人),學習一門課程的學生可組成多個教學班。
? ? ? ? (3)課表調整
? ? ? ? 在兩周后,若選一門課的學生人數少于下線,則取消該門課。在第三周內,學生可選其他課程。
? ? ? ? (4)公布名單
? ? ? ?自第四周起,課程管理員生成開課匯總表,并在網上公布,同時要把有關信息發送給財務部(計算教師的上課報酬信息)、教材部(發放教材的信息)、教師(任課信息)和成績管理部(錄入與統計成績所需信息)。
? ? ? ? (5)查詢
? ? ? ? 自第四周起,學生可在網上查詢自己所選的課程。
二、詞匯表
? ? ? ? 1.介紹
? ? ? ? 本文檔用于定義特定于問題領域的術語,解釋術語,讀者可能不熟悉用例描述或其他項目文檔。通常,本文檔可以用作非正式數據字典,捕獲數據定義,以便用例描述和其他項目文檔可以專注于系統必須對信息執行的操作。
? ? ? ? 2.定義
? ? ? ? 詞匯表包含學生選課系統中關鍵概念的工作定義。
? ? ? ? 2.1 ?學生:在大學上課的人。
? ? ? ? 2.2 ?任課教師:在大學授課的人。
? ? ? ? 2.3 ?課程管理員:對該學生選課系統進行管理維護的人員。
? ? ? ? 2.4 ?課程:大學提供給學生選修的課程。
? ? ? ? 2.5 ?選課表:學生進行選課操作后生成的一個展示自己選課情況的表格。
? ? ? ? 2.6 ?開課匯總表:當前學期所開設課程的情況。
? ? ? ? 2.7 ?教學計劃:課程設置部門為不同學生制定不同的教學課程、訓練等教學內容。
? ? ? ? 2.8 ?課程信息:課程對應的上課時間及任課教師等信息。
三、領域類圖
四、用況圖分析
1、圖形文檔
2、文字說明
? ? ? ?1)用況圖綜述
? ? ? ?該用況圖主要針對選課系統的功能以及與該系統進行交互的外部事物建模。可以得到選課系統的主要功能:學生可查詢個人信息、查詢課程信息、選課,教師可查詢個人信息、查看開課匯總表,課程管理員生成及維護選課表、生成并發布開課匯總表。
? ? ? ? 2)參與者描述
? ? ? ?該用況圖有5個參與者,分別是用戶、學生、教師、課程管理員、數據庫。“用戶”即使用該選課系統的人,關聯的用況有登錄和查詢用戶信息。“學生”、“教師”、“課程管理員”都繼承“用戶”。除此之外,“學生”還可使用用況“選課”和“查看選課表”,“教師”可使用用況“查看開課匯總表”,而“課程管理員”要通過用況“生成及維護選課表”來管理選課信息并根據學生選課情況通過“生成并發布開課匯總表”進行開課匯總表發布。
? ? ? ?3)用況描述
用況名:登錄
簡述: 在用戶使用該系統時,需要進行身份驗證。系統對用戶輸入的用戶名和密碼進行驗證,并給出驗證結果。驗證成功,則允許進入系統使用。驗證失敗,則提示失敗原因及讓用戶重新輸入。
參與者: 用戶,數據庫
用況名:查詢用戶信息
簡述: 用戶正常進入系統后,可查看個人信息。
參與者: 用戶,數據庫
前置條件:用戶已經登錄成功
用況名:查看選課表
簡述:學生正常進入系統后,可對選修課信息進行查看。
參與者:學生,數據庫
擴展:查看用戶信息
前置條件:學生已經登錄成功
用況名:選課
簡述:學生正常進入系統后,從可選課程列表中選中準備選修的課程并將信息提交后臺。
參與者:學生,數據庫
前置條件:學生已經登錄成功
用況名:查看開課匯總表
簡述:教師正常進入系統后,查看課程管理員發布的開課匯總表。
參與者: 教師,數據庫
前置條件:教師已經登錄成功
用況名:生成及維護選課表
簡述: 課程管理員根據實際情況管理選課信息并制作成選課表發布。
參與者:課程管理員,數據庫
前置條件:課程管理員已經登錄成功
用況名:生成并發布開課匯總表
簡述:課程管理員根據學生選課情況生成開課匯總表并進行發布。
參與者:課程管理員,數據庫
前置條件:課程管理員已經登錄成功
五、分析類圖
1、圖形文檔
2、文字說明
? ? ? ? 1)類圖綜述
? ? ? ? 這是一個選課系統的分析類圖,通過類圖能更清晰直觀的看到整個系統的主要功能與聯系。該系統通過用戶界面、學生界面、管理員界面、教師界面這四個接口類與系統外部的參與者進行聯系,通過用戶信息接口、課程信息接口、選課表接口、開課匯總表接口這四個接口類與外部數據庫聯系。系統內部則表現出了登錄、查詢用戶信息、查詢課程信息、選課、查看開課匯總表、生成并維護選課表、生成并維護匯總表、查看匯總表這些功能。
? ? ? ? 2)類描述
類名:登錄界面
簡述:這是一個接口類,負責與用戶進行交互的界面實現與功能選擇。
關聯說明:與【驗證登錄信息】這兩個類關聯
類名:用戶界面
簡述:這是一個接口類,負責與用戶進行交互的界面實現與功能選擇。
關聯說明:與【獲取用戶信息】這兩個類關聯
類名:學生界面
簡述:這是一個接口類,負責與學生進行交互的界面實現與功能選擇。
關聯說明:與【選擇課程】【查看可選課表】這兩個類關聯
類名:管理員界面
簡述:這是一個接口類,負責與管理員進行交互的界面實現與功能選擇。
關聯說明:與【生成并維護選課表】【生成并維護匯總表】這兩個類關聯
類名:教師界面
簡述:這是一個接口類,負責與教師進行交互的界面實現與功能選擇。
關聯說明:與【查看匯總表】這個類關聯
類名:驗證登錄信息
簡述:這是一個控制類,負責對用戶輸入的登錄信息進行驗證并進行反饋。
關聯說明:與【用戶界面】【用戶列表】這兩個類關聯
類名:獲取用戶信息
簡述:這是一個控制類,負責將對應用戶的信息傳送給用戶界面進行展示。
關聯說明:與【用戶界面】【用戶列表】這兩個類關聯
類名:選擇課程
簡述:這是一個控制類,負責響應用戶的選擇課程操作。
關聯說明:與【學生界面】【課程信息】這兩個類關聯
類名:查看可選課表
簡述:這是一個控制類,負責將對應選課表的信息傳送給學生界面進行展示。
關聯說明:與【學生界面】【課程信息】這兩個類關聯
類名:生成并維護選課表
簡述:這是一個控制類,負責完成管理員生成并維護選課表的這個操作。
關聯說明:與【管理員界面】【選課表】這兩個類關聯
類名:生成并維護匯總表
簡述:這是一個控制類,負責完成管理員生成并維護匯總表的這個操作。
關聯說明:與【管理員界面】【開課匯總表】這兩個類關聯
類名:查看匯總表
簡述:這是一個控制類,負責將對應開課匯總表的信息傳送給教師界面進行展示。
關聯說明:與【教師界面】【開課匯總表】這兩個類關聯
類名:用戶列表
簡述:這是一個實體類,負責存儲系統內部的用戶信息。
關聯說明:與【驗證登錄信息】【獲取用戶信息】【用戶信息接口】這三個類關聯
類名:課程信息
簡述:這是一個實體類,負責存儲系統內部的課程信息。
關聯說明:與【選擇課程】【課程信息接口】這三個類關聯
類名:選課表
簡述:這是一個實體類,負責存儲系統內部的選課表信息。
關聯說明:與【查看可選課表】【生成并維護選課表】【選課表接口】這三個類關聯
類名:開課匯總表
簡述:這是一個實體類,負責存儲系統內部的開課匯總表信息。
關聯說明:與【生成并維護匯總表】【查看匯總表】【開課匯總表接口】這三個類關聯
類名:用戶信息接口
簡述:這是一個接口類,負責系統與外部數據庫之間有關用戶信息的數據傳輸。
關聯說明:與【用戶列表】這個類關聯
類名:課程信息接口
簡述:這是一個接口類,負責系統與外部數據庫之間有關課程信息的數據傳輸。
關聯說明:與【課程信息】這個類關聯
類名:選課表接口
簡述:這是一個接口類,負責系統與外部數據庫之間有關選課表的數據傳輸。
關聯說明:與【選課表】這個類關聯
類名:開課匯總表接口
簡述:這是一個接口類,負責系統與外部數據庫之間有關開課匯總表的數據傳輸。
關聯說明:與【開課匯總表】這個類關聯