學(xué)生選課系統(tǒng)畢業(yè)設(shè)計(jì)_第1頁
學(xué)生選課系統(tǒng)畢業(yè)設(shè)計(jì)_第2頁
學(xué)生選課系統(tǒng)畢業(yè)設(shè)計(jì)_第3頁
學(xué)生選課系統(tǒng)畢業(yè)設(shè)計(jì)_第4頁
學(xué)生選課系統(tǒng)畢業(yè)設(shè)計(jì)_第5頁
已閱讀5頁,還剩30頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、理工大學(xué)工程兵工程學(xué)院畢業(yè)生論文理工大學(xué)工程兵工程學(xué)院畢業(yè)生論文 論文題目: 學(xué)生選課系統(tǒng)學(xué)生選課系統(tǒng) 指導(dǎo)教員: 李宏偉 姓 名: 張玉霞 隊(duì) 別: 市政六隊(duì) 專 業(yè): 計(jì)算機(jī)科學(xué)與技術(shù) 理工大學(xué)工程兵工程學(xué)院 二 一 年 六 月 摘要:摘要: 本系統(tǒng)實(shí)現(xiàn)學(xué)生選課的基本功能,包括學(xué)生退選課,查看自己的選 課信息;教師查看選課學(xué)生的信息,提交成績;管理員添加學(xué)生、管理 學(xué)生、管理成績、添加教師、管理教師和管理課程等。系統(tǒng)利用.net 平 臺技術(shù)進(jìn)行開發(fā),實(shí)現(xiàn)學(xué)生選課的動態(tài)管理,使得對信息的管理更加及 時、高效,提高了效率。同時還對系統(tǒng)的開發(fā)原理、功能特點(diǎn)和設(shè)計(jì)方 案進(jìn)行了介紹。 關(guān)鍵詞:關(guān)鍵詞

2、:學(xué)生選課 數(shù)據(jù)庫 管理 asp.net 目 錄 一、設(shè)計(jì)的目的與要求 .4 二、設(shè)計(jì)正文 .4 (一)概述 .4 (二)系統(tǒng)需求分析 .4 (三)系統(tǒng)總體設(shè)計(jì) .7 3.1 設(shè)計(jì)問題域子系統(tǒng) .7 (1)總體設(shè)計(jì)圖 .7 (2)各模塊功能 .7 3.2 設(shè)計(jì)數(shù)據(jù)管理子系統(tǒng) .8 (1)數(shù)據(jù)庫表 .8 (2)數(shù)據(jù)表之間的關(guān)系 .8 學(xué)生表 student 的詳細(xì)數(shù)據(jù)字段: .9 教師表 teacher 的詳細(xì)數(shù)據(jù)字段: .9 課程表 course 的詳細(xì)數(shù)據(jù)字段: .9 選課表 elect 的詳細(xì)數(shù)據(jù)字段: .9 系院表 depart 的詳細(xì)數(shù)據(jù)字段: .10 (四) 詳細(xì)設(shè)計(jì) .12 4.1

3、 系統(tǒng)用戶登錄流程圖 .12 4.2 用戶密碼修改流程圖 .13 4.3 教師提交成績流程圖 .14 4.4 管理員添加課程流程圖 .15 4.5 學(xué)生選修課程流程圖 .16 (五)系統(tǒng)實(shí)現(xiàn) .16 (六)系統(tǒng)測試 .29 三、課程設(shè)計(jì)總結(jié)或結(jié)論 .30 四、參考文獻(xiàn) .30 一、設(shè)計(jì)的目的與要求一、設(shè)計(jì)的目的與要求 通過軟件開發(fā)的實(shí)踐訓(xùn)練,進(jìn)一步掌握軟件工程的方法和技術(shù),提高軟件開發(fā)的實(shí)際能 力,培養(yǎng)工程設(shè)計(jì)能力和綜合分析、解決問題的能力。 具體如下: 1. 學(xué)習(xí)和實(shí)踐在分析和設(shè)計(jì)計(jì)算機(jī)應(yīng)用系統(tǒng)所需要的知識,包括面向?qū)ο蟮南到y(tǒng)分析 與設(shè)計(jì),編碼和測試方面的知識; 2. 熟悉自動化的軟件開發(fā)工

