軟件工程畢業(yè)論文基于MVC模式的畢業(yè)設計雙向選題系統(tǒng)學生、管理員模塊的設計與實現(xiàn)_第1頁
軟件工程畢業(yè)論文基于MVC模式的畢業(yè)設計雙向選題系統(tǒng)學生、管理員模塊的設計與實現(xiàn)_第2頁
軟件工程畢業(yè)論文基于MVC模式的畢業(yè)設計雙向選題系統(tǒng)學生、管理員模塊的設計與實現(xiàn)_第3頁
軟件工程畢業(yè)論文基于MVC模式的畢業(yè)設計雙向選題系統(tǒng)學生、管理員模塊的設計與實現(xiàn)_第4頁
軟件工程畢業(yè)論文基于MVC模式的畢業(yè)設計雙向選題系統(tǒng)學生、管理員模塊的設計與實現(xiàn)_第5頁
已閱讀5頁,還剩44頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

1、江西師范大學軟件學院畢業(yè)論文姓 名:學 號:學 院:軟 件 學 院專 業(yè):軟 件 工 程結束時間:2010年03月 指導老師:題 目:基于mvc模式的畢業(yè)設計雙向選題系統(tǒng)學生、管理員模塊的設計與實現(xiàn)topic: the graduation design of two-way selection system based on mvc pattern the design and implementation of students and administrator module摘 要在當前高校畢業(yè)設計中,選題是設計工作的龍頭,也是是畢業(yè)設計質(zhì)量的起點。選題一般經(jīng)歷了由學校分派、教師單向選擇

2、學生到師生雙向選擇的過程。雙向選題要求充分尊重學生的個人選題意見和老師的意見 ,盡量滿足合理的科學的選題要求 ,體現(xiàn)了科學性和人性化的理念。畢業(yè)設計雙向選題系統(tǒng)就是為了實現(xiàn)學生教師雙向選題而開發(fā)的,可以將繁瑣的畢業(yè)設計命題選擇的過程簡化。畢業(yè)設計雙向選題系統(tǒng)采用mvc模式開發(fā),開發(fā)過程中使用了jsp、ajax等網(wǎng)頁開發(fā)技術,結合javascript、css腳本語言,采用struts2開發(fā)框架,在myecilpse平臺上開發(fā),測試服務器為tomcat,數(shù)據(jù)庫系統(tǒng)為sql server2000 。該系統(tǒng)主要實現(xiàn)了教師出題、領導審題、學生選題、教師再選學生、管理員發(fā)布最終選題結果的雙向選題功能。本文

3、圍繞畢業(yè)設計雙向選題系統(tǒng)的項目實施,詳細地闡述了該系統(tǒng)所涉及的領域知識。從系統(tǒng)的設計模式、建模工具、開發(fā)工具、開發(fā)技術等方面對系統(tǒng)的相關技術信息進行了描述,并將系統(tǒng)與同類開發(fā)產(chǎn)品進行了比較。本文還從總體需求、業(yè)務分析等方面對系統(tǒng)進行了詳細的分析,在系統(tǒng)體系結構、數(shù)據(jù)庫介紹、uml類圖、數(shù)據(jù)庫表設計等方面對系統(tǒng)進行了詳盡的設計。對系統(tǒng)模塊實現(xiàn)進行了細致的描述,包括javabean設計、頁面設計思想、運行效果等。最后總結了項目開發(fā)的體會。關鍵字:畢業(yè)設計雙向選題系統(tǒng)、模型視圖控制器、統(tǒng)一建模語言、ajaxabstractin current college graduation design, t

4、he selection of topics is the bibcock of design work and also is the quality of graduation design.it generally experienced by the school assignment, the teachers one-way choice and the teachers and students two-way choice. two-way selection of topics demands the respect of students and teachers view

5、s.it tries to meet the science selection demands of topics and embodies scientific and humanistic ideas. the graduation design of two-way selection system is used to realize two-way selection of students and teachers.it could choose trival graduation design process simplification. the graduation des

6、ign of two-way selection system is designed by mvc pattern development.the development process used the jsp, ajax of web development technologies,it combined with javascript and css, used struts2 development framework.it was designed in myecilpse platform and tested in tomcat, server2000. this syste

7、m mainly realizes the creating of topics by the teachers,the audit of topics by the leaders,the choosing of topics by the students, the choosing of students by the teachers and the releasing of final results by the administrators of the two-way selection function.this paper is based on the project o

8、f graduation design system, and it expounds the system of domain knowledge.it describes the relevant technical information of the graduation design system from design patterns, modeling tools, development tools and developing technologies,it also compares the system with the similar product. this pa

9、per analyzed the system from aspects of overall demand and business analysis.it also analyzed the system in the aspects of system structure, database, uml class diagram and the database table design. it realizes the system module, including javabean meticulous design, web design ideas, operation res

10、ults, etc.finally, it summarizes the experience of project development key words: graduation design of two-way selection system, model-view-controller, unified modeling language, ajax目 錄第一章 緒論11.1 畢業(yè)設計雙向選題系統(tǒng)簡介11.2 畢業(yè)設計雙向選題系統(tǒng)的背景11.3 本人所做的主要工作11.4 本文的組織結構2第二章 系統(tǒng)相關技術介紹32.1 設計模式簡介32.2 建模工具簡介32.2.1 micro

