




版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、在線選課系統(tǒng)的設計與實現(xiàn)摘 要由于學校教學制度的改革,現(xiàn)在大部分高等院校開始實行的是學生的自主選課模式,傳統(tǒng)的教學模式(學生按照學校安排好的課程上課)已經(jīng)不能適應新型的教學手段,如果仍然通過紙上的方式選課,一方面浪費的大量的人力、物力資源,另一方面浪費時間以及在人為的統(tǒng)計過程中不可避免出現(xiàn)的差錯等情況。隨著高校人數(shù)的增多,這種弊端會越來越多的暴露出來。在線選課系統(tǒng)的實現(xiàn)顯得尤為必要。針對學生選課這一環(huán)節(jié),本系統(tǒng)從學生網(wǎng)上自主選課以及教師的課程發(fā)布和管理員信息管理三個大方面進行了設計,基本實現(xiàn)了學生的在線信息查詢、選課功能以及教師對課程信息發(fā)布的管理和管理員對學生和教師信息的管理等功能。關鍵詞:
2、在線選課;b/s 結構;jsp;j2ee;mysql; online course selection system design and implementationabstractas the reform of school education, most colleges and universities are now beginning to implement the student's own course selection patterns, the traditional teaching model (the students arranged in accor
3、dance with school curriculum classes) can not adapt to new teaching methods, if they remain on paper on the way to course selection, on the one hand and waste a lot of manpower, material resources, on the other hand a waste of time and in the process of artificial statistical errors inevitably occur
4、 and so on. with the increasing number of universities, such shortcomings would be exposed more and more. online course selection system is particularly essential. elective for students in this part of the system independently from the online course selection students and teachers and administrators
5、 released information management courses are three major aspects of the design, the basic realization of the students online information inquiry, course selection function as well as teachers of the curriculum information dissemination management and administrators to students and teachers to inform
6、ation management. key words: online course selection; b / s structure; jsp; j2ee; mysql; 目 錄摘 要iabstractii前 言1設計的可行性1.1系統(tǒng)的產(chǎn)生和發(fā)展情況1.2網(wǎng)上選課系統(tǒng)的產(chǎn)生和可行性分析1.2.1 網(wǎng)上選課系統(tǒng)的產(chǎn)生1.2.2 網(wǎng)上選課系統(tǒng)的可行性2 相關軟件及技術介紹2.1 myeclipse 6.52.2 mysql 5.02.3 tomcat 5.52.4 html 語言介紹2.5 jsp 介紹2.6 j2ee 技術介紹2.7 struts 框架2.8 hibernate 框架3系
7、統(tǒng)概述3.1 項目范圍3.2 設計策略4系統(tǒng)總體設計4.1 系統(tǒng)結構設計4.1.2 模塊間的調用關系4.1.3系統(tǒng)功能結構5 數(shù)據(jù)庫設計說明5.1數(shù)據(jù)庫系統(tǒng)分析5.2 數(shù)據(jù)庫邏輯設計5.3 數(shù)據(jù)庫設計6 詳細設計6.1 教師/學生/管理員登錄功能6.2 學生選課功能6.3 教師添加課程:6.4 管理員操作7 設計過程中的問題及解決7.1 數(shù)據(jù)庫的連接7.2 參數(shù)的傳遞7.3 公共數(shù)據(jù)8 總結參 考 文 獻致 謝 前 言 隨著網(wǎng)絡時代的到來b/s結構的管理系統(tǒng)已經(jīng)成熟的運用在學校、企業(yè)、銀行、科研機構、政府等各行各業(yè)并扮演著不可或缺的角色。b/s(browser/server)結構即瀏覽器和服務
8、器結構。它是隨著internet技術的興起,對c/s結構的一種變化或者改進的結構。在這種結構下,用戶工作界面是通過www瀏覽器來實現(xiàn),極少部分事務邏輯在前端(browser)實現(xiàn),但是主要事務邏輯在服務器端(server)實現(xiàn),形成所謂三層3-tier結構。相對于c/s結構屬于“胖”客戶端,需要在使用者電腦上安裝相應的操作軟件來說,b/s結構是屬于一種“瘦”客戶端,大多數(shù)或主要的業(yè)務邏輯都存在在服務器端,因此,b/s結構的系統(tǒng)不需要安裝客戶端軟件,它運行在客戶端的瀏覽器之上,系統(tǒng)升級或維護時只需更新服務器端軟件即可,這樣就大大簡化了客戶端電腦載荷,減輕了系統(tǒng)維護與升級的成本和工作量,降低了用戶
9、的總體成本(tco)。 b/s結構系統(tǒng)的產(chǎn)生為系統(tǒng)面對無限未知用戶提供了可能。當然,與c/s結構相比,b/s結構也存在著系統(tǒng)運行速度較慢,訪問系統(tǒng)的用戶不可控的弱點。以目前的技術看,局域網(wǎng)建立b/s結構的網(wǎng)絡應用,并通過internet/intranet模式下數(shù)據(jù)庫應用,相對易于把握、成本也是較低的。它是一次性到位的開發(fā),能實現(xiàn)不同的人員,從不同的地點,以不同的接入方式(比如lan,wan,internet/intranet等)訪問和操作共同的數(shù)據(jù)庫;它能有效地保護數(shù)據(jù)平臺和管理訪問權限,服務器數(shù)據(jù)庫也很安全。特別是在java這樣的跨平臺語言出現(xiàn)之后,b/s架構管理軟件更是方便、快捷、高效。數(shù)
10、據(jù)庫是從60年代初發(fā)展起來的計算機技術。經(jīng)過四十來年的發(fā)展,數(shù)據(jù)庫技術己經(jīng)趨于成熟。web數(shù)據(jù)庫在新的internet環(huán)境中發(fā)生了很大的變化。就數(shù)據(jù)應用而言呈現(xiàn)出多樣化的空間,如數(shù)字圖書館、電子出版物、電子商務、遠程教育系統(tǒng)等的出現(xiàn),給web數(shù)據(jù)庫技術提出了更多、更高的要求。同時,隨著國內(nèi)高校校園網(wǎng)的建設,基于互聯(lián)網(wǎng)的應用系統(tǒng)的開發(fā)正在蓬勃發(fā)展并發(fā)揮著較大的作用。例如,我國許多高校的網(wǎng)上招生系統(tǒng),學校的各種管理信息系統(tǒng),學校選課系統(tǒng),還有一些醫(yī)學院校開發(fā)出的網(wǎng)上診所、遠程診斷系統(tǒng)等等,都是基于校園網(wǎng)的應用系統(tǒng)。網(wǎng)上選課系統(tǒng)是針對在校學生和教師使用,從學生的角度來說,由于學校教學制度的改革,現(xiàn)在
11、大部分高等院校開始實行的是學生的自主選課模式,傳統(tǒng)的教學模式(學生按照學校安排好的課程上課)已經(jīng)不能適應新型的教學手段,如果仍然通過紙上的方式選課,一方面浪費的大量的人力、物力資源,另一方面浪費時間以及在人為的統(tǒng)計過程中不可避免出現(xiàn)的差錯等情況。隨著高校人數(shù)的增多,這種弊端會越來越多的暴露出來。因此,利用網(wǎng)絡,使學生只要在計算機前輸入自己的個人選課信息即可完成原來幾倍的作業(yè)量。從教師的角度來說,同樣是節(jié)省了大量的工作量,由于教師提出代課申請完成課程發(fā)布的工作較學生選課而言更加的復雜,因此通過網(wǎng)上進行課程發(fā)布能大幅度的減少教師的工作量,減少錯誤的發(fā)生幾率。作為教師,也只要通過自己的電腦來操作即可
12、,不用再奔波于教務處和辦公室之間。1設計的可行性1.1系統(tǒng)的產(chǎn)生和發(fā)展情況所謂mis(管理信息系統(tǒng)-management information system)系統(tǒng) ,是一個由人、計算機及其他外圍設備等組成的能進行信息的收集、傳遞、存貯、加工、維護和使用的系統(tǒng),是一門新興的科學,其主要任務是最大限度的利用現(xiàn)代計算機及網(wǎng)絡通訊技術加強企業(yè)的信息管理,通過對企業(yè)擁有的人力、物力、財力、設備、技術等資源的調查了解,建立正確的數(shù)據(jù),加工處理并編制成各種信息資料及時提供給管理人員,以便進行正確的決策,不斷提高企業(yè)的管理水平和經(jīng)濟效益。目前,企業(yè)的計算機網(wǎng)絡已成為企業(yè)進行技術改造及提高企業(yè)管理水平的重要手
13、段。隨著我國與世界信息高速公路的接軌,企業(yè)通過計算機網(wǎng)絡獲得信息必將為企業(yè)帶來巨大的經(jīng)濟效益和社會效益,企業(yè)的辦公及管理都將朝著高效、快速、無紙化的方向發(fā)展。mis系統(tǒng)通常用于系統(tǒng)決策,例如,可以利用mis系統(tǒng)找出目前迫切需要解決的問題,并將信息及時反饋給上層管理人員,使他們了解當前工作發(fā)展的進展或不足。換句話說,mis系統(tǒng)的最終目的是使管理人員及時了解公司現(xiàn)狀,把握將來的發(fā)展路徑。與傳統(tǒng)的管理系統(tǒng)相比,在mis中,處理的對象是抽象成數(shù)據(jù)的信息,因此,mis有著自己的巨大優(yōu)勢:1、解決結構化問題。 2、以高速度低成本完成數(shù)據(jù)的處理業(yè)務,追求系統(tǒng)處理問題的效率。3、實現(xiàn)一個相對穩(wěn)定的、協(xié)調的工作
14、環(huán)境。4、應用科學的、客觀的處理方法,符合實際情況。傳統(tǒng)的mis系統(tǒng)的核心是cs(client/server客戶端/服務器)架構,而基于internet的mis系統(tǒng)的核心是bs(browser/server瀏覽器/服務器)架構。bs架構比起cs架構有著很大的優(yōu)越性,傳統(tǒng)的mis系統(tǒng)依賴于專門的操作環(huán)境,這意味著操作者的活動空間受到極大限制;而bs架構則不需要專門的操作環(huán)境,在任何地方,只要能上網(wǎng),就能夠操作mis系統(tǒng)。這也就給交互式信息的產(chǎn)生創(chuàng)造了先決條件。使得通過互聯(lián)網(wǎng)的信息傳遞更加的便捷。1.2網(wǎng)上選課系統(tǒng)的產(chǎn)生和可行性分析1.2.1 網(wǎng)上選課系統(tǒng)的產(chǎn)生mis系統(tǒng)的飛速發(fā)展,技術的成熟以及
15、應用領域的不斷擴大,為網(wǎng)上信息的交互提供了一個良好的平臺和方便的操作界面。由于mis系統(tǒng)基于用戶需求的設計方法,使得該系統(tǒng)的使用更加的人性化、個人化、更貼近用戶。網(wǎng)上選課系統(tǒng)是針對在校學生和教師使用,從學生的角度來說,由于學校教學制度的改革,現(xiàn)在大部分高等院校開始實行的是學生的自主選課模式,傳統(tǒng)的教學模式學生按照學校安排好的課程上課已經(jīng)不能適應新型的教學手段,如果仍然通過紙上的方式選課,一方面浪費的大量的人力、物力資源,另一方面浪費時間以及在人為的統(tǒng)計過程中不可避免出現(xiàn)的差錯等情況。隨著高校人數(shù)的增多,這種弊端會越來越多的暴露出來。因此,利用網(wǎng)絡,使學生只要在計算機前輸入自己的個人選課信息即可
16、完成原來幾倍的作業(yè)量。從教師的角度來說,同樣是節(jié)省了大量的工作量,由于教師提出代課申請完成課程發(fā)布的工作較學生選課而言更加的復雜,因此通過網(wǎng)上進行課程發(fā)布能大幅度的減少教師的工作量,減少錯誤的發(fā)生幾率。作為教師,也只要通過自己的電腦來操作即可,不用再奔波于教務處和辦公室之間。以mis系統(tǒng)的構建思想來實現(xiàn)網(wǎng)上選課系統(tǒng)可以最大程度的做到實用性,可擴展性和可維護性相結合,安全性以及規(guī)范化原則。技術可行性:以mis技術為開發(fā)基礎。1.2.2 網(wǎng)上選課系統(tǒng)的可行性(1)技術可行性-本系統(tǒng)需要掌握javascript語言、html語言、jsp語言、mvc編程結構思想、struts框架應用、hibernat
17、e 框架應用、mysql數(shù)據(jù)庫設計的一般原理和使用方法。這些知識在大學專業(yè)課的學習中大部分都已學習加上自學的一些技術知識和勇于專研不斷努力學習的精神完全能做到技術可行。() 經(jīng)濟可行性-由于本系統(tǒng)是為方便大學生選課的在線選課系統(tǒng),安裝服務軟件后,即可使用系統(tǒng),系統(tǒng)成本主要集中在系統(tǒng)軟件的開發(fā)上,當系統(tǒng)投入運行后可以為學校節(jié)約大量的人力,物力。所帶來的效益遠遠大于系統(tǒng)軟件的開發(fā)成本。在經(jīng)濟上完全可行。() 操作可行性-界面設計時充分考慮管理人員的習慣,使得操作簡單;數(shù)據(jù)錄入迅速、規(guī)范、可靠;統(tǒng)計準確;適應力強;容易擴充。(4)硬件軟件設施可行性-現(xiàn)有一臺筆記本電腦,以及大量相關方面知識的書籍。對
18、于軟件技術要求,現(xiàn)在的jsp以及j2ee平臺、數(shù)據(jù)庫程序設計語言已非常成熟完全可以做到硬件軟件設施可行。2 相關軟件及技術介紹2.1 myeclipse 6.5myeclipse企業(yè)級工作平臺(myeclipse enterprise workbench ,簡稱myeclipse)是對eclipse ide的擴展,利用它我們可以在數(shù)據(jù)庫和javaee的開發(fā)、發(fā)布,以及應用程序服務器的整合方面極大的提高工作效率。它是功能豐富的javaee集成開發(fā)環(huán)境,包括了完備的編碼、調試、測試和發(fā)布功能,完整支持html, struts, jsf, css, javascript, sql, hibernat
19、e。在結構上,myeclipse的特征可以被分為7類:1. javaee模型2. web開發(fā)工具3. ejb開發(fā)工具4. 應用程序服務器的連接器5. javaee項目部署服務6. 數(shù)據(jù)庫服務7. myeclipse整合幫助對于以上每一種功能上的類別,在eclipse中都有相應的功能部件,并通過一系列的插件來實現(xiàn)它們。myeclipse結構上的這種模塊化,可以讓我們在不影響其他模塊的情況下,對任一模塊進行單獨的擴展和升級。簡單而言,myeclipse是eclipse的插件,也是一款功能強大的javaee集成開發(fā)環(huán)境,支持代碼編寫、配置、測試以及除錯,myeclipse6.0以前版本需先安裝ecl
20、ipse。myeclipse6.0以后版本安裝時不需安裝eclipse。2.2 mysql 5.0mysql是一個小型關系型數(shù)據(jù)庫管理系統(tǒng),開發(fā)者為瑞典mysql ab公司。在2008年1月16號被sun公司收購。而2009年,sun又被oracle收購.對于mysql的前途,沒有任何人抱樂觀的態(tài)度.目前mysql被廣泛地應用在internet上的中小型網(wǎng)站中。由于其體積小、速度快、總體擁有成本低,尤其是開放源碼這一特點,許多中小型網(wǎng)站為了降低網(wǎng)站總體擁有成本而選擇了mysql作為網(wǎng)站數(shù)據(jù)庫。mysql的官方網(wǎng)站的網(wǎng)址是:與其他的大型數(shù)據(jù)庫例如oracle、db2、sql server等相比,
21、mysql自有它的不足之處,如規(guī)模小、功能有限(mysql cluster的功能和效率都相對比較差)等,但是這絲毫也沒有減少它受歡迎的程度。對于一般的個人使用者和中小型企業(yè)來說,mysql提供的功能已經(jīng)綽綽有余,而且由于mysql是開放源碼軟件,因此可以大大降低總體擁有成本。目前internet上流行的網(wǎng)站構架方式是lamp(linux+apache+mysql+php),即使用linux作為操作系統(tǒng),apache作為web服務器,mysql作為數(shù)據(jù)庫,php作為服務器端腳本解釋器。由于這四個軟件都是自由或開放源碼軟件(floss),因此使用這種方式不用花一分錢就可以建立起一個穩(wěn)定、免費的網(wǎng)站
22、系統(tǒng)。2.3 tomcat 5.5tomcat是apache 軟件基金會(apache software foundation)的jakarta 項目中的一個核心項目,由apache、sun 和其他一些公司及個人共同開發(fā)而成。由于有了sun 的參與和支持,最新的servlet 和jsp 規(guī)范總是能在tomcat 中得到體現(xiàn),tomcat 5 支持最新的servlet 2.4 和jsp 2.0 規(guī)范。因為tomcat 技術先進、性能穩(wěn)定,而且免費,因而深受java 愛好者的喜愛并得到了部分軟件開發(fā)商的認可,成為目前比較流行的web 應用服務器。目前最新版本是6.0。tomcat 很受廣大程序員的
23、喜歡,因為它運行時占用的系統(tǒng)資源小,擴展性好,支持負載平衡與郵件服務等開發(fā)應用系統(tǒng)常用的功能;而且它還在不斷的 改進和完善中,任何一個感興趣的程序員都可以更改它或在其中加入新的功能。tomcat 是一個小型的輕量級應用服務器,在中小型系統(tǒng)和并發(fā)訪問用戶不是很多的場合下被普遍使用,是開發(fā)和調試jsp 程序的首選。對于一個初學者來說,可以這樣認為,當在一臺機器上配置好apache 服務器,可利用它響應對html 頁面的訪問請求。實際上tomcat 部分是apache 服務器的擴展,但它是獨立運行的,所以當你運行tomcat 時,它實際上作為一個與apache 獨立的進程單獨運行的。 這里的訣竅是,
24、當配置正確時,apache 為html頁面服務,而tomcat 實際上運行jsp 頁面和servlet。另外,tomcat和iis、apache等web服務器一樣,具有處理html頁面的功能,另外它還是一個servlet和jsp容器,獨立的servlet容器是tomcat的默認模式。不過,tomcat處理靜態(tài)html的能力不如apache服務器。2.4 html 語言介紹html(hypertext mark-up language)即超文本標記語言或超文本鏈接標示語言,是目前網(wǎng)絡上應用最為廣泛的語言,也是構成網(wǎng)頁文檔的主要語言。html文本是由html命令組成的描述性文本,html命令可以說
25、明文字、圖形、動畫、聲音、表格、鏈接等。html的結構包括頭部(head)、主體(body)兩大部分,其中頭部描述瀏覽器所需的信息,而主體則包含所要說明的具體內(nèi)容。html文檔制作不是很復雜,且功能強大,支持不同數(shù)據(jù)格式的文件鑲入,這也是www盛行的原因之一,其主要特點如下:1 簡易性,html版本升級采用超集方式,從而更加靈活方便。2 可擴展性,html語言的廣泛應用帶來了加強功能,增加標識符等要求,html采取子類元素的方式,為系統(tǒng)擴展帶來保證。3 平臺無關性。雖然pc機大行其道,但使用mac等其他機器的大有人在,html可以使用在廣泛的平臺上,這也是www盛行的另一個原因。用什么可以編輯
26、html?html其實是文本,它需要瀏覽器的解釋,html的編輯器大體可以分為三種,1 基本編輯軟件,使用windows自帶的記事本或寫字版都可以編寫,當然,如果你用wps來編寫,也可以。不過存盤是請使用.htm或.html作為擴展名,這樣瀏覽器就可以解釋執(zhí)行了。2 半所見即所得軟件,這種軟件能大大提高開發(fā)效率,它可以使你在很短的時間內(nèi)做出homepage,且可以學習html,這種類型的軟件主要有hotdog,還有國產(chǎn)的軟件網(wǎng)頁作坊。3 所見即所得軟件,使用最廣泛的編輯器,完全可以一點不懂html的知識就可以做出網(wǎng)頁,這類軟件主要有frontpage98,dreamweaver。2.5 jsp
27、 介紹jsp(java server pages)是由sun microsystems公司倡導、許多公司參與一起建立的一種動態(tài)網(wǎng)頁技術標準。jsp技術有點類似asp技術,它是在傳統(tǒng)的網(wǎng)頁html文件(*.htm,*.html)中插入java程序段(scriptlet)和jsp標記(tag),從而形成jsp文件(*.jsp)。 用jsp開發(fā)的web應用是跨平臺的,既能在linux下運行,也能在其他操作系統(tǒng)上運行。jsp技術使用java編程語言編寫類xml的tags和scriptlets,來封裝產(chǎn)生動態(tài)網(wǎng)頁的處理邏輯。網(wǎng)頁還能通過tags和scriptlets訪問存在于服務端的資源的應用邏輯。js
28、p將網(wǎng)頁邏輯與網(wǎng)頁設計和顯示分離,支持可重用的基于組件的設計,使基于web的應用程序的開發(fā)變得迅速和容易。 web服務器在遇到訪問jsp網(wǎng)頁的請求時,首先執(zhí)行其中的程序段,然后將執(zhí)行結果連同jsp文件中的html代碼一起返回給客戶。插入的java程序段可以操作數(shù)據(jù)庫、重新定向網(wǎng)頁等,以實現(xiàn)建立動態(tài)網(wǎng)頁所需要的功能。 jsp與java servlet一樣,是在服務器端執(zhí)行的,通常返回該客戶端的就是一個html文本,因此客戶端只要有瀏覽器就能瀏覽。 jsp的1.0規(guī)范的最后版本是1999年9月推出的,12月又推出了1.1規(guī)范。目前較新的是jsp1.2規(guī)范,jsp2.0規(guī)范的征求意見稿也已出臺。js
29、p頁面由html代碼和嵌入其中的java代碼所組成。服務器在頁面被客戶端請求以后對這些java代碼進行處理,然后將生成的html頁面返回給客戶端的瀏覽器。java servlet 是jsp的技術基礎,而且大型的web應用程序的開發(fā)需要java servlet和jsp配合才能完成。jsp具備了java技術的簡單易用,完全的面向對象,具有平臺無關性且安全可靠,主要面向因特網(wǎng)的所有特點。 自jsp推出后,眾多大公司都支持jsp技術的服務器,如ibm、oracle、bea公司等,所以jsp迅速成為商業(yè)應用的服務器端語言。jsp可用一種簡單易懂的等式表示為:html+java=jsp。2.6 j2ee
30、技術介紹j2ee java2平臺企業(yè)版(java 2 platform,enterprise edition) j2ee是一套全然不同于傳統(tǒng)應用開發(fā)的技術架構,包含許多組件,主要可簡化且規(guī)范應用系統(tǒng)的開發(fā)與部署,進而提高可移植性、安全與再用價值。 j2ee核心是一組技術規(guī)范與指南,其中所包含的各類組件、服務架構及技術層次,均有共通的標準及規(guī)格,讓各種依循j2ee架構的不同平臺之間,存在良好的兼容性,解決過去企業(yè)后端使用的信息產(chǎn)品彼此之間無法兼容,,企業(yè)內(nèi)部或外部難以互通的窘境。一、j2ee的概念目前,java 2平臺有3個版本,它們是適用于小型設備和智能卡的java 2平臺micro版(jav
31、a 2 platform micro edition,j2me)、適用于桌面系統(tǒng)的java 2平臺標準版(java 2 platform standard edition,j2se)、適用于創(chuàng)建服務器應用程序和服務的java 2平臺企業(yè)版(java 2 platform enterprise edition,j2ee)。j2ee是一種利用java 2平臺來簡化企業(yè)解決方案的開發(fā)、部署和管理相關的復雜問題的體系結構。j2ee技術的基礎就是核心java平臺或java 2平臺的標準版,j2ee不僅鞏固了標準版中的許多優(yōu)點,例如"編寫一次、隨處運行"的特性、方便存取數(shù)據(jù)庫的jdbc
32、 api、corba技術以及能夠在internet應用中保護數(shù)據(jù)的安全模式等等,同時還提供了對 ejb(enterprise javabeans)、java servlets api、jsp(java server pages)以及xml技術的全面支持。其最終目的就是成為一個能夠使企業(yè)開發(fā)者大幅縮短投放市場時間的體系結構。j2體系結構提供中間層集成框架用來滿足無需太多費用而又需要高可用性、高可靠性以及可擴展性的應用的需求。通過提供統(tǒng)一的開發(fā)平臺,j2ee降低了開發(fā)多層應用的費用和復雜性,同時提供對現(xiàn)有應用程序集成強有力支持,完全支持enterprise javabeans,有良好的向導支持打包
33、和部署應用,添加目錄支持,增強了安全機制,提高了性能。2.7 struts 框架struts最早是作為apache jakarta項目的組成部分,項目的創(chuàng)立者希望通過對該項目的研究,改進和提高javaserver pages 、servlet、標簽庫以及面向對象的技術水準。struts這個名字來源于在建筑和舊式飛機中使用的支持金屬架。這個框架之所以叫"struts",是為了提醒我們記住那些支撐我們房屋,建筑,橋梁,甚至我們踩高蹺時候的基礎支撐。這也是一個解釋struts在開發(fā)web應用程序中所扮演的角色的精彩描述。當建立一個物理建筑時,建筑工程師使用支柱為建筑的每一層提供支
34、持。同樣,軟件工程師使用struts為業(yè)務應用的每一層提供支持。它的目的是為了幫助我們減少在運用mvc設計模型來開發(fā)web應用的時間。我們?nèi)匀恍枰獙W習和應用該架構,不過它將可以完成其中一些繁重的工作。如果想混合使用servlets和jsp的優(yōu)點來建立可擴展的應用,struts是一個不錯的選擇。早期smalltalk 程序語言便采用了mvc(model-view -controller) 模式( patterns ) 以增加程序代碼彈性,mvc模式將程序代碼整理切割為三部份,model 部分是業(yè)務與應用領域( business domain) 相關邏輯、管理狀態(tài)之對象,controller 部分
35、接收來自view 所輸入的資料并與model 部分互動,是業(yè)務流程控制( flow control) 之處,view 部分則負責展現(xiàn)資料、接收使用者輸入資料。在java 應用中,jfc/swing、awt、jsp 皆是可用作view 之技術規(guī)格,而javabean 與enterprise javabean 規(guī)格則可用于model 程序代碼,一旦應用程序以mvc 模式加以適當(的)分割,model 部分程序代碼可在不同使用者接口外觀(的)應用程序中重復使用。2.8 hibernate 框架hibernate是一個開放源代碼的對象關系映射框架,它對jdbc進行了非常輕量級的對象封裝,使得java程
36、序員可以隨心所欲的使用對象編程思維來操縱數(shù)據(jù)庫。 hibernate可以應用在任何使用jdbc的場合,既可以在java的客戶端程序使用,也可以在servlet/jsp的web應用中使用,最具革命意義的是,hibernate可以在應用ejb的j2ee架構中取代cmp,完成數(shù)據(jù)持久化的重任。3系統(tǒng)概述3.1 項目范圍網(wǎng)上選課系統(tǒng)從功能上劃分一共有4個主模塊,其中信息管理部分包含了4個子??欤唧w的結構示意如下列所示: ·身份驗證·選課·信息管理·信息瀏覽·信息查詢·信息修改·修改·刪除·信息添加·課
37、程發(fā)布從對象上劃分一共有教師、學生、管理員三部分,主要操作為課程發(fā)布和選課。3.2 設計策略硬件環(huán)境:服務器端/客戶端:處理器:intel core 內(nèi)存: 1g硬盤空間:160g軟件環(huán)境:服務器端/客戶端: 操作系統(tǒng):windows xp網(wǎng)絡協(xié)議:tcp/ip瀏覽器:internet explore 6.0制作工具:myeclipse 6.5、mysql5.5 、tomcat 5.5、dreamweave 8、jsp、 html(hyper text markup language)用myeclipse6.5 集成開發(fā)工具完成網(wǎng)上選課系統(tǒng)的業(yè)務邏輯、持久化層代碼的編寫,用html、jsp語言
38、設計網(wǎng)頁的外觀構架和輸出輸入功能實現(xiàn),在網(wǎng)頁編輯器中嵌入javascript語言對網(wǎng)頁中提交的數(shù)據(jù)進行驗證處理,在系統(tǒng)的后臺,用mysql 5.5作為數(shù)據(jù)庫支持,提供基本的表信息,使用時,啟動tomcat 5.5 打開瀏覽器(internet explore),在地址欄中輸入“http:/localhost:8080/onlinechoose”(由于服務器和客戶端都在同一臺計算機上所以使用http:/localost:8080 訪問本地),回車后,即可進入網(wǎng)上選課系統(tǒng)的主頁,進行操作。4系統(tǒng)總體設計4.1 系統(tǒng)結構設計身份驗證:通過登錄才可進入選課系統(tǒng),登錄信息提交后檢驗登錄者的身份是否合法,
39、合法,則轉入對應的操作界面。在本系統(tǒng)中,只有三種身份:學生、老師、管理員。選課:用于學生的網(wǎng)上選課,查看被選專業(yè)的課程,完成該學期的選課任務。信息管理:信息瀏覽:信息瀏覽包括學生:已選課程瀏覽、備選課程瀏覽 。教師:已發(fā)布課程信息瀏覽。已選課程瀏覽是為學生提供的查看自己已經(jīng)選擇的課程信息。被選課程瀏覽用于學生修改、重新選擇課程。已發(fā)布課程信息瀏覽用于各老師查詢自己已經(jīng)發(fā)布的課程信息,主要用于瀏覽、核對。信息查詢:信息查詢包括教師個人信息查詢、課程查詢、選課名單查詢。課程查詢即通過 課程編碼(唯一)來查詢該課程的相關介紹,包括課程名稱、所屬院系、上課時間、上課地點、選課人數(shù)、總人數(shù)、學時、學分、
40、任課教師等內(nèi)容。教師個人信息是通過教師id來查詢對應的老師個人信息,包括教師賬號、教師密碼、教師姓名、教師性別、所屬教研室、所屬學院等。通過選課名單的查詢可以查看選擇某一門課程的學生情況。信息修改:修改:信息修改包括選課信息的修改,課程發(fā)布信息的修改,密碼的修改,學生信息的修改,教師信息的修改。選課信息的修改用于學生修改所選課程刪除已選課程。教師修改已發(fā)布課程信息。管理員添加學生信息、修改學生信息、刪除學生信息、添加教師信息、修改教師信息、刪除教師信息。課程發(fā)布:課程發(fā)布用于教師發(fā)布新的課程信息,新課程信息發(fā)布后,當學生選課時即可看到發(fā)布的信息(以列表的形式同其他課程信息一起列出)。4.1.2
41、 模塊間的調用關系管理員登錄身份驗證模塊錄入學生信息模塊修改刪除學生信息模塊錄入教師信息模塊修改刪除教師信息模塊塊數(shù)據(jù)庫模塊 數(shù)據(jù)庫訪問模塊錄入教師信息模塊1.管理員功能模塊 如圖 4-1 所示:圖 4-1管理員功能模塊學生登錄身份驗證學生信息顯示模塊學生修改信息模塊學生查看課程信息模塊學生選課模塊塊退課功能模塊數(shù)據(jù)庫模塊 數(shù)據(jù)庫訪問模塊2.學生功能模塊 如圖 4-2 所示:圖 4-2學生功能模塊教師登錄身份驗證教師信息顯示模塊教師修改信息模塊教師發(fā)布課程信息模塊查看已選課程學生塊數(shù)據(jù)庫模塊 數(shù)據(jù)庫訪問模塊3.教師功能模塊 如圖 4-3 所示:圖 4-3教師功能模塊4.1.3系統(tǒng)功能結構1.管
42、理員界面 如圖 4-4 所示:管理員界面學生管理教師管理課程管理圖 4-4 管理員界面2.學生操作界面 如圖 4-5 所示:學生操作界面選定課程查看課程退訂課程圖 4-5 學生操作界面3教師操作界面 如圖 4-6 所示:教師操作界面查看課程發(fā)布課程圖 4-6 教師操作界面5 數(shù)據(jù)庫設計說明數(shù)據(jù)庫(database)是按照數(shù)據(jù)結構來組織、存儲和管理數(shù)據(jù)的倉庫,它產(chǎn)生于距今五十年前,隨著信息技術和市場的發(fā)展,特別是二十世紀九十年代以后,數(shù)據(jù)管理不再僅僅是存儲和管理數(shù)據(jù),而轉變成用戶所需要的各種數(shù)據(jù)管理的方式。數(shù)據(jù)庫有很多種類型,從最簡單的存儲有各種數(shù)據(jù)的表格到能夠進行海量數(shù)據(jù)存儲的大型數(shù)據(jù)庫系統(tǒng)都
43、在各個方面得到了廣泛的應用。在線選課系統(tǒng)的核心就是用來存儲所有信息的數(shù)據(jù)庫。本系統(tǒng)用的是輕量級開源數(shù)據(jù)庫mysql 5.0。5.1數(shù)據(jù)庫系統(tǒng)分析本系統(tǒng)的數(shù)據(jù)庫實體主要有“學生”、“管理員”、“教師”、“課程”等。其中“教師”與“課程”存在“開設”聯(lián)系,并且一個教師可以開設n門課程,即“教師”與“課程”之間是一對多的關系。一個學生可以學習n門課程,一門課程可以有m個學生學習,即“學生”與“課程”之間是多對多的關系。 教師員1開設n 課程選修 學生 教師管理員教師信息nmm整個數(shù)據(jù)庫可以用一個e-r圖表示,如圖 5-1 所示:圖5-1 數(shù)據(jù)庫er圖er圖中的實體圖:1學生實體 如圖 5-2 所示:
44、學生所屬學院學生id學生姓名性別學號班級學生密碼圖 5-2 學生實體2教師實體 如圖 5-3 所示:教師所屬學院教師密碼所屬教研室教師賬號教師姓名教師id教師性別圖 5-3 教師實體課程所屬學院總人數(shù)上課地點學分課程id上課時間選課人數(shù)學時課程名稱3課程實體 如圖 5-4 所示:圖 5-4 課程實體4選課實體 如圖 5-5 所示:選課學生id課程id圖 5-5 選課實體5管理員實體 如圖 5-6 所示:管理員管理員id賬號密碼圖 5-6 管理員實體 5.2 數(shù)據(jù)庫邏輯設計 數(shù)據(jù)庫邏輯設計就是將er圖轉換為關系模型的過程,即將所有實體和關系轉換成一系列的關系模式。轉換過程中常見規(guī)則有:(1)一個
45、實體型轉換為一個關系模式;(2)一個一對一的聯(lián)系可轉換成一個獨立的關系模式,也可與任意一端對應的關系模式合并;(3)一個一對多的聯(lián)系可以轉換成一個獨立的關系模式,也可與多的那一端對應的關系模式合并;(4)一個多對多的關系轉換成一個關系模式。根據(jù)以上四條規(guī)則,下面將er圖轉換成關系模型。對于“教師”、“課程”和兩者之間的關系,就可以根據(jù)規(guī)則(3)轉換成兩個關系模式教師(教師id,教師賬號,教師密碼,教師姓名,教師性別,所屬教研室,所屬學院)課程(課程id,教師id,課程名稱,上課時間,上課地點,選課人數(shù),學時,學分,總人數(shù))對于“學生”、“課程”和它們之間的“選修”關系就可以規(guī)則(4)轉換成三個
46、關系模式。學生(學生id,學號,學生姓名,學生性別,班級,學生密碼,所屬學院)課程(課程id,教師id,課程名稱,上課時間,上課地點,選課人數(shù),總人數(shù),所屬學院,學時,學分)選課(學生id,課程id)管理員(管理員id,管理員帳號,管理員密碼)5.3 數(shù)據(jù)庫設計經(jīng)過數(shù)據(jù)庫系統(tǒng)分析和邏輯設計后,數(shù)據(jù)庫的結構已經(jīng)非常清晰,剩下的就是用一種數(shù)據(jù)庫軟件實現(xiàn)這樣的結構。本系統(tǒng)數(shù)據(jù)庫采用erstudio 8.0 輔助實現(xiàn)。如圖 5-1、5-2 所示: 圖 5-1數(shù)據(jù)庫表關系圖 5-2數(shù)據(jù)庫表關系(1)student_tab表。student_tab表用來存儲學生的個人信息,使用學生編號作為主鍵包括學號,學
47、生姓名,學生性別,學生班級,學生密碼,所屬院系,如表5-3 所示: 表5-3 student_tab 表columndomaindatatypenulls(pk)stu_idintidentitystu_novarchar100nullstudent_tab_namevarchar100nullstudent_tab_sexvarchar10nullstudent_tab_classvarchar100nullstudent_tab_pwdchar10nullstudent_tab_collegevarchar100null(2)teacher_tab表。teacher_tab表用來存儲教師的
48、個人信息,教師編號作為主鍵包括教師賬號,教師密碼,教師姓名,教師性別,所屬教研室,所屬學院,如表5-3-4所示:表5-4 teacher_tab 表columndomaindatatypenulls(pk)teacher_idintidentitytea_accoutvarchar200nullteacher_tab_pwdvarchar100nullteacher_tab_namevarchar100nullteacher_tab_sexvarchar10nullroom_typevarchar100nullcollegevarchar100null(3)course_tab表。course
49、_tab表用來存儲課程信息,course_tab表以課程編號為主鍵,設置課程編號自動增加1(通過建表的時候對屬性列設置“標識”,并設置“標識遞增量”為1)。表中開課教師id為外鍵,所有“teacher_id”的值必須是teacher表中的“teacher_id”值 包括上課時間,上課地點,選課人數(shù),總人數(shù),所屬學院,學時,學分,課程名稱,教師id(外鍵)。如表5-5 所示:表5-5 course_tab 表columndomaindatatypenulls(pk)course_tab_idintidentitytimevarchar255nulladdressvarchar200nullcho
50、ose_stu_numintnullcourse_tab_allstuintnullcourse_tab_collegevarchar100nullperiodvarchar10nullcreditvarchar10 nullcourse_tab_namevarchar100 null(fk)teacher_tab_idintnull(4)elective_tab表。elective_tab表用于存儲學生的選課信息,在elective_tab表中學生編號是外鍵,course_tab_id即是主鍵又是外鍵。如表5-6 所示:表5-6 elective_tab 表columndomaindatat
51、ypenulls(pk+fk)course_tab_idintnot null(pk+fk)stu _id intnot null(5)admin表。admin表用來存放系統(tǒng)管理員信息,包括管理員id,管理員賬號,管理員密碼。如表5-7 所示:表5-7 admin 表columndomaindatatypenulls(pk)admin_idintidentityadmin_namevarchar50nulladmin _pwdvarchar100null6 詳細設計6.1 教師/學生/管理員登錄功能在登錄頁面對應的地方輸入用戶名、密碼,確認后登錄。先用javascript判斷輸入信息是否為空為
52、空返回錯誤提示若不為空。 提交表單提交后struts 框架通過攔截提交表單地址查找映射文件 struts-config.xml,對應的action處理類,中通過調用在hibernate框架基礎上構建的持久化層中的數(shù)據(jù)庫查詢方法對輸入的賬號密碼與數(shù)據(jù)庫中進行比對。若檢索到的記錄集為空,則說明教師賬號/學號/管理員賬號信息錯誤,從而轉到相應的出錯處理程序,若記錄集不為空,則轉入教師/學生/管理員登錄成功的操作頁面,并將姓名,密碼,/學號,姓名/管理員賬號以session對象保存起來。出錯及處理:在該模塊中可能發(fā)生的錯誤有學號或密碼錯誤,系統(tǒng)這時會提醒“用戶名或密碼錯誤”實例截圖:1 學生登錄功能介
53、紹:本頁面主要功能為學生的登錄窗口。擁有兩個可輸入框分別輸入學生的賬號和密碼。有三個按鈕分別是登錄重置和注冊。輸入完賬號密碼點擊登錄即可提交。點擊重置可以清空輸入框。點擊注冊跳轉到注冊界面。如圖6-1所示:圖6-1 學生登錄界面2登錄出錯界面 功能介紹:當提交的賬號和密碼不錯再或者不匹配時回返回登錄窗口要求用戶從新輸入并顯示錯誤信息 “用戶名或密碼錯誤”。 如 圖6-2 所示:圖6-2 登錄錯誤提示界面3 登錄成功界面功能介紹:當所輸入的賬號和密碼相匹配時通過驗證返回登錄成功界面即學生功能界面該界面顯示了學生的姓名?,F(xiàn)在可選的課程 列出了課程名、總人數(shù)、剩余人數(shù)學時、學分、任課教師、上課地點和
54、上課時間等。并且每條后面都有選課的超級鏈接。如圖6-3 所示:圖6-3 登陸成功進入選課界面4教師登陸頁面 功能介紹:本頁面主要功能為教師的登錄窗口。擁有兩個可輸入框分別輸入學生的賬號和密碼。有三個按鈕分別是登錄重置和注冊。輸入完賬號密碼點擊登錄即可提交。點擊重置可以清空輸入框。點擊注冊跳轉到注冊界面如圖6-4所示 :圖6-4 教師登錄界面5教師登錄錯誤界面功能介紹:當提交的賬號和密碼不錯再或者不匹配時回返回登錄窗口要求用戶從新輸入并顯示錯誤信息 “用戶名或密碼錯誤”。如 圖6-5 所示:圖6-5 教師登錄錯誤界面6教師登錄登陸成功進入管理界面功能介紹:當所輸入的賬號和密碼相匹配時通過驗證返回
55、登錄成功界面即教師功能界面該界面顯示了教師的姓名。教師現(xiàn)在可以查看已被學生選的自己所發(fā)布的課程。還可以點擊發(fā)布課程發(fā)布新課程。圖6-6 所示:圖6-6 教師管理界面7管理員登錄界面功能介紹:本頁面主要功能為管理員的登錄窗口。擁有兩個可輸入框分別輸入管理員的賬號和密碼。有一個登錄按鈕。輸入完賬號密碼點擊登錄即可提交。如 圖6-7 所示:圖6-7 管理員登錄界面8管理員登錄成功進入后臺管理界面 功能介紹:當所輸入的賬號和密碼相匹配時通過驗證返回登錄成功界面即管理員功能界面該界面顯示了當前管理員的姓名。管理員現(xiàn)在可以選擇管理教師、管理學生或者管理課程 點擊后跳轉到相應管理界面 如 圖6-8 所示:圖6-8 管理員后臺管理界面6.2 學生選課功能學生登錄界面以及代碼與教師登錄界面相似在這里不再復述當學生成功登錄后可以使用選課功能。1學生選課功能界面功能介紹:當所輸入
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度智慧消防系統(tǒng)施工與維護承包合同
- 2025年度物流運輸服務業(yè)績提成合作協(xié)議
- 2025年度美甲師勞動合同與美甲設備租賃服務
- 2025年度煤炭場地租賃與能源產(chǎn)業(yè)合作框架協(xié)議
- 二零二五年度綠色建筑投資入股協(xié)議
- 預合同與正式合同范本
- 二零二五年度人工智能教育人合伙投資協(xié)議書
- 2025年中國無菌噴霧干燥系統(tǒng)市場調查研究報告
- 2025年度物流公司冷鏈運輸人員勞動合同
- 2025年度裝修工程拖欠工資無勞動合同爭議調解合同
- 2025春季學期少先隊工作安排表
- 常用消毒劑的分類、配制及使用課件演示幻燈片
- 2024年同等學力申碩英語考試真題
- 2023年新安全生產(chǎn)法
- 卡通可愛風格學生課程表模板
- UNIX操作系統(tǒng)基礎(全)
- 2023年株洲市石峰區(qū)網(wǎng)格員招聘筆試題庫及答案解析
- 古代希臘文明教學課件
- 《一生中愛》諧音歌詞
- 氬氣安全技術說明書MSDS
- 四年級數(shù)學下冊教案-練習一-北師大版
評論
0/150
提交評論