摘 要: 利用面向?qū)ο蟮慕UZ(yǔ)言UML對(duì)選課系統(tǒng)的各個(gè)環(huán)節(jié)進(jìn)行分析、設(shè)計(jì),,通過(guò).NET Framework平臺(tái)之上的ASP.NET,、SQL Server等技術(shù)實(shí)現(xiàn)了網(wǎng)上選課系統(tǒng)的研發(fā)工作。
關(guān)鍵詞: UML,;選課系統(tǒng),;ASP.NET;SQL server
1 基于UML的選課系統(tǒng)的需求建模
1.1 選課系統(tǒng)的用例分析及用例模型[1]
(1)學(xué)生用例需求
學(xué)生用例需求如圖1所示,。此用例圖給出了學(xué)生用戶的需求,,主要包括學(xué)生根據(jù)用戶名和密碼登錄系統(tǒng),學(xué)生用戶進(jìn)入系統(tǒng)后能夠查詢教師,、課程的相關(guān)信息,,并能進(jìn)行選課,且在選課時(shí)段內(nèi)能夠進(jìn)行退課,,并且學(xué)生能夠隨時(shí)更改自己的密碼信息,。
(2)教務(wù)管理員用例需求
教務(wù)管理員的用例圖如圖2所示。它描述了選課系統(tǒng)中教務(wù)管理員用戶的需求,,主要包括:根據(jù)密碼登錄系統(tǒng),,能夠?qū)φn程信息進(jìn)行設(shè)置,能夠?qū)W(xué)生用戶和教師用戶的信息進(jìn)行管理,,能夠?qū)Π嗉?jí)進(jìn)行設(shè)置和管理,,能夠添加學(xué)生信息,能夠?qū)Ω鞣N信息進(jìn)行統(tǒng)計(jì)并生成統(tǒng)計(jì)圖表,。
(3)教師用例需求
教師用例圖如圖3所示,。它描述了教師用戶的需求,主要包括:根據(jù)用戶名和密碼登錄系統(tǒng),,對(duì)密碼進(jìn)行修改,,對(duì)夠查詢教師授課的學(xué)生、課程信息,,能夠?qū)€(gè)人課表,、授課學(xué)生名單進(jìn)行打印,能夠?qū)W(xué)生的成績(jī)進(jìn)行錄入,、修改,。
1.2 選課系統(tǒng)的主要類圖
選課系統(tǒng)的主要類圖如圖4所示。
2 選課系統(tǒng)設(shè)計(jì)
2.1 主要功能設(shè)計(jì)
根據(jù)前面的需求分析,,可設(shè)計(jì)出系統(tǒng)的主要功能模塊如圖5所示,。
2.2 主要數(shù)據(jù)庫(kù)設(shè)計(jì)
數(shù)據(jù)庫(kù)的概念結(jié)構(gòu)設(shè)計(jì)(E-R圖)[3]如圖6所示。
通過(guò)學(xué)生-課程-教師的E-R圖可知:學(xué)生和課程之間的關(guān)系是多對(duì)多(M-N),也就是一名學(xué)生可選多門課程,;課程與學(xué)生之間的關(guān)系也是多對(duì)多(N-M),,也就是一門課程可以有多名學(xué)生選擇。同樣,,教師和課程之間的關(guān)系也是多對(duì)多(N-M),,課程與教師之間的關(guān)系也是多對(duì)多(M-N),也就是一位教師可以選多門課程,,一門課程也可以由多位不同的教師來(lái)講授,。學(xué)生和教師之間通過(guò)課程進(jìn)行聯(lián)系,三者圍繞選課活動(dòng)產(chǎn)生多種不確定需求,,這些需求由課程安排來(lái)體現(xiàn),。
2.3 數(shù)據(jù)庫(kù)邏輯結(jié)構(gòu)設(shè)計(jì)
將數(shù)據(jù)庫(kù)的概念設(shè)計(jì),即將E-R圖的實(shí)體關(guān)系轉(zhuǎn)換成邏輯關(guān)系模型,,結(jié)合濮陽(yáng)職業(yè)技術(shù)學(xué)院的實(shí)際需要設(shè)計(jì)本選課系統(tǒng)數(shù)據(jù)庫(kù),,本系統(tǒng)設(shè)計(jì)了14張數(shù)據(jù)表和2個(gè)視圖。
(1)院系信息表DeptInfo(院系編號(hào),、院系名稱),。
(2)教學(xué)樓信息表BuildingInfo(教學(xué)樓編號(hào)、教學(xué)樓名稱),。
(3)排課表Arrange(排課編號(hào),、上課教室號(hào)、上課時(shí)間,、課程設(shè)置號(hào)),。
(4)備份排課記錄表BackUpArrangeList(列表號(hào)、備份排課記錄表ID),。
(5)教室信息表ClassRoomInfo(教室編號(hào),、教室名稱、 教學(xué)樓編號(hào),、教室屬性),。
(6)選課時(shí)段表CourseSelectInterval(開始選課時(shí)間、終止選課時(shí)間),。
(7)選課通知表CourseSelectNotice(通知編號(hào),、通知標(biāo)題、通知內(nèi)容,、通知時(shí)間,、是否為“熱點(diǎn)”)。
(8)課程信息表CourseInfo(課程編號(hào),、課程名稱,、課程介紹)。
(9)開課信息表CourseSettingInfo(課程編號(hào),、面向?qū)I(yè)號(hào),、學(xué)分、限選性質(zhì),、教師編號(hào),、考察方式、備注,、最大選課人數(shù),、課程編號(hào)、開課院系編號(hào),、面向的年級(jí)),。
(10)選課信息表CourseSelect(排課編號(hào)、學(xué)生學(xué)號(hào)),。
(11)反饋信息表FeedBack(反饋信息標(biāo)題,、反饋信息內(nèi)容、用戶ID,、反饋時(shí)間),。
(12)學(xué)生信息表Student Info(學(xué)號(hào)、姓名,、性別,、所屬院系編號(hào)、專業(yè)號(hào)),。
(13)教師信息表TeacherInfo(教師編號(hào),、教師姓名、所屬院系編號(hào)),。
(14)用戶信息表UserInfo(用戶類型(教師,、學(xué)生、管理員),、用戶編號(hào),、用戶名、用戶密碼),。
上面列出的是數(shù)據(jù)庫(kù)的基本表,,在使用過(guò)程中,若全部直接從基本表查詢,,需建立多重的聯(lián)合查詢,,使用很不方便,易出錯(cuò),,效率也不高,。故建立了兩個(gè)視圖,以便查詢。
(1)排課信息視圖(VIEW_Arrange),,包括課程編號(hào),、課程名稱、教師編號(hào),、教師姓名,、限選性質(zhì)、學(xué)分,、考察方式,、面向?qū)I(yè)編號(hào)、最大選課人數(shù),、教室編號(hào),、教室名稱、教室屬性,、開課院系名稱,、教學(xué)樓編號(hào)、教學(xué)樓名稱,、上課時(shí)間,、課程設(shè)置編號(hào)、排課號(hào)等,。
(2)選課信息視圖(VIEW_Select),,包括排課號(hào)、課程編號(hào),、課程名稱,、教師編號(hào)、教師姓名,、面向?qū)I(yè)編號(hào),、學(xué)生學(xué)號(hào)、學(xué)生姓名,。
3 開發(fā)和運(yùn)行環(huán)境設(shè)計(jì)[4]
(1)開發(fā)平臺(tái)搭建:由于開發(fā)的是服務(wù)器端的程序,,計(jì)算機(jī)安裝的網(wǎng)絡(luò)操作系統(tǒng)采用微軟公司的Windows server2003,配置IIS6.0,,并安裝.NET Framework為ASP.NET應(yīng)用程序提供運(yùn)行平臺(tái),。開發(fā)環(huán)境采用微軟開發(fā)的Visual Studio.NET 2005,數(shù)據(jù)庫(kù)管理系統(tǒng)采用SQL server 2005,。
(2)運(yùn)行環(huán)境:該系統(tǒng)運(yùn)行的硬件環(huán)境主要有Web服務(wù)器,、數(shù)據(jù)庫(kù)服務(wù)器、客戶機(jī),;軟件環(huán)境有在Web服務(wù)器上安裝的Windows Server 2003網(wǎng)絡(luò)操作系統(tǒng)及其Internet信息服務(wù)組,;數(shù)據(jù)庫(kù)服務(wù)器上安裝SQL Server2005數(shù)據(jù)庫(kù),;Web客戶端安裝Windows 2000、Windows XP,、Vista,、Windows 7等Windows系列的操作系統(tǒng);客戶端瀏覽器安裝Internet Explore,、遨游等瀏覽器并能上互聯(lián)網(wǎng)。
本文詳細(xì)介紹了在UML建模語(yǔ)言為指導(dǎo)下的一種基于.NET框架的網(wǎng)上選課系統(tǒng)的分析,、設(shè)計(jì)的全過(guò)程,。用UML對(duì)選課這一特定需求的應(yīng)用進(jìn)行了建模,給出了軟件開發(fā)各階段的模型,,使軟件系統(tǒng)的開發(fā)更加高效,。從選課系統(tǒng)數(shù)據(jù)庫(kù)的概念結(jié)構(gòu)(E-R圖)、邏輯結(jié)構(gòu)(表結(jié)構(gòu))及物理實(shí)現(xiàn)(表,、視圖及其連接)進(jìn)行了詳細(xì)闡述,。隨著高校教學(xué)的不斷改革,會(huì)出現(xiàn)新的教學(xué)模式,,因此,,更先進(jìn)的選課系統(tǒng)也會(huì)隨之開發(fā)出來(lái)。
參考文獻(xiàn)
[1] 張龍?jiān)?UML與系統(tǒng)分析設(shè)計(jì)[M].北京:人民郵電出版社,,2001.
[2] BLAHA M,, RUMBAUGH J. UML面向?qū)ο蠼Ec設(shè)計(jì)[M].車皓陽(yáng),楊眉譯.北京:人民郵電出版社,,2007.
[3] 趙杰,,李濤,朱慧.SQLServer數(shù)據(jù)庫(kù)管理,、設(shè)計(jì)與實(shí)現(xiàn)[M].北京:清華大學(xué)出版社,,2004.
[4] 白兆慶.基于B/S模式的選課系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[D].青島:中國(guó)海洋大學(xué),2009.