4、具 rational rose 2003,并將其運(yùn)用于軟件開發(fā)的全過 程; 3. 進(jìn)一步加強(qiáng)和提高軟件工程文檔的編寫能力; 4.培養(yǎng)協(xié)作能力和團(tuán)隊(duì)精神。 二、設(shè)計(jì)正文二、設(shè)計(jì)正文 ( (一一) )概述概述 1.1課題題目:學(xué)生選課系統(tǒng) 1.2 系統(tǒng)的主要目標(biāo): 本系統(tǒng)目標(biāo)是實(shí)現(xiàn)選課系統(tǒng)所需的各種基本功能,包括學(xué)生選課、退課功能和 教師查看選修課程、提交課程成績功能以及管理員添加學(xué)生、維護(hù)學(xué)生信息、成績 管理、添加教師、維護(hù)教師信息、維護(hù)選修課程,還有公用的修改密碼等功能。 1.3 系統(tǒng)的開發(fā)環(huán)境及運(yùn)行環(huán)境: 操作系統(tǒng): windows xp pro sp2 建模工具: rational ros

5、e 2003 數(shù)據(jù)庫系統(tǒng):sql server2000 開發(fā)工具: visual studio 2005 web 服務(wù)器:iis+asp.net 2.0 平臺 (二)系統(tǒng)需求分析(二)系統(tǒng)需求分析 學(xué)生選課系統(tǒng)主要滿足來自三方面的需求,這三個方面分別是學(xué)生用戶、教師用戶 和管理員用戶,也即是三類用戶角色。 (1)學(xué)生用戶是主要的需求者,主要需求功能是查詢可選課程、查看自己選課情 況及進(jìn)行選課、退課操作等; (2)教師用戶主要需求功能是查看自己所教授的課程、課程有哪些學(xué)生選修、以 及利用本系統(tǒng)提交學(xué)生的成績; (3)管理員用戶的功能需求較為復(fù)雜,包括對學(xué)生信息、教師信息、課程信息進(jìn) 行管理。在學(xué)

6、生信息管理子模塊中,實(shí)現(xiàn)對學(xué)生信息的添加、修改、刪除操作,還可以輸入 查詢條件進(jìn)行查詢操作。在教師管理子模塊中,實(shí)現(xiàn)對教師信息的添加、修改、刪除、查詢 等操作。在課程管理子模塊中,實(shí) 現(xiàn)對課程信息的添加,添加時為其分配任課教師、上課時間和地點(diǎn),實(shí)現(xiàn)對課 程的修改、刪除、查看某個課程的詳細(xì)信息等。 本系統(tǒng)將管理員用戶、教師用戶、學(xué)生用戶的身份及權(quán)限進(jìn)行嚴(yán)格的劃分,讓 管理員擁有最高權(quán)限,可以查看、維護(hù)系統(tǒng)中的所有信息,如添加學(xué)生,添加課程, 修改課程信息等;讓教師擁有查看自己開設(shè)的課程的信息,以及提交所開設(shè)課程成 績的權(quán)限;讓學(xué)生擁有選課和退選的權(quán)限;而修改密碼模塊的權(quán)限每個用戶都可擁 有,用以

7、修改自己的密碼信息。通過進(jìn)行嚴(yán)格的權(quán)限劃分,可以更好地進(jìn)行管理, 也可更好地保護(hù)用戶信息安全。 2.1 用例圖 圖 2-1 學(xué)生選課系統(tǒng)用例圖 用例圖說明: (1)系統(tǒng)的外部角色有:學(xué)生用戶、教師用戶和管理員。 (2)系統(tǒng)主要用例的文檔描述: 學(xué)生管理用例:學(xué)生用戶可見的功能,包含了選課、退課和查看選課三個用 例功能。 教師管理用例:教師用戶可見的功能,包含了查看學(xué)生選課和提交成績兩個 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 用例功能。 信息管理用例:管理員可見的功能,這個用例進(jìn)一步分為三個用例:學(xué)生信 息管理用例、教師信息管理用例和課程信息