11、soft viso介紹32.2.2 uml介紹32.3 開發(fā)工具簡介42.3.1 myeclipse介紹42.3.2 tomcat介紹42.3.3 dreamweaver介紹52.3.4 sql server概述52.4 開發(fā)技術簡介62.4.1 java介紹62.4.2 struts2介紹72.4.3 javascript介紹72.4.4 ajax介紹72.4.5 jfreechart介紹82.4.6 jxl介紹82.4.7 jsp介紹82.5 與同類開發(fā)技術的比較9第三章 系統(tǒng)分析113.1 系統(tǒng)總體需求113.1.1 功能分析113.1.2 用例分析123.2 系統(tǒng)業(yè)務分析13第四章 系

12、統(tǒng)設計164.1 系統(tǒng)體系結構164.2 系統(tǒng)數(shù)據(jù)庫164.3 系統(tǒng)uml類圖164.4 系統(tǒng)數(shù)據(jù)庫表設計17第五章 系統(tǒng)模塊實現(xiàn)255.1 數(shù)據(jù)庫連接javabean255.1.1 javabean介紹255.1.2 javabean應用255.2 公用代碼275.3 學生模塊頁面代碼實現(xiàn)275.3.1 選題查詢代碼275.3.2 學生選題代碼285.4 管理員模塊頁面代碼實現(xiàn)305.4.1 添加用戶代碼305.4.2 信息提示頁面代碼345.4.3 用戶統(tǒng)計代碼355.4.4 批量導入用戶數(shù)據(jù)代碼37第六章 結束語406.1 個人總結406.2 系統(tǒng)總結40參考文獻42致 謝43第一章 緒

13、論1.1 畢業(yè)設計雙向選題系統(tǒng)簡介畢業(yè)設計是專業(yè)人才培養(yǎng)計劃中的一個重要組成部分 ,是培養(yǎng)學生綜合運用所學的基礎知識、基礎理論和基本技能 ,分析解決工程實際問題和初步科學研究能力的一個重要環(huán)節(jié),是大學生走向社會前的一次練兵 ,也是在校期間一次系統(tǒng)全面的訓練。努力提高高等學校畢業(yè)設計的質(zhì)量是一項重要任務。選題是畢業(yè)設計工作的龍頭 ,選題質(zhì)量是畢業(yè)設計質(zhì)量的起點。科學的選題方式本身也極為重要 ,它直接關系到畢業(yè)設計的質(zhì)量 。一般高校 ,畢業(yè)設計選題方式 ,經(jīng)歷了由管理人員任意指定、老師單向選擇到師生雙向選擇的發(fā)展過程。管理人員任意指定課題 ,體現(xiàn)的是一種以管理者為主導的意識 ;教師單向選擇則體現(xiàn)的

14、是以教師為主導的意識 ;而教師學生雙向選題 ,則體現(xiàn)了“以教師為本 ,以學生為中心”的新理念。很顯然 ,雙向選題更符合現(xiàn)代教育觀念 ,更能發(fā)揮學生和教師的主觀能動性。雙向選題要求充分尊重學生的個人選題意見 ,盡量滿足合理的科學的選題要求 ,體現(xiàn)了科學性和人性化的理念。事實上 ,畢業(yè)設計選題應該是教師和學生共同完成的一項重要工作。1.2 畢業(yè)設計雙向選題系統(tǒng)的背景隨著學分制的推行 ,雙向選題顯得更為重要?,F(xiàn)在 ,同一個專業(yè)的學生學過的課程可以有較大差別 ,將來從事的工作性質(zhì)可能大相徑庭 ,個性更是不同。如何既能結合課題特點 ,又能結合學生的興趣愛好、他們即將從事的工作以及所學的專業(yè)知識等確定一個

15、最佳的搭配 ,是相當復雜繁瑣的過程。以往雙向選擇的操作方法 ,主要根據(jù)一些簡單信息如軟件、硬件、理論、實踐等課題性質(zhì) ,完全由人工來確定。但是當人數(shù)達到一定規(guī)模 ,并增加了有關課題、教師、學生等各方面的信息時 ,這樣的復雜工作就很難完全由人工來完成。目前計算機選課系統(tǒng)、計算機信息管理系統(tǒng)正在普及 ,然而針對畢業(yè)設計雙向選題的軟件筆者至今尚未見報道。顯然 ,開發(fā)一套雙向選題程序 ,迫在眉睫。設計基于網(wǎng)絡的選題系統(tǒng) ,通過 web進行雙向選題 ,更是順應了時代的發(fā)展。1.3 本人所做的主要工作在整個項目設計過程中,本人主要負責前期的項目調(diào)研,然后進行需求分析的編寫以及數(shù)據(jù)庫設計,并負責整個系統(tǒng)頁面

