基于STRUTS的項目申報系統(tǒng)設計與實現(xiàn)_第1頁
基于STRUTS的項目申報系統(tǒng)設計與實現(xiàn)_第2頁
已閱讀5頁,還剩40頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、 畢業(yè)論文(設計) 題 目 基于STRUTS的項目申報系統(tǒng)設計與實現(xiàn) 目 錄摘要ABSTRACT TOC o 1-3 h z u HYPERLINK l _Toc263101714 第一章前言 PAGEREF _Toc263101714 h 1 HYPERLINK l _Toc263101715 1.1開發(fā)背景 PAGEREF _Toc263101715 h 1 HYPERLINK l _Toc263101716 1.2 現(xiàn)狀分析及發(fā)展趨勢 PAGEREF _Toc263101716 h 1 HYPERLINK l _Toc263101717 1.2.1現(xiàn)狀分析 PAGEREF _Toc263

2、101717 h 1 HYPERLINK l _Toc263101718 1.2.2發(fā)展趨勢 PAGEREF _Toc263101718 h 2 HYPERLINK l _Toc263101719 1.3 課題目標 PAGEREF _Toc263101719 h 2 HYPERLINK l _Toc263101720 1.4 技術支持 PAGEREF _Toc263101720 h 2 HYPERLINK l _Toc263101721 第二章相關知識介紹 PAGEREF _Toc263101721 h 3 HYPERLINK l _Toc263101722 2.1 JAVA Web應用 PA

3、GEREF _Toc263101722 h 3 HYPERLINK l _Toc263101723 2.1.1 JAVA PAGEREF _Toc263101723 h 3 HYPERLINK l _Toc263101724 2.1.2 JAVA Web PAGEREF _Toc263101724 h 3 HYPERLINK l _Toc263101725 2.2 J2EE PAGEREF _Toc263101725 h 3 HYPERLINK l _Toc263101726 2.3 MVC PAGEREF _Toc263101726 h 4 HYPERLINK l _Toc263101727

4、 2.3.1 模型 PAGEREF _Toc263101727 h 4 HYPERLINK l _Toc263101728 2.3.2 視圖 PAGEREF _Toc263101728 h 5 HYPERLINK l _Toc263101729 2.3.3 控制器 PAGEREF _Toc263101729 h 5 HYPERLINK l _Toc263101730 2.4 Struts PAGEREF _Toc263101730 h 5 HYPERLINK l _Toc263101731 2.5 MS SQL Server PAGEREF _Toc263101731 h 6 HYPERLIN

5、K l _Toc263101732 2.6 JDBC PAGEREF _Toc263101732 h 6 HYPERLINK l _Toc263101733 2.7 PowerDesigner PAGEREF _Toc263101733 h 7 HYPERLINK l _Toc263101734 第三章系統(tǒng)需求分析 PAGEREF _Toc263101734 h 8 HYPERLINK l _Toc263101735 3.1 系統(tǒng)規(guī)劃 PAGEREF _Toc263101735 h 8 HYPERLINK l _Toc263101736 3.2 系統(tǒng)開發(fā)環(huán)境 PAGEREF _Toc26310

6、1736 h 8 HYPERLINK l _Toc263101737 3.2.1 開發(fā)語言 PAGEREF _Toc263101737 h 8 HYPERLINK l _Toc263101738 3.2.2 服務器端運行系統(tǒng) PAGEREF _Toc263101738 h 8 HYPERLINK l _Toc263101739 3.2.3 客戶端操作系統(tǒng) PAGEREF _Toc263101739 h 8 HYPERLINK l _Toc263101740 3.2.4 數(shù)據(jù)庫 PAGEREF _Toc263101740 h 8 HYPERLINK l _Toc263101741 3.2.5 數(shù)

7、據(jù)庫設計工具 PAGEREF _Toc263101741 h 9 HYPERLINK l _Toc263101742 3.3 系統(tǒng)功能模塊分析 PAGEREF _Toc263101742 h 9 HYPERLINK l _Toc263101743 3.4 數(shù)據(jù)流圖 PAGEREF _Toc263101743 h 11 HYPERLINK l _Toc263101744 第四章系統(tǒng)詳細設計 PAGEREF _Toc263101744 h 13 HYPERLINK l _Toc263101745 4.1 數(shù)據(jù)庫設計 PAGEREF _Toc263101745 h 13 HYPERLINK l _T

8、oc263101746 4.1.1 數(shù)據(jù)表設計 PAGEREF _Toc263101746 h 13 HYPERLINK l _Toc263101747 4.1.2數(shù)據(jù)表之間的關系 PAGEREF _Toc263101747 h 15 HYPERLINK l _Toc263101748 4.2 系統(tǒng)功能模塊設計 PAGEREF _Toc263101748 h 16 HYPERLINK l _Toc263101749 4.2.1 項目申請者模塊設計 PAGEREF _Toc263101749 h 16 HYPERLINK l _Toc263101750 4.2.2 項目管理者模塊設計 PAGER

9、EF _Toc263101750 h 18 HYPERLINK l _Toc263101751 4.2.3 系統(tǒng)管理員模塊設計 PAGEREF _Toc263101751 h 19 HYPERLINK l _Toc263101752 第五章系統(tǒng)具體實現(xiàn) PAGEREF _Toc263101752 h 21 HYPERLINK l _Toc263101753 5.1 公共類的編寫 PAGEREF _Toc263101753 h 21 HYPERLINK l _Toc263101754 5.1.1 數(shù)據(jù)庫的連接及操作方法類:DB PAGEREF _Toc263101754 h 21 HYPERLI