8、管理用例。 學(xué)生信息管理用例:信息管理用例可見的功能,實(shí)現(xiàn)學(xué)生信息的管理功能, 包含了添加學(xué)生、修改學(xué)生信息和刪除學(xué)生三個用例。 教師信息管理用例:信息管理用例可見的功能,實(shí)現(xiàn)教師信息的管理功能, 包含了添加教師、修改教師信息和刪除教師三個用例。 課程信息管理用例:信息管理用例可見的功能,實(shí)現(xiàn)課程信息的管理功能, 包含了添加課程、修改課程信息和刪除課程三個用例。 修改密碼用例:所有用戶都可見的功能,用于修改用戶的密碼信息。 (3)系統(tǒng)用例之間的關(guān)系: 學(xué)生管理用例與選課、查看選課、退課三用例之間是包含關(guān)系。 教師管理用例與查看學(xué)生選課、提交成績兩用例之間是包含關(guān)系。 信息管理用例與學(xué)生信息管理

9、用例、教師信息管理用例和課程信息管理用例 之間是包含關(guān)系。 學(xué)生信息管理用例與添加學(xué)生、修改學(xué)生信息和刪除學(xué)生三個用例之間是包 含關(guān)系。 教師信息管理用例與添加教師、修改教師信息和刪除教師三個用例之間是包 含關(guān)系。 課程信息管理用例與添加課程、修改課程信息和刪除課程三個用例之間是包 含關(guān)系。 (4)系統(tǒng)關(guān)鍵用例的正常事件流圖和異常事件流圖 表 2-1 修改密碼用例的正常事件流圖和異常事件流圖 用例名稱用例名稱修改密碼修改密碼 參與者參與者管理員、教師、學(xué)生 描述描述管理員、教師、學(xué)生用戶進(jìn)行密碼修改 啟動啟動單擊“修改密碼”鏈接 前置條件前置條件用戶成功登錄 主事件流主事件流 用戶用戶系統(tǒng)系統(tǒng)

10、 1.進(jìn)入用戶修改密碼界面,輸入舊密碼一次 ,新密碼兩次 2.系統(tǒng)檢查密碼格式是否相符 3.系統(tǒng)檢查舊密碼是否正確 4.如果正確,進(jìn)行密碼修改,轉(zhuǎn)入密碼修改成功 界面 異常流異常流 異常流異常流密碼檢查未通過 系統(tǒng)系統(tǒng)返回密碼修改界面,提示舊密碼不正確,新密碼 格式不符,兩次不同等密碼 異常異常用戶舊密碼錯誤 表 2-2 提交成績用例的正常事件流圖和異常事件流圖 用例名稱用例名稱提交成績用例提交成績用例 參與者參與者教師用戶 描述描述提交選自己開設(shè)課程的學(xué)生的成績 啟動啟動進(jìn)入提交成績界面 前置條件前置條件用戶成功登錄 后置條件后置條件尚未提交過成績 主事件流主事件流 用戶用戶系統(tǒng)系統(tǒng) 1.單

11、擊提交成績 2.系統(tǒng)提交成績頁面 3.填寫學(xué)生成績,單擊提交成績 5.更新學(xué)生成績,提示提交成功 異常流異常流 異常流異常流用戶已經(jīng)提交過該門課程成績 系統(tǒng)系統(tǒng)提示該課程成績已提交,不能再次提交 2.2 類圖 圖 2-2 學(xué)生選課系統(tǒng)類圖 類圖說明: (1)base user 類是一個系統(tǒng)角色用戶的基類,主要方法有兩個: modify() 用于修改用戶的密碼; login check() 用于用戶登錄驗(yàn)證。 (2)admin 類繼承自 base user 類。 (3)student 類繼承自 base user 類,主要方法有: student add() 用于添加學(xué)生; student de

12、l() 用于刪除學(xué)生; student update() 用于更新學(xué)生信息; get students() 用于獲取學(xué)生列表。 (4)teacher 類繼承自 base user 類,主要方法有: teacher add() 用于添加教師; teacher del() 用于刪除教師; teacher update() 用于更新教師信息; get teachers() 用于獲取教師列表。 (5)course 類是一個課程類,主要方法有: course add() 用于添加課程; course del() 用于刪除課程; course update() 用于修改課程信息; get courses(

13、) 用于獲取課程列表。 (6)elect 類是一個選課表類,主要方法有: elect() 選修課程; elect del() 退選課程; get elect info() 獲取選課信息; have submit() 檢測是否已提交過成績; submit score() 提交成績。 順序圖 (1) 管理員修改課程信息順序圖 圖 2-3 管理員修改課程信息順序圖 : 、 、 、 : baseuser : admin : course 1: 、 、 2: 、 、 、 、 3: 、 、 、 、 、 、 、 4: 、 、 “、 、 、 、 ” 5: 、 、 、 、 、 、 6: 、 、 、 、 、 、