16、框架的美化工作。本系統(tǒng)主要分成四個用戶模塊:學生、教師、學院領導、系統(tǒng)管理員,本人負責其中的學生、系統(tǒng)管理員用戶模塊的設計及編寫。1.4 本文的組織結構第一章是緒論,主要介紹了系統(tǒng)的內(nèi)容、背景、本人所做工作、本文的組織結構等。第二章介紹了系統(tǒng)相關技術,包括系統(tǒng)設計模式、建模工具、開發(fā)工具、開發(fā)技術、與同類開發(fā)技術的比較等。第三章主要從系統(tǒng)總體需求、系統(tǒng)業(yè)務分析等方面對系統(tǒng)進行了詳細地分析。第四章是系統(tǒng)設計,從系統(tǒng)體系結構、系統(tǒng)數(shù)據(jù)庫、系統(tǒng)uml類圖、系統(tǒng)數(shù)據(jù)庫表幾個方面描述了整個系統(tǒng)的設計結構。第五章介紹系統(tǒng)的實現(xiàn)過程,主要從數(shù)據(jù)庫連接javabean、公用代碼、頁面代碼等方面闡述了系統(tǒng)的一些

17、功能模塊的設計實現(xiàn)過程。第六章是結束語,主要介紹了作者的開發(fā)感言。第二章 系統(tǒng)相關技術介紹2.1 設計模式簡介mvc(model view controller)模型視圖控制器。mvc本來是存在于desktop程序中的,m是指數(shù)據(jù)模型,v是指用戶界面,c則是控制器。使用mvc的目的是將m和v的實現(xiàn)代碼分離,從而使同一個程序可以使用不同的表現(xiàn)形式。比如一批統(tǒng)計數(shù)據(jù)你可以分別用柱狀圖、餅圖來表示。c存在的目的則是確保m和v的同步,一旦m改變,v應該同步更新。 模型視圖控制器(mvc)是xerox parc在八十年代為編程語言smalltalk80發(fā)明的一種軟件設計模式,至今已被廣泛使用。最近幾年被

18、推薦為sun公司j2ee平臺的設計模式,并且受到越來越多的使用 coldfusion 和 php 的開發(fā)者的歡迎。2.2 建模工具簡介2.2.1 microsoft viso介紹microsoft visio是windows操作系統(tǒng)下運行的流程圖和矢量繪圖軟件,它是microsoft office軟件的一個部分。2000年微軟公司收購同名公司后,visio成為微軟公司的產(chǎn)品。它的競爭者是adobe illustrator、macromedia freehand和coreldraw。2.2.2 uml介紹uml(unified modeling language的縮寫)統(tǒng)一建模語言,是用來對軟件

19、密集系統(tǒng)進行可視化建模的一種語言。uml為面向?qū)ο箝_發(fā)系統(tǒng)的產(chǎn)品進行說明、可視化、和編制文檔的一種標準語言。統(tǒng)一建模語言 (uml)是非專利的第三代建模和規(guī)約語言。 uml是在開發(fā)階段,說明,可視化,構建和書寫一個面向?qū)ο筌浖芗到y(tǒng)的制品的開放方法。uml展現(xiàn)了一系列最佳工程實踐,這些最佳實踐在對大規(guī)模,復雜系統(tǒng)進行建模方面,特別是在軟件架構層次已經(jīng)被驗證有效。uml可以貫穿軟件開發(fā)周期中的每一個階段。被omg采納作為業(yè)界的標準。uml最適于數(shù)據(jù)建模,業(yè)務建模,對象建模,組件建模。uml作為一種模型語言,它使開發(fā)人員專注于建立產(chǎn)品的模型和結構,而不是選用什么程序語言和算法實現(xiàn)。當模型建立之后

20、,模型可以被uml工具轉(zhuǎn)化成指定的程序語言代碼。2.3 開發(fā)工具簡介2.3.1 myeclipse介紹myeclipse企業(yè)級工作平臺(myeclipse enterprise workbench ,簡稱myeclipse)是對eclipse ide的擴展,利用它我們可以在數(shù)據(jù)庫和j2ee的開發(fā)、發(fā)布,以及應用程序服務器的整合方面極大的提高工作效率。它是功能豐富的j2ee集成開發(fā)環(huán)境,包括了完備的編碼、調(diào)試、測試和發(fā)布功能,完整支持html, struts, jsf, css, javascript, sql, hibernate。在結構上,myeclipse的特征可以被分為7類:1. j2e

21、e模型2. web開發(fā)工具3. ejb開發(fā)工具4. 應用程序服務器的連接器5. j2ee項目部署服務6. 數(shù)據(jù)庫服務7. myeclipse整合幫助對于以上每一種功能上的類別,在eclipse中都有相應的功能部件,并通過一系列的插件來實現(xiàn)它們。myeclipse結構上的這種模塊化,可以讓我們在不影響其他模塊的情況下,對任一模塊進行單獨的擴展和升級。簡單而言,myeclipse是eclipse的插件,也是一款功能強大的j2ee集成開發(fā)環(huán)境,支持代碼編寫、配置、測試以及除錯。2.3.2 tomcat介紹tomcat 是一個小型的輕量級應用服務器,在中小型系統(tǒng)和并發(fā)訪問用戶不是很多的場合下被普遍使用

