版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、軟件工程課程設(shè)計(jì)報(bào)告( 2014 年度 第一學(xué)期)課程名稱: 軟件工程課程設(shè)計(jì) 題 目: 作業(yè)提交系統(tǒng) 院 系: 計(jì)算機(jī)與信息技術(shù)學(xué)院班 級: 軟件工程 組 號: 組 長: 趙佳 組 員: 史鴻羽,尚佩,王前 指導(dǎo)教師: 楊陟卓 設(shè)計(jì)周數(shù): 4周 小組成績: 日期:2014 年 09 月 18日軟件工程課程設(shè)計(jì)任務(wù)書一、目的、要求通過軟件開發(fā)的實(shí)踐訓(xùn)練,進(jìn)一步掌握軟件工程的方法和技術(shù),提高軟件開發(fā)的實(shí)際能力,培養(yǎng)工程設(shè)計(jì)能力和綜合分析、解決問題的能力。具體如下:l 學(xué)習(xí)和實(shí)踐在分析和設(shè)計(jì)計(jì)算機(jī)應(yīng)用系統(tǒng)所需要的知識,包括面向?qū)ο蟮南到y(tǒng)分析與設(shè)計(jì),編碼和測試方面的知識;l 熟悉自動化的軟件開發(fā)工具
2、Rational Rose 2003等,并將其運(yùn)用于軟件開發(fā)的全過程;l 進(jìn)一步加強(qiáng)和提高軟件工程文檔的編寫能力;l 培養(yǎng)協(xié)作能力和團(tuán)隊(duì)精神。二、任務(wù)分配任務(wù)負(fù)責(zé)人參與人備注需求分析趙 佳史鴻羽二人共同討論課題,系統(tǒng)功能,粗略分析用例總體設(shè)計(jì)史鴻羽趙 佳參與人負(fù)責(zé)E-R圖,總體結(jié)構(gòu)設(shè)計(jì)圖糾錯(cuò)詳細(xì)設(shè)計(jì)王 前無根據(jù)需求分析制作流程圖系統(tǒng)實(shí)現(xiàn)與測試尚 佩無實(shí)現(xiàn)Java代碼在eclipse上的實(shí)現(xiàn)三、設(shè)計(jì)成果要求l 建立系統(tǒng)分析與設(shè)計(jì)模型;l 初步建立系統(tǒng)原型,實(shí)現(xiàn)關(guān)鍵的功能;l 編寫課程設(shè)計(jì)報(bào)告。指導(dǎo)教師: 楊陟卓 日 期: 2014 年 9 月 18 日軟件工程課程設(shè)計(jì)成績評定一、 指導(dǎo)教師評語二
3、、 成績學(xué)號姓名成績備注2012242115趙佳2012242067史鴻羽2012242065尚佩2012242078王前 指導(dǎo)教師: 楊陟卓 日 期: 2014 年 9 月 18 日摘要:作業(yè)提交系統(tǒng)是基于b/s結(jié)構(gòu),在tomcat平臺上使用JSP與Microsoft SQL 2005開發(fā)的,主要目的是解決學(xué)校機(jī)房管理上機(jī)作業(yè)的問題。因?yàn)閭鹘y(tǒng)的對學(xué)生作業(yè)管理是在服務(wù)器上建立一個(gè)FTP服務(wù)器,然后對學(xué)生用戶設(shè)置一個(gè)專門的帳號,只允許對作業(yè)進(jìn)行上傳/下載,然后學(xué)生將作業(yè)上傳到服務(wù)器里面對應(yīng)的班級文件夾下面。這種傳統(tǒng)的方法可能導(dǎo)致學(xué)生之間相互抄襲,因?yàn)樯蟼鞯淖鳂I(yè)別的同學(xué)也可以看到,而且局域網(wǎng)共享本
4、身就存在很大的安全隱患,很多病毒都是通過共享傳染到其他機(jī)器,影響整個(gè)機(jī)房的正常運(yùn)行,傳統(tǒng)方式無法解決的問題有:不能防止學(xué)生亂上傳作業(yè),不能防止學(xué)生找錯(cuò)班級文件夾,不能對作業(yè)進(jìn)行限制如大小,類型,上傳時(shí)間等,教師布置作業(yè)要通過黑板寫字,教師打分之后只能記在本子上,不能通過局域網(wǎng)發(fā)布出來讓學(xué)生看,教師下載作業(yè)必須到服務(wù)器上拷貝。而這套系統(tǒng)正是出于這個(gè)目的,為了解決上面的問題而設(shè)計(jì)的。系統(tǒng)對于復(fù)雜的問題都采用程序的方式解決了。系統(tǒng)分了管理員、教師、學(xué)生用戶,管理員須進(jìn)行的操作是錄入,刪除,修改,增加學(xué)生和教師的相關(guān)信息。而教師只需要發(fā)布作業(yè),對作業(yè)的要求進(jìn)行限制,不必去服務(wù)器上建文件夾來存放你的作業(yè)
5、,并且程序自動創(chuàng)建目錄。下載作業(yè)也只須要點(diǎn)一下就會將作業(yè)全部打包下載回來,在局域網(wǎng)內(nèi)的任何一臺計(jì)算機(jī)都可以進(jìn)行各種操作。學(xué)生則再也不會將作業(yè)上傳錯(cuò),上傳到別的班級中,也不允許上傳非法的文件,對一次未上傳完成的作業(yè)也可以先暫存后下節(jié)課再下載回來接著做。關(guān)鍵字:作業(yè)提交 數(shù)據(jù)庫 管理 JSP1 課程設(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ā)工具Ration
6、al Rose 2003,并將其運(yùn)用于軟件開發(fā)的全過程;(3) 進(jìn)一步加強(qiáng)和提高軟件工程文檔的編寫能力;(4) 培養(yǎng)協(xié)作能力和團(tuán)隊(duì)精神。2 設(shè)計(jì)正文2.1 概述2. 1.1 課題題目:作業(yè)提交系統(tǒng)2. 1.2 系統(tǒng)的主要目標(biāo)本系統(tǒng)目標(biāo)是實(shí)現(xiàn)作業(yè)提交系統(tǒng)所需的各種基本功能,包括:(1)學(xué)生用戶的主要需求功能是登陸作業(yè)系統(tǒng)公告界面;登錄密碼可以自己修改;查看教師發(fā)布的作業(yè)公告,以及管理員發(fā)布的系統(tǒng)公告;然后完成作業(yè)后提交;如果完不成可以先暫存;遇到不懂的可以提出相關(guān)疑問;待老師批改完后,可以查看自己的成績;也可以查看個(gè)人資料; (2)教師用戶主要功能是登陸作業(yè)系統(tǒng)公告界面;登錄密碼可以自己修改;發(fā)
7、布作業(yè)公告;查看系統(tǒng)公告;待學(xué)生完成后進(jìn)行批改;對學(xué)生作業(yè)進(jìn)行點(diǎn)評;然后錄入分?jǐn)?shù);對學(xué)生提出的疑問進(jìn)行解答;也可以查看個(gè)人資料; (3)管理員主要功能是登陸作業(yè)系統(tǒng)管理界面;登錄密碼可以自己修改;管理教師和學(xué)生的個(gè)人信息,包括錄入,刪除,修改;發(fā)布系統(tǒng)公告;還有作業(yè)信息的管理,即當(dāng)作業(yè)到一定量的時(shí)候,進(jìn)行必要的刪除;可以管理其他管理員;還可以注銷其他用戶,包括注銷教師,學(xué)生,以及管理員;也可以查看個(gè)人資料;2. 1.3 系統(tǒng)的開發(fā)環(huán)境及運(yùn)行環(huán)境:操作系統(tǒng): Windows 7建模工具: Rational Rose 2003數(shù)據(jù)庫系統(tǒng):SQL Server2005運(yùn)行環(huán)境: JDK1.6.0_4
8、3開發(fā)工具: eclipse3.2Web服務(wù)器:TOMCAT6.0平臺2.2 系統(tǒng)需求分析學(xué)生選課系統(tǒng)主要滿足來自三方面的需求,這三個(gè)方面分別是學(xué)生用戶、教師用戶和管理員用戶,也即是三類用戶角色。(1)學(xué)生用戶的主要需求功能是登陸作業(yè)系統(tǒng)公告界面;登錄密碼可以自己修改;查看教師發(fā)布的作業(yè)公告,以及管理員發(fā)布的系統(tǒng)公告;然后完成作業(yè)后提交;如果完不成可以先暫存;遇到不懂的可以提出相關(guān)疑問;待老師批改完后,可以查看自己的成績;也可以查看個(gè)人資料; (2)教師用戶主要功能是登陸作業(yè)系統(tǒng)公告界面;登錄密碼可以自己修改;發(fā)布作業(yè)公告;查看系統(tǒng)公告;待學(xué)生完成后進(jìn)行批改;對學(xué)生作業(yè)進(jìn)行點(diǎn)評;然后錄入分?jǐn)?shù);
9、對學(xué)生提出的疑問進(jìn)行解答;也可以查看個(gè)人資料; (3)管理員主要功能是登陸作業(yè)系統(tǒng)管理界面;登錄密碼可以自己修改;管理教師和學(xué)生的個(gè)人資料,包括錄入,刪除,修改;發(fā)布系統(tǒng)公告;還有作業(yè)信息的管理,即當(dāng)作業(yè)到一定量的時(shí)候,進(jìn)行必要的刪除;可以管理其他管理員;還可以注銷其他用戶,包括注銷教師,學(xué)生,以及管理員;也可以查看個(gè)人資料;本系統(tǒng)將管理員用戶、教師用戶、學(xué)生用戶的身份及權(quán)限進(jìn)行嚴(yán)格的劃分,讓管理員擁有最高權(quán)限,可以查看、維護(hù)系統(tǒng)中的所有信息,如添加學(xué)生,添加教師,添加管理員,注銷用戶等;讓教師擁有下發(fā)作業(yè),以及提交學(xué)生成績的權(quán)限;讓學(xué)生擁有對作業(yè)進(jìn)行提交和暫存的權(quán)限;而修改密碼模塊的權(quán)限每個(gè)
10、用戶都可擁有,用以修改自己的密碼信息。通過進(jìn)行嚴(yán)格的權(quán)限劃分,可以更好地進(jìn)行管理,也可更好地保護(hù)用戶信息安全。2.2.1. 用例圖圖2.2.1作業(yè)提交系統(tǒng)用例圖 用例圖說明:(1)系統(tǒng)的外部角色有:學(xué)生用戶、教師用戶和管理員。(2)系統(tǒng)主要用例的文檔描述:學(xué)生管理用例:學(xué)生用戶可見的功能,包含查看公告,作答作業(yè),提出疑問,查看成績功能。教師管理用例:教師用戶可見的功能,包含了發(fā)布作業(yè)公告,批改學(xué)生作業(yè),提交成績和解答疑問功能。信息管理用例:管理員可見的功能,這個(gè)用例進(jìn)一步分為三個(gè)用例:學(xué)生信息管理用例、教師信息管理用例和管理員信息管理用例。學(xué)生信息管理用例:信息管理用例可見的功能,實(shí)現(xiàn)學(xué)生信息
11、的管理功能,包含了添加學(xué)生、修改學(xué)生信息和注銷學(xué)生三個(gè)用例。教師信息管理用例:信息管理用例可見的功能,實(shí)現(xiàn)教師信息的管理功能,包含了添加教師、修改教師信息和注銷教師三個(gè)用例。修改密碼用例:所有用戶都可見的功能,用于修改用戶的密碼信息(3)系統(tǒng)關(guān)鍵用例的正常事件流圖和異常事件流圖表2-1 修改密碼用例的正常事件流圖和異常事件流圖用例名稱修改密碼參與者管理員、教師、學(xué)生描述管理員、教師、學(xué)生用戶進(jìn)行密碼修改啟動單擊“修改密碼”鏈接前置條件用戶成功登錄主事件流用戶系統(tǒng)1.進(jìn)入用戶修改密碼界面,輸入舊密碼一次 ,新密碼兩次2.系統(tǒng)檢查密碼格式是否相符3.系統(tǒng)檢查舊密碼是否正確4.如果正確,進(jìn)行密碼修改
12、,轉(zhuǎn)入密碼修改成功界面異常流異常流密碼檢查未通過系統(tǒng)返回密碼修改界面,提示舊密碼不正確,新密碼格式不符,兩次不同等密碼異常用戶舊密碼錯(cuò)誤表2-2 提交成績用例的正常事件流圖和異常事件流圖用例名稱提交成績用例參與者教師用戶描述提交選自己開設(shè)課程的學(xué)生的成績啟動進(jìn)入提交成績界面前置條件用戶成功登錄后置條件尚未提交過成績主事件流用戶系統(tǒng)1.單擊提交成績2.系統(tǒng)提交成績頁面3.填寫學(xué)生成績,單擊提交成績 5.更新學(xué)生成績,提示提交成功異常流異常流用戶已經(jīng)提交過該門課程成績系統(tǒng)提示該課程成績已提交,不能再次提交2.2.2. 類圖圖2.2.2作業(yè)提交系統(tǒng)類圖 類圖說明:(1)BaseUser類是一個(gè)系統(tǒng)角
13、色用戶的基類,主要功能有兩個(gè):modifyPWD() 用于修改用戶的密碼;loginCheck() 用于用戶登錄驗(yàn)證。(2)Admin類繼承自BaseUser類。主要功能有:Adminregis() 用于管理員登陸Adminlog() 用于注銷學(xué)生和教師信息Adminmanage() 用于學(xué)生和教師信息管理Adminrelease() 用于發(fā)布公告Adminoperation() 用于作業(yè)管理Adminadmin() 用于管理管理員(3)Student類繼承自BaseUser類,主要功能有:Studentregis() 用于學(xué)生登錄;Studentlookann() 用于學(xué)生查看公告;Stud
14、entsubmit() 用于學(xué)生提交作業(yè);Studettempo() 用于學(xué)生作業(yè)暫存;Studetquiz() 用于學(xué)生提問Studentlookper() 用于學(xué)生查看成績(4)Teacher類繼承自BaseUser類,主要功能有:Teacherregis() 用于教師登陸;Teacherrelease() 用于發(fā)布作業(yè)公告;Teachercorrect() 用于教師批改作業(yè);Teachersubmit() 用于教師提交成績Teacherremark() 用于教師點(diǎn)評作業(yè);Teacheranswer() 用于教師解答學(xué)生疑問(5)task類是一個(gè)作業(yè)類,主要功能有: Taskdepart(
15、)用于區(qū)分作業(yè)科目; Taskperformance()用于表明作業(yè)成績; Taskremark()用于點(diǎn)評作業(yè);(6)Submit類是一個(gè)提交類,主要功能有:Studentsubmit() 用于學(xué)生提交作業(yè);Teachersubmit() 用于教師提交成績;2.2.3. 時(shí)序圖 (1)管理員修改教師信息圖 管理員修改教師信息時(shí)序圖 (2)學(xué)生用戶作答作業(yè)圖 學(xué)生用戶作答作業(yè)時(shí)序圖 (3)教師用戶提交成績圖 教師用戶提交成績時(shí)序圖2.2.4. 協(xié)作圖(1) 教師提交成績圖 教師提交成績協(xié)作圖(2) 管理員修改教師信息 (3)圖2.2.4.
16、2 管理員修改教師信息協(xié)作圖(3) 學(xué)生用戶作答作業(yè)圖 學(xué)生用戶作答作業(yè)協(xié)作圖2.2.5 E-R圖圖2.2.5 作業(yè)提交系統(tǒng)E-R圖 2.3 系統(tǒng)總體設(shè)計(jì) 2.3.1 設(shè)計(jì)問題域子系統(tǒng)本系統(tǒng)的目標(biāo)是在Internet/Intranet上來實(shí)現(xiàn)網(wǎng)上作業(yè)提交,可以實(shí)現(xiàn)學(xué)生在線提交作業(yè)的無紙化管理,可以有效利用校園網(wǎng)的軟硬件資源,使其發(fā)揮最大效力,更好的為學(xué)校的教學(xué)、科研、管理服務(wù),隨時(shí)隨地的可以讓學(xué)生聯(lián)機(jī)操作提交。系統(tǒng)采用了模塊化的設(shè)計(jì)方法:選擇了JSP語言環(huán)境使用Microsoft server 2005做為數(shù)據(jù)庫平臺。本系統(tǒng)整體上可劃分為若干個(gè)功能模塊。系統(tǒng)安全可靠也是一個(gè)重要的
17、設(shè)計(jì)原則。本系統(tǒng)的配置是采用Windows7作為網(wǎng)絡(luò)操作系統(tǒng), Microsoft server 2005作為數(shù)據(jù)庫服務(wù)器。所以操作系統(tǒng)Windows7的安全防護(hù)機(jī)制及數(shù)據(jù)庫Microsoft server 2005的安全機(jī)制是本系統(tǒng)采用的安全防護(hù)方式。(1) 總體設(shè)計(jì)圖 圖2.3.1作業(yè)提交系統(tǒng)的總體設(shè)計(jì)圖及其部分細(xì)化命令部分(2)各模塊功能 表3-1 各模塊功能功能模塊包含子功能模塊功能管理員模塊學(xué)生管理子模塊對學(xué)生信息的錄入,修改,刪除操作,注銷學(xué)生用戶,對到達(dá)一定量的已批改的學(xué)生作業(yè)進(jìn)行刪除等教師管理子模塊對教師信息的錄入,修改,刪除操作,注銷教師用戶等管理員管理子模塊對管理員信息的錄
18、入,修改,刪除操作,注銷管理員用戶等教師模塊發(fā)布作業(yè)公告,查看系統(tǒng)公告,批改作業(yè),錄入成績,點(diǎn)評作業(yè),解答疑問等學(xué)生模塊查看公告,作業(yè)提交,作業(yè)暫存,提問查看成績等公有模塊實(shí)現(xiàn)用戶的身份驗(yàn)證,即登陸,密碼修改,查看個(gè)人資料,退出登錄等功能圖2.3.2 設(shè)計(jì)數(shù)據(jù)管理子系統(tǒng) (1) 數(shù)據(jù)庫表序號數(shù)據(jù)庫表數(shù)據(jù)表存儲的內(nèi)容1Student存儲學(xué)生的信息2Teacher存儲教師的信息3Admin存儲管理員的信息4Task存儲作業(yè)的信息5Tasknotice存儲作業(yè)公告的信息6Logoff存儲注銷的信息7Download存儲下載的信息8Quizanswer存儲提問解答的信息 表3-2(2)
19、數(shù)據(jù)表之間的關(guān)系 圖 數(shù)據(jù)庫關(guān)系圖(3) 數(shù)據(jù)庫表結(jié)構(gòu)(1)學(xué)生表Student的詳細(xì)數(shù)據(jù)字段: 表3-3 Student學(xué)生用戶表序號字段名字段類型說明備注1stuIDnvarchar(20)not null學(xué)生學(xué)號關(guān)鍵字2stuPwdnvarchar(20)not null學(xué)生密碼3stuNamenvarchar(20)not null學(xué)生姓名4stuDepartint學(xué)生系院號5stuGradeint學(xué)生年級6stuClassint學(xué)生班級7stuSexnvarchar(4)not null學(xué)生性別(2)教師表Teacher的詳細(xì)數(shù)據(jù)字段: 表3-4 Teacher教師用戶
20、表序號字段名字段類型說明備注1teaIDnvarchar(20)not null教師編號關(guān)鍵字2teaPwdnvarchar(20)not null教師密碼3teaNamenvarchar(100)not null教師姓名4teaDepartint(4)教師系院號5teaSexnvarchar(4)教師性別6teaCoursenvarchar(20)教師課程 (3)作業(yè)task的詳細(xì)數(shù)據(jù)字段: 表3-5 task作業(yè)信息表序號字段名字段類型說明備注1stuIDnvarchar(20)not null學(xué)生編號關(guān)鍵字2teaIDnvarchar(20)not null教師編號關(guān)鍵字3tasksub
21、jectnvarchar(100) not null作業(yè)科目4taskgradeint作業(yè)成績5taskremarknvarchar(50)作業(yè)點(diǎn)評6Submittimenvarchar(10)not null作業(yè)提交時(shí)間7Correcttime nvarchar(10)not null作業(yè)批改時(shí)間(4)作業(yè)公告tasknotice的詳細(xì)數(shù)據(jù)字段: 表3-6 tasknotice作業(yè)公告信息表序號字段名字段類型說明備注1teaIDnvarchar(20)not null教師編號關(guān)鍵字2tsaIDnvarchar(20)not null作業(yè)公告編號關(guān)鍵字3Releasetime nvarchar
22、(10)not null發(fā)布時(shí)間4memoryspaceint not null存儲量 (5)系統(tǒng)管理員表Users的詳細(xì)數(shù)據(jù)字段: 表3-7 Users管理員表序號字段名字段類型說明備注1adminNamenvarchar(20)not null系統(tǒng)管理員用戶名關(guān)鍵字2adminPwdnvarchar(20)系統(tǒng)管理員密碼(6)注銷logoff的詳細(xì)數(shù)據(jù)字段序號字段名字段類型說明備注1stuIDnvarchar(20)not null學(xué)生編號關(guān)鍵字2teaIDnvarchar(20)not null教師編號關(guān)鍵字3adminNamenvarchar(20)not null系統(tǒng)管理員用戶名關(guān)鍵
23、字4logofftimenvarchar(10)not null注銷時(shí)間5logoffnumberNvarchar(100)注銷人數(shù) 表3-8 logoff注銷表(7)下載download的詳細(xì)數(shù)據(jù)字段: 表3-9 download下載信息表序號字段名字段類型說明備注1stuIDnvarchar(20)not null學(xué)生學(xué)號關(guān)鍵字2tsaIDnvarchar(20)not null作業(yè)公告編號關(guān)鍵字3downloadtime nvarchar(10)not null發(fā)布時(shí)間 (8)quizanswer提問解答的詳細(xì)數(shù)據(jù)字段: 表3-10quizanswer提問解答信息表序號字段名字段類型說明
24、備注1stuIDnvarchar(20)not null學(xué)生編號關(guān)鍵字2teaIDnvarchar(20)not null教師編號關(guān)鍵字3quiznumnvarchar(100) not null問題編號關(guān)鍵字4quiztimenvarchar(10)not null提問時(shí)間5answertimenvarchar(10)not null解答時(shí)間2.3.3 設(shè)計(jì)人機(jī)交互子系統(tǒng)(1)用戶分類本系統(tǒng)的用戶可分為三類:1)管理員用戶;2)教師用戶;3)學(xué)生用戶。(2)用戶描述1)管理員用戶的描述:管理員用戶在整個(gè)作業(yè)提交系統(tǒng)中起到管理和維護(hù)的作用,對學(xué)生和教師的信息進(jìn)行管理和維護(hù)以及發(fā)布公告,注銷用戶
25、等職責(zé)。2)教師用戶的描述:教師用戶在本系統(tǒng)中具有發(fā)布作業(yè)公告、批改作業(yè)、點(diǎn)評作業(yè)的權(quán)限,并且錄入學(xué)生成績,解答學(xué)生疑問。3)學(xué)生用戶的描述:作業(yè)提交系統(tǒng)主要是針對學(xué)生提交作業(yè)的,學(xué)生在本系統(tǒng)中具有查看公告、作業(yè)提交、暫存作業(yè)、提交作業(yè),向老師提問以及查看成績的功能。(3)設(shè)計(jì)命令層次1)系統(tǒng)的人機(jī)交互子系統(tǒng)的內(nèi)容和準(zhǔn)則:本作業(yè)提交系統(tǒng)的人機(jī)交互子系統(tǒng)在根據(jù)不同的用戶身份登陸到不同的頁面,然后按照不同的用戶只能進(jìn)行用戶權(quán)限內(nèi)的操作,其結(jié)構(gòu)圖如下: 主系統(tǒng)界面 學(xué)生用戶界面 管理員用戶界面 教師用戶界面 系統(tǒng)層次 2)通過采用樹形結(jié)構(gòu),細(xì)化命令的組織方式,如下:
26、細(xì)化命令組織方式2.4 詳細(xì)設(shè)計(jì)學(xué)生選課系統(tǒng)是實(shí)現(xiàn)學(xué)生網(wǎng)上選課、教師提交成績以及學(xué)校教務(wù)管理員維護(hù)信息的一個(gè)平臺,整個(gè)學(xué)生選課系統(tǒng)共分為4個(gè)大模塊:管理員模塊,教師模塊,學(xué)生模塊和公有模塊,其中復(fù)雜的方法和模塊的詳細(xì)設(shè)計(jì)流程圖如下。(1) 用戶系統(tǒng)登錄流程圖 2.4.1用戶系統(tǒng)登錄流程圖(2) 用戶密碼修改流程圖 2.4.2 用戶密碼修改流程圖 (3)教師提交成績流程圖 2.4.3 教師提交成績流程圖(4)管理員修改教師信息流程圖 2.4.4管理員修改教師信息流程圖(5)學(xué)生用戶作答作業(yè)流程圖 2.4.5 學(xué)生用戶作答作業(yè)流程圖2.5 系統(tǒng)實(shí)現(xiàn)本系統(tǒng)采用了三層架構(gòu)來實(shí)現(xiàn),即分為用戶界面層(UI
27、)、業(yè)務(wù)邏輯層(BLL)和數(shù)據(jù)訪問層(DAL),用戶界面層是展示給用戶的界面,方便用戶與系統(tǒng)進(jìn)行交互;業(yè)務(wù)邏輯層是對系統(tǒng)業(yè)務(wù)實(shí)體的封裝,完成系統(tǒng)業(yè)務(wù)功能;數(shù)據(jù)訪問層直接與數(shù)據(jù)庫打交道,為業(yè)務(wù)邏輯層提供底層的數(shù)據(jù)庫操作。2.5.1 系統(tǒng)登陸主要代碼:String sql=""if(qx.equals("管理員")sql="select * from gly where yhm='"+yhm+"' and mm='"+mm+"' "else if(qx.equals(
28、"學(xué)生")sql="select * from xuesheng where yhm='"+yhm+"' and mm='"+mm+"' "else if(qx.equals("教師")sql="select * from jiaoshi where yhm='"+yhm+"' and mm='"+mm+"' "System.out.println("sql=&q
29、uot;+sql);db.open();ResultSet rs=db.query(sql);out.println("<script>");if(rs.next()session.setAttribute("yhm",rs.getString("yhm");session.setAttribute("mm",rs.getString("mm");session.setAttribute("qx",qx);out.println("alert('
30、登錄成功');");out.println("window.location='index.jsp'");elseout.println("alert('用戶名或者密碼錯(cuò)誤');");out.println("window.location='login.jsp'");out.println("</script>");%>2.5.2 學(xué)生管理界面主要代碼:<form name="form" action=&
31、quot;" method="post" ><table class="border" width="98%" border="0" align="center" cellpadding="1" cellspacing="0"> <tr> <td height="565" align="center" valign="top" class="
32、bg_low"><table width="100%" height="25" border="0" cellpadding="0" cellspacing="0"> <tr> <td align="center" valign="middle" class="bgtop"><font color="#FFFFFF"><b>學(xué)生列表</
33、b></font> </td> </tr> </table><TABLE cellSpacing=0 cellPadding=3 width="100%" align=center border=0> <TBODY> <tr align="center" bgcolor="#ebf0f7"> <td width="9%" height="25" >學(xué)生編號</td> <td w
34、idth="9%" height="25" >用戶名</td> <td width="9%" height="25" >密碼</td> <td width="9%" height="25" >姓名</td> <td width="9%" height="25" >班級</td> <td width="9%" height=
35、"25" >性別</td> <td width="9%" height="25" >學(xué)院</td> <td width="10%">操作</td></tr><%if(rs!=null)while(rs.next()%> <tr align='center' bgcolor='#FFFFFF' onmouseover='this.style.background="#F2F
36、DFF"' onmouseout='this.style.background="#FFFFFF"'> <td height="24" ><%=rs.getString("xsid")%></td> <td height="24" ><%=rs.getString("yhm")%></td> <td height="24" ><%=rs.getSt
37、ring("mm")%></td> <td height="24" ><%=rs.getString("xm")%></td> <td height="24" ><%=rs.getString("bj")%></td> <td height="24" ><%=rs.getString("xb")%></td> <td heig
38、ht="24" ><%=rs.getString("xy")%></td><td ><a href="xueshengupdate.jsp?keyid=<%=rs.getString("xsid")%>">編輯</a>| <a href="xueshengdelete.jsp?keyid=<%=rs.getString("xsid")%>" onClick="javasc
39、ript:if(confirm('是否刪除')return true;elsereturn false;">刪除</a>|<a href="xueshengdetail.jsp?keyid=<%=rs.getString("xsid")%>">查看</a></td></tr> <% %> </TBODY></TABLE></DIV></div></form>2.5.3 添加教師界面
40、主要代碼:<%/*教師添加后臺*/DBO db=new DBO();/初始數(shù)據(jù)庫鏈接request.setCharacterEncoding("gb2312");/設(shè)置字符集ResultSet rs=null;/聲明結(jié)果集String keyid =(String)request.getParameter("keyid");String yhm=(String)request.getParameter("yhm");/變量:用戶名String mm=(String)request.getParameter("mm&qu
41、ot;);/變量:密碼String xm=(String)request.getParameter("xm");/變量:姓名String zy=(String)request.getParameter("zy");/變量:專業(yè)String xy=(String)request.getParameter("xy");/變量:學(xué)院String xb=(String)request.getParameter("xb");/變量:性別String sql=""/聲明sql sql="inser
42、t into jiaoshi(yhm,mm,xm,zy,xy,xb) values('"+yhm+"','"+mm+"','"+xm+"','"+zy+"','"+xy+"','"+xb+"')"/教師SQL 語句int row=1;/定義執(zhí)行結(jié)果try/int row =0;row=db.update(sql);catch(Exception e)System.out.
43、println(e.toString();if(row=1)out.println("<script>");out.println("alert('操作成功');");out.println("window.location='jiaoshiadd.jsp'");out.println("</script>");elseout.println("<script>");out.println("alert('操作
44、失敗');");out.println("window.location='jiaoshiadd.jsp'");out.println("</script>");db.close();2.5.4 管理員管理界面主要代碼:<% page contentType="text/html; charset=gb2312" language="java" import="java.sql.*" errorPage="" %>&l
45、t;% page import="com.util.*"%><%request.setCharacterEncoding("gb2312");/設(shè)置頁面字符集DBO db=new DBO();/初始鏈接數(shù)據(jù)庫類String sql="select * from gly where 1=1 "/查詢 管理員sql語句db.open();/打開數(shù)據(jù)庫鏈接ResultSet rs=db.query(sql);/查詢結(jié)果/管理員信息查詢%><!DOCTYPE html PUBLIC "-/W3C/DTD XH
46、TML 1.0 Transitional/EN" "/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=gb2312"><title>管理員列表</title><
47、/head><LINK href="./images/style.css" type=text/css rel=stylesheet><LINK href="<%=request.getContextPath()%>/images/style.css" type=text/css rel=stylesheet><link rel="stylesheet" type="text/css" media="screen" href="<%
48、=request.getContextPath()%>/css/tinyTips.css" /><body><form name="form" action="" method="post" ><table class="border" width="98%" border="0" align="center" cellpadding="1" cellspacing="0&q
49、uot;> <tr> <td height="565" align="center" valign="top" class="bg_low"><table width="100%" height="25" border="0" cellpadding="0" cellspacing="0"> <tr> <td align="center"
50、 valign="middle" class="bgtop"><font color="#FFFFFF"><b>管理員列表</b></font> </td> </tr> </table><TABLE cellSpacing=0 cellPadding=3 width="100%" align=center border=0> <TBODY> <tr align="center"
51、 bgcolor="#ebf0f7"> <td width="9%" height="25" >管理員編號</td> <td width="9%" height="25" >用戶名</td> <td width="9%" height="25" >密碼</td> <td width="9%" height="25" >姓名<
52、;/td> <td width="9%" height="25" >注冊時(shí)間</td> <td width="10%">操作</td></tr><%if(rs!=null)while(rs.next()%> <tr align='center' bgcolor='#FFFFFF' onmouseover='this.style.background="#F2FDFF"' onmouse
53、out='this.style.background="#FFFFFF"'> <td height="24" ><%=rs.getString("glyid")%></td> <td height="24" ><%=rs.getString("yhm")%></td> <td height="24" ><%=rs.getString("mm")%
54、></td> <td height="24" ><%=rs.getString("xm")%></td> <td height="24" ><%=rs.getString("zcsj")%></td><td ><a href="glyupdate.jsp?keyid=<%=rs.getString("glyid")%>">編輯</a>| &
55、lt;a href="glydelete.jsp?keyid=<%=rs.getString("glyid")%>" onClick="javascript:if(confirm('是否刪除')return true;elsereturn false;">刪除</a>|<a href="glydetail.jsp?keyid=<%=rs.getString("glyid")%>">查看</a></td>
56、</tr> <% %> </TBODY></TABLE></DIV></div></form></body><%db.close();%></html>2.5.5 科目管理界面主要代碼:<% page contentType="text/html; charset=gb2312" language="java" import="java.sql.*" errorPage="" %>&l
57、t;% page import="com.util.*"%><%request.setCharacterEncoding("gb2312");/設(shè)置頁面字符集DBO db=new DBO();/初始鏈接數(shù)據(jù)庫類String sql="select * from kemu where 1=1 "/查詢 科目sql語句db.open();/打開數(shù)據(jù)庫鏈接ResultSet rs=db.query(sql);/查詢結(jié)果/科目信息查詢%><!DOCTYPE html PUBLIC "-/W3C/DTD XHT
58、ML 1.0 Transitional/EN" "/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=gb2312"><title>科目列表</title></h
59、ead><LINK href="./images/style.css" type=text/css rel=stylesheet><LINK href="<%=request.getContextPath()%>/images/style.css" type=text/css rel=stylesheet><link rel="stylesheet" type="text/css" media="screen" href="<%=r
60、equest.getContextPath()%>/css/tinyTips.css" /><body><form name="form" action="" method="post" ><table class="border" width="98%" border="0" align="center" cellpadding="1" cellspacing="0&quo
61、t;> <tr> <td height="565" align="center" valign="top" class="bg_low"><table width="100%" height="25" border="0" cellpadding="0" cellspacing="0"> <tr> <td align="center" v
62、align="middle" class="bgtop"><font color="#FFFFFF"><b>科目列表</b></font> </td> </tr> </table><TABLE cellSpacing=0 cellPadding=3 width="100%" align=center border=0> <TBODY> <tr align="center" bgcolor="#ebf0f7"> <td width="9%" height="25" >科目編號</td> <td width="9%" height="25" >科目</td> <td width=&qu
溫馨提示
- 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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 課題申報(bào)參考:兼容視聽障礙的VR博物館時(shí)空導(dǎo)覽與審美補(bǔ)償研究
- 基于區(qū)塊鏈技術(shù)的2025年物流追蹤系統(tǒng)開發(fā)合同3篇
- 助理個(gè)人工作總結(jié)15篇
- 2025年度漁船買賣合同(含漁民福利保障)4篇
- 2025年度個(gè)人與金融機(jī)構(gòu)客戶信息保密及合規(guī)管理協(xié)議4篇
- 二零二五版林業(yè)資源保護(hù)與木材采購合作協(xié)議4篇
- 二零二五年度出差人員差旅費(fèi)用結(jié)算與報(bào)銷合同4篇
- WPS格式2024年度建筑工程施工合作合同一
- 退房時(shí)2025年度物業(yè)管理費(fèi)結(jié)算協(xié)議3篇
- 二零二五年度充電樁充電接口標(biāo)準(zhǔn)制定合同3篇
- 2025-2030年中國草莓市場競爭格局及發(fā)展趨勢分析報(bào)告
- 華為智慧園區(qū)解決方案介紹
- 奕成玻璃基板先進(jìn)封裝中試線項(xiàng)目環(huán)評報(bào)告表
- 廣西壯族自治區(qū)房屋建筑和市政基礎(chǔ)設(shè)施全過程工程咨詢服務(wù)招標(biāo)文件范本(2020年版)修訂版
- 人教版八年級英語上冊期末專項(xiàng)復(fù)習(xí)-完形填空和閱讀理解(含答案)
- 2024新版有限空間作業(yè)安全大培訓(xùn)
- GB/T 44304-2024精細(xì)陶瓷室溫?cái)嗔炎枇υ囼?yàn)方法壓痕(IF)法
- 年度董事會工作計(jì)劃
- 《退休不褪色余熱亦生輝》學(xué)校退休教師歡送會
- 02R112拱頂油罐圖集
- 2021年新教材重慶生物高考真題(含答案解析)
評論
0/150
提交評論