14、(2) 學(xué)生用戶退選課的順序圖 圖 2-4 學(xué)生用戶退選課的順序圖 (3) 教師提交成績順序圖 圖 2-5 教師提交成績順序圖 : 、 、 、 、 : baseuser : student : elect 1: 、 、 2: 、 、 、 、 3: 、 、 、 、 、 、 4: 、 、 “、 、 ” 5: 、 、 、 、 6: 、 、 、 、 、 、 : 、 、 、 、 : teacher : baseuser : elect 1: 、 、 2: 、 、 、 、 3: 、 、 、 、 、 、 4: 、 、 “、 、 、 、 ” 5: 、 、 、 、 、 、 6: 、 、 、 、 、 、 、 、

15、、 7: 、 、 、 、 8: 、 、 、 、 、 、 2.3 協(xié)作圖(可選) (1) 學(xué)生用戶選課協(xié)作圖 圖 2-6 學(xué)生用戶選課協(xié)作圖 (2) 教師提交成績協(xié)作圖 圖 2-7 教師提交成績協(xié)作圖 : 、 、 、 、 : student : baseuser : elect 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 3: 、 、 、 、 6: 、 、 、 、 、 、 1: 、 、 、 、 、 、 、 2: 、 、 、 、 4: 、 、 、 、 、 、 5: 、 、 、 、 : 、 、 、 、 : teacher : elect : baseuser 、 、 、 、 、

16、、 、 、 、 、 、 、 、 1: 、 、 、 、 、 、 、 、 2: 、 、 、 、 3: 、 、 、 、 、 、 6: 、 、 、 、 、 、 4: 、 、 、 、 、 、 5: 、 、 、 、 (三)系統(tǒng)總體設(shè)計(jì)(三)系統(tǒng)總體設(shè)計(jì) 3.13.1 設(shè)計(jì)問題域子系統(tǒng)設(shè)計(jì)問題域子系統(tǒng) 學(xué)生選課系統(tǒng)是實(shí)現(xiàn)學(xué)生選課退課、教師提交成績以及學(xué)校教務(wù)管理員維護(hù)信息的一個平臺, 整個學(xué)生選課系統(tǒng)有前臺和后臺兩部分,共分為 4 個模塊:管理員模塊,教師模塊,學(xué)生模 塊和公有模塊,分別用于完成各自的功能。以下為學(xué)生選課系統(tǒng)總體設(shè)計(jì)圖和各功能模塊說 明: (1)總體設(shè)計(jì)圖 (2)各模塊功能 表 3-1 學(xué)生

17、選課系統(tǒng)功能模塊表 功能模塊功能模塊包含子功能模塊包含子功能模塊功能功能 學(xué)生管理子模塊對學(xué)生信息的添加、修改,刪除操作 教師管理子模塊對教師的添加,修改,刪除,查詢操作 管理員模塊 課程管理子模塊 對課程的添加,添加時為其分配任課教師,上 課時間和地點(diǎn),實(shí)現(xiàn)對課程的修改,刪除,查看某 個課程的詳細(xì)信息等 學(xué)生選課系統(tǒng) 前臺模塊后臺模塊 學(xué) 生 登 錄 模 塊 教 師 登 錄 模 塊 學(xué) 生 處 理 模 塊 教 師 處 理 模 塊 管 理 員 處 理 模 塊 公 共 模 塊 管 理 員 登 錄 模 塊 圖 3-1 學(xué)生選課系統(tǒng)總體設(shè)計(jì)圖 教師模塊 實(shí)現(xiàn)查看自己所教授的課程,課程有哪些學(xué)生選修,