22、,是開發(fā)和調(diào)試jsp 程序的首選??梢赃@樣認為,當在一臺機器上配置好apache 服務器,可利用它響應對html 頁面的訪問請求。實際上tomcat 部分是apache 服務器的擴展,但它是獨立運行的,所以當運行tomcat 時,它實際上作為一個與apache 獨立的進程單獨運行的。當配置正確時,apache 為html頁面服務,而tomcat 實際上運行jsp 頁面和servlet。另外,tomcat和iis、apache等web服務器一樣,具有處理html頁面的功能,另外它還是一個servlet和jsp容器,獨立的servlet容器是tomcat的默認模式。不過,tomcat處理靜態(tài)htm

23、l的能力不如apache服務器。2.3.3 dreamweaver介紹dreamweaver是美國macromedia公司開發(fā)的集網(wǎng)頁制作和管理網(wǎng)站于一身的所見即所得網(wǎng)頁編輯器,它是第一套針對專業(yè)網(wǎng)頁設計師特別發(fā)展的視覺化網(wǎng)頁開發(fā)工具,利用它可以輕而易舉地制作出跨越平臺限制和跨越瀏覽器限制的充滿動感的網(wǎng)頁。1最佳的制作效率dreamweaver可以用最快速的方式將fireworks,freehand,或photoshop等檔案移至網(wǎng)頁上。使用檢色吸管工具選擇熒幕上的顏色可設定最接近的網(wǎng)頁安全色。對于選單,快捷鍵與格式控制,都只要一個簡單步驟便可完成。dremweaver能與您喜愛的設計工具,如

24、playback flash,shockwave和外掛模組等搭配,不需離開dreamweaver便可完成,整體運用流程自然順暢。除此之外,只要單擊便可使dreamweaver自動開啟firework或photoshop來進行編輯與設定圖檔的最佳化。 2網(wǎng)站管理 使用網(wǎng)站地圖可以快速制作網(wǎng)站雛形、設計、更新和重組網(wǎng)頁。改變網(wǎng)頁位置或檔案名稱,dreamweaver 會自動更新所有連結。使用支援文字、html碼、html屬性標簽和一般語法的搜尋及置換功能使得復雜的網(wǎng)站更新變得迅速又簡單。 3無可比擬的控制能力 dreamweaver是唯一提供roundtrip html、視覺化編輯與原始碼編輯同步

25、的設計工具。它包含homesite和bbedit等主流文字編輯器。幀(frames)和表格的制作速度快的令您無法想像。進階表格編輯功能使您簡單的選擇單格、行、欄或作未連續(xù)之選取。甚至可以排序或格式化表格群組,dreamweaver 支援精準定位,利用可輕易轉(zhuǎn)換成表格的圖層,以拖拉置放的方式進行版面配置。所見即所得 dreamweaver成功整合動態(tài)式出版視覺編輯及電子商務功能,提供超強的支援能力給third-party廠商,包含asp, apache,broadvision, cold fusion,icat, tango與自行發(fā)展的應用軟體。當您正使用dreamweaver在設計動態(tài)網(wǎng)頁時,

26、所見即所得的功能,讓您不需要透過瀏覽器就能預覽網(wǎng)頁。夢幻樣版和xml dreamweaver將內(nèi)容與設計分開,應用于快速網(wǎng)頁更新和團隊合作網(wǎng)頁編輯。建立網(wǎng)頁外觀的樣版,指定可編輯或不可編輯的部份,內(nèi)容提供者可直接編輯以樣式為主的內(nèi)容卻不會不小心改變既定之樣式。您也可以使用樣版正確地輸入或輸出xml內(nèi)容。 dreamweaver還集成了程序開發(fā)語言,對asp、.net、php、js的基本語言和連接操作數(shù)據(jù)庫,都是完全支持的。2.3.4 sql server概述sql server是一種關系式數(shù)據(jù)庫,關系式數(shù)據(jù)庫由一系列表組成,表又由一系列行和列組成,每一行是一個記錄,每一列是一個字段,每個字段有

27、一個字段名。表與表之間可以建立關系(或稱關聯(lián),連接),以便查詢相關聯(lián)的信息。數(shù)據(jù)庫是有結構的數(shù)據(jù)集合,它與一般的數(shù)據(jù)文件不同,(其中的數(shù)據(jù)是無結構的)是一串文字或數(shù)字流。數(shù)據(jù)庫中的數(shù)據(jù)可以是文字、圖像、聲音等。sql server數(shù)據(jù)庫以文件形式保存,文件的擴展名是.mdb。 sql server可以實現(xiàn)建立數(shù)據(jù)庫、報表,以及對數(shù)據(jù)庫、報表的修改、查詢等功能。12.4 開發(fā)技術簡介2.4.1 java介紹java是由sun microsystems公司于1995年5月推出的java程序設計語言(以下簡稱java語言)和java平臺的總稱。用java實現(xiàn)的hotjava瀏覽器(支持java ap

28、plet)顯示了java的魅力:跨平臺、動態(tài)的、internet計算。從此,java被廣泛接受并推動了web的迅速發(fā)展,常用的瀏覽器現(xiàn)在均支持java applet。另一方面,java技術也不斷更新。java平臺由java虛擬機(java virtual machine)和java 應用編程接口(application programming interface、簡稱api)構成。java 應用編程接口為java應用提供了一個獨立于操作系統(tǒng)的標準接口,可分為基本部分和擴展部分。在硬件或操作系統(tǒng)平臺上安裝一個java平臺之后,java應用程序就可運行?,F(xiàn)在java平臺已經(jīng)嵌入了幾乎所有的操作系統(tǒng)