10、NK l _Toc263101755 5.1.2 數(shù)據(jù)表信息類:Content PAGEREF _Toc263101755 h 22 HYPERLINK l _Toc263101756 5.1.3 分頁類:Page PAGEREF _Toc263101756 h 22 HYPERLINK l _Toc263101757 5.1.4類型轉換類:Change PAGEREF _Toc263101757 h 22 HYPERLINK l _Toc263101758 5.1.5檢查用戶權限類CheckUserAble PAGEREF _Toc263101758 h 23 HYPERLINK l _To

11、c263101759 5.1.6解決Struts中的中文亂碼的類:FormToChinese PAGEREF _Toc263101759 h 23 HYPERLINK l _Toc263101760 5.2 開發(fā)自定義標簽 PAGEREF _Toc263101760 h 24 HYPERLINK l _Toc263101761 5.3 登錄模塊的實現(xiàn) PAGEREF _Toc263101761 h 25 HYPERLINK l _Toc263101762 5.3.1 創(chuàng)建登陸的頁面:index.jsp PAGEREF _Toc263101762 h 25 HYPERLINK l _Toc263

12、101763 5.3.2 配置struts-config.xml文件 PAGEREF _Toc263101763 h 25 HYPERLINK l _Toc263101764 5.3.3 創(chuàng)建LogonForm類 PAGEREF _Toc263101764 h 26 HYPERLINK l _Toc263101765 5.3.4 創(chuàng)建LogonAction類 PAGEREF _Toc263101765 h 26 HYPERLINK l _Toc263101766 5.4 項目申請者模塊的實現(xiàn) PAGEREF _Toc263101766 h 27 HYPERLINK l _Toc26310176

13、7 5.4.1 項目申請實現(xiàn) PAGEREF _Toc263101767 h 27 HYPERLINK l _Toc263101768 5.4.2 項目管理實現(xiàn) PAGEREF _Toc263101768 h 28 HYPERLINK l _Toc263101769 5.4.3 項目查詢實現(xiàn) PAGEREF _Toc263101769 h 29 HYPERLINK l _Toc263101770 5.5 項目管理者模塊的實現(xiàn) PAGEREF _Toc263101770 h 30 HYPERLINK l _Toc263101771 5.5.1 賬戶管理的實現(xiàn) PAGEREF _Toc263101

14、771 h 30 HYPERLINK l _Toc263101772 5.5.2 項目審核模塊實現(xiàn) PAGEREF _Toc263101772 h 31 HYPERLINK l _Toc263101773 5.5.3 項目查詢模塊實現(xiàn) PAGEREF _Toc263101773 h 32 HYPERLINK l _Toc263101774 5.5.4 項目匯總模塊實現(xiàn) PAGEREF _Toc263101774 h 32 HYPERLINK l _Toc263101775 5.5.5 向上級報送申報數(shù)據(jù)實現(xiàn) PAGEREF _Toc263101775 h 32 HYPERLINK l _Toc

15、263101776 5.5.6 打印申報數(shù)據(jù)實現(xiàn) PAGEREF _Toc263101776 h 34 HYPERLINK l _Toc263101777 5.6 系統(tǒng)管理員模塊的實現(xiàn) PAGEREF _Toc263101777 h 35 HYPERLINK l _Toc263101778 5.6.1 賬戶管理的實現(xiàn) PAGEREF _Toc263101778 h 35 HYPERLINK l _Toc263101779 5.6.2 信息查詢模塊實現(xiàn) PAGEREF _Toc263101779 h 35 HYPERLINK l _Toc263101780 5.6.3 信息匯總模塊實現(xiàn) PAGE

16、REF _Toc263101780 h 36 HYPERLINK l _Toc263101781 第六章結束語 PAGEREF _Toc263101781 h 37 HYPERLINK l _Toc263101782 參考文獻 PAGEREF _Toc263101782 h 38摘 要隨著計算機及數(shù)據(jù)庫技術的不斷發(fā)展, 使用現(xiàn)代化技術手段進行事務處理成為必要。Struts 是一種優(yōu)秀的基于J2EE體系結構的 MVC模式框架,基于Struts框架開發(fā)項目申報系統(tǒng)可獲得好的可重用性、可擴展性和易維護性。建立一個基于struts的項目申報系統(tǒng)可以方便基層單位科研管理部門進行快速事務處理,提高工作效率

17、。本文的研究內(nèi)容為基于struts的項目申報系統(tǒng),設計的項目申報系統(tǒng)專門針對基層科研單位。全文首先闡述了項目申報系統(tǒng)的應用背景、發(fā)展現(xiàn)狀和趨勢、課題目標以及相關的技術支持。之后對該系統(tǒng)涉及到的相關知識進行了介紹,對該系統(tǒng)進行了整體的設計分析,確定了開發(fā)環(huán)境,構建了基本的框架結構和功能模塊。然后確定了數(shù)據(jù)庫和各功能模塊的詳細設計,并進行具體的功能模塊實現(xiàn)。對系統(tǒng)的運行調試表明,該系統(tǒng)完全可以滿足基層科研單位的項目申報需求,可以高效地對科研項目的申報進行管理。關鍵詞:struts,MVC,J2EE, JAVA,MS SQL Server,JDBC,PowerDesignerABSTRACTAs c

18、omputer and database technology continues to evolve, the use of modern techniques for transaction processing is necessary. Struts is an excellent architecture based on J2EE MVC model frameworks, The project reporting systems based on Struts framework will be good reusability, scalability and maintai

19、nability. Establishing a reporting system based on struts can facilitate grass-roots scientific management for rapid transaction processing and improve efficiency.The content of this research is a project reporting system based on struts, designed specifically for project reporting system, basic sci

20、entific research. The first section explains the background of the project reporting system, applications, development status and trends, project objectives and related technical support。After the research introduces knowledge involved in this system, design and analysis the system, determine the de

21、velopment environment, a establish the basic framework of the structure and function modules 。At last ,the research determines the database and the detailed design of each functional module, and achieve specific functional modules. On the operation of the system debugging shows that the system can f

22、ully meet the basic needs of the scientific research unit project application, you can efficiently manage the declaration on research projects.KEY WORDS: struts,MVC,J2EE, JAVA,MS SQL Server,JDBC,PowerDesigner前言本章介紹了項目申報系統(tǒng)的應用背景,對現(xiàn)存的項目申報系統(tǒng)進行了分析,預測了該類系統(tǒng)的發(fā)展趨勢,明確了該課題的目標,最后對該系統(tǒng)的技術方案作了簡單介紹。1.1開發(fā)背景現(xiàn)代社會科學技術突

23、飛猛進,各科研單位的研究項目越來越多,怎樣使科研項目的申報和審批更加高效,已經(jīng)成為各個科研單位亟待解決的問題。隨著我國因特網(wǎng)的高速發(fā)展,它的影響已經(jīng)不僅體現(xiàn)在人們的工作與學習方面,而且越來越多地融入生活的每一個角落,通過互聯(lián)網(wǎng)系統(tǒng)來進行科研項目的申報,將可以加快基層單位科研管理部門進行快速事務處理,大大提高工作效率。1.2 現(xiàn)狀分析及發(fā)展趨勢1.2.1現(xiàn)狀分析迄今為止,絕大部分的科研單位都還沒有相應的項目申報系統(tǒng),項目的申報主要依靠專門的負責人員來進行登記和審批,效率極低。即使個別科研單位具有與項目申報有關的系統(tǒng),系統(tǒng)也存在大量的缺陷,如數(shù)據(jù)量過大導致溢出,訪問量過大導致系統(tǒng)崩潰,輸入數(shù)據(jù)非法

24、導致無法識別。因此,開發(fā)一個高效、穩(wěn)定的項目申報系統(tǒng)迫在眉睫。下面的兩個例子介紹了項目申報系統(tǒng)的發(fā)展現(xiàn)狀。福建省科技廳的科學信息綜合業(yè)務系統(tǒng),就是一個主要針對項目申報而建立的系統(tǒng)。該系統(tǒng)因為涉及到眾多科研技術,因此專門針對教育網(wǎng)的用戶而設置了入口。整個綜合業(yè)務系統(tǒng)包括用戶登錄、公告與通知、用戶注冊、相關下載、管理文件等模塊,其中用戶可以根據(jù)登錄的目的而選擇是登陸項目申報系統(tǒng)還是成果評獎系統(tǒng)。國家自然科學基金項目申報系統(tǒng)(MiniIRIS)是另一個典型項目申報系統(tǒng),它的運行不是在網(wǎng)頁上,而是又一個專門的客戶端。系統(tǒng)整體由四個模塊組成:系統(tǒng)管理模塊,項目管理模塊,數(shù)據(jù)管理模塊,幫助模塊。主顯示界面

25、列出了項目清單,可以進行項目的選定修改。為了方便用戶使用,系統(tǒng)針對常用的幾個功能建立了圖標按鈕,如“添加申請”、“刪除申請”、“項目打印”等。綜上,現(xiàn)存的項目申報系統(tǒng)主要分為.基于WEB網(wǎng)頁的和基于客戶端兩類。項目申請模塊的基本功能都包括用戶登錄、文件上傳、項目管理等;項目管理模塊的基本功能包括用戶登錄、項目查詢、項目審核等。兩類系統(tǒng)各有特色,但都存在著功能不健全、反應過慢、操作繁瑣等問題。新的項目申報系統(tǒng)應該盡量避免以上問題。1.2.2發(fā)展趨勢科技工作的重要責任就是促進科學技術本身的科學發(fā)展、全面發(fā)展,以引導和服務全社會提高自主創(chuàng)新能力、建設創(chuàng)新型國家。現(xiàn)在國家越來越重視科技項目的研究,科技

26、研發(fā)已經(jīng)到了一個百花齊放的時代。科研單位對項目申報系統(tǒng)的需求也變得越來越急切。項目申報系統(tǒng)的發(fā)展,將由原來的單一化和簡單化,逐漸向多元化和智能化發(fā)展。未來的項目申報系統(tǒng),將是一個建立在互聯(lián)網(wǎng)上,由數(shù)據(jù)庫支持的高效、穩(wěn)定的軟件系統(tǒng)1.3 課題目標把網(wǎng)絡編程技術和數(shù)據(jù)庫技術相結合,設計并實現(xiàn)一個基于struts的項目申報系統(tǒng),該系統(tǒng)必須實現(xiàn)信息錄入、信息查詢、信息匯總和向上級報送申報數(shù)據(jù),打印申報數(shù)據(jù)清單、用戶登錄及賬號管理等功能。對于信息錄入,錄入方式應簡潔,系統(tǒng)必須具備一定的容錯性,能夠針對非法的輸入數(shù)據(jù)進行必要的提示。進行信息查詢時,應該提供多種查詢方式,例如按日期查詢,按申請人查詢,按項目

27、類別查詢等。查詢后顯示的條目應按照一定規(guī)律順序顯示。進行信息匯總時,應該提供多種匯總方式,例如按日期匯總,按申請人匯總,按項目類別匯總等。系統(tǒng)應可以針對匯總后的數(shù)據(jù)進行統(tǒng)計。用戶登錄應具有較高的安全性,應能防止非法侵入。1.4 技術支持互聯(lián)網(wǎng)的出現(xiàn),使科研項目的申報不再受地點的限制。Struts 是一種優(yōu)秀的基于J2EE體系結構的 MVC模式框架,基于Struts框架開發(fā)項目申報系統(tǒng)可獲得良好的可重用性、可擴展性和易維護性。結合數(shù)據(jù)庫,可使申報的項目方便地被存儲和調用查看1。相關知識介紹本章介紹了與該系統(tǒng)相關的一些知識,包括JAVA語言和平臺,J2EE平臺,MVC設計模式,struts結構框架

28、,MS SQL Server,JDBC,PowerDesigner等。2.1 JAVA Web應用2.1.1 JAVAJava,是由Sun Microsystems公司于1995年5月推出的Java程序設計語言和Java平臺的總稱。用Java實現(xiàn)的HotJava瀏覽器(支持Java applet)顯示了Java的魅力:跨平臺、動態(tài)的Web、Internet計算2。從此,Java被廣泛接受并推動了Web的迅速發(fā)展,常用的瀏覽器現(xiàn)在均支持Java applet。Java平臺由Java虛擬機(Java Virtual Machine)和Java 應用編程接口(Application Programm

29、ing Interface、簡稱API)構成。Java 應用編程接口為Java應用提供了一個獨立于操作系統(tǒng)的標準接口,可分為基本部分和擴展部分。在硬件或操作系統(tǒng)平臺上安裝一個Java平臺之后,Java應用程序就可運行。現(xiàn)在Java平臺已經(jīng)嵌入了幾乎所有的操作系統(tǒng)。這樣Java程序可以只編譯一次,就可以在各種系統(tǒng)中運行。Java應用編程接口已經(jīng)從1.1x版發(fā)展到1.2版。目前常用的Java平臺基于Java1.4,最近版本為Java1.7。2.1.2 JAVA WebJava Web,是用Java技術來解決相關web互聯(lián)網(wǎng)領域的技術總和。web包括:web服務器和web客戶端兩部分。Java在客戶

30、端的應用有java applet不過現(xiàn)在使用的很少,Java在服務器端的應用非常的豐富,比如Servlet,JSP和第三方框架等等。Java技術對Web領域的發(fā)展注入了強大的動力2.2 J2EEJ2EE是一套全然不同于傳統(tǒng)應用開發(fā)的技術架構,包含許多組件,主要可簡化且規(guī)范應用系統(tǒng)的開發(fā)與部署,進而提高可移植性、安全與再用價值3。 J2EE核心是一組技術規(guī)范與指南,其中所包含的各類組件、服務架構及技術層次,均有共通的標準及規(guī)格,讓各種依循J2EE架構的不同平臺之間,存在良好的兼容性,解決過去企業(yè)后端使用的信息產(chǎn)品彼此之間無法兼容,導致企業(yè)內(nèi)部或外部難以互通的窘境。 目前,Java 2平臺有三個版

31、本,它們是適用于小型設備和智能卡的Java 2平臺Micro版(Java 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)點,例如編寫

32、一次、隨處運行的特性、方便存取數(shù)據(jù)庫的JDBC API、CORBA技術以及能夠在Internet應用中保護數(shù)據(jù)的安全模式等等,同時還提供了對 EJB(Enterprise JavaBeans)、Java Servlets API、JSP(Java Server Pages)以及XML技術的全面支持。其最終目的就是成為一個能夠使企業(yè)開發(fā)者大幅縮短投放市場時間的體系結構。J2EE體系結構提供中間層集成框架用來滿足無需太多費用而又需要高可用性、高可靠性以及可擴展性的應用的需求。通過提供統(tǒng)一的開發(fā)平臺,J2EE降低了開發(fā)多層應用的費用和復雜性,同時提供對現(xiàn)有應用程序集成強有力支持,完全支持Enterp

33、rise JavaBeans,有良好的向導支持打包和部署應用,添加目錄支持,增強了安全機制,提高了性能。2.3 MVCMVC(Model View Controller)是一個設計模式4,它強制性的使應用程序的輸入、處理和輸出分開。使用MVC應用程序被分成三個核心部件:模型、視圖、控制器。它們各自處理自己的任務。 2.3.1 模型 模型表示企業(yè)數(shù)據(jù)和業(yè)務規(guī)則。在MVC的三個部件中,模型擁有最多的處理任務。例如它可能用象EJBs和ColdFusion Components這樣的構件對象來處理數(shù)據(jù)庫。被模型返回的數(shù)據(jù)是中立的,就是說模型與數(shù)據(jù)格式無關,這樣一個模型能為多個視圖提供數(shù)據(jù)。由于應用于模

34、型的代碼只需寫一次就可以被多個視圖重用,所以減少了代碼的重復性。 2.3.2 視圖 視圖是用戶看到并與之交互的界面。對老式的Web應用程序來說,視圖就是由HTML元素組成的界面,在新式的Web應用程序中,HTML依舊在視圖中扮演著重要的角色,但一些新的技術已層出不窮,它們包括Adobe Flash和象XHTML,XML/XSL,WML等一些標識語言和Web services5。如何處理應用程序的界面變得越來越有挑戰(zhàn)性。MVC一個大的好處是它能為你的應用程序處理很多不同的視圖。在視圖中其實沒有真正的處理發(fā)生,不管這些數(shù)據(jù)是聯(lián)機存儲的還是一個雇員列表,作為視圖來講,它只是作為一種輸出數(shù)據(jù)并允許用戶

35、操縱的方式。2.3.3 控制器 控制器接受用戶的輸入并調用模型和視圖去完成用戶的需求。所以當單擊Web頁面中的超鏈接和發(fā)送HTML表單時,控制器(例如:servlet)本身不輸出任何東西和做任何處理。它只是接收請求并決定調用哪個模型構件去處理請求,然后確定用哪個視圖來顯示模型處理返回的數(shù)據(jù)。2.4 StrutsStruts是一個MVC框架(Framework),用于快速開發(fā)Java Web應用6。Struts實現(xiàn)的重點在C(Controller),包括ActionServlet/RequestProcessor和Action,也為V(View)提供了一系列定制標簽(Custom Tag)。但S

36、truts幾乎沒有涉及M(Model),所以Struts可以采用JAVA實現(xiàn)的任何形式的商業(yè)邏輯。 Spring是一個輕型容器(light-weight container),其核心是Bean工廠(Bean Factory),用以構造設計者所需要的M(Model)7。在此基礎之上,Spring提供了AOP(Aspect-Oriented Programming, 面向層面的編程)的實現(xiàn),用它來提供非管理環(huán)境下申明方式的事務、安全等服務;對Bean工廠的擴展ApplicationContext更加方便設計者實現(xiàn)J2EE的應用;DAO/ORM的實現(xiàn)方便設計者進行數(shù)據(jù)庫的開發(fā);Web MVC和Spr

37、ing Web提供了Java Web應用的框架或與其他流行的Web框架進行集成。將兩者一起使用,可將兩者自身的特點進行互補。Struts跟Tomcat、Turbine等諸多Apache項目一樣,是開源軟件,這是它的一大優(yōu)點8。使開發(fā)者能更深入的了解其內(nèi)部實現(xiàn)機制。 除此之外,Struts的優(yōu)點主要集中體現(xiàn)在兩個方面:Taglib和頁面導航。Taglib是Struts的標記庫,靈活動用,能大大提高開發(fā)效率9。另外,就目前國內(nèi)的JSP開發(fā)者而言,除了使用JSP自帶的常用標記外,很少開發(fā)自己的標記,或許Struts是一個很好的起點。 2.5 MS SQL ServerMicrosoft SQL Se

38、rver是從原來的Sybase SQL Server數(shù)據(jù)庫演化而來的,MS SQL Server可以說是PC市場上最早的關系數(shù)據(jù)庫系統(tǒng)之一。1998年,由Sybase、Microsoft和Aslilton-Tate聯(lián)合開發(fā)的用在OS/2系統(tǒng)上的SQL Server問世了。在SQL server移植到Windows 3x/9x和Windows NT后,Microsoft成為了這個項目的領頭羊。Microsoft和Sybase銷售的產(chǎn)品在4.21版本時基本上是相同的。到1993年,主要由于Windows NT操作系統(tǒng)的出現(xiàn),聯(lián)合開發(fā)認證協(xié)議取消了。從此,Microsoft主要集中于NT版本的SQL

39、 Server開發(fā),而Sybase則將注意力放在微機版本的SQL Server開發(fā)。Microsoft最初批準的SQL Server核心組件是用于在OS/2的PC平臺上的,在1996年推出SQL Server6.5后,已改為可在Windows 3x/9x和Windows NT系統(tǒng)上運行。當前最新版本為SQL Server 2008,其中SQL Server 2000是Microsoft于2000年10月份推出的產(chǎn)品。Microsoft SQL Server平臺有以下特點:可信任的使得公司可以以很高的安全性、可靠性和可擴展性來運行他們最關鍵任務的應用程序。高效的使得公司可以降低開發(fā)和管理他們的數(shù)

40、據(jù)基礎設施的時間和成本。智能的提供了一個全面的平臺,可以在你的用戶需要的時候給他發(fā)送觀察和信息。2.6 JDBCJDBC(Java Data Base Connectivity ,java數(shù)據(jù)庫連接)是一種用于執(zhí)行SQL語句的Java API,可以為多種關系數(shù)據(jù)庫提供統(tǒng)一訪問,它由一組用Java語言編寫的類和接口組成10。JDBC為工具/數(shù)據(jù)庫開發(fā)人員提供了一個標準的API,據(jù)此可以構建更高級的工具和接口,使數(shù)據(jù)庫開發(fā)人員能夠用純 Java API 編寫數(shù)據(jù)庫應用程序。Java數(shù)據(jù)庫連接體系結構是用于Java應用程序連接數(shù)據(jù)庫的標準方法。JDBC對Java程序員而言是API,對實現(xiàn)與數(shù)據(jù)庫連接

41、的服務提供商而言是接口模型。作為API,JDBC為程序開發(fā)提供標準的接口,并為數(shù)據(jù)庫廠商及第三方中間件廠商實現(xiàn)與數(shù)據(jù)庫的連接提供了標準方法。JDBC使用已有的SQL標準并支持與其它數(shù)據(jù)庫連接標準,如ODBC之間的橋接。JDBC實現(xiàn)了所有這些面向標準的目標并且具有簡單、嚴格類型定義且高性能實現(xiàn)的接口。 Java 具有堅固、安全、易于使用、易于理解和可從網(wǎng)絡上自動下載等特性,是編寫數(shù)據(jù)庫應用程序的杰出語言。所需要的只是 Java應用程序與各種不同數(shù)據(jù)庫之間進行對話的方法。而 JDBC 正是作為此種用途的機制。2.7 PowerDesignerPowerDesigner系列產(chǎn)品提供了一個完整的建模解

42、決方案,業(yè)務或系統(tǒng)分析人員,設計人員,數(shù)據(jù)庫管理員DBA和開發(fā)人員可以對其裁剪以滿足他們的特定的需要;而其模塊化的結構為購買和擴展提供了極大的靈活性,從而使開發(fā)單位可以根據(jù)其項目的規(guī)模和范圍來使用他們所需要的工具。PowerDesigner靈活的分析和設計特性允許使用一種結構化的方法有效地創(chuàng)建數(shù)據(jù)庫或數(shù)據(jù)倉庫,而不要求嚴格遵循一個特定的方法學。PowerDesigner提供了直觀的符號表示使數(shù)據(jù)庫的創(chuàng)建更加容易,并使項目組內(nèi)的交流和通訊標準化,同時能更加簡單地向非技術人員展示數(shù)據(jù)庫和應用的設計。 PowerDesigner不僅加速了開發(fā)的過程,也向最終用戶提供了管理和訪問項目的信息的一個有效的

43、結構。它允許設計人員不僅創(chuàng)建和管理數(shù)據(jù)的結構,而且開發(fā)和利用數(shù)據(jù)的結構針對領先的開發(fā)工具環(huán)境快速地生成應用對象和數(shù)據(jù)敏感的組件。開發(fā)人員可以使用同樣的物理數(shù)據(jù)模型查看數(shù)據(jù)庫的結構和整理文檔,以及生成應用對象和在開發(fā)過程中使用的組件。應用對象生成有助于在整個開發(fā)生命周期提供更多的控制和更高的生產(chǎn)率。PowerDesigner是一個功能強大而使用簡單工具集,提供了一個復雜的交互環(huán)境,支持開發(fā)生命周期的所有階段,從處理流程建模到對象和組件的生成。PowerDesigner產(chǎn)生的模型和應用可以不斷地增長,適應并隨著你的組織的變化而變化。系統(tǒng)需求分析本章對該系統(tǒng)進行了整體的分析,明確了系統(tǒng)目標,確定了開

44、發(fā)環(huán)境,構建了基本的框架結構和功能模塊。3.1 系統(tǒng)規(guī)劃對該系統(tǒng)功能的操作是根據(jù)用戶的身份來設定的。本系統(tǒng)將用戶分為了三個權限級別:“系統(tǒng)管理員”可對系統(tǒng)中的所有功能進行操作;“項目管理者”可對系統(tǒng)中的部分功能進行操作;“項目申請者”在本系統(tǒng)中只能對自己的項目進行操作。所以根據(jù)用戶權限的級別,將該系統(tǒng)規(guī)劃為對應的三種模式。3.2 系統(tǒng)開發(fā)環(huán)境3.2.1 開發(fā)語言開發(fā)語言必須能夠很好的進行網(wǎng)絡系統(tǒng)的開發(fā),具有很強的網(wǎng)絡系統(tǒng)開發(fā)優(yōu)勢。Java實現(xiàn)的HotJava瀏覽器(支持Java applet)顯示了Java的魅力:跨平臺、動態(tài)的Web、Internet計算。因此該系統(tǒng)的開發(fā)語言應選擇JAVA。

45、3.2.2 服務器端運行系統(tǒng)服務器端運行系統(tǒng)選用Windows NT。Windows NT是Microsoft推出的面向工作站、網(wǎng)絡服務器和大型計算機的網(wǎng)絡操作系統(tǒng),它與通信服務緊密集成,提供文件和打印服務,能運行客戶機服務器應用程序,內(nèi)置了InternetIntranet功能,已逐漸成為企業(yè)組網(wǎng)的標準平臺。3.2.3 客戶端操作系統(tǒng)考慮到客戶端操作系統(tǒng)應該為用戶最常用的系統(tǒng),因此客戶端操作系統(tǒng)選為Windows XP。Windows XP是當今最流行的操作系統(tǒng)之一,以其方便易懂的操作而受到了全球用戶的喜愛。3.2.4 數(shù)據(jù)庫在有些方面,服務器數(shù)據(jù)庫(如SQL Server)與主機數(shù)據(jù)庫是相同

46、的。現(xiàn)在用于計算機系統(tǒng)數(shù)據(jù)庫的最主要特點是關系數(shù)據(jù)庫模型,此外主機與小型機上的服務器數(shù)據(jù)庫,如關系數(shù)據(jù)庫,都支持結構化查詢語言(SQL)及其專有工具訪問數(shù)據(jù)。3.2.5 數(shù)據(jù)庫設計工具數(shù)據(jù)庫設計工具采用主流數(shù)據(jù)庫設計軟件PowerDesign9 。3.3 系統(tǒng)功能模塊分析該系統(tǒng)根據(jù)用戶角色,劃分為三個模塊:項目申請者模塊、項目管理者模塊、系統(tǒng)管理員模塊。系統(tǒng)功能模塊如圖3.1所示。項目申報系統(tǒng)系統(tǒng)管理員模塊項目管理者模塊項目申請者模塊項目修改信息查詢用戶登錄用戶資料修改信息錄入用戶登錄用戶資料修改賬號管理信息查詢信息匯總信息查詢賬號管理用戶資料修改用戶登錄向上級報送申報打印申報數(shù)據(jù)信息匯總文件

47、上傳圖3.1 系統(tǒng)功能模塊根據(jù)系統(tǒng)的功能模塊分析,畫出系統(tǒng)的UML用例圖如圖3.2所示。用戶登錄資料修改項目申請者泛化泛化項目資料修改用戶資料修改泛化泛化項目信息查詢信息查詢包含賬戶信息查詢添加賬號賬號管理包含刪除賬號號管理申請者賬號管理項目管理者泛化泛化賬號管理管理者賬號管理包含包含添加賬號泛化刪除賬號賬號匯總泛化信息匯總擴展擴展項目匯總系統(tǒng)管理員向上級報送打印清單圖3.2 系統(tǒng)UML用例圖各個模塊的子模塊功能劃分如下: 項目申請模塊:用戶登錄:提供用戶登錄的功能用戶資料修改:提供用戶查看并修改個人資料的功能信息錄入:提供用戶提交項目申請的功能文件上傳:提供文件上傳的功能項目修改:提供用戶更

48、改申請項目資料的功能信息查詢:提供用戶查詢個人項目申請狀態(tài)的功能 項目管理模塊:用戶登錄:提供項目管理者登錄的功能用戶資料修改:提供項目管理者查看并修改個人資料的功能賬號管理:提供項目管理者管理項目申請者賬號的功能信息查詢:提供項目管理者查詢項目申請的功能信息匯總:提供項目管理者根據(jù)不同方法匯總申請項目的功能向上級報送申報數(shù)據(jù):提供向上級報送申請項目資料的功能打印申報數(shù)據(jù)清單:提供申報數(shù)據(jù)清單的打印功能 系統(tǒng)管理模塊:用戶登錄:提供用戶登錄的功能用戶資料修改:提供用戶查看并修改個人資料的功能賬號管理:提供系統(tǒng)管理員管理所有項目申請者和項目管理者賬號信息的功能信息查詢:提供查詢所有非系統(tǒng)管理員賬

49、號信息的功能信息匯總:提供對所有非管理員賬號進行匯總管理的功能 數(shù)據(jù)流圖項目申請?zhí)幚淼臄?shù)據(jù)流圖如圖3.3所示。項目申請項目申請項目申請信息信息錄入文件表項目申請者產(chǎn)生列表項目管理者項目申請列表圖3.3項目申請?zhí)幚淼臄?shù)據(jù)流圖項目申請者將項目申請?zhí)峤唤o系統(tǒng),系統(tǒng)的信息錄入模塊將項目申請存入數(shù)據(jù)庫文件表中,數(shù)據(jù)庫的文件表將項目申請信息遞交給系統(tǒng),通過產(chǎn)生列表模塊產(chǎn)生項目申請列表,提交給項目管理者。向上級報送申報數(shù)據(jù)的數(shù)據(jù)流圖如圖3.4所示。上報信息表項目信息項目信息項目上報信息信息錄入項目管理者項目上報列表上級部門產(chǎn)生列表圖3.4 向上級報送申報數(shù)據(jù)的數(shù)據(jù)流圖項目申請者將項目信息提交給系統(tǒng),系統(tǒng)的信

50、息錄入模塊將項目信息存入數(shù)據(jù)庫上報信息表中,數(shù)據(jù)庫的上報信息表將項目上報信息遞交給系統(tǒng),通過產(chǎn)生列表模塊產(chǎn)生項目上報列表,提交給上級部門。 系統(tǒng)詳細設計本章對該系統(tǒng)進行了詳細設計,確定了數(shù)據(jù)庫設計和具體功能模塊設計。4.1 數(shù)據(jù)庫設計該部分闡述了系統(tǒng)中的數(shù)據(jù)表設計,介紹了數(shù)據(jù)表之間的關系。4.1.1 數(shù)據(jù)表設計本系統(tǒng)共設計了5類表:文件表tb_file,下拉列表信息表tb_label,功能菜單表tb_menu,上報信息表tb_text,用戶表tb_user。tb_file(文件表)文件表用于保存上傳文件的信息、表tb_file的結構如表4.1所示。表4.1 文件表字段名稱數(shù)據(jù)類型字段大小是否主

51、鍵說明file_idint4主鍵自動編號file_namevarchar50文件名file_upervarchar50外鍵上傳者姓名file_sizevarchar50文件大小file_uptimevarchar50文件上傳時間file_infovarchar50文件描述信息file_checksmallint2文件是否被審閱tb_label(下拉列表信息表)tb_label表中存儲了本系統(tǒng)中所有下拉列表標簽的信息,該標簽的代碼如下:該標簽會向用戶顯示下拉列表項信息,并向服務器傳遞被選中的下拉列表項的值。表tb_label的結構如表4.2所示表4.2 下拉列表信息表字段名稱數(shù)據(jù)類型字段大小是否

52、主鍵說明label_idint4主鍵自動編號label_namevarchar50顯示給用戶的下拉列表項的名稱label_valuevarchar50在程序中使用的下拉列表項的值label_typevarchar50下拉列表的類型label_ordersmallint2下拉列表項的排列次序tb_menu(功能菜單表)功能菜單表用于保存功能菜單信息。表tb_menu的結構如表4.3所示。表4.3 功能菜單表字段名稱數(shù)據(jù)類型字段大小是否主鍵說明menu_idvachar50主鍵程序中使用的菜單名稱menu_namevarchar50顯示給用戶的菜單名稱menu_parentidvarchar50父

53、菜單的menu_id值menu_actionvarchar50菜單觸發(fā)操作的請求連接menu_jibievarchar2菜單的級別menu_orderint4菜單在頁面中的排列次序menu_ableint4菜單的權限級別tb_text(上報信息表)上報信息表用于保存向上級發(fā)送的信息。表tb_text的結構如表4.4所示。表4.4 上報信息表字段名稱數(shù)據(jù)類型字段大小是否主鍵說明text_idint4主鍵自動編號text_subjectvarchar50上報主題text_sendervarchar50外鍵信息的發(fā)送者text_getervarchar50外鍵信息的接受者text_contentte

54、xt16信息內(nèi)容text_sendtimevarchar50信息的發(fā)送時間tb_user(用戶表)該表用來保存所有員工的信息。共有9個字段,其中字段user_able表示用戶的權限:0代表項目申請者,1代表項目管理者,2 代表系統(tǒng)管理員。表tb_user的結構如表4.5所示。表4.5 用戶表字段名稱數(shù)據(jù)類型字段大小是否主鍵說明user_namevarchar50主鍵用戶名user_passwordvarchar10用戶密碼true_namevarchar50用戶真實姓名user_ableint2用戶權限user_emailvarchar50用戶的E-mail地址user_telvarchar1

55、5用戶的電話號碼user_addressvarchar100用戶地址user_accessTimesint4用戶的訪問次數(shù)user_foundTimevarchar50用戶的創(chuàng)建時間4.1.2 數(shù)據(jù)表之間的關系本系統(tǒng)所涉及的表中,表tb_menu和表tb_label是兩個獨立的表,表tb_user和表tb_file之間,表tb_user和表tb_text之間均存在聯(lián)系聯(lián)系。表tb_user和表tb_file之間存在1對多的聯(lián)系,其中表tb_user中的user_name在表tb_file中做外鍵。表tb_user和表tb_text之間存在1對多的聯(lián)系,其中表tb_user中的user_name

56、在表tb_text中做外鍵。數(shù)據(jù)表關系圖如圖4.1所示。圖4.1 數(shù)據(jù)表關系圖表tb_label和表tb_menu是本系統(tǒng)的關鍵表:表tb_label當字段label_type的內(nèi)容為XXX_search的時候,字段label_value的內(nèi)容為數(shù)據(jù)表中的字段名;其他的則是要插入到數(shù)據(jù)表中的內(nèi)容。表tb_menu字段menu_id表示在程序中用到的菜單的名稱。字段menu_name表示的是在頁面中顯示給用戶的菜單名稱。字段menu_parentid表示菜單的父菜單名稱,通過設置該字段就可以實現(xiàn)級聯(lián)菜單了。字段menu_action的設置是非常重要的,它表示的是一個URL,儲存了當選中該菜單時所

57、觸發(fā)*.do的請求連接。menu_jibie字段表示的是菜單界別:1為根菜單,2為二級菜單,3為三級菜單。menu_order字段表示菜單在頁面中的排列次序。字段user_able表示菜單的權限級別:0表示所有身份的用戶具有的菜單項,1表示系統(tǒng)管理員和申請管理者共有的菜單項,2則表示只有系統(tǒng)管理員才具有的菜單選項4.2 系統(tǒng)功能模塊設計該部分對系統(tǒng)中的三種用戶角色的功能進行了詳細設計。4.2.1 項目申請者模塊設計項目申請者模塊,包括用戶登錄、用戶資料修改、信息錄入、項目修改、項目查詢等功能,各功能說明如下:用戶登錄提供用戶登錄的功能。所有合法的用戶名和密碼都已經(jīng)儲存在數(shù)據(jù)庫內(nèi),只有輸入合法的

58、用戶名和用戶密碼,才能登錄系統(tǒng)。當輸入的用戶密碼與用戶名不匹配時,系統(tǒng)提示錯誤。用戶資料修改提供項目申請者查看并修改個人資料的功能。修改資料時,用戶名、用戶密碼、用戶真實姓名、用戶E-mail地址、用戶電話號碼均為必填內(nèi)容,全部不能為空。若資料填寫不完善,應提示無法完成修改。信息錄入提供給項目申請者提交項目申請的功能。該功能模塊應包括項目描述和項目文件,項目申請者在文本框中對申請的科研項目進行整體描述,詳細的科研項目申請文檔必須以附件的形式進行上傳。項目修改提供項目申請者更改申請項目資料的功能。項目申請者可以對自己的已提交的科研項目申請進行修改和刪除。信息查詢提供項目申請者查詢個人項目申請狀態(tài)

59、的功能。項目申請者可以查看到自己所提交的所有科研項目的申請,并且能夠看到各個申請的處理狀態(tài)。項目修改流程圖如圖4.2所示。開始確認修改N點擊修改按鈕刪除原項目信息Y輸入新的項目信息返回主界面停止圖4.2 項目修改流程圖當用戶點擊“修改”按鈕時,系統(tǒng)會提示是否確認修改:點擊“否”,系統(tǒng)直接返回主界面;點擊“是”,系統(tǒng)將刪除原來的項目信息,同時提示項目申請者輸入新的項目信息,修改完成后將返回主界面。4.2.2 項目管理者模塊設計項目管理者模塊,包括用戶登錄、用戶資料修改、賬戶管理、信息查詢、信息匯總、向上級報送申報數(shù)據(jù)、打印申報數(shù)據(jù)清單等功能,各功能說明如下:用戶登錄提供用戶登錄的功能。所有合法的

60、用戶名和密碼都已經(jīng)儲存在數(shù)據(jù)庫內(nèi),只有輸入合法的用戶名和用戶密碼,才能登錄系統(tǒng)。當輸入的用戶密碼與用戶名不匹配時,系統(tǒng)提示錯誤。用戶資料修改提供項目管理者查看并修改個人資料的功能。修改資料時,用戶名、用戶密碼、用戶真實姓名、用戶E-mail地址、用戶電話號碼均為必填內(nèi)容,全部不能為空。若資料填寫不完善,應提示無法完成修改。賬號管理提供項目管理者管理項目申請者賬號的功能。項目管理者可以對所有用戶權限為項目申請者的賬號進行查詢和刪除功能,也可以添加用戶權限為項目申請者的新用戶。信息查詢提供項目管理者查詢項目申請的功能。項目管理者可以查看到所有科研項目的申請,并且能夠看到各個申請的處理狀態(tài),也可以根

溫馨提示

  • 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

提交評論