18、以及利用本系統(tǒng)提 交學(xué)生的成績 學(xué)生模塊實(shí)現(xiàn)學(xué)生選課,查看所選課程,修改自己的選課信息 公有模塊實(shí)現(xiàn)用戶的身份驗(yàn)證,密碼修改,退出系統(tǒng)等功能 3.23.2 設(shè)計(jì)數(shù)據(jù)管理子系統(tǒng)設(shè)計(jì)數(shù)據(jù)管理子系統(tǒng) (1)數(shù)據(jù)庫表 表 3-2 數(shù)據(jù)庫表 序號序號數(shù)據(jù)庫表數(shù)據(jù)庫表數(shù)據(jù)表存儲的內(nèi)容數(shù)據(jù)表存儲的內(nèi)容 1student存儲學(xué)生的信息 2teacher存儲教師的信息 3users存儲管理員的信息 4elect存儲選課的信息 5cource存儲課程的信息 6depart存儲學(xué)校系院信息 (2)數(shù)據(jù)表之間的關(guān)系 圖 3-2 數(shù)據(jù)表之間的關(guān)系圖 學(xué)生表 student 的詳細(xì)數(shù)據(jù)字段: 表 3-3 student

19、學(xué)生用戶表 序號序號字段名字段名字段類型字段類型說明說明備注備注 1stu_idnvarchar(20)not null學(xué)生學(xué)號關(guān)鍵字 2stu_pwdnvarchar(20)not null學(xué)生密碼 3stu_namenvarchar(20)not null學(xué)生姓名 4stu_departint學(xué)生系院號 5stu_gradeint學(xué)生年級 6stu_classint學(xué)生班級 教師表 teacher 的詳細(xì)數(shù)據(jù)字段: 表 3-4 teacher 教師用戶表 序號序號字段名字段名字段類型字段類型說明說明備注備注 1tea_idnvarchar(20)not null教師編號關(guān)鍵字 2tea_p

20、wdnvarchar(20)not null教師密碼 3tea_namenvarchar(100)not null教師姓名 4tea_departint(4)教師系院號 課程表 course 的詳細(xì)數(shù)據(jù)字段: 表 3-5 cource 課程信息表 序號序號字段名字段名字段類型字段類型說明說明備注備注 1courseidnvarchar(20)not null課程編號關(guān)鍵字 2teaidnvarchar(20)not null教師編號關(guān)鍵字 3coursenamenvarchar(100) not null課程名稱 4coursetimenvarchar(20)上課時間 5courseaddre

21、ssnvarchar(50)上課地點(diǎn) 6courseinfotext課程簡介 選課表 elect 的詳細(xì)數(shù)據(jù)字段: 表 3-6 elect 選課信息表 序號序號字段名字段名字段類型字段類型說明說明備注備注 1stuidnvarchar(20)not null學(xué)生學(xué)號關(guān)鍵字 2courseidnvarchar(20)not null課程編號關(guān)鍵字 3teaidnvarchar(20)not null教師編號關(guān)鍵字 4scoreint課程成績 系統(tǒng)管理員表 users 的詳細(xì)數(shù)據(jù)字段: 表 3-7 users 管理員表 序號序號字段名字段名字段類型字段類型說明說明備注備注 1adminnamenv

22、archar(20)not null系統(tǒng)管理員用戶名關(guān)鍵字 2adminpwdnvarchar(20)系統(tǒng)管理員密碼 系院表 depart 的詳細(xì)數(shù)據(jù)字段: 表 3-8 depart 系院表 序號序號字段名字段名字段類型字段類型說明說明備注備注 1departidint not null系院號關(guān)鍵字 2departnamenvarchar(100)系院名稱 3.3 設(shè)計(jì)人機(jī)交互子系統(tǒng) (1)用戶分類 本系統(tǒng)的用戶可分為三類: 管理員用戶; 教師用戶; 學(xué)生用戶。 (2)用戶描述 管理員用戶的描述: 管理員用戶在整個選課系統(tǒng)中起到管理和維護(hù)的作用,對學(xué)生和教師的信息進(jìn)行管理 和維護(hù)以及開設(shè)課設(shè)等

23、職責(zé)。 教師用戶的描述: 教師用戶在本系統(tǒng)中具有管理選修了自己開設(shè)的課程的學(xué)生的權(quán)限,查看選修了自己 開設(shè)課程的學(xué)生信息有及提交學(xué)生成績。 學(xué)生用戶的描述: 選課系統(tǒng)主要是針對管理學(xué)生的,學(xué)生在本系統(tǒng)中具有修改自己的信息,以及選課和 退選的功能。 (3)設(shè)計(jì)命令層次 系統(tǒng)的人機(jī)交互子系統(tǒng)的內(nèi)容和準(zhǔn)則: 本學(xué)生選課系統(tǒng)的人機(jī)交互子系統(tǒng)在根據(jù)不同的用戶身份登陸到不同的頁面,然后按 照不同的用戶只能進(jìn)行用戶權(quán)限內(nèi)的操作,其結(jié)構(gòu)圖如下: 通過采用樹形結(jié)構(gòu),細(xì)化命令的組織方式,如下: (四)(四) 詳細(xì)設(shè)計(jì)詳細(xì)設(shè)計(jì) 學(xué)生選課系統(tǒng)是實(shí)現(xiàn)學(xué)生網(wǎng)上選課、教師提交成績以及學(xué)校教務(wù)管理員維護(hù)信息的一個平臺, 整個

24、學(xué)生選課系統(tǒng)共分為 4 個大模塊:管理員模塊,教師模塊,學(xué)生模塊和公有模塊,其中復(fù)雜的 方法和模塊的詳細(xì)設(shè)計(jì)流程圖如下。 主系統(tǒng)界面 管理員用戶 學(xué)生用戶教師用戶 選 課 查 看 選 課 學(xué) 生 管 理 教 師 管 理 課 程 管 理 查 看 選 課 信 息 提 交 成 績 退 課 添 加 學(xué) 生 修 改 學(xué) 生 信 息 刪 除 學(xué) 生 添 加 教 師 修 改 教 師 信 息 刪 除 信 息 添 加 課 程 修 改 課 程 信 息 刪 除 課 程 圖 3-4 細(xì)化命令組織方式 主系統(tǒng)界面 學(xué)生用戶界面教師用戶界面 管理員用戶界面 圖 3-3 人機(jī)交互子系統(tǒng)結(jié)構(gòu)圖 4.14.1 系統(tǒng)用戶登錄流程

25、圖系統(tǒng)用戶登錄流程圖 開始 輸入用戶名、密碼 驗(yàn)證用戶名、密碼 提示用戶登錄失敗 進(jìn)入相應(yīng)的用戶頁面 選擇相關(guān)管理操作 安全退出系統(tǒng) 驗(yàn)證正確 結(jié)束 是 否 圖 4-1 系統(tǒng)用戶登錄流程圖 4.24.2 用戶密碼修改流程圖用戶密碼修改流程圖 開始 輸入用戶舊密碼、新密碼 驗(yàn)證用戶密碼是否合法 輸入不合法,重新輸入 修改用戶密碼 提示修改成功 是否合法? 結(jié)束 圖 4-2 用戶密碼修改流程圖 是 否 4.34.3 教師提交成績流程圖教師提交成績流程圖 開始 點(diǎn)擊成績提交 填寫學(xué)生成績 提示已提交,不能再提交 點(diǎn)擊提交 提交成績,并提示成功 檢查是否已提交過 確認(rèn)提交? 結(jié)束 是 否 否 是 圖

26、4-3 教師提交成績流程圖 4.44.4 管理員添加課程流程圖管理員添加課程流程圖 開始 退出 轉(zhuǎn)到添加課程 填寫課程信息 點(diǎn)擊添加填寫編號 提示重新填寫編號 添加課程 提示添加成功 課程編號是否 重復(fù)? 否 是 圖 4-4 管理員添加課程流程圖 4.54.5 學(xué)生選修課程流程圖學(xué)生選修課程流程圖 開始 結(jié)束 點(diǎn)擊選修 選修成功 更新選、退課課表 提示時間沖突,不能選修 上課時間沖突 繼續(xù)選課? 是 否 是 否 圖 4-5 學(xué)生選修課程流程圖 (五)系統(tǒng)實(shí)現(xiàn)(五)系統(tǒng)實(shí)現(xiàn) 本系統(tǒng)采用了三層架構(gòu)來實(shí)現(xiàn),即分為用戶界面層(ui)、業(yè)務(wù)邏輯層(bll)和數(shù) 據(jù)訪問層(dal),用戶界面層是展示給用戶

27、的界面,方便用戶與系統(tǒng)進(jìn)行交互;業(yè)務(wù) 邏輯層是對系統(tǒng)業(yè)務(wù)實(shí)體的封裝,完成系統(tǒng)業(yè)務(wù)功能;數(shù)據(jù)訪問層直接與數(shù)據(jù)庫打交道, 為業(yè)務(wù)邏輯層提供底層的數(shù)據(jù)庫操作。 5.1 database 類主要是與數(shù)據(jù)庫連接,提供數(shù)據(jù)庫操作功能,代碼如下: namespace myelectcourse.dal public class database protected string connectionstring; protected sqlconnection connection = null; public database() connectionstring = configurationmanag