29、。這樣java程序可以只編譯一次,就可以在各種系統(tǒng)中運行。java分為三個體系javase(java2 platform standard edition,java平臺標準版),javaee(java 2 platform,enterprise edition,java平臺企業(yè)版),javame(java 2 platform micro edition,java平臺微型版)。java的誕生是對傳統(tǒng)計算機模式的挑戰(zhàn),對計算機軟件開發(fā)和軟件產(chǎn)業(yè)都產(chǎn)生了深遠的影響: (1)軟件4a目標要求軟件能達到任何人在任何地方在任何時間對任何電子設備都能應用。這樣能滿足軟件平臺上互相操作,具有可伸縮性和重用性

30、并可即插即用等分布式計算模式的需求。(2)基于構建開發(fā)方法的崛起,引出了corba國際標準軟件體系結構和多層應用體系框架。在此基礎上形成了java.2平臺和.net平臺兩大派系,推動了整個it業(yè)的發(fā)展。(3)對軟件產(chǎn)業(yè)和工業(yè)企業(yè)都產(chǎn)生了深遠的影響,軟件從以開發(fā)為中心轉(zhuǎn)到了以服務為中心。中間提供商,構件提供商,服務器軟件以及咨詢服務商出現(xiàn)。企業(yè)必須重塑自我,b2b的電子商務將帶動整個新經(jīng)濟市場,使企業(yè)獲得新的價值,新的增長,新的商機,新的管理。(4)對軟件開發(fā)帶來了新的革命,重視使用第三方構件集成,利用平臺的基礎設施服務,實現(xiàn)開發(fā)各個階段的重要技術,重視開發(fā)團隊的組織和文化理念,協(xié)作,創(chuàng)作,責任

31、,誠信是人才的基本素質(zhì)67??傊?,目前以看到了java對信息時代的重要性,未來還會不斷發(fā)展,java在應用方面將會有更廣闊的前景。2.4.2 struts2介紹apache struts2是一個優(yōu)雅的,可擴展的java ee web框架??蚣茉O計的目標貫穿整個開發(fā)周期,從開發(fā)到發(fā)布,包括維護的整個過程。apache struts 2即是之前大家所熟知的webwork 2。在經(jīng)歷了幾年的各自發(fā)展后,webwork和struts社區(qū)決定合二為一,也即是struts 2。struts 2 與struts 1相比,確實有很多革命性的改進,但它并不是新發(fā)布的新框架,而是在另一個赫赫有名的框架:webwo

32、rk基礎上發(fā)展起來的。從某種程度上來講,struts2沒有繼承struts 1的血統(tǒng),而是繼承webwork的血統(tǒng)。或者說,webwork衍生出了struts2,而不是struts 1衍生了struts2。因為struts2是webwork的升級,而不是一個全新的框架,因此穩(wěn)定性、性能等各方面都有很好的保證:而且吸收了struts 1和webwork兩者的優(yōu)勢,因此,是一個非常值得期待的框架78。2.4.3 javascript介紹javascript 是根據(jù) ecmascript標準制定的網(wǎng)頁腳本語言。這個標準由 ecma 組織發(fā)展和維護。ecma-262 是正式的 javascript 標

33、準。這個標準基于 javascript (netscape) 和 jscript (microsoft)。netscape (navigator 2.0) 的 brendan eich 發(fā)明了這門語言,從 1996 年開始,已經(jīng)出現(xiàn)在所有的 netscape 和 microsoft瀏覽器中。ecma-262 的開發(fā)始于 1996 年,在 1997 年 7 月,ecma 會員大會采納了它的首個版本。在 1998 年,該標準成為了國際 iso 標準 (iso/iec 16262)。這個標準仍然處于發(fā)展之中。在 2005年12月,ecma發(fā)布ecma-357標準(iso/iec 22537)出臺,主

34、要增加對擴展標記語言xml的有效支持。目前javascript 的最新版本為1.8。2.4.4 ajax介紹ajax即“asynchronous javascript and xml”(異步javascript和xml),ajax并非縮寫詞,而是由jesse james gaiiett創(chuàng)造的名詞,是指一種創(chuàng)建交互式網(wǎng)頁應用的網(wǎng)頁開發(fā)技術。ajax開發(fā)與傳統(tǒng)的cs開發(fā)有很大的不同。這些不同引入了新的編程問題,最大的問題在于易用性。由于ajax依賴瀏覽器的javascript和xml,瀏覽器的兼容性和支持的標準也變得和javascript的運行時性能一樣重要了。這些問題中的大部分來源于瀏覽器、服務

35、器和技術的組合,因此必須理解如何才能最好的使用這些技術。綜合各種變化的技術和強耦合的客戶服務端環(huán)境,ajax提出了一種新的開發(fā)方式。ajax開發(fā)人員必須理解傳統(tǒng)的mvc架構,這限制了應用層次之間的邊界。同時,開發(fā)人員還需要考慮cs環(huán)境的外部和使用ajax技術來重定型mvc邊界。最重要的是,ajax開發(fā)人員必須禁止以頁面集合的方式來考慮web應用而需要將其認為是單個頁面。一旦ui設計與服務架構之間的范圍被嚴格區(qū)分開來后,開發(fā)人員就需要更新和變化的技術集合了。2.4.5 jfreechart介紹jfreechart是java平臺上的一個開放的圖表繪制類庫。它完全使用java語言編寫,是為appli

36、cations, applets, servlets 以及jsp等使用所設計。jfreechart可生成餅圖(pie charts)、柱狀圖(bar charts)、散點圖(scatter plots)、時序圖(time series)、甘特圖(gantt charts)等等多種圖表,并且可以產(chǎn)生png和jpeg格式的輸出,還可以與pdf和excel關聯(lián)。2.4.6 jxl介紹jxl.jar:通過java操作excel表格的工具類庫,支持excel 95-2000的所有版本,生成excel 2000標準格式,支持字體、數(shù)字、日期操作,能夠修飾單元格屬性,支持圖像和圖表。應該說以上功能已經(jīng)能夠大

37、致滿足我們的需要。最關鍵的是這套api是純java的,并不依賴windows系統(tǒng),即使運行在linux下,它同樣能夠正確的處理excel文件。另外需要說明的是,這套api對圖形和圖表的支持很有限,而且僅僅識別png格式。2.4.7 jsp介紹jsp技術使用java編程語言編寫類xml的tags和scriptlets,來封裝產(chǎn)生動態(tài)網(wǎng)頁的處理邏輯。網(wǎng)頁還能通過tags和scriptlets訪問存在于服務端的資源的應用邏輯。jsp將網(wǎng)頁邏輯與網(wǎng)頁設計和顯示分離,支持可重用的基于組件的設計,使基于web的應用程序的開發(fā)變得迅速和容易。 web服務器在遇到訪問jsp網(wǎng)頁的請求時,首先執(zhí)行其中的程序段,

38、然后將執(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ī)范的征求意見稿也已出臺。jsp頁面由html代碼和嵌入其中的java代碼所組成。服務器在頁面被客戶端請求以后對這些java代碼進行處理,然后將生成的html頁面返回給客戶端的瀏覽器。java serv

39、let 是jsp的技術基礎,而且大型的web應用程序的開發(fā)需要java servlet和jsp配合才能完成。jsp具備了java技術的簡單易用,完全的面向?qū)ο?,具有平臺無關性且安全可靠,主要面向因特網(wǎng)的所有特點。 自jsp推出后,眾多大公司都支持jsp技術的服務器,如ibm、oracle、bea公司等,所以jsp迅速成為商業(yè)應用的服務器端語言。672.5 與同類開發(fā)技術的比較 php3可在windows,unix,linux的web服務器上正常執(zhí)行,還支持iis,apache等一般的web服務器,用戶更換平臺時,無需變換php3代碼,可即拿即用。 jsp同php3類似,幾乎可以執(zhí)行于所有平臺。

40、如win nt,linux,unix。在nt下iis通過一個外加服務器,例如jrun或者servletexec,就能支持jsp。知名的web服務器apache已經(jīng)能夠支持jsp。由于apache廣泛應用在nt、unix和linux上,因此jsp有更廣泛的執(zhí)行平臺。雖然現(xiàn)在nt操作系統(tǒng)占了很大的市場份額,但是在服務器方面unix的優(yōu)勢仍然很大,而新崛起的linux更是來勢不小。從一個平臺移植到另外一個平臺,jsp和javabean甚至不用重新編譯,因為java字節(jié)碼都是標準的與平臺無關的。 asp是microsoft開發(fā)的動態(tài)網(wǎng)頁語言,也繼承了微軟產(chǎn)品的一貫傳統(tǒng),只能執(zhí)行于微軟的服務器產(chǎn)品,ii

41、s(internet information server) (windows nt)和pws(personal web server)(windows 98)上。unix下也有chilisoft的組件來支持asp,但是asp本身的功能有限,必須通過aspcom的群組合來擴充,unix下的com實現(xiàn)起來非常困難。l 性能比較 有人做過試驗,對這三種語言分別做回圈性能測試及存取oracle數(shù)據(jù)庫測試。 在循環(huán)性能測試中,jsp只用了令人吃驚的四秒鐘就結束了2000020000的回圈。而asp、php測試的是20002000循環(huán)(少一個數(shù)量級),卻分別用了63秒和84秒。(參考phplib)。 數(shù)

42、據(jù)庫測試中,三者分別對 oracle 8 進行 1000 次 insert,update,select和delete: jsp 需要 13 秒,php 需要 69 秒,asp則 需要 73 秒。 l 前景分析 目前在國內(nèi)php與asp應用最為廣泛。而jsp由于是一種較新的技術,國內(nèi)采用的較少。但在國外,jsp已經(jīng)是比較流行的一種技術,尤其是電子商務類的網(wǎng)站,多采用jsp。 采用php的網(wǎng)站如新浪網(wǎng)(sina)、中國人(chinaren)等,但由于php本身存在的一些缺點,使得它不適合應用于大型電子商務站點,而更適合一些小型的商業(yè)站點。首先,php缺乏規(guī)模支持。其次,缺乏多層結構支持。對于大負荷

43、站點,解決方法只有一個:分布計算。數(shù)據(jù)庫、應用邏輯層、表示邏輯層彼此分開,而且同層也可以根據(jù)流量分開,群組成二維數(shù)組。而php則缺乏這種支持。還有上面提到過的一點,php提供的數(shù)據(jù)庫接口支持不統(tǒng)一,這就使得它不適合運用在電子商務中。 asp和jsp則沒有以上缺陷,asp可以通過microsoft windowsd的com/dcom獲得activex規(guī)模支持,通過dcom和transcation server獲得結構支持;jsp可以通過sun java的java class和ejb獲得規(guī)模支持,通過ejb/corba以及眾多廠商的application server獲得結構支持。 三者中,jsp

44、應該是未來發(fā)展的趨勢。世界上一些大的電子商務解決方案提供商都采用jsp/servlet。比較出名的如ibm的ebusiness,它的核心是采用jsp/servlet的web sphere。它們都是通過cgi來提供支持的。但去年10月后它推出了enfinity,一個采用jsp/servlet的電子商務application server,而且聲言不再開發(fā)傳統(tǒng)軟件。 第三章 系統(tǒng)分析3.1 系統(tǒng)總體需求3.1.1 功能分析本系統(tǒng)共有4類用戶,分別是學生、教師、院領導、系統(tǒng)管理員。學生具有選題功能;教師具有創(chuàng)建課題的與選擇學生的功能;院領導具有審核課題的功能;系統(tǒng)管理員具有對各類用戶、課題等進行管理

45、的功能。系統(tǒng)各類模塊共有16個。本人所負責的是學生和系統(tǒng)管理員。下面介紹本人負責的模塊:學生: 學生用戶分成三個模塊,分別是個人中心、課題檢索、課題選擇。l 個人中心模塊提供了個人資料的查看與修改、個人密碼的修改等功能。l 課題檢索模塊提供了供選擇的課題信息的查看、課題資料的查看(包括該課題的選題情況)、導師資料的查看(包括該導師的所有課題信息)等功能。l 課題選擇模塊提供了課題選擇、查看已選課題等功能。系統(tǒng)管理員:管理員用戶分成七個模塊,分別是院系職稱管理、用戶管理、課題管理、選題管理、統(tǒng)計管理、系統(tǒng)設置、數(shù)據(jù)管理等。l 院系職稱管理模塊提供了學院專業(yè)、年級、班級、教師職稱、院領導職稱的添加

46、、刪除、修改功能。l 用戶管理模塊提供了學生、教師、院領導、系統(tǒng)管理員等各類用戶的添加、刪除、修改功能。l 課題管理模塊提供了課題類別、課題信息的添加、刪除、修改功能。l 選題管理模塊提供了學生選擇課題的信息和教師選擇學生的信息的查看、修改功能。l 統(tǒng)計管理模塊提供了用戶、課題、選題等信息的統(tǒng)計功能。l 系統(tǒng)設置模塊提供了導師的命題時間、最大命題數(shù)量、每個課題的最大選題人數(shù)、課題的類別、學院領導的審題時間、學生的選題時間、選題志愿數(shù)量的查看、修改功能。l 數(shù)據(jù)管理模塊提供了各類用戶數(shù)據(jù)的批量導入、導出,選題結果的導出功能。3.1.2 用例分析 本系統(tǒng)分4類用戶,分別是學生、教師、院領導、系統(tǒng)管

47、理員。本人所負責的是學生和系統(tǒng)管理員。下面就介紹下本人的模塊學生和系統(tǒng)管理員。學生用戶用例圖如圖3.1所示:圖3.1 學生用例圖系統(tǒng)管理員用戶用例圖如圖3.2所示:圖3.2 管理員用例圖3.2 系統(tǒng)業(yè)務分析本系統(tǒng)整個業(yè)務流程如下:導師創(chuàng)建新的命題,并將命題提交給院領導審核,院領導完畢后交由學生進行選題,學生選題完畢后,該命題的導師根據(jù)學生的選題情況進行學生的選擇,最后,由系統(tǒng)進行撮合,完成整個選題過程。后臺管理員通過登錄驗證獲得后臺管理權限,可以修改選題的各個功能,完成選題結果的發(fā)布。系統(tǒng)的活動圖,如圖3.3所示。圖3.3 系統(tǒng)活動圖系統(tǒng)的時序圖,如圖3.4所示。圖3.4 系統(tǒng)時序圖第四章 系

48、統(tǒng)設計4.1 系統(tǒng)體系結構本系統(tǒng)設計采用典型的三層結構模式:第一層jsp頁面主要實現(xiàn)對管理界面的顯示和解釋、中間層javabean組件實現(xiàn)對數(shù)據(jù)庫的操作和前臺頁面的生成工作,第三層數(shù)據(jù)庫服務器主要對系統(tǒng)提高數(shù)據(jù)服務。中間層的javabean組件主要封裝了對數(shù)據(jù)庫的查詢、修改、刪除工作。系統(tǒng)結構圖,如圖4.1所示。serversql server 2000 javabeanweb browserclient圖4.1 系統(tǒng)結構圖4.2 系統(tǒng)數(shù)據(jù)庫系統(tǒng)采用microsoft公司的sql server2000數(shù)據(jù)庫表名及字段名在sql server2000數(shù)據(jù)庫中都用英文表示,比較復雜的字段名用英文詞

49、組表示。第一位都以大字字母表示。一個結構設計優(yōu)良的數(shù)據(jù)庫是實現(xiàn)信息網(wǎng)強大管理功能的堅實基礎。4.3 系統(tǒng)uml類圖本系統(tǒng)的實體類包括有用戶實體類,其中學生、教師、院領導、系統(tǒng)管理員是繼承同一個用戶類。教師信息表和課題類別表通過發(fā)布形成課題信息表,課題信息表和學院領導信息表通過審核形成課題審核表,課題審核表和學生信息表通過選題形成最初選題表。uml類圖,如圖4.2所示。圖4.2 系統(tǒng)uml類圖4.4 系統(tǒng)數(shù)據(jù)庫表設計本系統(tǒng)共有19張表,如表4.3至表4.21所示:表4.3 userbasicuserbasic:用戶基本表,主要描述用戶的基本信息。列名數(shù)據(jù)類型(精度范圍)空/非空約束條件描述use

50、r_idnvarchar(20)非空主用戶名passwordnvarchar(20)非空密碼powernvarchar(10)非空權限namenvarchar(20)空姓名sexnvarchar(2)空男,女性別photographnvarchar(100)空照片emailnvarchar(20)空郵箱cellphonenvarchar(20)空手機號碼補充說明權限默認為”0”,表示不具有該權限。為”1”表示具有該權限。分別對應學生、教師、學院領導、系統(tǒng)管理員。例如:“1,0,1,0”表示該用戶同時具有學生權限、學院領導權限。每一種權限都對應相關信息表中的用戶。例如:一個具有學生、教師權限的用

51、戶,他的用戶名一定存在學生信息表和教師信息表中表4.4 studentinfostudentinfo:學生信息表,主要描述學生用戶的信息。列名數(shù)據(jù)類型(精度范圍)空/非空約束條件描述user_idnvarchar(20)非空主、外(userbasic)用戶名(使用學號)academynvarchar(20)空學院gradenvarchar(20)空年級majornvarchar(20)空專業(yè)classesnvarchar(20)空班級introductionnvarchar(500)空個人簡介補充說明該表保存具有學生權限的用戶的信息表4.5 teacherinfoteacherinfo:教師信

52、息表,主要描述教師用戶的信息。列名數(shù)據(jù)類型(精度范圍)空/非空約束條件描述user_idnvarchar(20)非空主、外(userbasic)用戶名(使用教師號)academynvarchar(20)空學院postnvarchar(20)空職稱introductionnvarchar(500)空個人簡介補充說明該表保存具有教師權限的用戶的信息表4.6 leaderinfoleaderinfo:學院領導信息表,主要描述學院領導用戶的信息。列名數(shù)據(jù)類型(精度范圍)空/非空約束條件描述user_idnvarchar(20)非空主、外(userbasic)用戶名(使用學院領導號)academynva

53、rchar(20)空學院postnvarchar(20)空職稱introductionnvarchar(500)空個人簡介補充說明該表保存具有學院領導權限的用戶的信息表4.7 admininfoadmininfo:系統(tǒng)管理員信息表,主要描述系統(tǒng)管理員用戶的信息。列名數(shù)據(jù)類型(精度范圍)空/非空約束條件描述user_idnvarchar(20)非空主、外(userbasic)用戶名(使用系統(tǒng)管理員號)補充說明該表保存具有系統(tǒng)管理員權限的用戶的信息表4.8 gradegrade:年級表,主要描述年級的信息。列名數(shù)據(jù)類型(精度范圍)空/非空約束條件描述gradenvarchar(20)非空主年級補充

54、說明該表保存年級的信息,如:06級表4.9 classesclasses:班級表,主要描述班級的信息。列名數(shù)據(jù)類型(精度范圍)空/非空約束條件描述classesnvarchar(20)非空主班級信息補充說明該表保存班級的信息,如:4班表4.10 academyacademy:學院表,主要描述學院的信息。列名數(shù)據(jù)類型(精度范圍)空/非空約束條件描述academynvarchar(20)非空主學院信息補充說明該表保存學院的信息,如:軟件學院表4.11 majormajor:專業(yè)表,主要描述專業(yè)的信息。列名數(shù)據(jù)類型(精度范圍)空/非空約束條件描述academynvarchar(20)非空外(academy),2屬性唯一學院信息majornvarchar(20)非空主專業(yè)信息補充說明該表保存學院的信息,如:軟件學院表4.12 postteacherpostteacher:教師職稱表,主要描述教師職稱的信息。列名數(shù)據(jù)類型(精度范圍)空/非空約束條件描述postnvarchar(20)非空主教師職稱信息補充說明該表保存教師

溫馨提示

  • 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論