《JAVA程序設(shè)計》課程設(shè)計網(wǎng)上選課系統(tǒng)
《《JAVA程序設(shè)計》課程設(shè)計網(wǎng)上選課系統(tǒng)》由會員分享,可在線閱讀,更多相關(guān)《《JAVA程序設(shè)計》課程設(shè)計網(wǎng)上選課系統(tǒng)(18頁珍藏版)》請在裝配圖網(wǎng)上搜索。
1、遼 寧 工 業(yè) 大 學(xué) JAVA IDE可視化設(shè)計 課程設(shè)計(報告)題目: 網(wǎng)上選課系統(tǒng) 院(系): 專業(yè)班級: 學(xué) 號: 學(xué)生姓名: 指導(dǎo)教師: 教師職稱: 起止時間: 2010.6.28至2010.7.11 程序設(shè)計專題(報告)任務(wù)及評語院(系):軟件學(xué)院 教研室:軟件教研窒學(xué) 號學(xué)生姓名專業(yè)班級程序設(shè)計(報告)題目網(wǎng)上選課系統(tǒng)程序設(shè)計(報告)任務(wù)程序設(shè)計專題的任務(wù)與要求:(1)掌握J(rèn)ava編程、面向?qū)ο蟮幕A(chǔ)知識。(2)較熟練地編寫Java應(yīng)用程序Application、小程序Applet。(3)了解Java的常用標(biāo)準(zhǔn)類庫、編程技巧、異常處理及高級編程。(5)聯(lián)系已學(xué)過的內(nèi)容,鞏固所學(xué)的
2、理論,增強(qiáng)獨(dú)立工作能力。(6)通過設(shè)計主要使學(xué)生有一個獨(dú)立編寫程序的過程,對理論學(xué)習(xí)及動手能力都有一個很大的提高。(7)通過本次設(shè)計,進(jìn)一步培養(yǎng)學(xué)生熱愛專業(yè)的思想,同時對本專業(yè)綜合素質(zhì)的提高起一個積極的推動作用。程序設(shè)計過程中,要嚴(yán)格遵守實踐環(huán)節(jié)的時間安排,聽從指導(dǎo)教師的指導(dǎo)。正確地完成上述內(nèi)容,記錄實習(xí)日記,規(guī)范完整地撰寫出實訓(xùn)報告。指導(dǎo)教師評語及成績該生在課程設(shè)計過程中,積極努力,態(tài)度端正,團(tuán)結(jié)同學(xué),遵守紀(jì)律,針對JAVA程序設(shè)計語言特點(diǎn)和所設(shè)計項目的需求,查閱較多資料,并進(jìn)行市場調(diào)研,對具體設(shè)計要求和JAVA IDE環(huán)境操作掌握較好。設(shè)計各部分設(shè)計較好,具有較好的文檔和注釋內(nèi)容,程序邏輯
3、性較好,所設(shè)計功能滿足需求分析要求,軟件實用性強(qiáng),并具有較好的擴(kuò)展性。設(shè)計報告規(guī)范完整,邏輯性較好,標(biāo)識符合要求。較好地完成了JAVA IDE設(shè)計任務(wù)。成績: 指導(dǎo)教師簽字: 2010 年7 月 12 日遼 寧 工 學(xué) 院 課 程 設(shè) 計 說 明 書(論 文)目 錄第1章 程序設(shè)計專題目的與要求11.1 程序設(shè)計目的11.2 程序設(shè)計的實驗環(huán)境11.3 程序設(shè)計的預(yù)備知識11.4 程序設(shè)計要求1第2章 程序設(shè)計內(nèi)容22.1需求分析22.2概要設(shè)計22.3程序整體設(shè)計說明32.3.1程序設(shè)計內(nèi)容32.3.2程序所用類說明62.3.3實現(xiàn)接口方法72.3.4線程應(yīng)用72.3.5程序異常處理說明82
4、.3.6程序運(yùn)行效果及存在問題92.4程序部分源代碼及注釋92.5測試結(jié)果12第3章 程序設(shè)計總結(jié)14參考文獻(xiàn)15第1章 程序設(shè)計目的與要求1.1 程序設(shè)計目的JAVA程序設(shè)計是計算機(jī)科學(xué)與技術(shù)專業(yè)的必修專業(yè)基礎(chǔ)課程,其實踐性、應(yīng)用性很強(qiáng)。實踐教學(xué)環(huán)節(jié)是必不可少的一個重要環(huán)節(jié)。本課程的程序設(shè)計專題實際是軟件技術(shù)專業(yè)學(xué)生學(xué)習(xí)完JAVA程序設(shè)計課程后,進(jìn)行的一次全面的綜合訓(xùn)練,JAVA程序設(shè)計的設(shè)計目的是加深對理論教學(xué)內(nèi)容的理解和掌握,使學(xué)生較系統(tǒng)地掌握程序設(shè)計及其在網(wǎng)絡(luò)開發(fā)中的廣泛應(yīng)用,基本方法及技巧,為學(xué)生綜合運(yùn)用所學(xué)知識,利用軟件工程為基礎(chǔ)進(jìn)行軟件開發(fā)、并在實踐應(yīng)用方面打下一定基礎(chǔ)。1.2
5、程序設(shè)計的實驗環(huán)境硬件要求能運(yùn)行Windows 9.X操作系統(tǒng)的微機(jī)系統(tǒng)。JAVA程序設(shè)計語言及相應(yīng)的集成開發(fā)環(huán)境,J2SDK和ECLIPSE開發(fā)工具。1.3 程序設(shè)計的預(yù)備知識熟悉JAVA語言及ECLIPSE開發(fā)工具。1.4 程序設(shè)計要求按程序設(shè)計指導(dǎo)書提供的課題,要求學(xué)生在自行完成各個操作環(huán)節(jié),并能實現(xiàn)且達(dá)到舉一反三的目的,完成一個項目解決一類問題。要求學(xué)生能夠全面、深入理解和熟練掌握所學(xué)內(nèi)容,并能夠用其分析、設(shè)計和解答類似問題;對此能夠較好地理解和掌握,能夠進(jìn)行簡單分析和判斷;能編寫出具有良好風(fēng)格的程序;掌握J(rèn)AVA程序設(shè)計的基本技能和面向?qū)ο蟮母拍詈头椒?;了解多線程、安全和網(wǎng)絡(luò)等編程技
6、術(shù)。同時培養(yǎng)學(xué)生進(jìn)行分析問題、解決問題的能力;培養(yǎng)學(xué)生進(jìn)行設(shè)計分析、設(shè)計方法、設(shè)計操作與測試、設(shè)計過程的觀察、理解和歸納能力的提高。第2章 程序設(shè)計內(nèi)容2.1需求分析網(wǎng)上選課系統(tǒng)是針對在校學(xué)生和教師使用,從學(xué)生的角度來說,由于學(xué)校教學(xué)制度的改革,傳統(tǒng)的教學(xué)模式學(xué)生按照學(xué)校安排好的課程上課已經(jīng)不能適應(yīng)新現(xiàn)在大部分高等院校開始實行的學(xué)生的自主選課模式型的教學(xué)手段,如果仍然通過紙上的方式選課,一方面浪費(fèi)的大量的人力、物理資源,另一方面浪費(fèi)時間以及在人為的統(tǒng)計過程中不可避免出現(xiàn)的差錯等情況。隨著高校人數(shù)的增多,這種弊端會越來越多的暴露出來。因此,利用網(wǎng)絡(luò),只要學(xué)生只要在計算機(jī)前輸入自己的個人選課信息即
7、可完成原來幾倍的作業(yè)量。從教師的角度來說,同樣是節(jié)省了大量的工作量,由于教師提出代課申請完成課程發(fā)布的工作較學(xué)生選課而言更加的復(fù)雜,因此通過網(wǎng)上進(jìn)行課程發(fā)布能大幅度的減少教師的工作量,減少錯誤的發(fā)生幾率。作為教師,也只要通過自己的電腦來操作即可,不用再奔波于教務(wù)處和辦公室之間。2.2概要設(shè)計在本系統(tǒng)的功能操作針對不同的用戶角色分權(quán)進(jìn)行管理。系統(tǒng)對角色提供的主要功能如下:個人信息管理(編號、姓名、院系、學(xué)號、專業(yè)、性別等)、選課管理、管理學(xué)生以及本人已選課程。教師角色提供以下功能操作:查看自己所擔(dān)任課程的課表和選該門課的學(xué)生信息。系統(tǒng)給后臺管理員(后臺用戶)提供的操作功能如下:查看所有的院系、專
8、業(yè)、課程、學(xué)生、教師的信息并對它進(jìn)行管理(添加、編輯、刪除等)。用戶的需求具體體現(xiàn)在對各種信息的提供和查詢,數(shù)據(jù)庫是此類系統(tǒng)的核心,系統(tǒng)中所有的信息都存儲在數(shù)據(jù)庫中,與數(shù)據(jù)庫連接,操作數(shù)據(jù)庫中的數(shù)據(jù),從而實現(xiàn)所有需要的功能。2.3程序整體設(shè)計說明2.3.1程序設(shè)計內(nèi)容本系統(tǒng)主要包括用戶管理、課程、我的選課、及其他管理等。(1)用戶管理包括對學(xué)生帳號、密碼的修改。(2)課程管理模塊包括課程信息查詢、選課、查詢所選課程、我的課表等信息。(3)我的選課包括已經(jīng)選過的課程、不喜歡課程的退課等功能。(4)其其他管理中主要包括新聞瀏覽、個人信息、退出登錄等功能。學(xué)生模塊功能如圖2.1所示:網(wǎng)上選課系統(tǒng)學(xué)生
9、模塊用戶管理課程我的選課其它管理圖2.1 學(xué)生模塊圖Fig2.1 Students module chart1.學(xué)生選課系統(tǒng)的總體E-R圖,如圖2.2所示:nmnmnmn11n選課系統(tǒng)管理員課程教師學(xué)生維護(hù)安排教授選擇查看圖2.2 總體E-R圖Fig2.2 Overall E-R diagram 2.系統(tǒng)功能模塊本系統(tǒng)主要有三大模塊組成:學(xué)生模塊、教師模塊、管理員模塊。學(xué)生模塊包括用戶管理、課程信息、我的選課、其它管理。管理員模塊包括用戶管理、課程管理、選課管理、新聞管理。教師模塊包括教師個人信息和課程信息。網(wǎng)上選課系統(tǒng)主要由學(xué)生、教師、管理員組成。這樣分能夠更清晰的使整個系統(tǒng)更加有條理化、更
10、加完善。系統(tǒng)總體結(jié)構(gòu)圖如下圖4.1所示3.數(shù)據(jù)庫表的設(shè)計(1)教師表,此表中記錄了教師的全部信息,表的具體設(shè)計如表2.1所示:表2.1 教師表Tab2.1 teacher列名數(shù)據(jù)類型長度允許空tnovarchar50不passwordvarchar50不tnamevarchar50不tsexvarchar4不tageint50允許tcollagevarchar50允許(2)通知表,在此表中記錄了通知的具體內(nèi)容,表的具體設(shè)計如表2.2所示:表2.2 通知表Tab2.2 notice列名數(shù)據(jù)類型長度允許空idint4不titlevarchar50不detailvarchar1000不datedat
11、etime8允許course_idchar50不4.網(wǎng)上選課系統(tǒng)流程圖如圖2.3所示:學(xué)生選課系統(tǒng)學(xué)生教師管理員用戶管理課程我的選課其他管理個人管理課程信息用戶管理課程管理選課管理新聞管理登陸登陸登陸退出圖2.3 網(wǎng)上選課系統(tǒng)流程圖Fig2.3 Online courses system flowcharts2.3.2程序中所用類說明(1)用戶自定義類網(wǎng)上選課系統(tǒng)中包括useBean2這個類,其中這個類的作用、繼承的父類如下類名:useBean2作用:主類繼承的父類:無(2)學(xué)生操作類:學(xué)生模塊:學(xué)生模塊包括選課、退課以及查看個人信息、查看教師信息等功能(3)計算機(jī)操作類系統(tǒng)管理模塊:包括添加
12、、修改、刪除、查詢系統(tǒng)用戶名、口令、身份、數(shù)據(jù)備份、數(shù)據(jù)恢復(fù)等功能。2.3.3、實現(xiàn)接口方法Java接口本身沒有任何實現(xiàn),因為Java接口不涉及表象,而只描述public行為,所以Java接口比Java抽象類更抽象化。 Java接口的方法只能是抽象的和公開的,Java接口不能有構(gòu)造器,Java接口可以有public,靜態(tài)的和final屬性。接口把方法的特征和方法的實現(xiàn)分割開來。這種分割體現(xiàn)在接口常常代表一個角色,它包裝與該角色相關(guān)的操作和屬性,而實現(xiàn)這個接口的類便是扮演這個角色的演員。一個角色由不同的演員來演,而不同的演員之間除了扮演一個共同的角色之外,并不要求其它的共同之處。2.3.4、線程
13、應(yīng)用通常線程是在系統(tǒng)層被實現(xiàn)的。java是第一個在語言中實現(xiàn)的。java在語言級提供了對多線程設(shè)計的支持。線程:是進(jìn)程中的一個單一的連續(xù)控制流程。一個進(jìn)程可以擁有多個線程。多線程幫助你寫出CPU最大利用率的高效程序。舉例來說,網(wǎng)絡(luò)的數(shù)據(jù)傳送速率遠(yuǎn)遠(yuǎn)低于CPU處理能力,本地文件系統(tǒng)資源的讀寫速度也遠(yuǎn)遠(yuǎn)低于CPU的處理能力,在傳統(tǒng)的單線程環(huán)境中,你的程序必須等待每一個這樣的任務(wù)完成以后才能執(zhí)行下一步-盡管CPU大部分時間處于空閑。而JAVA的多線程能使你充分利用這些空閑的時間。在一個單線程程序中如果出現(xiàn)阻塞則整個程序都可能停止運(yùn)行,而在一個多線程的程序中這不會出現(xiàn)這樣的問題。當(dāng)一個線程阻塞時,別的
14、線程會運(yùn)行,這樣可以大大的提高CPU效率。每個線程都是一個線程組的一個成員,線程組把多個線程集成一個對象,通過線程組可以同時對其中的多個線程進(jìn)行操作.在生成線程時必須將線程放在指定的線程組,也可以放在缺省的線程組中,缺省的就是生成該線程的線程所在的線程組.一旦一個線程加入了某個線程組,不能被移出這個組. 2.3.5、異常處理說明異常處理提供了處理程式錯誤的統(tǒng)一機(jī)制。事實上,Java語言通過向調(diào)用者提出異常警告的方式而顯著地提升了軟件研發(fā)中的異常處理能力。這種方式把Java語言中的“方法(method)”進(jìn)行了擴(kuò)展和增強(qiáng),使之包括了自身的錯誤條件。異常處理是程序設(shè)計中一個非常重要的方面,也是程序
15、設(shè)計的一大難點(diǎn),從C開始,你也許已經(jīng)知道如何用if.else.來控制異常了,也許是自發(fā)的,然而這種控制異常痛苦,同一個異?;蛘咤e誤如果多個地方出現(xiàn),那么你每個地方都要做相同處理,感覺相當(dāng)?shù)穆闊?Java語言在設(shè)計的當(dāng)初就考慮到這些問題,提出異常處理的框架的方案,所有的異常都可以用一個類型來表示,不同類型的異常對應(yīng)不同的子類異常,定義異常處理的規(guī)范try / InitializationmySmartUpload.initialize(config,request,response);/ UploadmySmartUpload.upload();/ Save the file with the
16、 original name/ in a virtual path of the web servercount=mySmartUpload.save(mySmartUpload.getRequest().getParameter(PATH);/ Display the resultout.println(count + file uploaded.); catch (Exception e)out.println(Unable to upload the file.);out.println(Error : + e.toString();2.3.6、程序運(yùn)行效果及存在的問題學(xué)生網(wǎng)上選課系統(tǒng)是
17、一個基于JSP技術(shù)的,實用性強(qiáng)的網(wǎng)絡(luò)系統(tǒng)。系統(tǒng)實現(xiàn)了對課程的基本信息和學(xué)生選課、學(xué)生和教師用戶進(jìn)行管理。 系統(tǒng)存在著不足之處:由于編程經(jīng)驗尚淺,有很多功能實現(xiàn)的不夠全面。系統(tǒng)模塊化設(shè)計不夠理想,系統(tǒng)的業(yè)務(wù)邏輯層設(shè)計不夠全面,系統(tǒng)封裝性有待改善。程序運(yùn)行是出現(xiàn)的錯誤主要出現(xiàn)在數(shù)據(jù)庫的設(shè)計中,在一些需要命名,且名字應(yīng)該唯一的信息輸入重復(fù)的名字或ID,看系統(tǒng)有沒有處理,會否報錯,重名包括是否區(qū)分大小寫,以及在輸入內(nèi)容的前后輸入空格,系統(tǒng)是否作出正確處理.2.4程序部分源代碼及注釋學(xué)生用戶界面設(shè)計用框架實現(xiàn)。頁面頭放在上框架,功能導(dǎo)航放在左框架,具體功能放在右框架。學(xué)生功能設(shè)計所有頁面都放在stude
18、nt的文件夾中,所以以下所提到的頁面均在student文件夾中。設(shè)置學(xué)生界面框架結(jié)構(gòu)主頁index.htm。其中左框架中的功能導(dǎo)航頁面為student_left.jsp,右框架中的功能頁面為student_body.jsp。系統(tǒng)用session保存用戶的學(xué)號。圖2.4學(xué)生用戶界面Fig 2.4 Students in the user interface其中學(xué)生框架的代碼為:學(xué)生選課系統(tǒng)3.個人信息模塊包括個人資料和修改密碼兩部分。個人資料顯示學(xué)生的所有信息,包括學(xué)號、姓名、學(xué)院、系別、班級。密碼修改部分:用戶可以根據(jù)自己的需要修改密碼,方便用戶管理。如圖4-4個人資料顯示頁面,4-5 密碼修
19、改頁面。圖2.5密碼修改頁面Fig 2.5 password revision page學(xué)生選課系統(tǒng)2.5測試結(jié)果此測試結(jié)果只針對學(xué)生網(wǎng)上選課系統(tǒng)中的管理員管理功能測試進(jìn)行總結(jié),具體測試結(jié)果如表2.3所示:表2.3 測試結(jié)果表Tab2.3 Test results功能項目結(jié)果學(xué)生模塊學(xué)生登錄當(dāng)輸入一個學(xué)生帳號和密碼時,會顯示歡迎登錄成功或者密碼或帳號不正確不能登錄。測試成功。個人信息當(dāng)學(xué)生登錄后可以查看個人信息,點(diǎn)擊個人信息后看見字的信息。測試成功選課信息學(xué)生可以看見所有選課的信息,根據(jù)自己的喜好選擇相應(yīng)的科目,點(diǎn)擊選課后顯示選課成功。測試成功。我的課表點(diǎn)擊我的課表,可以看到自己所選課程和上課
20、時間地點(diǎn)等信息。測試成功。測試結(jié)論:從測試結(jié)果來看,選課系統(tǒng)在功能上能夠滿足學(xué)生和教師的使用需求。學(xué)生網(wǎng)上選課系統(tǒng)是一個基于jsp技術(shù)的,實用性強(qiáng)的網(wǎng)絡(luò)系統(tǒng)。系統(tǒng)實現(xiàn)了對課程的基本信息和學(xué)生選課、學(xué)生和教師用戶進(jìn)行管理。系統(tǒng)的業(yè)務(wù)邏輯層設(shè)計不夠全面,系統(tǒng)封裝性有待改善。第3章 程序設(shè)計總結(jié)通過兩個星期的研究和開發(fā),我們小組選擇的課題學(xué)生選課系統(tǒng)基本完成。其功能基本符合網(wǎng)絡(luò)上的用戶要求,能夠在線選課,在線添加課程,在線查詢課程等。盡管由于自己知識上的不足,有些地方有少許錯誤和容錯性能比較低,但是還是可以基本完成選課系統(tǒng)應(yīng)有的功能。 本系統(tǒng)為學(xué)生網(wǎng)上選課系統(tǒng),本系統(tǒng)主要是描述了學(xué)生通過登錄自己的賬
21、號進(jìn)入選課系統(tǒng)進(jìn)行選課、退課、查看成績等,教師進(jìn)入選課系統(tǒng)錄入學(xué)生成績,管理員進(jìn)入選課系統(tǒng)添加、刪除、修改課程等。剛開始的時候真的不知道該怎么來完成這個課程設(shè)計,甚至需要用什么服務(wù)器也怎么清楚,后來經(jīng)過一番的查資料后,知道了此課設(shè)需要我們學(xué)習(xí)的像Eclipse、SQL server 2000這樣的軟件服務(wù)器,但是僅僅有這兩個服務(wù)器也還是不可以的,隨后我們又用了Tomcat、jsp等軟件,這樣我們就有了些許的目標(biāo)。在后來的編寫代碼運(yùn)行程序的時候,也遇到了許多代碼的錯誤和程序的運(yùn)行錯誤,但是后來也都一一改進(jìn)了,整個的課程設(shè)計就已經(jīng)完成了一半,接下了就是寫文檔和報告,在寫文檔報告時,我們就是上網(wǎng)查些
22、相關(guān)的資料,然后再根據(jù)系統(tǒng)等來完成文檔和報告。 總之,在整個課程設(shè)計的過程中可以說是遇到了很多困難,但是也學(xué)到了很多以前我所不知道的知識,所以也有點(diǎn)感到很欣慰的,我希望在以后能有更多的課程設(shè)計,這樣不僅能夠鍛煉自己,還能夠?qū)W習(xí)更多的知識,讓我能夠再向成功邁出一步。參考文獻(xiàn)1 .美Cay S.Horstmann.程峰等譯 JAVA2核心技術(shù).機(jī)械工業(yè)出版社.2003-062. 姜利群.JAVA網(wǎng)絡(luò)編程實例教程清華.北交大出版社.2005.1.3. 教育部考試中心.全國計算機(jī)等級考試二級教程-Java語言程序設(shè)計.高等教育出版社.2004-044. 美查普曼.Java程序設(shè)計面向工程和科學(xué)人員.清華大學(xué)出版社.2005-055. 美Bruce Eckel. Java編程思想(第4版).機(jī)械工業(yè)出版社.2007-066. 黃明 . JSP信息系統(tǒng)設(shè)計與開發(fā)實例.中國工業(yè)出版社.2003-067. 任新見.JSP動態(tài)網(wǎng)站快速開發(fā)實務(wù).電子工業(yè)出版社.2005-038. 王技.JSP.NET信息管理系統(tǒng)開發(fā).人民郵電出版社.2005-059. 石志國 .JSP精解案例教程.清華大學(xué)出版社.2007-0810. 薩師煊.數(shù)據(jù)庫系統(tǒng)概論.高等教育出版社.2005-05統(tǒng)一文字大小與段落格式。15
- 溫馨提示:
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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。