28、er.connectionstringsconnectionstring.connectionstring.tostring(); database() if (connection != null) connection = null; protected void open() if (connection = null) connection = new sqlconnection(connectionstring); if (connection.state.equals(connectionstate.closed) connection.open(); protected void

29、 close() if (connection != null) connection.close(); public int executesql(string sqlstr) int count = -1; this.open(); sqlcommand cmd = new sqlcommand(sqlstr, connection); count = cmd.executenonquery(); this.close(); return count; public dataset getdataset(string sqlstr) this.open(); dataset ds = ne

30、w dataset(); sqldataadapter adapter = new sqldataadapter(sqlstr,connection); adapter.fill(ds); this.close(); return ds; public datatable getdatatable(string sqlstr) dataset ds = this.getdataset(sqlstr); datatable dt = new datatable(); if (ds.tables.count 0) dt = ds.tables0; return dt; public sqldata

31、reader getdatareader(string sqlstr) this.open(); sqlcommand cmd = new sqlcommand(sqlstr, connection); sqldatareader sdr = cmd.executereader(commandbehavior.closeconnection); /this.close(); return sdr; 5.2 userbase 類是所有系統(tǒng)角色用戶的基類,完成用戶登錄驗(yàn)證與修改密碼的功能,代碼如下: namespace myelectcourse.bll public class userbase

32、 private string userid; public string userid get return userid; set userid = value; private string userpsw; public string userpsw get return userpsw; set userpsw = value; public string logincheck(string uid, string upwd, string urole) string selectstr = string.empty; switch (urole) case 0: /身份為教師時 s

33、electstr = select * from teacher where teaid = + uid + ; break; case 1: /身份為學(xué)生時 selectstr = select * from student where stuid = + uid + ; break; case 2: /身份為管理員時 selectstr = select * from users where adminname = + uid + ; break; default: return null; database db = new database(); datatable dt = db.g

34、etdatatable(selectstr); if (dt.rows.count 0) /如果該用戶存在 if (dt.rows01.tostring().equals(upwd) /密碼正確 switch (urole) case 0: /身份為教師時 return 0; case 1: /身份為學(xué)生時 return 1; case 2: /身份為管理員時 return 2; default: return null; else /密碼錯誤,給出提示信息! return -1; else /用戶不存在或用戶名輸入錯誤 return -2; public string modifypwd(s

35、tring urole, string uid, string oldpwd, string newpwd) string updatestr = string.empty; switch (urole) case 0: /身份為教師時 updatestr = update teacher set teapwd= + newpwd + where teaid= + uid + ; break; case 1: /身份為學(xué)生時 updatestr = update student set stupwd= + newpwd + where stuid= + uid + ; break; case

36、2: /身份為管理員時 updatestr = update users set adminpwd= + newpwd + where adminname= break; string ucheck = this.logincheck(uid, oldpwd, urole); if (ucheck.equals(0) | ucheck.equals(1) | ucheck.equals(2) int t = new database().executesql(updatestr); /根據(jù)修改后返回的結(jié)果給出提示 if (t 0) return 1; else return 0; else r

37、eturn -1; 5.3 系統(tǒng)登錄頁面,代碼及運(yùn)行效果如下: 登錄頁面 table align=center style=font-size: 12px; font-family: tahoma; border-collapse: collapse 學(xué)生選課系統(tǒng) 用戶名: 密碼: asp:textbox id=txtpwd runat=server textmode=password 教師 學(xué)生 管理員 asp:imagebutton id=imgbtnlogin runat=server imageurl=/images/login.gif asp:imagebutton id=imgbt

38、nclose runat=server imageurl=/images/close.gif 圖 5-1 系統(tǒng)登錄頁面 5.4 學(xué)生用戶選課界面代碼及運(yùn)行效果圖如下: 學(xué)生選課 可選修課程 asp:sqldatasource id=sqldatasource1 runat=server connectionstring= selectcommand=select cource.courceid, cource.teaid, cource.courcename, teacher.teaname, cource.courcetime, cource.courceaddress from cource inner join teacher on cource.teaid = teacher.teaid where not exists (select * from elec

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論