軟件工程課程設(shè)計(jì)報(bào)告 學(xué)生選課系統(tǒng)
《軟件工程課程設(shè)計(jì)報(bào)告 學(xué)生選課系統(tǒng)》由會(huì)員分享,可在線閱讀,更多相關(guān)《軟件工程課程設(shè)計(jì)報(bào)告 學(xué)生選課系統(tǒng)(30頁(yè)珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
1、 濱江學(xué)院 軟件工程課程設(shè)計(jì)報(bào)告 ( 2011 -- 2012 年度第 一 學(xué)期) 課程名稱: 軟件工程課程設(shè)計(jì) 題 目: 學(xué)生選課系統(tǒng) 院 系: 計(jì)算機(jī)科學(xué)與技術(shù)系 班 級(jí): 學(xué) 號(hào): 姓 名: 指導(dǎo)教師: 設(shè)計(jì)周數(shù): 兩周 日期:2012
2、年 4月 4日 摘要: 本系統(tǒng)實(shí)現(xiàn)學(xué)生選課的基本功能,包括學(xué)生退選課,查看自己的選課信息;教師查看選課學(xué)生的信息,提交成績(jī);管理員添加學(xué)生、管理學(xué)生、管理成績(jī)、添加教師、管理教師和管理課程等。系統(tǒng)利用.Net平臺(tái)技術(shù)進(jìn)行開發(fā),實(shí)現(xiàn)學(xué)生選課的動(dòng)態(tài)管理,使得對(duì)信息的管理更加及時(shí)、高效,提高了效率。同時(shí)還對(duì)系統(tǒng)的開發(fā)原理、功能特點(diǎn)和設(shè)計(jì)方案進(jìn)行了介紹。 關(guān)鍵詞:學(xué)生選課 數(shù)據(jù)庫(kù) 管理 ASP.NET 一、課程設(shè)計(jì)的目的與要求 通過(guò)軟件開發(fā)的實(shí)踐訓(xùn)練,進(jìn)一步掌握軟件工程的方法和技術(shù),提高軟件開發(fā)的實(shí)際能力,培養(yǎng)工程設(shè)計(jì)能力和綜合分析、解決問(wèn)題的能力。 具體如下:
3、 1. 學(xué)習(xí)和實(shí)踐在分析和設(shè)計(jì)計(jì)算機(jī)應(yīng)用系統(tǒng)所需要的知識(shí),包括面向?qū)ο蟮南到y(tǒng)分析與設(shè)計(jì),編碼和測(cè)試方面的知識(shí); 2. 熟悉自動(dòng)化的軟件開發(fā)工具Rational Rose 2003,并將其運(yùn)用于軟件開發(fā)的全過(guò)程; 3. 進(jìn)一步加強(qiáng)和提高軟件工程文檔的編寫能力; 4. 培養(yǎng)協(xié)作能力和團(tuán)隊(duì)精神。 二、設(shè)計(jì)正文 1. 概述 1.1課題題目:學(xué)生選課系統(tǒng) 1.2系統(tǒng)的主要目標(biāo): 本系統(tǒng)目標(biāo)是實(shí)現(xiàn)選課系統(tǒng)所需的各種基本功能,包括學(xué)生選課、退課功能和教師查看選修課程、提交課程成績(jī)功能以及管理員添加學(xué)生、維護(hù)學(xué)生信息、成績(jī)管理、添加教師、維護(hù)教師信息、維護(hù)選修課程,還有公用的修改密碼等功能
4、。 1.3 系統(tǒng)的開發(fā)環(huán)境及運(yùn)行環(huán)境: 操作系統(tǒng): Windows XP Pro SP2 建模工具: Rational Rose 2003 數(shù)據(jù)庫(kù)系統(tǒng):SQL Server2000 開發(fā)工具: Visual Studio 2005 Web服務(wù)器:IIS+ASP.NET 2.0平臺(tái) 2. 系統(tǒng)需求分析 學(xué)生選課系統(tǒng)主要滿足來(lái)自三方面的需求,這三個(gè)方面分別是學(xué)生用戶、教師用戶和管理員用戶,也即是三類用戶角色。 (1)學(xué)生用戶是主要的需求者,主要需求功能是查詢可選課程、查看自己選課情況及進(jìn)行選課、退課操作等; (2)教師用戶主要需求功能是查看自己所教授的課程、課程有
5、哪些學(xué)生選修、以及利用本系統(tǒng)提交學(xué)生的成績(jī); (3)管理員用戶的功能需求較為復(fù)雜,包括對(duì)學(xué)生信息、教師信息、課程信息進(jìn)行管理。在學(xué)生信息管理子模塊中,實(shí)現(xiàn)對(duì)學(xué)生信息的添加、修改、刪除操作,還可以輸入查詢條件進(jìn)行查詢操作。在教師管理子模塊中,實(shí)現(xiàn)對(duì)教師信息的添加、修改、刪除、查詢等操作。在課程管理子模塊中,實(shí)現(xiàn)對(duì)課程信息的添加,添加時(shí)為其分配任課教師、上課時(shí)間和地點(diǎn),實(shí)現(xiàn)對(duì)課程的修改、刪除、查看某個(gè)課程的詳細(xì)信息等。 本系統(tǒng)將管理員用戶、教師用戶、學(xué)生用戶的身份及權(quán)限進(jìn)行嚴(yán)格的劃分,讓管理員擁有最高權(quán)限,可以查看、維護(hù)系統(tǒng)中的所有信息,如添加學(xué)生,添加課程,修改課程信息等;讓教師擁有查看自己
6、開設(shè)的課程的信息,以及提交所開設(shè)課程成績(jī)的權(quán)限;讓學(xué)生擁有選課和退選的權(quán)限;而修改密碼模塊的權(quán)限每個(gè)用戶都可擁有,用以修改自己的密碼信息。通過(guò)進(jìn)行嚴(yán)格的權(quán)限劃分,可以更好地進(jìn)行管理,也可更好地保護(hù)用戶信息安全。 2.1 用例圖 圖2-1 學(xué)生選課系統(tǒng)用例圖 用例圖說(shuō)明: (1)系統(tǒng)的外部角色有:學(xué)生用戶、教師用戶和管理員。 (2)系統(tǒng)主要用例的文檔描述: ①學(xué)生管理用例:學(xué)生用戶可見的功能,包含了選課、退課和查看選課三個(gè)用例功能。 ②教師管理用例:教師用戶可見的
7、功能,包含了查看學(xué)生選課和提交成績(jī)兩個(gè)用例功能。 ③信息管理用例:管理員可見的功能,這個(gè)用例進(jìn)一步分為三個(gè)用例:學(xué)生信息管理用例、教師信息管理用例和課程信息管理用例。 ④學(xué)生信息管理用例:信息管理用例可見的功能,實(shí)現(xiàn)學(xué)生信息的管理功能,包含了添加學(xué)生、修改學(xué)生信息和刪除學(xué)生三個(gè)用例。 ⑤教師信息管理用例:信息管理用例可見的功能,實(shí)現(xiàn)教師信息的管理功能,包含了添加教師、修改教師信息和刪除教師三個(gè)用例。 ⑥課程信息管理用例:信息管理用例可見的功能,實(shí)現(xiàn)課程信息的管理功能,包含了添加課程、修改課程信息和刪除課程三個(gè)用例。 ⑦修改密碼用例:所有用戶都可見的功能,用于修改用戶的密碼信息。 (
8、3)系統(tǒng)用例之間的關(guān)系: ①學(xué)生管理用例與選課、查看選課、退課三用例之間是包含關(guān)系。 ②教師管理用例與查看學(xué)生選課、提交成績(jī)兩用例之間是包含關(guān)系。 ③信息管理用例與學(xué)生信息管理用例、教師信息管理用例和課程信息管理用例之間是包含關(guān)系。 ④學(xué)生信息管理用例與添加學(xué)生、修改學(xué)生信息和刪除學(xué)生三個(gè)用例之間是包含關(guān)系。 ⑤教師信息管理用例與添加教師、修改教師信息和刪除教師三個(gè)用例之間是包含關(guān)系。 ⑥課程信息管理用例與添加課程、修改課程信息和刪除課程三個(gè)用例之間是包含關(guān)系。 (4)系統(tǒng)關(guān)鍵用例的正常事件流圖和異常事件流圖 表2-1 修改密碼用例的正常事件流圖和異常事件流圖 用例名
9、稱 修改密碼 參與者 管理員、教師、學(xué)生 描述 管理員、教師、學(xué)生用戶進(jìn)行密碼修改 啟動(dòng) 單擊“修改密碼”鏈接 前置條件 用戶成功登錄 主事件流 用戶 系統(tǒng) 1.進(jìn)入用戶修改密碼界面,輸入舊密碼一次 ,新密碼兩次 2.系統(tǒng)檢查密碼格式是否相符 3.系統(tǒng)檢查舊密碼是否正確 4.如果正確,進(jìn)行密碼修改,轉(zhuǎn)入密碼修改成功界面 異常流 異常流 密碼檢查未通過(guò) 系統(tǒng) 返回密碼修改界面,提示舊密碼不正確,新密碼格式不符,兩次不同等密碼 異常 用戶舊密碼錯(cuò)誤 表2-2 提交成績(jī)用例的正常事件流圖和異常事件流圖 用例名稱 提交成績(jī)用例
10、參與者 教師用戶 描述 提交選自己開設(shè)課程的學(xué)生的成績(jī) 啟動(dòng) 進(jìn)入提交成績(jī)界面 前置條件 用戶成功登錄 后置條件 尚未提交過(guò)成績(jī) 主事件流 用戶 系統(tǒng) 1.單擊提交成績(jī) 2.系統(tǒng)提交成績(jī)頁(yè)面 3.填寫學(xué)生成績(jī),單擊提交成績(jī) 5.更新學(xué)生成績(jī),提示提交成功 異常流 異常流 用戶已經(jīng)提交過(guò)該門課程成績(jī) 系統(tǒng) 提示該課程成績(jī)已提交,不能再次提交 2.2 類圖 圖2-2 學(xué)生選課系統(tǒng)類圖 類圖說(shuō)明: (1)BaseUser類是一個(gè)系統(tǒng)角色用戶的基類,主要方法
11、有兩個(gè): modifyPWD() 用于修改用戶的密碼; loginCheck() 用于用戶登錄驗(yàn)證。 (2)Admin類繼承自BaseUser類。 (3)Student類繼承自BaseUser類,主要方法有: studentAdd() 用于添加學(xué)生; studentDel() 用于刪除學(xué)生; studentUpdate() 用于更新學(xué)生信息; getStudents() 用于獲取學(xué)生列表。 (4)Teacher類繼承自BaseUser類,主要方法有: teacherAdd() 用于添加教師; teacherDel() 用于刪除教師; teacherUpdate() 用于
12、更新教師信息; getTeachers() 用于獲取教師列表。 (5)Course類是一個(gè)課程類,主要方法有: courseAdd() 用于添加課程; courseDel() 用于刪除課程; courseUpdate() 用于修改課程信息; getCourses() 用于獲取課程列表。 (6)Elect類是一個(gè)選課表類,主要方法有: elect() 選修課程; electDel() 退選課程; getElectInfo() 獲取選課信息; haveSubmit() 檢測(cè)是否已提交過(guò)成績(jī); submitScore() 提交成績(jī)。 2.3 順序圖 (1) 管理員修改
13、課程信息順序圖 圖2-3 管理員修改課程信息順序圖 (2) 學(xué)生用戶退選課的順序圖 圖2-4 學(xué)生用戶退選課的順序圖 (3) 教師提交成績(jī)順序圖 圖2-5 教師提交成績(jī)順序圖 2.4 協(xié)作圖(可選) (1) 學(xué)生用戶選課協(xié)作圖 圖2-6 學(xué)生用戶選課協(xié)作圖 (2) 教師提交
14、成績(jī)協(xié)作圖 圖2-7 教師提交成績(jī)協(xié)作圖 3. 系統(tǒng)總體設(shè)計(jì) 3.1 設(shè)計(jì)問(wèn)題域子系統(tǒng) 學(xué)生選課系統(tǒng)是實(shí)現(xiàn)學(xué)生選課退課、教師提交成績(jī)以及學(xué)校教務(wù)管理員維護(hù)信息的一個(gè)平臺(tái),整個(gè)學(xué)生選課系統(tǒng)有前臺(tái)和后臺(tái)兩部分,共分為4個(gè)模塊:管理員模塊,教師模塊,學(xué)生模塊和公有模塊,分別用于完成各自的功能。以下為學(xué)生選課系統(tǒng)總體設(shè)計(jì)圖和各功能模塊說(shuō)明: (1)總體設(shè)計(jì)圖 學(xué)生選課系統(tǒng) 前臺(tái)模塊 后臺(tái)模塊 學(xué)生登錄模塊 教師登錄模塊 學(xué)生處理模塊 教師處理模塊 管理員處理模塊 公共模塊 管理員登錄模塊
15、 圖3-1學(xué)生選課系統(tǒng)總體設(shè)計(jì)圖 (2)各模塊功能 表3-1 學(xué)生選課系統(tǒng)功能模塊表 功能模塊 包含子功能模塊 功能 管理員模塊 學(xué)生管理子模塊 對(duì)學(xué)生信息的添加、修改,刪除操作 教師管理子模塊 對(duì)教師的添加,修改,刪除,查詢操作 課程管理子模塊 對(duì)課程的添加,添加時(shí)為其分配任課教師,上課時(shí)間和地點(diǎn),實(shí)現(xiàn)對(duì)課程的修改,刪除,查看某個(gè)課程的詳細(xì)信息等 教師模塊 實(shí)現(xiàn)查看自己所教授的課程,課程有哪些學(xué)生選修,以及利用本系統(tǒng)提交學(xué)生的成績(jī) 學(xué)生模塊 實(shí)現(xiàn)學(xué)生選課,查看所選課程,修改自
16、己的選課信息 公有模塊 實(shí)現(xiàn)用戶的身份驗(yàn)證,密碼修改,退出系統(tǒng)等功能 3.2 設(shè)計(jì)數(shù)據(jù)管理子系統(tǒng) (1)數(shù)據(jù)庫(kù)表 表3-2 數(shù)據(jù)庫(kù)表 序號(hào) 數(shù)據(jù)庫(kù)表 數(shù)據(jù)表存儲(chǔ)的內(nèi)容 1 Student 存儲(chǔ)學(xué)生的信息 2 Teacher 存儲(chǔ)教師的信息 3 Users 存儲(chǔ)管理員的信息 4 Elect 存儲(chǔ)選課的信息 5 Cource 存儲(chǔ)課程的信息 6 Depart 存儲(chǔ)學(xué)校系院信息 (2)數(shù)據(jù)表之間的關(guān)系 圖3-2 數(shù)據(jù)表之間的關(guān)系圖
17、 (3)數(shù)據(jù)庫(kù)表結(jié)構(gòu) ①學(xué)生表Student的詳細(xì)數(shù)據(jù)字段: 表3-3 Student學(xué)生用戶表 序號(hào) 字段名 字段類型 說(shuō)明 備注 1 stuID nvarchar(20)not null 學(xué)生學(xué)號(hào) 關(guān)鍵字 2 stuPwd nvarchar(20)not nul 學(xué)生密碼 3 stuName nvarchar(20)not nul 學(xué)生姓名 4 stuDepart Int 學(xué)生系院號(hào) 5 stuGrade int 學(xué)生年級(jí) 6 stuClass int 學(xué)生班級(jí) ②教師表Teacher的詳細(xì)數(shù)
18、據(jù)字段: 表3-4 Teacher教師用戶表 序號(hào) 字段名 字段類型 說(shuō)明 備注 1 teaID nvarchar(20)not null 教師編號(hào) 關(guān)鍵字 2 teaPwd nvarchar(20)not null 教師密碼 3 teaName nvarchar(100)not null 教師姓名 4 teaDepart Int(4) 教師系院號(hào) ③課程表Course的詳細(xì)數(shù)據(jù)字段: 表3-5 Cource課程信息表 序號(hào) 字段名 字段類型 說(shuō)明 備注 1 courseID nvarchar(20)not nu
19、ll 課程編號(hào) 關(guān)鍵字 2 teaID nvarchar(20)not null 教師編號(hào) 關(guān)鍵字 3 courseName nvarchar(100) not null 課程名稱 4 courseTime nvarchar(20) 上課時(shí)間 5 courseAddress nvarchar(50) 上課地點(diǎn) 6 courseInfo Text 課程簡(jiǎn)介 ④選課表Elect的詳細(xì)數(shù)據(jù)字段: 表3-6 Elect選課信息表 序號(hào) 字段名 字段類型 說(shuō)明 備注 1 stuID nvarchar(2
20、0)not null 學(xué)生學(xué)號(hào) 關(guān)鍵字 2 courseID nvarchar(20)not null 課程編號(hào) 關(guān)鍵字 3 teaID nvarchar(20)not null 教師編號(hào) 關(guān)鍵字 4 Score int 課程成績(jī) ⑤系統(tǒng)管理員表Users的詳細(xì)數(shù)據(jù)字段: 表3-7 Users管理員表 序號(hào) 字段名 字段類型 說(shuō)明 備注 1 adminName nvarchar(20)not null 系統(tǒng)管理員用戶名 關(guān)鍵字 2 adminPwd nvarchar(20) 系統(tǒng)管理員密碼 ⑥系院表Depart的
21、詳細(xì)數(shù)據(jù)字段: 表3-8 Depart系院表 序號(hào) 字段名 字段類型 說(shuō)明 備注 1 departID Int not null 系院號(hào) 關(guān)鍵字 2 departName nvarchar(100) 系院名稱 3.3 設(shè)計(jì)人機(jī)交互子系統(tǒng) (1)用戶分類 本系統(tǒng)的用戶可分為三類: ①管理員用戶; ②教師用戶; ③學(xué)生用戶。 (2)用戶描述 ①管理員用戶的描述: 管理員用戶在整個(gè)選課系統(tǒng)中起到管理和維護(hù)的作用,對(duì)學(xué)生和教師的信息進(jìn)行管理和維護(hù)以及開設(shè)課設(shè)等職責(zé)。 ②教師用戶的描述: 教師用戶在本系統(tǒng)中具有管理選修了自己開設(shè)的課程的學(xué)生的權(quán)
22、限,查看選修了自己開設(shè)課程的學(xué)生信息有及提交學(xué)生成績(jī)。 ③學(xué)生用戶的描述: 選課系統(tǒng)主要是針對(duì)管理學(xué)生的,學(xué)生在本系統(tǒng)中具有修改自己的信息,以及選課和退選的功能。 (3)設(shè)計(jì)命令層次 ①系統(tǒng)的人機(jī)交互子系統(tǒng)的內(nèi)容和準(zhǔn)則: 本學(xué)生選課系統(tǒng)的人機(jī)交互子系統(tǒng)在根據(jù)不同的用戶身份登陸到不同的頁(yè)面,然后按照不同的用戶只能進(jìn)行用戶權(quán)限內(nèi)的操作,其結(jié)構(gòu)圖如下: 主系統(tǒng)界面 學(xué)生用戶界面 教師用戶界面 管理員用戶界面 圖3-3 人機(jī)交互子系統(tǒng)結(jié)構(gòu)圖 ②通過(guò)采用樹形結(jié)構(gòu),細(xì)化命令的組織方式,如下: 主系統(tǒng)界面 管理員用戶 學(xué)生用戶 教師用
23、戶 選課 查看選課 學(xué)生管理 教師管理 課程管理 查看選課信息 提交成績(jī) 退課 添加學(xué)生 修改學(xué)生信息 刪除學(xué)生 添加教師 修改教師信息 刪除信息 添加課程 修改課程信息 刪除課程 圖3-4 細(xì)化命令組織方式 4. 詳細(xì)設(shè)計(jì) 學(xué)生選課系統(tǒng)是實(shí)現(xiàn)學(xué)生網(wǎng)上選課、教師提交成績(jī)以及學(xué)校教務(wù)管理員維護(hù)信息的一個(gè)平臺(tái),整個(gè)學(xué)生選課系統(tǒng)共分為4個(gè)大模塊:管理員模塊,教師模塊,學(xué)生模塊和公有模塊,其中復(fù)雜的方法和模塊的詳細(xì)設(shè)計(jì)流程圖如下。 4.1
24、系統(tǒng)用戶登錄流程圖 開始 輸入用戶名、密碼 驗(yàn)證用戶名、密碼 提示用戶登錄失敗 進(jìn)入相應(yīng)的用戶頁(yè)面 選擇相關(guān)管理操作 安全退出系統(tǒng) 驗(yàn)證正確 結(jié)束 是 否 圖4-1 系統(tǒng)用戶登錄流程圖 4.2 用戶密碼修改流程圖 開始 輸入用戶舊密碼、新密碼 驗(yàn)證用戶密碼是否合法 輸入不合法,重新輸入 修改用戶密碼 提示修改成功 是否合法? 結(jié)束 圖4-2 用戶密碼修改流程圖 是 否 4.3教師提交成績(jī)流程圖 開始 點(diǎn)擊成績(jī)提交 填寫學(xué)生成績(jī) 提示已提交,不能再提交 點(diǎn)擊提交
25、 提交成績(jī),并提示成功 檢查是否已提交過(guò) 確認(rèn)提交? 結(jié)束 是 否 否 是 圖4-3教師提交成績(jī)流程圖 4.4管理員添加課程流程圖 開始 退出 轉(zhuǎn)到添加課程 填寫課程信息 點(diǎn)擊添加 填寫編號(hào) 提示重新填寫編號(hào) 添加課程 提示添加成功 課程編號(hào)是否重復(fù)? 否 是 圖4-4 管理員添加課程流程圖 4.5學(xué)生選修課程流程圖 開始 結(jié)束 點(diǎn)擊選修 選修成功 更新選、退課課表 提示時(shí)間沖突,不能選修 上課時(shí)間沖突 繼續(xù)選課? 是 否 是 否 圖4-5 學(xué)生選修課程流程圖 5. 系統(tǒng)實(shí)現(xiàn) 本系統(tǒng)采用了三層架構(gòu)來(lái)實(shí)現(xiàn)
26、,即分為用戶界面層(UI)、業(yè)務(wù)邏輯層(BLL)和數(shù)據(jù)訪問(wèn)層(DAL),用戶界面層是展示給用戶的界面,方便用戶與系統(tǒng)進(jìn)行交互;業(yè)務(wù)邏輯層是對(duì)系統(tǒng)業(yè)務(wù)實(shí)體的封裝,完成系統(tǒng)業(yè)務(wù)功能;數(shù)據(jù)訪問(wèn)層直接與數(shù)據(jù)庫(kù)打交道,為業(yè)務(wù)邏輯層提供底層的數(shù)據(jù)庫(kù)操作。 5.1 Database類主要是與數(shù)據(jù)庫(kù)連接,提供數(shù)據(jù)庫(kù)操作功能,代碼如下: namespace MyElectCourse.DAL { public class Database { protected string connectionString; protected SqlConn
27、ection connection = null; public Database() { connectionString = ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString.ToString(); } ~Database() { if (connection != null) {
28、connection = null; } } protected void Open() { if (connection == null) { connection = new SqlConnection(connectionString); } if (connection.State.Equals(ConnectionState.Closed))
29、 { connection.Open(); } } protected void Close() { if (connection != null) { connection.Close(); } } public int ExecuteSQL(string sqlstr) { int
30、count = -1; this.Open(); SqlCommand cmd = new SqlCommand(sqlstr, connection); count = cmd.ExecuteNonQuery(); this.Close(); return count; } public DataSet GetDataSet(string sqlstr) { this.Open()
31、; DataSet ds = new DataSet(); SqlDataAdapter adapter = new SqlDataAdapter(sqlstr,connection); adapter.Fill(ds); this.Close(); return ds; } public DataTable GetDataTable(string sqlstr) { DataSet
32、 ds = this.GetDataSet(sqlstr); DataTable dt = new DataTable(); if (ds.Tables.Count > 0) { dt = ds.Tables[0]; } return dt; } public SqlDataReader GetDataReader(string sqlstr) { this.Op
33、en(); SqlCommand cmd = new SqlCommand(sqlstr, connection); SqlDataReader sdr = cmd.ExecuteReader(CommandBehavior.CloseConnection); //this.Close(); return sdr; } } } 5.2 UserBase類是所有系統(tǒng)角色用戶的基類,完成用戶登錄驗(yàn)證與修改密碼的功能,代碼如下: namespace MyEle
34、ctCourse.BLL { public class UserBase { private string userID; public string UserID { get { return userID; } set { userID = value; } } private string userPSW; public string UserPSW { get
35、{ return userPSW; } set { userPSW = value; } } public string loginCheck(string uid, string upwd, string urole) { String selectStr = String.Empty; switch (urole) { case "0": //身份為教師時(shí)
36、 selectStr = "Select * from Teacher where teaID = '" + uid + "'"; break; case "1": //身份為學(xué)生時(shí) selectStr = "Select * from Student where stuID = '" + uid + "'";
37、 break; case "2": //身份為管理員時(shí) selectStr = "Select * from Users where adminName = '" + uid + "'"; break; default: return null; } Database db = new Datab
38、ase(); DataTable dt = db.GetDataTable(selectStr); if (dt.Rows.Count > 0) //如果該用戶存在 { if (dt.Rows[0][1].ToString().Equals(upwd)) //密碼正確 { switch (urole) {
39、 case "0": //身份為教師時(shí) return "0"; case "1": //身份為學(xué)生時(shí) return "1"; case "2": //身份為管理員時(shí) return "2";
40、 default: return null; } } else //密碼錯(cuò)誤,給出提示信息! { return "-1"; } } else //用戶不存在或用戶名輸入錯(cuò)
41、誤 { return "-2"; } } public string modifyPWD(String urole, String uid, String oldPwd, String newPwd) { String updateStr = String.Empty; switch (urole) { case "0":
42、 //身份為教師時(shí) updateStr = "update Teacher set teaPwd='" + newPwd + "' where teaID='" + uid + "'"; break; case "1": //身份為學(xué)生時(shí) updateStr = "update Student set stuPwd='" + new
43、Pwd + "' where stuID='" + uid + "'"; break; case "2": //身份為管理員時(shí) updateStr = "update Users set adminPwd='" + newPwd + "' where adminName='" break; } string ucheck = this.loginCheck(uid, oldPwd,
44、 urole); if (ucheck.Equals("0") || ucheck.Equals("1") || ucheck.Equals("2")) { int t = new Database().ExecuteSQL(updateStr); //根據(jù)修改后返回的結(jié)果給出提示 if (t > 0) { return "1"; }
45、 else { return "0"; } } else { return "-1"; } } }} 5.3 系統(tǒng)登錄頁(yè)面,代碼及運(yùn)行效果如下: