面向服務架構內容管理系統的設計與實現_第1頁
面向服務架構內容管理系統的設計與實現_第2頁
面向服務架構內容管理系統的設計與實現_第3頁
面向服務架構內容管理系統的設計與實現_第4頁
面向服務架構內容管理系統的設計與實現_第5頁
已閱讀5頁,還剩66頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

1、濟南大學畢業設計濟南大學畢業設計 2 - 1 -畢業設計題 目面向服務架構的內容管理系統設計與實現 學 院XXXXXXXXXXXX專 業XXXXX班 級XXXXXX學 生XXXXXX學 號XXXXXXX指導教師XXXXX二XX年 六 月 十 日濟南大學畢業設計 PAGE 64 -摘 要在高校信息化進程中,內容管理系統扮演者非常重要的角色,各種教學資源(課件、視頻、文檔、圖像等)的存儲、各個門戶網站、各個教學輔助系統,歸根結底都是內容管理系統。傳統的內容管理系統都是單獨設計分散部署的,這樣會造成大量的資源浪費,本課題利用面向服務架構設計實現一個內容資源統一存放,WEB前端分布式部署的內容管理系統

2、,從而提高存儲的效率,降低系統的耦合度,提高系統的靈活性。課題研究展開的過程中,我學習了Java EE技術及相關知識,包括JSP、EJB、Servlet、JDBC、XML、JNDI等技術,以及Struts框架、Spring框架、Hibernate和Web Service技術;對內容管理系統進行詳細的需求分析和設計;學習面向服務的架構,實現分布式內容管理系統的架構設計;內容管理系統主要功能的實現,包括權限管理、內容資源的顯示、內容資源的添加修改刪除等;學習ExtJs框架,從而簡化前端界面的開發。通過對本課題的研究和設計,我鞏固了之前學過的知識,如SSH框架,也學到了很多新知識,如ExtJs框架、

3、CXF框架,設計出了預想中的系統,基本實現了要求的功能。同時該系統也存在一定的不足,界面設計還不夠人性化,這一點有待改善。關鍵詞:內容管理系統;面向服務架構;SSH框架;ExtJs框架;CXF框架ABSTRACTIn the progress of informationization in University, the content management system play an important role. The storage of all teaching resources(Courseware, Videos, Files, and so on )contents re

4、sources、all portals、all assistant system of teaching, all the above fall into content management system in the final analysis. Traditional content management systems are designed solely and deployed dispersedly, which lead to tremendous wasting of resources.This project use SOA to implement a conten

5、t management system which store contents resources uniformly and deploy Front-ends of WEB distributedly . Then, the system will improve the efficiency of storage and reduce the degree of coupling,whats more , it will improve the flexibility of the system.With the expanding of the project, I study Ja

6、va EE technology and some knowledge about it,including JSP, EJB, Servlet, JDBC, XML, JNDI , Struts frame, Spring frame, Hibernate frame and Web Service technology; Do requirement analysis and system design in details, and do UML modeling about the content management system; Study SOA architecture, a

7、nd then realize the design of distributive system; Realize main functions of the system, including authority management, the display, add, delete, modify of contents resources.Through studying and designing the project, I consolidate the knowledge that I ever studied, such as SSH frame, and at the s

8、ame time, I learned a lot of new knowledge, such as ExtJs frame,CXF frame. What is the most important is that I design the expected system which realize requested functions. But there still exist some deficiencies,for example it is not enough in humanization,which need further improved. Keywords:Con

9、tent management system; SOA; SSH frame; ExtJs frame; CXF frame目錄TOC o 1-3 h z u HYPERLINK l _Toc294905626 摘 要 PAGEREF _Toc294905626 h I HYPERLINK l _Toc294905627 ABSTRACT PAGEREF _Toc294905627 h II HYPERLINK l _Toc294905628 1前言 PAGEREF _Toc294905628 h 1 HYPERLINK l _Toc294905629 1.1系統目的 PAGEREF _Toc

10、294905629 h 1 HYPERLINK l _Toc294905630 1.2系統背景 PAGEREF _Toc294905630 h 1 HYPERLINK l _Toc294905631 1.3系統使用對象及范圍 PAGEREF _Toc294905631 h 2 HYPERLINK l _Toc294905632 1.4論文的組織結構 PAGEREF _Toc294905632 h 3 HYPERLINK l _Toc294905633 2需求分析 PAGEREF _Toc294905633 h 4 HYPERLINK l _Toc294905634 2.1功能要求 PAGERE

11、F _Toc294905634 h 4 HYPERLINK l _Toc294905635 2.1.1學生功能要求 PAGEREF _Toc294905635 h 4 HYPERLINK l _Toc294905636 2.1.2教師功能要求 PAGEREF _Toc294905636 h 4 HYPERLINK l _Toc294905637 2.1.3管理員功能要求 PAGEREF _Toc294905637 h 5 HYPERLINK l _Toc294905638 2.2性能要求 PAGEREF _Toc294905638 h 6 HYPERLINK l _Toc294905639 2

12、.3可靠性要求 PAGEREF _Toc294905639 h 7 HYPERLINK l _Toc294905640 2.4出錯處理要求 PAGEREF _Toc294905640 h 7 HYPERLINK l _Toc294905641 3概要設計 PAGEREF _Toc294905641 h 8 HYPERLINK l _Toc294905642 3.1系統實現環境 PAGEREF _Toc294905642 h 8 HYPERLINK l _Toc294905643 3.2整體架構 PAGEREF _Toc294905643 h 8 HYPERLINK l _Toc29490564

13、4 3.3UML建模 PAGEREF _Toc294905644 h 8 HYPERLINK l _Toc294905645 3.4數據模型 PAGEREF _Toc294905645 h 10 HYPERLINK l _Toc294905646 3.4.1基本實體 PAGEREF _Toc294905646 h 10 HYPERLINK l _Toc294905647 3.4.2各模塊系統 PAGEREF _Toc294905647 h 13 HYPERLINK l _Toc294905648 4詳細設計 PAGEREF _Toc294905648 h 15 HYPERLINK l _Toc

14、294905649 4.1數據庫設計 PAGEREF _Toc294905649 h 15 HYPERLINK l _Toc294905650 4.1.1數據庫命名規范 PAGEREF _Toc294905650 h 15 HYPERLINK l _Toc294905651 4.1.2對應表設計 PAGEREF _Toc294905651 h 15 HYPERLINK l _Toc294905652 4.2原型設計 PAGEREF _Toc294905652 h 18 HYPERLINK l _Toc294905653 5技術框架 PAGEREF _Toc294905653 h 19 HYPE

15、RLINK l _Toc294905654 5.1ExtJs框架 PAGEREF _Toc294905654 h 19 HYPERLINK l _Toc294905655 5.2CXF框架 PAGEREF _Toc294905655 h 20 HYPERLINK l _Toc294905656 5.3SSH框架 PAGEREF _Toc294905656 h 20 HYPERLINK l _Toc294905657 5.4技術總結 PAGEREF _Toc294905657 h 23 HYPERLINK l _Toc294905658 6編碼與測試 PAGEREF _Toc294905658

16、h 26 HYPERLINK l _Toc294905659 6.1服務端開發 PAGEREF _Toc294905659 h 26 HYPERLINK l _Toc294905660 6.1.1Model層開發 PAGEREF _Toc294905660 h 26 HYPERLINK l _Toc294905661 6.1.2Dao層開發 PAGEREF _Toc294905661 h 27 HYPERLINK l _Toc294905662 6.1.3Service層開發 PAGEREF _Toc294905662 h 27 HYPERLINK l _Toc294905663 6.1.4S

17、ervice.xml配置文件舉例 PAGEREF _Toc294905663 h 28 HYPERLINK l _Toc294905664 6.1.5Applicationcontext.xml配置文件舉例 PAGEREF _Toc294905664 h 29 HYPERLINK l _Toc294905665 6.2客戶端開發 PAGEREF _Toc294905665 h 29 HYPERLINK l _Toc294905666 6.2.1Model層開發 PAGEREF _Toc294905666 h 29 HYPERLINK l _Toc294905667 6.2.2Service層開

18、發 PAGEREF _Toc294905667 h 29 HYPERLINK l _Toc294905668 6.2.3Action層開發 PAGEREF _Toc294905668 h 30 HYPERLINK l _Toc294905669 6.2.4Applicationcontext.xml配置文件舉例 PAGEREF _Toc294905669 h 31 HYPERLINK l _Toc294905670 6.2.5Jsp頁面開發 PAGEREF _Toc294905670 h 31 HYPERLINK l _Toc294905671 6.3測試及效果圖 PAGEREF _Toc29

19、4905671 h 31 HYPERLINK l _Toc294905672 結 論 PAGEREF _Toc294905672 h 36 HYPERLINK l _Toc294905673 參 考 文 獻 PAGEREF _Toc294905673 h 37 HYPERLINK l _Toc294905674 致 謝 PAGEREF _Toc294905674 h 38前言系統目的在高校信息化進程中,內容管理系統扮演者非常重要的角色,各種教學資源(課件、視頻、文檔、圖像等)的存儲、各個門戶網站、各個教學輔助系統,歸根結底都是內容管理系統。傳統的內容管理系統都是單獨設計分散部署的,這樣會造成大

20、量的資源浪費,本課題利用面向服務架構設計實現一個內容資源統一存放,WEB前端分布式部署的內容管理系統,大大提高存儲的效率,降低系統的耦合度,提高系統的靈活性。系統背景近幾十年來,由于計算機技術和網絡技術迅猛發展,全世界已經進入了信息社會的時代。大量的信息存儲和管理成為我們面臨的一個重要問題,特別是隨著網絡的普遍使用,各行各業都積累了大量的信息資源,如電子郵件、視頻音頻資料、辦公文檔、文件、表格等等,這些給網站的信息更新和維護工作帶了很大的困難,同時也產生了許許多多的問題,比如頁面制作無序,網站風格不統一,大量信息堆積,發布顯得異常沉重,內容繁雜,手工管理效率低下等等。于是,科學管理和合理開發這

21、些內部和外部信息資源已經成為人們關注的焦點,在這一背景下內容管理系統CMS(Content Management System)應運而生,來有效解決用戶網站建設與信息發布中常見的問題和需求。對網站內容管理是內容管理系統的最大優勢,它流程完善、功能豐富,可把內容分門別類并授權給不同用戶進行編輯管理。CMS是一種位于Web前端、Web服務器、以及后端辦公系統或流程(內容創作、編輯)之間的軟件系統,其功能比較多,模塊通用性比較強強,管理起來很方便,應用也很廣泛。 目前,國內CMS主要有以下幾大類:第一類,面向政府和事業單位的內容管理系統,其特點是用戶間的需求差距較大,內容管理只是一個大的系統中的某一

22、個部分,一個網站中可能有多個CMS系統。一般在實施時要求訂制開發,不可能用現成產品來滿足需求。這樣的解決方案有:WITS、中關村軟件、方正祥羽、清華萬博等。第二類,針對政府、媒體、ICP、大型企業的內容管理系統,其特點是維護內容的人數多,水平有高有低,但是需求比較明確,做各種類型的信息發布平臺,要求承受產品級的解決方案。相應的產品有:TurboCMS、TRS WCM、龍訊。第三類,針對企業、個人的內容管理系統,特點為用戶是網站技術愛好者,喜歡鉆研。需求上可能比較復雜,比如要跟BBS、用戶注冊等應用集成在一起,滿足個性化的需求,最好有原代碼,可以自己根據需要修改等等。國內做的比較好的內容管理系統

23、有:新浪的CMS,它是用C+制作的,重點強調數據結構的豐富,功能非常強大;評論回復系統做的最好的是網易,延伸閱讀做得也不錯;搜狐的圖庫系統做得最好。其他的網站功能如搜索引擎、日歷、Web郵件等也會以第三方插件的形式集成進來。 本系統主要是研究面向高校的內容管理系統。在高校信息化進程中,內容管理系統扮演者非常重要的角色,各種教學資源(課件、視頻、文檔、圖像等)的存儲、各個門戶網站、各個教學輔助系統,歸根結底都是內容管理系統。傳統的內容管理系統都是單獨設計分散部署的,這樣會造成大量的資源浪費,本課題利用面向服務架構設計實現一個內容資源統一存放,WEB前端分布式部署的內容管理系統,大大提高存儲的效率

24、,降低系統的耦合度,提高系統的靈活性。在當今的項目開發中,需要用到SOA(service-oriented architecture)概念的地方越來越多,比如有些項目會有這樣的需求:在.net開發的客戶端系統中訪問java開發的系統,像這樣的需求就需要用到WebService進行信息數據的操作。面向服務的體系架構是一種比較新的技術架構,利用這一架構進行系統開發時,首先要從整體上加以理解,SOA的關鍵是服務,開發的思路是首先將功能拆分為組件,然后用服務包裝這些組建,提供給系統終端使用。系統使用對象及范圍本系統的用戶主要分為管理員、教師、學生等角色。下面我們來具體闡述其各自的大致權限。(1)管理員

25、:管理員擁有自己唯一的登錄賬號,并使用其登陸賬號登錄系統的后臺,對各種課程、資源和用戶進行管理。(2)教師:本校老師可以有一個后臺管理,用已有的ID和密碼登陸,可以管理相應的資源,管理個人信息,查看選課學生等。(3)學生:可以用自己的學號登陸,查看所有老師的各種資源以及個人選課情況,還可以修改個人的一些信息。更加清晰直觀的系統使用對象及范圍如表1.1所示:表1.1 使用對象表系統名稱 使用對象 使用范圍面向服務架 管理員允許后臺登錄,修改、刪除、整理各種資源,管理用戶,修改菜單。構的內容管 教師 允許登錄,修改個人信息,上傳圖片、視頻和文檔,編輯和修改已存在的文件理系統 學生 允許登錄,修改個

26、人信息,查看選課情況,訪問系統資源,下載文件,留言論文的組織結構全文共分為九個部分第一部分是前言,主要介紹系統目的以及開發背景,闡述了國內外相關技術的研究現狀,以及該系統的使用對象及范圍。第二部分是需求分析,主要介紹系統的功能要求、性能要求、可靠性要求、出錯處理要求等內容。第三部分是概要設計,主要介紹系統實現環境,系統整體架構,功能模型,數據模型,各模塊系統以及E-R圖,對系統進行UML建模。第四部分是詳細設計,主要介紹數據庫設計,以及原型設計方法。第五部分是技術總結,主要是對開發過程中遇到的技術問題進行總結。第六部分是編碼與測試,對編碼流程進行舉例,包括服務器端開發和客戶端開發,以及兩端開發

27、的不同,對系統進行功能測試。第七部分是結論,主要對系統整體設計和完成情況進行總結。第八部分是參考文獻,列出了做設計和寫論文過程中所參考到的中英文的文獻。第九部分是致謝,感謝大學四年幫助和教育過我的所有人,特別是在做設計和寫論文過程中予以指導的老師和同學們。需求分析需求分析即了解用戶的真實需求,為了開發出真正滿足用戶需求的系統,首先必須知道用戶的需求。對需求的深入理解是系統開發成功的前提條件。在需求分析階段要確定系統必須完成的工作,也就是對目標系統提出完整、準確、清晰、具體的要求。本文從功能要求、性能要求、可靠性要求、出錯處理要求等方面來進行需求分析,其中功能要求是本文需求分析的重點。功能要求功

28、能要求是需求分析很重要的一個部分,這一部分的內容對整個系統的可用性起著決定性作用,因此對功能要求要做仔細認真的分析。下面我們將從學生功能要求、教師功能要求、管理員功能要求三個方面進行分析。學生功能要求對本系統來說,學生這個角色的功能主要包括選擇要學習的課程,這樣就可以通過數據庫記錄選課學生的信息,從而便于統計和管理。學生還可以查看系統資源,比如查看系統上的視頻、圖片、文檔等教學資源。修改個人信息,學生登錄系統后,可以修改個人信息,并更新保存到數據庫。這些功能,如表2.1所示。表2.1學生功能要求功能功能描述選課功能選擇要學習的課程瀏覽資源瀏覽相應教學資源(視頻、圖片、文檔)個人資料維護個人資料

29、教師功能要求對本系統來說,教師這個角色的功能主要有對所教課程進行管理,教師對課程的管理主要是查看所教課程的相關信息,比如該課程是在哪個學期開設、以及每周幾上課等等一些信息。對資源進行管理,主要是相應的教學資源,如視頻資源、圖片資源以及文檔資源等等進行增刪改查等操作,還可以查看其他人上傳的資源。還能查看選擇所教課程的學生,比如想查看有多少人選本門課程,以及這些學生的信息,從而便于實體課堂的管理。最后就是個人基本信息的維護了,可以修改個人相關信息。如表2.2所示。表2.2教師功能要求功能功能描述課程管理查看所教課程的相關信息,如開課學期等資源管理管理自己上傳的資源,如增刪改查,查看其他人上傳的資源

30、本門課學生查看查看選擇本門課程(教師為自己)的學生個人資料維護個人資料管理員功能要求對本系統來說,管理員這個角色是一個很重要的角色,其功能最多,權限最大。管理員要對用戶進行管理,比如當需要增加用戶時,只有管理員有權限進行用戶的添加,同樣減少用戶也一樣,只有管理員才有權限刪除相應的用戶,因為增刪用戶這種操作權限不可以隨便賦予,否則系統會發生紊亂。用戶的管理還包括修改用戶信息和搜索指定用戶,這兩個操作不只是管理員才行,但管理員的權限最大,因為比如用戶本身也可以修改自己的信息,但是不能修改其他用戶的信息,老師也可以查看學生信息,但是只能查看選擇相應課程的學生信息。菜單管理是本系統的一種個性化需求,管

31、理員可以為系統添加新菜單,添加的菜單可以指向特定的網頁,從而使系統內容更加豐富,另外在系統使用的過程中,可能有些菜單不合時宜,那我們還可以將其刪除,或者修改菜單信息,這樣就增加了系統的靈活性,當我們想要查看某個菜單的內容是,不需要從頭開始查找,因為有搜索菜單的功能,只要輸入想要查找的菜單的名稱,就可以很快找到。關于學生管理功能,當有新學生要加入系統時,我們可以添加相應學生的信息到數據庫中,對于需要修改的學生信息,也可以進行修改,對于已經畢業或者退學的學生,即要退出本系統的學生,我們可以將其信息進行刪除,當我們想要查找某個學生的信息時,只要在搜索學生功能板塊輸入學生的學號即可查詢。管理員還需要對

32、教師進行管理,當有新教師要加入系統時,要能夠添加教師信息到數據庫,當教師信息需要修改時,要能夠對其進行修改并更新保存到數據庫,當有教師要退出系統時,可以對其信息進行刪除,當要查找相應教師信息時,可以在系統的教師搜索板塊輸入教工號進行查找。課程管理也是很重要的部分,主要是當有新課程要加入該系統時,要能夠添加新課程信息到數據庫,當課程信息需要修改時,要能夠修改并更新保存到數據庫中,當課程結束時,要能夠將課程信息從數據庫中刪除,管理員還要能夠查看選課學生信息,包括有選課人數,選課學生詳細信息等,當要查看課程信息時,為了方便起見,要有一個板塊供我們方便的搜索課程,比如輸入課程名或者課程代號就可以方便的

33、搜索到要找的課程。對資源進行管理,主要有視頻資源、圖片資源和文檔資源,要能夠對這些資源進行增刪改查等基本操作。為了更直觀的了解管理員功能要求,方便系統設計和開發,特制訂了如下表格,如表2.3所示。表2.3管理員功能要求功能功能描述用戶管理添加用戶,修改用戶信息,刪除用戶,搜索用戶;菜單管理添加新菜單,修改菜單信息,刪除菜單,搜索菜單;學生管理添加學生,修改學生信息,刪除學生,搜索學生;教師管理添加教師,修改教師信息,刪除教師,搜索教師;課程管理添加課程,修改課程,刪除課程,查看選課學生,搜索課程;視頻資源管理添加視頻資源,修改視頻信息,刪除視頻,播放視頻,搜索視頻;圖片資源管理搜索圖片,查看圖

34、片,添加圖片,修改圖片信息,刪除圖片;課件資源管理課件資源的上傳、刪除、修改、查看、搜索;性能要求闡述不同應用領域對該內容管理系統性能的要求,并且說明提出需求的原理或者依據,以便開發時做出合理的設計選擇。(1)基礎平臺(平臺管理系統):具備用戶和權限管理(三類用戶:管理員、教師、學生)(2)平臺內容管理系統:管理員可進行用戶管理及角色管理,實現菜單的增刪改查,教師可登陸系統進行對應資源的管理,學生可以登陸系統進行選課和查看相應資源。(3)交互系統:滿足教師、學生間相互交流,如留言。 (4)平臺課件內容存儲和管理應基于數據庫系統,實現動態管理(5)每個站點都獨自發布,互不干涉,根據自己的資料更新

35、情況進行自動發布,不同的站點發布生成的頁面自動部署到不同的Web服務器上(6)系統必須能運行在如下的操作系統及數據庫上,最好能適應多種操作系統,應用服務器的部署需要:操作系統Windows 2000 Advance Server; Windows XP; Linux數據庫系統使用MySql通訊接口采用TCP/IP、HTTP網絡協議。(7)要求的性能指標:系統平均無故障運行時間大于99%頁面響應時間在五秒以內可靠性要求能保證在并發高峰時,系統的訪問速度不能有明顯的下降。(2)能保證系統長期正常穩定的運行。出錯處理要求當出現錯誤時,有明顯的錯誤提示信息。(2)當出現硬件當機時,能夠完成對數據的自我

36、保護。概要設計系統實現環境(1)前端開發語言的選擇:Java EE(2)基本框架:Struts2、Spring、Hibernate(3)運行服務器:Apache Tomcat(4)前端開發工具的選擇:Eclipse(5)后臺數據庫的選擇:MySql整體架構系統的整體架構是采用的面向服務的架構,之所以選擇此架構是因為面向服務架構有其獨特的優勢,其特點主要有靈活性強以及較低的耦合度,可以實現本課題所研究的內容資源統一存放,Web前端分布式部署。本課題所研究的系統實現的架構大致為在服務器端發布一些服務,在客戶端調用相應的服務,如圖3.1所示,在服務器端主要發布的服務包括基本信息管理服務,資源管理服務

37、,權限管理服務,登陸管理服務,還有留言管理服務等:圖3.1 整體架構圖UML建模本系統中的對象主要有管理員、教師、學生、用戶、視頻資源、圖片資源等,這些對象有各自的屬性和方法,比如管理員的基本屬性是Id和名字,其基本方法是對資源和用戶等進行增刪改查等。學生的基本屬性也是Id和姓名,基本方法是對選課信息和個人信息進行增刪改查。教師基本信息是Id和姓名,基本方法是對課程和資源進行增刪改查。用戶基本屬性是Id、姓名和密碼,管理員、學生和教師都是用戶,其基本方法也是增刪改查。課程的基本屬性是Id和課程名以及教師外鍵,基本方法包括增刪改查。視頻資源和圖片資源的基本屬性都是Id和資源名,基本方法也都是增刪

38、改查。這些對象之間存在的關系主要有學生選課、教師教課、用戶管理資源等。對本系統進行UML建模如下,如圖3.2所示。圖3.2UML類圖從UML類圖中我們可以清楚的了解系統中各個對象的屬性、方法、以及它們之間的關系,對我們下一步的編碼設計有很好的參考和指導作用,另外為了更好的進行下一步的設計,我們最好再畫一個時序圖,如圖所示3.3所示,從圖中我們可以很清晰的了解系統用戶使用本系統時的功能流程。圖3.3 時序圖數據模型基本實體本系統主要的實體有:管理員,教師,學生,課程,資源,菜單。其中管理員的屬性信息有用戶名、密碼、昵稱、角色、狀態。教師的屬性信息有教工號、姓名、性別、所在學院、電子郵箱、電話號碼

39、、職稱、備注。學生的屬性信息有學號、姓名、性別、電子郵箱、電話號碼、手機號碼、所在學院、所在班級、所屬專業。課程的屬性信息有課程代號、課程名稱、開課學期、學分、任課教師的Id、所屬學院、必修選修屬性、最大選課數、課程介紹。教學資源的屬性信息有搜索名稱、物理存儲名稱、大小、存儲地址、上傳者、資源類型(視頻、圖片、文檔)、備注。菜單這個實體的屬性信息主要有菜單名、對于網頁地址、圖標、上級菜單的Id、對用戶的權限、菜單描述等。作為系統的重要組成部分,這些實體之間存在特定的關系,下面我們用E-R圖的形式來展示這些關系,為了更清晰的了解實體之間的關系,這里采用分E-R圖的方式,首先是用戶管理學生,如圖3

40、.4所示,其中用戶對學生的管理主要包括對學生信息的增刪改查等操作。用戶管理教師,如圖3.5所示,其中用戶對教師的管理主要包括對教師信息的增刪改查等。用戶管理菜單,如圖3.6所示,其中用戶對菜單的管理主要包括對菜單信息的增刪改查等。用戶管理資源,如圖3.7所示,其中用戶對資源的管理主要包括對資源信息的增刪改查等。老師教課學生選課,如圖3.8所示,該圖以非常清晰,不在贅述。圖3.4 用戶管理學生圖3.5 用戶管理教師圖3.6 用戶管理菜單圖3.7 用戶與資源圖3.8 教師教課與學生選課各模塊系統本系統共分為9個子系統,如圖3.9所示:菜單管理系統,用戶管理系統,學生管理系統,教師管理系統,課程管理

41、系統,視頻資源管理系統,圖片資源管理系統,文檔資源管理系統,權限管理。(1)菜單管理系統:用戶可以對已有菜單進行搜索,還可以添加需要的菜單,修改相應菜單的信息,刪除相應的菜單。(2)用戶管理系統:管理員可以按學號或教工號搜索用戶,還可以添加新用戶,對用戶信息進行修改,刪除用戶。(3)學生管理系統:管理員可以按學號搜索學生,還可以添加學生,修改學生信息,刪除學生。(4)教師管理系統:管理員可以按教工號搜索教師,還可以添加教師,修改教師信息,刪除教師。(5)課程管理系統:管理員可以按課程號搜索課程,還可以添加課程,修改課程信息,刪除課程,查看選該門課程的所有學生信息。(6)視頻資源管理系統:用戶可

42、以按資源名稱搜索相應視頻,還可以添加視頻文件,修改視頻信息,刪除視頻文件,播放視頻。(7)圖片資源管理系統:用戶可以按圖片名稱搜索相應圖片,查看圖片,添加圖片,修改圖片信息,刪除圖片。(8)文檔資源管理系統:用戶可以按文檔名稱搜索相應文檔,上傳文檔,下載文檔,刪除文檔,修改文檔信息。(9)權限管理:該功能融合在菜單管理內容中,在添加菜單時注明該項菜單對于各用戶的操作權限。圖3.9 系統整體功能圖詳細設計數據庫設計數據庫命名規范表名:對應的英文,比如課程表,命名為course(2)字段:對應的英文,并且字段名為兩個英文單詞時,第二個單詞的首字母大寫,比如課程名,命名為courseName(3)外

43、鍵:表名+字段名,字段名首字母大寫 比如,在課程表中,教師ID是教師表中的外鍵,命名為teacherId對應表設計課程表設計,課程是一個重要實體,該實體在數據庫中對應的表的詳細信息如表4.1所示,其屬性信息主要有課程ID,作為唯一標示課程的一個信息;課程號,一般每個課程都有一個代號,方便記錄;課程名,每個課程都應該有自己的名稱,方便識別和記憶;開課學期,是一個很重要的屬性,標示課程的開課時間;學分,自從高校實行學分制以來,一般沒門課程都要設定相應的學分。教師ID,每門課程都要有一個教師來教,所以課程表與教師表要有個對應,這就是教師ID的作用了。學院,由于每個課程都是由指定的學院開設的,所以要有

44、學院信息。屬性,是指課程是必修還是選修。最大選課數,是指為每門課程指定選擇該門課程的學生數。課程介紹即對課程做相應的描述,介紹課程的大致內容。表4.1課程表(course)名稱屬性名類型長度是否為空說明課程IDidint11否主鍵課程號courseNumvarchar20否課程名courseNamevarchar40否開課學期timevarchar40學分creditint11教師IDteacherIdint11學院academyvarchar20屬性propertiesvarchar50最大選課數maxNumberint10課程介紹introductionvarchar200學院表的設計,其

45、詳細信息如表4.2所示,其中學院ID作為主鍵唯一標示學院這個實體,另外每個學院有一個代號,還有學院名稱以及學院的管理員數。表4.2學院表(academy)名稱屬性名類型長度是否為空說明學院IDidint11否主鍵學院代號deptCodevarchar10學院名稱deptNamevarchar20學院管理員數deptManagerint11登陸表設計,登陸表里記錄著登陸系統的用戶的信息,如表4.3所示,其中登陸ID唯一標示每一位登陸用戶,另外還有登陸賬號和密碼,每個用戶還有一個昵稱,角色是指為每個用戶指定相應的角色,如教師、學生、管理員等,這樣就可以根據不同的角色賦予其不同的操作權限。狀態,是指

46、顯示用戶是否在線。表4.3 登陸表(login)名稱屬性名類型長度是否為空說明登陸IDidint11否主鍵登陸賬號numbervarchar20否密碼passwordvarchar20昵稱nicknamevarchar50角色rolevarchar11否狀態statusint11菜單表的設計,如表4.4所示,其中用菜單ID作為主鍵唯一標示每一個菜單,菜單名便于記憶每一個菜單,網址是指菜單所鏈接到的網頁的地址,圖標是指菜單用到資源里面的哪個圖片,上級Id是指菜單的上一級菜單的Id,權限是指該菜單對于不同角色的不同權限,描述是對菜單的簡單介紹。表4.4 菜單表(menu)名稱屬性名類型長度是否為空

47、說明菜單IDidint11否主鍵菜單名namevarchar30否網址urlvarchar100圖標iconvarchar20上級IdparentIdint11權限permissionvarchar10描述descriptionvarchar40資源表的設計,如表4.5所示,資源ID作為主鍵來唯一標示相應資源;搜索名即資源的顯示名稱;資源名是指資源在硬盤上存儲時的名稱,它是由資源存儲時的時間加上幾個隨機數組成,這樣在存儲的時候基本上不會發生沖突;資源大小,即資源所占存儲空間的大小;網址,是指資源存儲的地址;用戶賬號是指上傳資源的用戶的登錄賬號,以便于記錄資源的上傳人;資源類型是用來標示資源是圖

48、片、視頻還是文檔;備注,即對資源的描述和說明。表4.5 資源表(source)名稱屬性名類型長度是否為空說明資源IDidint11否主鍵搜索名searchNamevarchar40資源名sourceNamevarchar40資源大小sizefloat網址urlvarchar200用戶賬號userNumvarchar20資源類型typevarchar20備注commentvarchar200學生表的設計,如表4.6所示,學生ID 作為主鍵來唯一標示每一個學生;學號,學校為每個學生編有學號;姓名、性別都是學生的基本信息;電子郵箱、手機號和電話號都是為了方便與學生聯系而設計的屬性信息;所在學院、專業

49、和班級,這些也都是學生的基本信息。表4.6 學生表(student)名稱屬性名類型長度是否為空說明學生IDidint11否學號stuNumvarchar20否姓名stuNamevarchar20否性別sexvarchar10電子郵箱emailvarchar20電話號碼telephonevarchar20手機號碼handphonevarchar20所在學院academyvarchar20所在專業majorvarchar20所在班級classesvarchar20學生選課表的設計,如圖4.7所示,該表主要包括學生ID和課程ID,該表是用來連接學生表和課程表的。表4.7 學生選課表(studentc

50、ourse)名稱屬性名類型長度是否為空說明學生IDstuIdint11否Student表的外鍵課程IDcourseIdint11否course表的外鍵教師表的設計,如表4.8所示,教師ID作為主鍵唯一標示每一位教師;教工號,一般學校都為每一位教師編定一個教工號,便于記錄和統計;姓名、性別、所在學院以及職稱這些都是教師的基本信息;電子郵箱、電話號和手機號都是為了方便聯系教師而設定的屬性信息;備注是對教師的相關介紹。表4.8 教師表(teacher)名稱屬性名類型長度是否為空說明教師IDteaIdint11否主鍵教工號teaNumvarchar20否姓名teaNamevarchar20否性別sex

51、varchar2電子郵箱emailint40所在學院academyint40電話號碼telephone15手機號碼handphone15職稱jobTitle40備注content200原型設計原型法設計作為軟件開發的一種開發方法,有著其獨特的優勢,首先采用原型設計法,可以快速適應需求的變化,減少因需求變化引起的各種風險;另外,該方法的使用可以使需求分析進行的更充分,即可以先設計出簡單的原型,然后利用原型跟用戶進行溝通,這樣的溝通會更直觀,用戶也會更明白。本系統在設計的時候,只是利用了原型設計的思想,并沒有把原型設計很好的融入到系統的設計當中。但這已經為本系統的整體開發做了不少的貢獻。我的做法是

52、,先設計出簡單的用戶操作界面,里面沒有數據的交互,甚至只是一些靜態的頁面,但是正是在這些靜態頁面的設計過程中,我逐步形成了系統整體的一個框架出來。下面是我做原型時的一個頁面,如圖4.1所示:圖4.1 原型設計界面舉例技術框架ExtJs框架首先來認識一下該框架,ExtJs是一個用來開發前端用戶界面的技術框架,是用Javascript編寫的,并且與后臺技術實現無關,不管后面用C#,還是Java或者PHP都沒有關系。該框架的功能極其豐富,設計出來的界面特別美觀,比如它的高亮顯示選中行,還有很多動畫效果做的很好,這些都可以提高用戶的感知度。最重要的是使用該框架不僅可以使開發的界面更加美觀,而且可以簡化

53、我們的界面設計工作,為我們省去了設計樣式的麻煩,比如它能自動生成行號,并支持checkbox全選,還可以動態選擇顯示哪些列,還可以支持本地以及遠程 HYPERLINK /view/159980.htm 分頁,可以對單元格按照自己的想法進行渲染,再加上可編輯grid,添加新行,刪除一或多行,提示多行數據,推拽改變grid大小,grid之間拖拽一行或多行,甚至可以在tree和grid之間進行拖拽等等這些功能。ExtJs之所以有這么強大的功能,其主要原因是該框架封裝了一些比較美觀又實用的組件,比如TreePanel組件,它是用于顯示樹信息的,還有GridPanel及EditorGridPanel組件

54、,它們是用于顯示表格的,另外還有Ext.Window等控件,它代表應用程序窗口的ExtJs控件。在使用ExtJs的時候,掌握其中的核心控件對于我們來說非常重要,尤其是那些基礎類控件。例如上面提到的那些控件,它們都是繼承于Panel面板,因此我們要對面板這一核心控件的屬性進行重點理解和掌握。下面對面板這一控件進行大概的介紹,面板由以下幾個部分組成:一個頂部工具欄(tbar)、一個底部工具欄(bbar)、面板頭部(header)、面板尾部(bottom)、面板主區域(body)這幾個部分組成。另外,面板類中還內置了面板展開、關閉等功能,并提供一系列可重用的工具按鈕,這就使得我們可以輕松實現自定義的

55、行為,面板還可以放入其它任何容器中,另外面板本身又是一個容器,它里面又可以包含各種其它組件。如果我們能夠掌握好Panel的應用,那么學習TreePanel、Window等就會變得容易得多。一樣的道理,對于ExtJs的表單字段來說,不管是ComboBox,NumberField、還是DateField,它們都是 Ext.form.Field類的子類,在它上面定義了表單字段的各種基本操作及特性。所以,在學習使用表單字段組件時,Field這個類一定要作為研究的重點,掌握了它的主要方法、事件等,就能有助于更好的學習使用其它的字段。在項目中,Ext本身的華麗外表的確很吸引人,但這僅僅是其外在的美,還有最

56、核心的內在美,即:Json(JavaScript Object Notation)。Json是一種數據交互格式,一個不能實現數據交互功能的項目是沒有任何意義的,大多的Ajax框架的數據交互都基于Json,如:jQuery、ExtJs等。因此理解Json掌握Json并熟練運用是很重要的。以目前主流的開發語言為例,.NET已經把Json封裝到類中,無需配置,直接與數據庫交互,輕松的封裝直接使用;Java就麻煩些,必須去下一個Json包,然后再做一些配置,才可以使用;PHP和Java差不多,也必須下載一個Json插件(和類相似),但是不用配置,直接封裝使用。在實際的項目中,各自的取舍配置,都基于項目

57、和需求,并不是每個項目(針對WEB)都一定要用到。但是,如果想在項目中用到此類的Ajax框架,Json的掌握又是必須的。CXF框架Apache CXF 是一個開源的 Services 框架,CXF可以幫助我們利用 Frontend 編程 API 來構建和開發 Services,比如JAX-WS 。這些 Services 可以支持多種協議,例如:SOAP、XML/HTTP、RESTful HTTP 或者 CORBA ,并且可以在多種傳輸協議上運行,比如:HTTP、JMS 或者 JBI,而且CXF 大大簡化了 Services 的創建,同時它繼承了 XFire 傳統,一樣可以天然地和 Spring

58、 進行無縫集成。CXF包含了大量的功能特性,主要集中在以下幾個方面:支持 Web Services 標準:CXF 支持多種 Web Services 標準,包含 SOAP、Basic Profile、 HYPERLINK /view/1609926.htm WS-Addressing、WS-Policy、WS-ReliableMessaging 和 HYPERLINK /view/1613268.htm WS-Security。Frontends:CXF 支持多種“Frontend”編程模型,CXF 實現了 JAX-WS API (遵循 JAX-WS 2.0 TCK 版本),它也包含一個“si

59、mple frontend”允許 HYPERLINK /view/930.htm 客戶端和 EndPoint 的創建,而不需要 Annotation 注解。CXF 既支持 WSDL 優先開發,也支持從 Java 的代碼優先開發模式。容易使用: CXF 設計得更加直觀與容易使用。有大量簡單的 API 用來快速地構建代碼優先的 Services,各種 Maven 的插件也使集成更加容易,支持 JAX-WS API ,支持 Spring 2.0 更加簡化的 XML 配置方式,等等。支持二進制和遺留協議:CXF 的設計是一種可插撥的架構,既可以支持 XML ,也可以支持非 XML 的類型綁定,比如:J

60、SON 和 CORBA。CXF有一些優勢,它的開發簡單,在Stand alone方式下執行效率高,可以靈活部署,比如可以部署在一些輕量級的容器上,像Tomcat或者基于Spring的容器;可以在Java EE應用服務器中部署Services;還可以在獨立的客戶端或者服務器端進行部署。它能夠支持多種編程語言。另外它還有一個重要特點是代碼生成的特點,分為以下幾種類型:Java to WSDL;WSDL to Java;XSD to WSDL;WSDL to XML;WSDL to SOAP;WSDL to Service;本系統采用的是其中的Java to WSDL方式。SSH框架(1)首先對該框

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論