国产精品天干天干,亚洲毛片在线,日韩gay小鲜肉啪啪18禁,女同Gay自慰喷水

歡迎光臨散文網 會員登陸 & 注冊

基于Java EE的系統(tǒng)設計與實現(xiàn)(論文+PPT

2022-12-22 08:48 作者:ChatGPT云炬學長  | 我要投稿

分類號_______________ 密級________________ UDC _______________ 學號? 畢業(yè)設計(論文) 論文題目基于Java EE平臺項目管理系統(tǒng)的設計與實現(xiàn)Thesis TopicDesign and Implementation of Project Management System Based on Java ee Platform學生姓名學 號所 在 院 系專 業(yè) 班 級導師姓名職稱完成日期 畢業(yè)設計(論文)任務書 第1頁 畢業(yè)設計(論文)題目:基于 java EE平臺的項目管理系統(tǒng)設計與實現(xiàn)畢業(yè)設計(論文)要求及原始數據(資料):1.調查基于Java EE平臺的應用系統(tǒng)的現(xiàn)狀和發(fā)展趨勢;2.深入了解Java EE平臺的相關技術和開發(fā)環(huán)境與工具;3.熟練掌握與基于Java EE平臺的應用開發(fā)的編輯語言和開發(fā)技巧;4.熟練掌握系統(tǒng)開發(fā)的工作流程和技巧;5.熟練掌握系統(tǒng)測試設計和評估的方法;6.訓練檢索文獻資料和利用文獻資料的能力; 7.訓練撰寫技術文檔與學位論文的能力。 第2頁 畢業(yè)設計(論文)主要內容:1.綜述項目管理系統(tǒng)國內外應用現(xiàn)狀;2.介紹基于Java EE平臺的相關應用開發(fā)技術與開發(fā)環(huán)境與工具;3.介紹項目管理系統(tǒng)的開發(fā)的需求分析; 4.介紹項目管理系統(tǒng)應用程序的總體設計;5. 介紹項目管理系統(tǒng)應用程序的詳細設計與實現(xiàn);6.系統(tǒng)測試與評估;7.今后工作與展望。學生應交出的設計文件(論文):1.內容完整、層次清晰、敘述流暢、排版規(guī)范的畢業(yè)設計論文;2.包括畢業(yè)設計論文、源程序等內容在內的畢業(yè)設計電子文檔及其它相關材料。 第3頁 主要參考文獻(資料):[1] 張志豪.基于Java EE的里程碑科技項目管理系統(tǒng)的設計與實現(xiàn)[D].電子科技大學,2014.[2] 康蔣偉,周愛玲,邱建林.高??蒲许椖抗芾硐到y(tǒng)的設計與實現(xiàn)[J].科技創(chuàng)新與應用,2016年36期[3] 劉亞賓,精通Eclipse--JAVA技術大系,電子工業(yè)出版社,2005.[4] 于萬波,網站開發(fā)與應用案例教程,清華大學出版社,2009.[5] 楊學瑜,高立軍,軟件開發(fā)過程與項目管理,電子工業(yè)出版社,2008.[6] 張潔才,Java web應用開發(fā)教程,科學出版社,2005.[7] 戴維爾,JavaScript程序員教程,電子工業(yè)出版社,2010.[8] 黎連業(yè)、王華、李淑春,軟件測試與測試技術,清華大學出版社,2009.[9] 黃梯云著.管理信息系統(tǒng).北京.電子工業(yè)出版社.2006 .[10].James D. McCaffrey等著.NET軟件測試自動化之道[M]. 北京.電子工業(yè)出版社.2007.[11].甘仞初著.信息系統(tǒng)開發(fā).北京.經濟科學出版社.2007.[12].馬赫著. Dreamweaver MX 2004 網頁設計經典108例.中國青年出版社.2005.[13].唐友國 湛洪波著.JSP網站開發(fā)詳解.電子工業(yè)出版社2008年10月.[14].(美)H.M.Deitel,P.Jdeitel著.Java程序設計教程(第五版). 清華大學出版社.2004.[15].(美)Elliotte Rusty Harold著.Java Network Programming.東南大學出版社 .2005.[16](美)John J.Patrick著.SQL基礎(第二版).清華大學出版社.2004.專業(yè)班級學生要求設計(論文)工作起止日期指導教師簽字日期教研室主任審查簽字日期系主任批準簽字日期 基于Java EE平臺項目管理系統(tǒng)的設計與實現(xiàn) 摘 要 隨著社會信息化的發(fā)展,很多的社會管理問題也一并出現(xiàn)了根本性變化,項目公司的報表及文件管理也發(fā)生了變化,以前的管理是一個分布式的信息,然后圍繞中心由通過簡單的來傳輸信息,這使得辦事效率非常低下,所以需要需要適用信息貨的發(fā)展,開發(fā)一套項目的管理信息系統(tǒng)。 此在這個系統(tǒng)中我綜合應用了MySQL、Servlet、JSP等知識。網頁界面的結構設計以實用性出發(fā),具有易于操作、簡潔、方便等特點。在設計中,首先,運用HTML語言對網站的靜態(tài)頁面進行精細的加工并且在網站的美工方面取得了良好的效果。其次,對于Java編程、JSP的動態(tài)編程以及MySQL數據庫進行努力學習和大量實踐,并運用到了網站的建設中。 本論文就項目管理系統(tǒng)進行了論述。訪問本系統(tǒng)的用戶主要是管理員,管理員的主要功能有:項目信息管理、項目資源、經費、進度、成果等信息的管理 關鍵詞:項目管理;JSP;MySQL;Myeclipse Design and Implementation of Project Management System Based on Java EE Platform? Abstract With the development of social information, a lot of social management problems also followed a fundamental change, the project company's report management has also changed, the previous management is a distributed information, and then around the center to transfer information from the Simple manual transmission, which makes inefficient service, so the need for information product development, enterprise project management information system development. In this system, I integrated the MySQL application Servlet, JSP and other knowledge. In practice, the structure of Web interface structure, simple and convenient operation, simple operation, convenient and so on. In the design, first of all, the use of language HTML page fine processing and art website static page has achieved good results. Second, Java programming, dynamic programming JSP and MySQL database efforts to learn and practice, and to be implemented. This paper discusses the enterprise project management system. Who is the user who visits the system is mainly the administrator, the administrator's main responsibilities are: enterprise information projects, project resources, funds, progress, results and other information management management. Key word: project management, JSP, MySQL, MyEclipse 目錄

摘要1Design and Implementation of Project Management System Based on Java ee Platform2Abstract21.緒論51.1課題背景51.2目的和意義51.3開發(fā)設計思想51.4開發(fā)目標52.開發(fā)工具和環(huán)境簡介72.1 Java Server Page 簡介72.2 MySQL簡介82.3 MyEclipse 簡介102.4MySQL 數據庫102.5JAVA 簡介102.6Tomcat簡介112.7 MVC模式113.系統(tǒng)功能分析143.1 可行性研究143.2 需求分析153.3 系統(tǒng)功能的分析153.4 數據字典164.項目管理系統(tǒng)的總體設計174.1 系統(tǒng)的功能設計目標174.2 項目管理系統(tǒng)功能模塊174.4 系統(tǒng)總體結構圖264.5項目管理系統(tǒng)用例圖275.數據庫設計295.1 數據庫系統(tǒng)概述295.2 數據庫邏輯結構設計296.系統(tǒng)實現(xiàn)326.1程序說明326.2 網頁主頁面模塊327.系統(tǒng)測試337.1 軟件的安裝與配置337.2 軟件調試337.3 軟件測試348.結束語36致謝37參考文獻38附錄:外文翻譯:391.英文原文392.中文翻譯43 緒論

課題背景

隨著社會信息化的發(fā)展,社會上很多事務的管理也跟著相應發(fā)生了根本的變化,項目申報管理也跟著發(fā)生了變化,以前的管理是一種各地信息分散然后再集中到中央,信息的傳送途徑是通過簡單人工傳送,這樣使辦事效率低。此外,各個分散機構的項目申報在辦理后不能及時集中到中央數據中心,不利于管理層的信息統(tǒng)計與決策。二十一世紀是信息技術的時代,信息量高度膨脹,人們對于信息的需求和控制欲越發(fā)強烈,各行各業(yè)對信息自動化和控制自動化的需求日益強烈。隨著計算機和計算機網絡的普及,使人們具有了處理大量的、繁瑣的、復雜的、無序的信息的能力,并且隨著數據庫技術的逐步成熟和逐步深入到社會科學的各個領域,人們可以對以前無法解決或無法在短時間內解決的信息問題做出迅速的判斷和解決。? 目的和意義

基于以上現(xiàn)狀,采用先進的信息化管理系統(tǒng)可以解決這些問題。這樣就方便了管理層的統(tǒng)一管理和決策,同時提供了工作效率。本系統(tǒng)用于對轄區(qū)內單位項目申報立項流程的管理,傳統(tǒng)模式的管理花費很多的精力,采用信息新技術優(yōu)化管理手段,強化申報流程,加強項目監(jiān)管,提高工作效率。 本論文主要包括軟件,數據庫和網絡技術,可以對信息快速的收集整理,在這個過程中,考察了學生在大學期間所學的知識以及綜合知識學習能力,并且在解決問題的水平有了很大提高,而且增強了對項目管理方面的理解與認識。我們運用和掌握了科學的研究方法,首先,我們確立了正確的設計思想,獨立的進行思考,積極探索,勇于發(fā)現(xiàn)錯誤并及時改正,對今后的學習生活而言是一個難能可貴的經歷。 開發(fā)設計思想

此在這個系統(tǒng)中我綜合應用了MySQL、Servlet、JSP等知識。網頁界面的結構設計以實用性出發(fā),具有易于操作、簡潔、方便等特點。在設計中,首先,運用HTML語言對網站的靜態(tài)頁面進行精細的加工并且在網站的美工方面取得了良好的效果。其次,對于Java編程、JSP的動態(tài)編程以及MySQL數據庫進行努力學習和大量實踐,并運用到了網站的建設中。 工程管理是一種遵循客觀經濟規(guī)律的管理活動,是系統(tǒng)的全方位的對工程建設項目從追蹤各類項目信息開始,然后編制項目書,進行研究,開展設計和施工等工作,直到項目竣工投產或投入使用的全過程的管理。 開發(fā)目標

高校是科技發(fā)展的重要力量,而企業(yè)中文件與項目管理更為重要,因此為了促進高??蒲邪l(fā)展、提高企業(yè)管理水平及服務水平的管理在日常管理中的作用日益凸現(xiàn)。傳統(tǒng)的手工管理和計算機的輔助管理越來越不能滿足新形勢下發(fā)展的要求,有必要對管理信息進行計算機的網絡管理。 在我國,某些高校或企業(yè)一直使用傳統(tǒng)人工的方式管理文件檔案,這種管理方式存在著許多缺點,如:效率低、保密性差,另外時間一長,將產生大量的文件和數據,這對于查找、更新和維護都帶來了不少的困難。作為計算機應用的一部分,使用計算機對文件檔案信息進行管理,具有手工管理所無法比擬的優(yōu)點。所以建立項目管理系統(tǒng),使管理自動化,提高信息處理的速度和準確性十分必要。 開發(fā)工具和環(huán)境簡介

2.1 Java Server Page 簡介

JSP技術使用Java編程語言編寫類XML的tags和scriptlets,來封裝產生動態(tài)網頁的處理邏輯。網頁還能通過tags和scriptlets訪問存在于服務端的資源的應用邏輯。JSP將網頁邏輯與網頁設計和顯示分離,支持可重用的基于組件的設計,使基于Web的應用程序的開發(fā)變得迅速和容易。? Web服務器在遇到訪問JSP網頁的請求時,首先執(zhí)行其中的程序段,然后將執(zhí)行結果連同JSP文件中的HTML代碼一起返回給客戶。插入的Java程序段可以操作數據庫、重新定向網頁等,以實現(xiàn)建立動態(tài)網頁所需要的功能。JSP與Servlet一樣,是在服務器端執(zhí)行的,通常返回給客戶端就是一個HTML文本,因此客戶端只要有瀏覽器能瀏覽。JSP頁面由HTML代碼和嵌入其中的Java代碼所組成。服務器在頁面被客戶端請求以后對這些Java代碼進行處理,然后將生成的HTML頁面返回給客戶端的瀏覽器。Servlet是JSP的技術基礎,而且大型的Web應用程序的開發(fā)需要Java Servlet和JSP配合才能完成。JSP具備了Java技術的簡單易用,完全的面向對象,具有平臺無關性且安全可靠,主要面向因特網的所有特點。JSP技術的優(yōu)點: (1)一次編寫,到處運行。除了系統(tǒng)之外,代碼不用做任何更改。? (2)系統(tǒng)的多平臺支持。基本上可以在所有平臺上的任意環(huán)境中開發(fā),在任意環(huán)境中進行系統(tǒng)部署,在任意環(huán)境中擴展。相比ASP/.net的局限性是顯而易見的。? (3)強大的可伸縮性。從只有一個小的Jar文件就可以運行Servlet/JSP,到由多臺服務器進行集群和負載均衡,到多臺Application進行事務處理,消息處理,一臺服務器到無數臺服務器,Java顯示了一個巨大的生命力。? (4)多樣化和功能強大的開發(fā)工具支持。Java已經有了許多非常優(yōu)秀的開發(fā)工具,而且許多可以免費得到,并且其中許多已經可以順利的運行于多種平臺之下 (5)支持服務器端組件。web應用需要強大的服務器端組件來支持,開發(fā)人員需要利用其他工具設計實現(xiàn)復雜功能的組件供web頁面調用,以增強系統(tǒng)性能。JSP可以使用成熟的JAVA BEANS 組件來實現(xiàn)復雜商務功能。 內部對象說明:request 客戶端請求,此請求會包含來自GET/POST請求的參數; response 網頁傳回客戶端的響應;pageContext 網頁的屬性是在這里管理; session 與請求有關的會話; application servlet正在執(zhí)行的內容;out 用來傳送響應的輸出流; config 代碼片段配置對象;page JSP網頁本身; exception 針對錯誤網頁,未捕捉的例外。 2.2 MySQL簡介

MySQL是目前屬于Oracle旗下,由瑞典公司MySQL AB開發(fā)的關系型數據庫管理軟件。目前,MySQL在互聯(lián)網上的中小型網站上得到了廣泛的應用。由于其體積小、速度快、整體擁有成本低,則許多中小型網站選擇MySQL作為網站,這樣可以很大程度的降低網站整體擁有成本。 數據庫物理設計階段的目標是指實際的計算機系統(tǒng)(硬件和數據庫管理系統(tǒng)),給指定的數據庫模型(database model)確立恰當的存儲結構以及存取方法。其中“恰當”含有兩種含意:其一,數據庫使用的存儲空間要盡可能的少;其二,數據庫反應時長要盡可能的短。 以作出令人滿意的數據庫設計為目標,數據庫設計人員應該掌握數據庫管理系統(tǒng)的核心規(guī)則;能很好的運用DBMS的實際運行環(huán)境,尤其注意數據應用管理的反應時長以及頻率的需求;明確外部存儲設施的特性。 物理結構設計階段的目標是在確定數據庫的存儲結構和訪問方法之前提供有關DBMS提供的信息要做到充分的熟悉,做到能合理優(yōu)化數據庫中物理設計的參數。這種優(yōu)化的有效性直接關系著DBMS的性能,被稱為數據庫系統(tǒng)的內模式。 數據庫事務的四大特性(簡稱ACID)是:? 原子性(Atomicity)? 事務的原子性是指,事務所包含的被當做數據庫邏輯工作個體的程序,對數據的操縱要求“一針見血”,即沒有完全確定要修改的內容時一個不改,一旦確定目標就要全部都改,這種特性被稱為原子性。? 例如添加圖片事務分為2個步驟(1)上傳圖片(2)添加圖片所在的相冊類型。不可能添加了圖片類型,卻沒有上傳。2個步驟必須同時完成才能實現(xiàn)添加圖片事務。? (2)一致性(Consistency)? 事務一致性意味著數據庫不會隨著事務更改而更改。此屬性稱為事務一致性。如果是的話,說數據庫是一致的。數據庫中事務一致性的標準則要求數據庫的狀態(tài)需要滿足所有完整性約束。 例如完整性約束圖片的刪除,如果圖片刪除事務發(fā)生更改,則數據庫中的數據也必須刪除。? (3)分離性(亦稱獨立性Isolation)? 分離性指的是并發(fā)的事務是相互隔離的。即對并發(fā)事務正在關聯(lián)的數據以及內部動作進行分割,遠離其他交易。這是為了防止并發(fā)事務的發(fā)生,而同樣的數據操作可能會出現(xiàn)死鎖現(xiàn)象。? (4)持久性(Durability) 持久性意味著已持久化的事務不會因為外部環(huán)境關閉或其他異?,F(xiàn)象的發(fā)生而發(fā)生改變。即只要事務進行了持久化操作,則數據庫數據的改變就會在數據庫管理系統(tǒng)的管理下恒久不變,還可以還原已提交事務的更改。 MySQL數據庫提供了一些強大的功能,可以在幫助使用者獲取信息的同時,對數據進行多樣的數據處理。除此之外,便利的數據庫分享功能使管理人員可以更好的作出恰到的決策。 不過,單獨的DBMS并不能完全滿足信息系統(tǒng)的開發(fā)者對數據處理的需求,又或是需要更加便捷的方式去實現(xiàn)。 因此,開發(fā)者們會在某種在DBMS中,DIY需要自己的應用程序來形成一個應用程序信息系統(tǒng),以滿足應用需求和盡可能簡單。這就是所謂的兩個發(fā)展。 MySQL 還具有以下特點: 1.更便宜的查詢和操縱數據 MySQL提供了簡化查詢和操縱數據的工具。 2.提供信息共享功能(web功能) MySQL簡化了數據庫功能,他將桌面以及網址的數據庫功能進行了整合,使得它可以輕易將數據庫運用到瀏覽器中。這樣它就能僅通過內網的Internet就能實現(xiàn)信息共享。 3.有關于信息處理方面的問題 用戶和開發(fā)人員可以結合MySQL接口(客戶端)的易用性和SQL Server的可擴展性和可靠性來對信息進行創(chuàng)建解決方案。 4.DIY數據庫窗口 MySQL可以持久化新的對象,這樣很大程度上提升了MySQL 數據庫的便捷性。 5.名稱自動更改功能 當用戶對數據庫對象進行重新命名的時候,,MySQL會自動更改與它關聯(lián)的名稱信息,方便數據庫的擴展和維護。 6.可以建立子數據表功能 可以在同一窗口中實現(xiàn)可嵌套式的視圖子表功能,方便開發(fā)者能夠只關注相關的數據并對其進行操作。 7.方便快捷的數據庫連接導出方式 數據的導出只需要將MySQL對象加載到JDBC-ODBC橋即可實現(xiàn)。 8.數據訪問頁功能 該功能可使用戶快捷方便地創(chuàng)建數掂 HTML頁,通過將數據庫加載到Intranet Internet連接中,可以高效、快捷地實現(xiàn)信息的共享。 9.集成共享組件 MySQL為了實現(xiàn)多種查詢和管理數據則運用Web組件和瀏覽器中的COM控件。 交互性 MySQL支持OLE DB,讓用戶結合使用與后臺數據庫如SQL Server2000的擴展MySQL接口方便。 2.3 MyEclipse 簡介

本系統(tǒng)是跨越平臺限制和跨越瀏覽器限制的充滿動感的網頁。構建項目管理系統(tǒng)所用的網頁編輯器為MyEclipse, MyEclipse,是一個十分優(yōu)秀的用于開發(fā)Java, J2EE的Eclipse插件集合,MyEclipse的功能非常強大,支持也十分廣泛,尤其是對各種開元產品的支持十分不錯。MyEclipse企業(yè)級工作平臺(MyEclipse Enterprise Workbench ,簡稱MyEclipse)是對Eclipse IDE的擴展,利用它我們可以在數據庫和JavaEE的開發(fā)、發(fā)布,以及應用程序服務器的整合方面極大的提高工作效率。它是功能豐富的JavaEE集成開發(fā)環(huán)境,包括了完備的編碼、調試、測試和發(fā)布功能,完整支持HTML, Struts, JSP, CSS, Javascript, SQL, Hibernate。 MySQL 數據庫

MySQL數據庫是一個開放源代碼的關系數據庫管理系統(tǒng),原開發(fā)者為瑞典的MySQL AB公司,該公司于2008年被升陽微系統(tǒng)(Sun Microsystems)收購。2009年,甲骨文公司(Oracle)收購升陽微系統(tǒng)公司,MySQL成為Oracle旗下產品。MySQL在過去由于性能高、成本低、可靠性好,已經成為最流行的開源數據庫,因此被廣泛地應用在Internet上的中小型網站中。JAVA 簡介

在我們大學的課程中了解到,Java其實和c++差不多,在本質上都是面向對象進行設計開發(fā)的語言。在跟c語言相比較之后,你會發(fā)現(xiàn),對于開發(fā)者而言Java是更趨向于簡單易懂的模式。在java中,所有的程序,不論簡單與否,都必須構建對象才會有接來下的操作。并且java的源代碼必須先經過編譯之后才能傳遞到客戶端去執(zhí)行。Java中的所有變量必須在聲明之后才可以使用。并且java是一種與html無關的一種格式,java中的代碼是以字節(jié)碼的形式存在的。他們都是獨立的保存在文檔中。在java中始終都是先編譯后運行,java的引用對象必須是在編譯時才會用到。

Java語言的特點:

1.平臺無關性

平臺無關性是Java語言的一大特色,它是指編寫好的Java程序無需任何修改就可以在不同的平臺上進行運行。我們知道,.exe文件是windows系統(tǒng)下的可執(zhí)行文件,類似的,.class文件就是JVM(Java虛擬機)上的“可執(zhí)行文件”。Java代碼在第一次編寫的時候所存儲的后綴為.java的文件經過編譯后,會生成一個后綴為.class的文件,而該文件則獨立于平臺。怎么說呢?我們的Java程序在平臺上不是直接運行于系統(tǒng)上的,而是通過JVM來運行,不同平臺的JVM是不同的,但是對外都提供相同的接口,這樣.class文件不管在什么平臺下都能和這些“相同的”接口正確“嵌合”。

2.安全性

一是java有一種garbage collection機制,也就是垃圾回收機制,garbage collector會讓你所編寫的程序不容易出現(xiàn)內存泄露。如果內存泄露是很危險的,在內存泄露的時候,黑客有可能會借此對你的電腦進行攻擊。二是java中存在異常類,也就是exception類,它可以在程序出錯的時候讓程序員停止程序的運行,保護程序的安全。三是java里面沒有指針,可以防止程序員access錯誤的內存,從而保護程序的安全。

3.面向對象

想知道什么是面向對象的話,首先需要知道什么是面向過程。面向過程允許在程序中定義函數或者方法。而面向對象更近一步,允許你將這個“過程”,也就是函數或者方法以及和它們所關聯(lián)的數據封裝成對象,而這個對象,又通過繼承和派生以及類型限定符,使開發(fā)者無法全部的訪問和修改其包含的整個內容。

4.分布式

分布式和多處理器的系統(tǒng)不同,分布式系統(tǒng)中每個節(jié)點運行獨立的操作系統(tǒng)。而多機系統(tǒng)所有的節(jié)點在單一的操作系統(tǒng)的控制下。

5.可移植性

Java的可移植性主要體現(xiàn)在你在一個操作系統(tǒng)上編譯生成的.class文件,可以直接在另外一個操作系統(tǒng)上運行,當然這些操作系統(tǒng)上都應該安裝JDK,其實準確的說,只需要有JRE就可以。Tomcat簡介

Tomcat 服務器是一個輕量級應用服務器,它所占用的資源特別少,在用戶和系統(tǒng)所需資源不是很多的情況下經常被使用,是開發(fā)和調試JSP 程序的首選。由于sun公司對tomcat發(fā)展的支持,所以最新的JSP規(guī)范一定會在Tomcat中得以體現(xiàn)。Tomcat的技術十分先進,而且使用也很方便,性能也是相當的穩(wěn)定,多數的程序開發(fā)人員都很喜歡使用tomcat。Tomcat雖然是一個小型的服務器,但它的發(fā)展已經相當成熟,并且它是免費的,但是它的效率根本不會輸給競爭對手。同樣,我們可以把Tomcat看做是Apache服務器的一種擴展,所以當我們在運行tomcat時,本質上它是以一個獨立的Apache進程來運行。 2.7 MVC模式

為了滿足系統(tǒng)對先進性、安全性、跨平臺性、可擴展性、可移植性、分布式等方面的要求,系統(tǒng)總體架構設計采用先進的基于java的B/S的三層體系結構。MVC是 三個單詞的縮寫,分別為: 模型(Model),

視圖

(View)和控制Controller)[9]。 MVC模式的目的就是實現(xiàn)Web系統(tǒng)的職能分工。Model層 實現(xiàn)系統(tǒng)中的業(yè)務邏輯,通??梢杂肑avaBean或EJB來實現(xiàn)。 View層 用于與用戶的交互,通常用JSP來實現(xiàn)。 Controller層是Model與View之間溝通的橋梁,它可以分派用戶的請求并選擇恰當的視圖以用于顯示,同時它也可以解釋用戶的輸入并將它們映射為模型層可執(zhí)行的操作。Web瀏覽技術已經廣泛地應用于Internet,并被廣大用戶接受和使用。Web技術是隨http和html一起出現(xiàn)的。Web服務器利用http傳遞html文件,Web瀏覽器使用http檢索html文件。Web服務器一旦檢索到信息,Web瀏覽器就會以靜態(tài)和交互(如文本、圖像)方式顯示各種對象。在電子商務業(yè)務進行過程中,需要在各種貿易角色之間瀏覽和交換各種信息,此時就要使用Web瀏覽技術。 這種模型使系統(tǒng)結構更加清楚,分工更加明確,有利于整個系統(tǒng)后期的維護和升級。 MVC(Model View Controller)模型(model)-視圖(view)-控制器(controller)MVC本來是存在于Desktop程序中的,M是指數據模型,V是指用戶界面,C則是控制器。使用MVC 的目的是將M和V的實現(xiàn)代碼分離,從而使同一個程序可以使用不同的表現(xiàn)形式。比如一批統(tǒng)計數據你可以分別用柱狀圖、餅圖來表示。C存在的目的則是確保M和V的同步,一旦M改變,V應該同步更新。模型-視圖-控制器(MVC)是Xerox PARC在八十年代為編程語言Smalltalk-80發(fā)明的一種

軟件設計模式

,至今已被廣泛使用。最近幾年被推薦為Oracle旗下Sun公司Java EE平臺的設計模式,并且受到越來越多的使用 ColdFusion 和 PHP 的開發(fā)者的歡迎。模型-視圖-控制器模式是一個有用的

工具箱

,它有很多好處,但也有一些缺點。? 三層體系結構由瀏覽器、web服務器和數據庫組成,并結合HTML語言、jsp、JavaScript腳本語言、Ajax、ODBC等技術,后臺的數據庫采用微軟的SQL Server 2005,系統(tǒng)一般的MVC

圖2-7 系統(tǒng)MVC結構圖 如圖1-1可知,用戶界面層是用戶和整個系統(tǒng)的接口,客戶端只需安裝通用的瀏覽器即可建立與本系統(tǒng)的連接。業(yè)務邏輯層負責處理用戶輸入的信息,或將這些信息發(fā)送給數據庫層進行保存,或調用數據庫層中的函數再次讀出這些數據。數據訪問層是整個分層體系的最底層,它主要用來實現(xiàn)與數據庫的交互,即完成查詢、插入、刪除和修改數據庫中數據的功能MVC是一個設計模式,它強制性的使

應用程序

的輸入、處理和輸出分開。使用MVC應用程序被分成三個核心部件:模型、視圖、控制器。它們各自處理自己的任務。分層概念視圖,模型,控制器。 視圖是用戶看到并與之交互的界面。對老式的Web應用程序來說,視圖就是由HTML元素組成的界面,在新式的Web應用程序中,HTML依舊在視圖中扮演著重要的角色,但一些新的技術已層出不窮,它們包括Macromedia Flash和象XHTML,XML/XSL,WML等一些標識語言和Web services。如何處理應用程序的界面變得越來越有挑戰(zhàn)性。MVC一個大的好處是它能為你的應用程序處理很多不同的視圖。在視圖中其實沒有真正的處理發(fā)生,不管這些數據是聯(lián)機存儲的還是一個雇員列表,作為視圖來講,它只是作為一種輸出數據并允許用戶操縱的方式。模型表示企業(yè)數據和業(yè)務規(guī)則。在MVC的三個部件中,模型擁有最多的處理任務。例如它可能用象EJBs和ColdFusion Components這樣的構件

對象

來處理數據庫。被模型返回的數據是中立的,就是說模型與數據格式無關,這樣一個模型能為多個視圖提供數據。MVC模型還可以實現(xiàn)軟件工程的高內聚,低耦合的終極目標。由于應用于模型的代碼只需寫一次就可以被多個視圖重用,所以減少了代碼的重復性。 控制器接受用戶的輸入并調用模型和視圖去完成用戶的需求。所以當單擊Web頁面中的超鏈接和發(fā)送

HTML表單

時,控制器本身不輸出任何東西和做任何處理。它只是接收請求并決定調用哪個模型構件去處理請求自己本身并不參與業(yè)務邏輯處理,然后再確定用哪個視圖來顯示返回的數據。 MVC的優(yōu)點: 低耦合性高重用性和可適用性較低的生命周期成本快速的部署可維護性有利于軟件工程化管理

系統(tǒng)功能分析

我需求分析是理解真實世界中的問題和用戶需求,并能找出能滿足這些需求的解決方案的過程。需求分析的目標是在開發(fā)活動開始之前,對問題的解決方法得到更好的認識。由此可見,需求分析在整個項目運行過程中具有舉足輕重的地位。它甚至決定了以后開發(fā)活動的大方向。能否得到一個準確全面的需求分析結果將直接影響軟件開發(fā)項目的質量和成敗。

3.1 可行性研究

對于可行性研究而言,其任務就是用最低的代價在最短的時間內做出一個判斷當前系統(tǒng)實現(xiàn)后的價值。為了避免在花費了大量的資源之后才發(fā)現(xiàn)該功能的實現(xiàn)完成不了或者完成了之后也沒有多少實用性的價值。從而造成更多的浪費。在這個過程中,我們進行大量的問卷調查,網上調研等,深刻的考慮了這個系統(tǒng)的可行性,以免開發(fā)不必要的功能,對時間和資源等的浪費。

①技術可行性

由于主要接觸的是Java編程語言,因此對Java語言比較有深刻的了解,尤其是在實習期間掌握了一些項目經驗。在我看來,這次項目管理系統(tǒng)系統(tǒng)于我來說是一項比較大的軟件開發(fā)工作。在這個開發(fā)過程中,我們?yōu)榱讼到y(tǒng)的成功開發(fā)以及功能的全面實現(xiàn),采取嚴謹的開發(fā)態(tài)度。同時,我們也需要采取科學的、工程化的系統(tǒng)開發(fā)方法。并且在這個過程中,我們也會研究一些符合工程化標準的開發(fā)方法,以適應我們的開發(fā)過程,保證系統(tǒng)功能的實現(xiàn)。研究這些方法意圖是為了我們掌握更好的開發(fā)方法,并且在保證開發(fā)的速度較快的同時保證系統(tǒng)功能的質量,而且還可以更多的降低開發(fā)成本,節(jié)約時間。

②操作可行性

現(xiàn)在的生活中計算機已經普遍到每個家庭的生活當中,因而也就越來越多的人掌握了使用計算機的基本使用方法和技能。而本系統(tǒng)操作簡單,輸入信息頁面大多數都是下拉框的選擇形式,在某些頁面,信息可以自動生成,無需輸入,時間的輸入也是用的日歷控件,操作簡便,對用戶的要求很低,只需對WINDOWS操作熟練,而且本系統(tǒng)可視性非常好,所以在技術上不會有很大難度。

③經濟可行性

服務器端的安裝簡潔明了,客戶機無需再裝任何軟件,通過瀏覽器就可以直接訪問,可以直接接入Internet,無論您身在何處,只要您可以訪問Internet都可以使用本系統(tǒng)。本系統(tǒng)對計算機配置的要求不高,企業(yè)機房更換下來的低配置電腦都可以完全滿足需要,所以在經濟上具有完全的可行性

④ 法律的可行性

此系統(tǒng)開發(fā)期間,所有工作完全是獨立完成,本人具有開發(fā)此軟件的能力,因此不存在抄襲等盜版侵權的問題。因此具有法律可行性。

綜上所述,開發(fā)此系統(tǒng)十分有利于我們學習或工作當中的文件或項目管理,使之能夠更加方便,快捷,準確,并能夠降低成本,這是很多高效或大公司在未來所需要的一款系統(tǒng)。因此,此系統(tǒng)的開發(fā)是完全可行的。

⑤運行環(huán)境:

此項目管理系統(tǒng)的運行環(huán)境包括硬件、操作系統(tǒng)、數據庫等軟件:

硬件:對于硬件的要求不是很高,基本的中央處理器(CPU):i5-3230M;

硬 盤:硬盤容量需要80 GB以上硬盤;

內 存:8G;

操作系統(tǒng): Windows7,?

關系數據庫: MySQL;

3.2 需求分析

"需求分析",是指對要解決的問題進行詳細的分析,弄清楚問題的要求,包括需要輸入什么數據,要得到什么結果,最后應輸出什么。可以說,在

軟件工程

當中的“需求分析”就是確定要計算機“做什么”,要達到什么樣的效果??梢哉f需求分析是做系統(tǒng)之前必做的。

而對于項目管理系統(tǒng)開發(fā)來言,我們了解的就是將來管理者會有什么樣的具體要求,同時在管理者運行上也需近乎流暢。在考慮系統(tǒng)的性能的時候,方便用戶的前提下,我們應該去實現(xiàn)什么樣的功能。用戶的需求分析:

首先用戶需要在此網站進行在用戶注冊成功登錄后,用戶可以在知道自己原密碼的前提下修改自己的登錄密碼。其次用戶可以添加新項目,同時刪除舊項目或創(chuàng)建錯誤的項目,同時,用戶可以進行項目經費,資源,進程,成果進行管理以及對這些操作的查看以便進行確認。系統(tǒng)性能分析:

對數據的安全性、完整性要求:我們需要對用戶的信息進行嚴格保密,防止非法用戶對信息進行惡意刪改。以下是系統(tǒng)性能需求: 首要的則是系統(tǒng)的安全性和可靠性;保證安全的同時盡可能完善系統(tǒng)的功能,易于用戶的操作;為了不斷地進步發(fā)展,系統(tǒng)同時需要進行維護和不斷地升級完善功能;由于多用戶同時操作,所以數據庫需要滿足多次訪問,保證其效率處于較高的水平。

3.3 系統(tǒng)功能的分析

如果我們的系統(tǒng)已經初步成型,我們需要對其進行分析時,則需要通過分析系統(tǒng)的功能和實現(xiàn)去確定系統(tǒng)的即將要達成的目的。因此,我們要收集足夠的信息去驗證我們的分析結果,在該次畢業(yè)設計中,我們獲取的信息大多都是從網上,書庫中了解到的。在任何的實踐中獲取的信息其實才是最可靠,最具有說服力的信息,所以,我們?yōu)g覽其它的項目管理系統(tǒng),然后來具體管理以便獲得更可靠的信息。從而得到以下的功能模塊: 從管理員角度看: 用戶登入系統(tǒng)后,可以修改管理員的密碼。同時具有以下功能: 1、管理員可以管理具體項目信息。 2、管理員可以管理項目經費信息。 3、管理員可以管理項目資源信息。 4、管理員可以管理項目進度信息。 5、管理員可以管理項目成果信息。 從員工角度看: 員工可以注冊,然后可以進行密碼以及信息的管理。同時也具有以下功能: 員工可以查看具體項目信息員工可以查看具體經費信息員工可以查看具體資源信息員工可以查看具體進度信息員工可以具體查看成果信息

3.4 數據字典

字典最重要的作用是作為分析階段的工具。日常生活中,任何的字典都是供人查詢未知的詞條或條目,起到答疑解釋的目的。而在系統(tǒng)設計結構化分析中,數據流圖上每個成分的定義和說明則依靠數據字典來完成。在數據字典中建立的這種嚴密且一致的定義對改進分析員和用戶的通信有很大的幫助。數據字典由數據項,數據結構,數據流,數據存儲以及處理過程組成,在系統(tǒng)分析中有很大的作用。 項目管理系統(tǒng)的總體設計

4.1 系統(tǒng)的功能設計目標

理論系統(tǒng)功能設計目標如下: 實用性強:在設計系統(tǒng)時,做到最大化的貼近實際,操作簡單,針對各層次的人群都能夠快速學習并運用。先進的程序結構:使用先進的程序結構,利于提高整個系統(tǒng)的效率,而且便于維護及管理,以增強系統(tǒng)的使用周期。

(3) 使用模塊化設計的方法:首先系統(tǒng)可以具有特別好的可擴充性,便于進一步完善系統(tǒng),其次,對于系統(tǒng)后期的維護也很方便。

(4) 操作簡單,維護方便:系統(tǒng)的維護功能在每個子系統(tǒng)都具備。

4.2 項目管理系統(tǒng)功能模塊

我們詳細考慮了系統(tǒng)所需要的大致功能,并且大體分為以下幾個模塊:

1.登錄界面:這樣的背景下,用于存儲系統(tǒng)信息后,必須先進入到執(zhí)行相應的操作管理系統(tǒng),登錄需要用戶通過輸入引進正確的用戶名,密碼,兩者都是必要的,管理員在后臺識別,后臺模塊的入口,背景識別模塊主要用于驗證管理員的身份和密碼。

判斷管理員身份的部分代碼:

public String login(String userName,String userPw,int userType)

{

String result="no";

if(userType==0)//系統(tǒng)管理員登陸

{

String sql="select * from t_admin where userName=? and userPw=?";

Object[] params={userName,userPw};

DB mydb=new DB();

mydb.doPstm(sql, params);

try?

{

ResultSet rs=mydb.getRs();

boolean mark=(rs==null||!rs.next()?false:true);

if(mark==false)

{

result="no";

}

else

{

result="yes";

TAdmin admin=new TAdmin();

admin.setUserId(rs.getInt("userId"));

admin.setUserName(rs.getString("userName"));

admin.setUserPw(rs.getString("userPw"));

WebContext ctx = WebContextFactory.get();?

HttpSession session=ctx.getSession();?

session.setAttribute("userType", 0);

session.setAttribute("admin", admin);

}

rs.close();

}?

catch (SQLException e)

{

System.out.println("登錄失??!");

e.printStackTrace();

}

finally

{

mydb.closed();

}

}

return result;

}

2.主頁:進入主頁后可以點擊左側項目信息管理、資源信息管理、進度信息管理、個人密碼修改等圖標,進入相應的管理頁面

3.項目管理:本模塊實現(xiàn)對企業(yè)項目信息的管理操作,包括企業(yè)項目信息的添加、刪除操作。

點擊企業(yè)項目信息管理菜單,進入企業(yè)項目信息管理頁面,該頁面通過列表列出已添加的企業(yè)項目信息,包括項目名稱、立項時間、負責人等。點擊列表的刪除按鈕,實現(xiàn)企業(yè)項目信息的刪除操作。

圖4-1 點擊添加按鈕,進入企業(yè)項目信息添加頁面,輸入符合條件的企業(yè)項目信息,完成添加

圖4-2 該模塊的主要功能xiangmu_servlet類 實現(xiàn)的,該類的主要功能是與數據庫交互,查詢或保存企業(yè)項目信息,并通過request跳轉,打開相應的jsp頁面。部分代碼是: public void xiangmuDel(HttpServletRequest req,HttpServletResponse res) { String id=req.getParameter("id"); String sql="update t_xiangmu set del='yes' where id=?"; Object[] params={id}; DB mydb=new DB(); mydb.doPstm(sql, params); mydb.closed(); req.setAttribute("message", "操作成功"); req.setAttribute("path", "xiangmu?type=xiangmuMana"); String targetURL = "/common/success.jsp"; dispatch(targetURL, req, res); } public void xiangmuMana(HttpServletRequest req,HttpServletResponse res) throws ServletException, IOException { String sql="select * from t_xiangmu where del='no'"; req.setAttribute("xiangmuList", getxiangmuList(sql)); req.getRequestDispatcher("admin/xiangmu/xiangmuMana.jsp").forward(req, res); } public void xiangmuSele(HttpServletRequest req,HttpServletResponse res) throws ServletException, IOException { String sql="select * from t_xiangmu where del='no'"; req.setAttribute("xiangmuList", getxiangmuList(sql)); req.getRequestDispatcher("admin/xiangmu/xiangmuSele.jsp").forward(req, res); } private List getxiangmuList(String sql){ List xiangmuList=new ArrayList(); Object[] params={}; DB mydb=new DB(); try { mydb.doPstm(sql, params); ResultSet rs=mydb.getRs(); while(rs.next()) { TXiangmu xiangmu=new TXiangmu(); xiangmu.setId(rs.getInt("id")); xiangmu.setMingcheng(rs.getString("mingcheng")); xiangmu.setShijian(rs.getString("shijian")); xiangmu.setFuzeren(rs.getString("fuzeren")); xiangmuList.add(xiangmu); } rs.close(); } catch(Exception e) { e.printStackTrace(); } mydb.closed(); return xiangmuList; } 4.項目資源管理:本模塊實現(xiàn)對項目資源信息的管理操作,包括項目資源信息的添加、刪除操作。 點擊項目資源信息管理菜單,進入項目資源信息管理頁面,該頁面通過列表列出已添加的項目資源信息,包括項目名稱、資源名稱、添加時間等。

圖4-3

圖4-4 部分代碼:public void ziyuanAdd(HttpServletRequest req,HttpServletResponse res) { String xiangmu_id=req.getParameter("xiangmu_id"); String shijian=req.getParameter("shijian"); String mingcheng=req.getParameter("mingcheng"); String miaoshu=req.getParameter("miaoshu"); String sql="insert into t_ziyuan (xiangmu_id,mingcheng,miaoshu,shijian) values(?,?,?,?)"; Object[] params={xiangmu_id,mingcheng,miaoshu,shijian}; DB mydb=new DB(); mydb.doPstm(sql, params); mydb.closed(); req.setAttribute("message", "操作成功"); req.setAttribute("path", "ziyuan?type=ziyuanMana"); String targetURL = "/common/success.jsp"; dispatch(targetURL, req, res); } public void ziyuanMana(HttpServletRequest req,HttpServletResponse res) throws ServletException, IOException { String sql="select ta.*,tb.mingcheng xmmc from t_ziyuan ta,t_xiangmu tb " + "where ta.xiangmu_id=tb.id and del='no'"; List ziyuanList=new ArrayList(); Object[] params={}; DB mydb=new DB(); try { mydb.doPstm(sql, params); ResultSet rs=mydb.getRs(); while(rs.next()) { TZiyuan ziyuan=new TZiyuan(); ziyuan.setId(rs.getInt("id")); ziyuan.setXmmc(rs.getString("xmmc")); ziyuan.setShijian(rs.getString("shijian")); ziyuan.setMingcheng(rs.getString("mingcheng")); ziyuan.setMiaoshu(rs.getString("miaoshu")); ziyuanList.add(ziyuan); } rs.close(); } 6.項目經費管理:本模塊實現(xiàn)對項目經費信息的管理操作,包括項目經費信息的添加、刪除操作。點擊項目經費信息管理菜單,進入項目經費信息管理頁面,該頁面通過列表列出已添加的項目經費信息,包括項目名稱、經費金額、追加時間等。?

圖4-5

圖4-6 部分代碼:public void jingfeiAdd(HttpServletRequest req,HttpServletResponse res) { String xiangmu_id=req.getParameter("xiangmu_id"); String shijian=req.getParameter("shijian"); String jine=req.getParameter("jine"); String sql="insert into t_jingfei (xiangmu_id,jine,shijian) values(?,?,?)"; Object[] params={xiangmu_id,jine,shijian}; DB mydb=new DB(); mydb.doPstm(sql, params); mydb.closed(); req.setAttribute("message", "操作成功"); req.setAttribute("path", "jingfei?type=jingfeiMana"); String targetURL = "/common/success.jsp"; dispatch(targetURL, req, res); } public void jingfeiMana(HttpServletRequest req,HttpServletResponse res) throws ServletException, IOException { String sql="select ta.*,tb.mingcheng from t_jingfei ta,t_xiangmu tb " + "where ta.xiangmu_id=tb.id and del='no'"; List jingfeiList=new ArrayList(); Object[] params={}; DB mydb=new DB(); try { mydb.doPstm(sql, params); ResultSet rs=mydb.getRs(); while(rs.next()) { TJingfei jingfei=new TJingfei(); jingfei.setId(rs.getInt("id")); jingfei.setXmmc(rs.getString("mingcheng")); jingfei.setShijian(rs.getString("shijian")); jingfei.setJine(rs.getString("jine")); jingfeiList.add(jingfei); } rs.close(); } 7.項目進度管理:本模塊實現(xiàn)對項目進度信息的管理操作,包括項目進度信息的添加、刪除操作。點擊項目進度信息管理菜單,進入項目進度信息管理頁面,該頁面通過列表列出已添加的項目進度信息,包括進度描述、添加時間、百分比等。

圖4-7

圖4-8 部分代碼:public void jinduAdd(HttpServletRequest req,HttpServletResponse res) { String xiangmu_id=req.getParameter("xiangmu_id"); String shijian=req.getParameter("shijian"); String miaoshu=req.getParameter("miaoshu"); String baifenbi=req.getParameter("baifenbi"); String sql="insert into t_jindu (xiangmu_id,shijian,miaoshu,baifenbi) values(?,?,?,?)"; Object[] params={xiangmu_id,shijian,miaoshu,baifenbi}; DB mydb=new DB(); mydb.doPstm(sql, params); mydb.closed(); req.setAttribute("message", "操作成功"); req.setAttribute("path", "jindu?type=jinduMana"); String targetURL = "/common/success.jsp"; dispatch(targetURL, req, res); } public void jinduMana(HttpServletRequest req,HttpServletResponse res) throws ServletException, IOException { String sql="select ta.*,tb.mingcheng from t_jindu ta,t_xiangmu tb " + "where ta.xiangmu_id=tb.id and del='no'"; List jinduList=new ArrayList(); Object[] params={}; DB mydb=new DB(); try { mydb.doPstm(sql, params); ResultSet rs=mydb.getRs(); while(rs.next()) { TJindu jindu=new TJindu(); jindu.setId(rs.getInt("id")); jindu.setXmmc(rs.getString("mingcheng")); jindu.setShijian(rs.getString("shijian")); jindu.setMiaoshu(rs.getString("miaoshu")); jindu.setBaifenbi(rs.getString("baifenbi")); jinduList.add(jindu); } rs.close(); } 8.項目成果管理:本模塊實現(xiàn)對項目成果信息的管理操作,包括項目成果信息的添加、刪除操作。點擊項目成果信息管理菜單,進入項目成果信息管理頁面,該頁面通過列表列出已添加的項目成果信息,包括進度描述、添加時間、百分比等。

圖4-9

圖4-9 9.退出后臺管理:后臺管理模塊的出現(xiàn)主要用于來自后臺系統(tǒng)管理。當從后臺管理系統(tǒng)出來,然后單擊[退出]按鈕,雖然它仍然在后臺,但不能做任何事情;點擊其他工作的模塊,將打開登錄窗口的背景下,要求用戶介紹了正確的用戶名,密碼。 4.3 項目管理的體系結構 主要結構:

圖4-10 即:JSP技術 + JavaBeans + MySQL 數據庫? 4.4 系統(tǒng)總體結構圖

圖 4-11 系統(tǒng)總體結構圖 數據流圖: 數據流圖是結構化分析方法中使用的工具,它以圖形的方式描繪數據在系統(tǒng)中流動和處理的過程,由于它只反映系統(tǒng)必須完成的邏輯功能,所以它是一種功能模型。在結構化開發(fā)方法中,數據流圖是需求分析階段產生的結果。 數據流圖英文縮寫DFD(Data Flow Diagram)它是描繪信息流和數據從輸入移動到輸出的過程中所經受的變換。 數據流圖從數據傳遞和加工的角度,以圖形的方式刻畫數據流從輸入到輸出的移動變換過程。 數據流程圖包括: a.指明數據存在的數據符號,這些數據符號也可指明該數據所使用的媒體; b.指明對數據執(zhí)行的處理的處理符號,這些符號也可指明該處理所用到的機器功能; c.指明幾個處理和(或)數據媒體之間的數據流的流線符號; d.便于讀、寫數據流程圖的特殊符號。 在處理符號的前后都應是數據符號。數據流程圖以數據符號開始和結束(除9.4規(guī)定的特殊符號外)

圖4-12系統(tǒng)流程圖 4.5項目管理系統(tǒng)用例圖

圖4-13 管理員用例圖

圖4-14 員工用例圖 數據庫設計 5.1 數據庫系統(tǒng)概述 數據庫是“按照數據結構來組織、存儲和管理數據的倉庫”。作為網絡的一個重要應用,數據庫在網站建設中發(fā)揮著重要的作用,與普通網站相對而言,具有數據庫功能的網站網頁我們通常稱為動態(tài)頁面,也就是說頁面不是一層不變的,頁面上內容(或部分內容)是動態(tài)生成的,它可以根據數據庫中相應部分內容的調整而變化,使網站內容更靈活,維護更方便,更新更便捷。SQL Server數據庫作為微軟推出的以標準JET為引擎的桌面型數據庫系統(tǒng),由于具有操作簡單、界面友好等特點,具有較大的用戶群體。 本系統(tǒng)數據庫采用SQL Server數據庫,系統(tǒng)數據庫名稱為db_yyw,下面分別給出數據表概要說明、主要數據表的結構。 5.2 數據庫邏輯結構設計 系統(tǒng)數據庫db_xmgl中含有7張數據表,項目信息表t_xiangmu、資源信息表t_ziyuan、經費信息表t_jingfen、進度信息表t_jindu、成果信息表t_chengguo、管理員信息表t_admin、員工信息表t_admin。 1.項目結構表:項目信息表主要用于保存項目的基本信息,如項目名稱、立項時間、項目負責人等 表5-1項目結構表 字段名數據類型長度是否主鍵描述idint4是自動編號mingchengint4否項目名稱shijianint4否立項時間fuzerenvarchar50否項目負責人 2.資源信息表:資源信息表主要用于保存項目涉及到的資源信息,如資源名稱、描述、添加時間等 表5-2項目信息表 字段名數據類型長度是否主鍵描述idint4是自動編號xiangmu_idint4否項目信息mingchengvarchar50否資源名稱miaoshuvarchar50否資源描述shijianvarchar50否添加時間 3.經費信息表:經費信息表主要用于保存項目經費信息,如經費金額、追加時間等 表5-3經費信息表 字段名數據類型長度是否主鍵描述idint4是自動編號Xiangmu_idint4否項目信息jinevarchar50否經費金額jinevarchar50否追加時間 4.進度信息表:進度信息表主要用于保存項目進度信息,如時間、進度描述、百分比等 表5-4進度信息表 字段名數據類型長度是否主鍵描述idint4是自動編號Xiangmu_idint4否項目信息shijianvarchar50否時間miaoshuvarchar50否進度描述baifenbivarchar50否百分比 5.成果信息表:成果信息表主要用于項目產生的成果信息,如成果描述、時間、成果相附件等 表5-5成果信息表 字段名數據類型長度是否主鍵描述idint4是自動編號xiangmu_idint4否項目成果miaoshuvarchar50否成果描述shijianvarchar50否時間fujianvarchar50否附件路徑fujianYuanshimingvarchar50否附件原始名 6.管理員信息表:管理員信息表主要用于保存管理員的基本信息 表5-6管理員信息表 字段名數據類型長度是否主鍵描述idint4是自動編號userNamevarchar50否登錄賬號userPwvarchar50否登錄密碼 7.員工信息表:員工信息表主要用于保存員工的基本信息 表5-7員工信息表 字段名數據類型長度是否主鍵描述idint4是自動編號namevarchar50否員工姓名sexvarchar50否員工性別telvarchar50否員工電話userNvarchar50否員工登錄賬號userPvarchar50否員工登錄密碼 系統(tǒng)實現(xiàn) 6.1程序說明 本系統(tǒng)都是以面向對象的方法進行設計實現(xiàn),我們以Java 語言為基礎進行開發(fā),在實現(xiàn)此系統(tǒng)功能時,我們是采用JSP技術,JavaBeans組件和MySQL數據庫進行開發(fā)實現(xiàn)的。 6.2 網頁主頁面模塊??

6-2-1 網頁主頁模塊 系統(tǒng)測試 7.1 軟件的安裝與配置 軟件安裝的環(huán)境:操作系統(tǒng)Windows 7 MySQL JDK安裝: 在我們大學的課程以及實踐中,我們有很多次JDK安裝的經驗,JDK的安裝也特別簡單,易于操作。 JDK的配置: 設置JAVA_HOME環(huán)境變量:JDK 安裝目錄 例:C:\j2sdk1.4; 設置CLASSPATH環(huán)境變量:JDK安裝目錄\lib\tools.jar 例: C:\j2sdk1.4\lib\tools.jar;. 設置PATH環(huán)境變量:JDK 安裝目錄\bin;例:C:\j2sdk1.4\bin; 服務器的安裝:Tomcat 5.0 設置TOMCAT_HOME環(huán)境變量:Tomcat安裝目錄 例:C:\Tomcat 5.0; (2)Tomcat5.0 安裝時注意在選擇Java虛擬機路徑是切記要選擇安裝的JSDK的目錄,之后再進行安裝。 在安裝完畢后,我們隨后就可以運行TOMCAT,可以在瀏覽器中輸入

http://localhost:8080,成功的TOMCAT的歡迎頁面

,。

7.2 軟件調試

人無完人,我們在軟件開發(fā)的過程中難免會發(fā)生一些錯誤,而軟件調試則是為了發(fā)現(xiàn)程序和系統(tǒng)中的出現(xiàn)的問題,并對其及時的加以修改和修正,得以更好的完善系統(tǒng),更準確的貼近系統(tǒng)開發(fā)的預期功能。 我們在項目管理系統(tǒng)中所采用的調試方法包括以下幾種: 程序調試

程序調試的方法主要包含語法調試和邏輯檢查兩種,在測試過程中,我們不能單單運用正常的數據資料來進行調試,這樣的調試并不能保證系統(tǒng)的全面性,我們選用的資料必須全面,從各種方面和角度對系統(tǒng)進行核查調試,這樣對系統(tǒng)的功能完善具有很準確的判斷。 ①首先我們會用正常的數據資料來對系統(tǒng)進行調試。正確的資料是系統(tǒng)完成功能的首要標準,檢查系統(tǒng)是否實現(xiàn)了基本功能,正常的數據資料在系統(tǒng)調試中的地位相當重要。 ②其次,我們還需要運用有異常的數據資料對系統(tǒng)進行調試,檢查系統(tǒng)的容錯性,防止系統(tǒng)在遇到異常時無法處理而崩潰,影響用戶的使用及體驗,此項調試也十分重要。 ③最后我們也會用有明顯錯誤的數據資料對系統(tǒng)進行核查調試。在系統(tǒng)接收到錯誤的資料信息時,是否會返回一定的信息,而不是一味地不作回應。錯誤的資料對檢驗系統(tǒng)功能也是必不可少。 7.3 軟件測試

軟件測試對于系統(tǒng)開發(fā)而言是十分重要的一部分,它保證了系統(tǒng)的質量與可靠性。我們在進行軟件測試時,最重要的目的是檢查是否能夠實現(xiàn)該系統(tǒng)的各項功能,是否能夠滿足消費者的各項需求。 軟件測試是對整個系統(tǒng)開發(fā)過程的最終審查,若錯誤沒被及時發(fā)現(xiàn),則會給后續(xù)開發(fā)工作造成很嚴重的后果。 黑盒測試也稱功能測試,它是通過測試來檢測每個功能是否都能正常使用。在測試中,把程序看作一個不能打開的黑盒子,在完全不考慮程序內部結構和內部特性的情況下,在程序接口進行測試,它只檢查程序功能是否按照需求規(guī)格說明書的規(guī)定正常使用,程序是否能適當地接收輸入數據而產生正確的輸出信息。黑盒測試著眼于程序外部結構,不考慮內部邏輯結構,主要針對軟件界面和軟件功能進行測試。 黑盒測試是以用戶的角度,從輸入數據與輸出數據的對應關系出發(fā)進行測試的。很明顯,如果外部特性本身設計有問題或規(guī)格說明的規(guī)定有誤,用黑盒測試方法是發(fā)現(xiàn)不了的。 白盒測試,又稱結構測試、透明盒測試、邏輯驅動測試或基于代碼的測試。白盒測試是一種測試用例設計方法,盒子指的是被測試的軟件,白盒指的是盒子是可視的,你清楚盒子內部的東西以及里面是如何運作的。"白盒"法全面了解程序內部邏輯結構、對所有邏輯路徑進行測試。"白盒"法是窮舉路徑測試。在使用這一方案時,測試者必須檢查程序的內部結構,從檢查程序的邏輯著手,得出測試數據。貫穿程序的獨立路徑數是天文數字。 采用什么方法對軟件進行測試呢?常用的軟件測試方法有兩大類:靜態(tài)測試方法和動態(tài)測試方法。其中軟件的靜態(tài)測試不要求在計算機上實際執(zhí)行所測程序,主要以一些人工的模擬技術對軟件進行分析和測試;而軟件的動態(tài)測試是通過輸入一組預先按照一定的測試準則構造的實例數據來動態(tài)運行程序,而達到發(fā)現(xiàn)程序錯誤的過程。在動態(tài)分析技術中,最重要的技術是路徑和分支測試。下面要介紹的六種覆蓋測試方法屬于動態(tài)分析方法。 對于此系統(tǒng),采取黑盒測試與白盒測試相聯(lián)系,其中黑盒測試為主,我們將白盒測試則應用于主要的功能模塊。 測試用例: 1.登錄的測試用例 功能A描述登錄界面用例目的測試管理員能否正常登錄前提條件操作系統(tǒng)正常運行,以及各硬件配置恰當輸入/動作期望的輸出/相應實際情況輸入:管理員ID:a, 密碼:1登錄成功與期望相吻合輸入:管理員ID:a, 密碼:1111密碼錯誤吻合 2用戶查詢的測試用例 功能B描述查詢界面用例目的測試能否正常查詢前提條件操作系統(tǒng)正常運行,以及各硬件配置恰當查詢/動作期望的輸出/相應實際情況查詢:項目,項目名稱:項目A,立項日期:20170511,負責人:許楠楠查詢成功吻合查詢:項目,項目名稱:項目B,立項日期:20170606,負責人:某人查詢成功吻合查詢:項目,項目名稱:項目C ,立項日期:20170606,負責人:負責人不顯示吻合查詢:項目,項目名稱:項目D,立項日期: ,負責人:某某人立項日期不顯示吻合 測試結果: ★可能會有部分的中文數據從數據庫中取出后,出現(xiàn)一些亂碼的現(xiàn)象。 ★系統(tǒng)的參數時而會出現(xiàn)錯誤,無法再進行傳遞 ★系統(tǒng)在遇到大量用戶同時進行訪問時,數據庫的效率可能沒有想象中那么高。會造成部分用戶訪問失敗,影響用戶的體驗以及系統(tǒng)的運行效率。 主要的解決方法: ☆我使用一部分代碼方法來解決亂碼問題: 其次我會對各個模塊的參數模式進行統(tǒng)一規(guī)劃。 這個系統(tǒng)是以中小型為根本,在使用JDBC連接數據庫時,這些因素會造成一些問題。 結束語

在畢業(yè)設計和開發(fā)期間,經過老師的指導和三個多月的認真學習,同時翻閱了大量的資料,終于完成了項目管理系統(tǒng)的開發(fā)設計。其功能基本符合用戶需求,能夠完成課題的提交。我感覺自己從理論到實踐都有了長足的進步和很大的提高,使我在數據庫設計方面、JSP編程技術方面有了長足的進步,對項目管理系統(tǒng)開發(fā)過程、步驟有了比較深刻的認識。 通過畢業(yè)設計,我還明白了一點,合作是至關重要的。雖然我是自己一個人為一組,但是在設計過程中也經常和同學們商量,相互借鑒。一個完整軟件程序需要若干個人的通力合作。在項目管理系統(tǒng)開發(fā)過程中,我加強和同學們的溝通和交流,使得對每一個問題的解決獲得較優(yōu)的方案,從而保證項目管理系統(tǒng)的合理性、完整性,為該平臺的進一步完善和擴充打下了良好的基礎。 撰寫畢業(yè)論文期間,我深刻體會到,實踐到理論的重要性。在實踐到理論的轉化中,我將自己的工作過程清晰的展現(xiàn)在面前,而且增強了自己查閱資料的能力,獲得了一些必要的知識。 總之,在完成該系統(tǒng)的過程中學到很多在大學的教室學不到的東西,不僅僅是專業(yè)知識增加了學到了很多,也鍛煉了我的意志,讓我更堅強。 致謝?

本次畢業(yè)設計過程中,在本次畢業(yè)設計中,我從指導老師老師的身上學到了很多東西。XX老師認真負責的工作態(tài)度、嚴謹的治學精神都使我受益匪淺。他無論在理論上還是在實踐中,都給予我很大的幫助,使我得到了不少的提高,這對于我以后的工作和學習都有一種巨大的幫助,感謝他耐心的指導。還有校內老師XX老師,面對我的課題與論文眾多的問題,XX老師耐心指導我進行修正,才使得我不斷發(fā)現(xiàn)問題,不斷的磨練自己。 最后祝愿老師工作順利,身體健康。再次謝謝老師。 參考文獻

[1] 張志豪.基于Java EE的里程碑科技項目管理系統(tǒng)的設計與實現(xiàn)[D].電子科技大學,2014. [2] 康蔣偉,周愛玲,邱建林.高??蒲许椖抗芾硐到y(tǒng)的設計與實現(xiàn)[J].科技創(chuàng)新與應用,2016年36期 [3] 劉亞賓,精通Eclipse--JAVA技術大系,電子工業(yè)出版社,2005. [4] 于萬波,網站開發(fā)與應用案例教程,清華大學出版社,2009. [5] 楊學瑜,高立軍,軟件開發(fā)過程與項目管理,電子工業(yè)出版社,2008. [6] 張潔才,Java web應用開發(fā)教程,科學出版社,2005. [7] 戴維爾,JavaScript程序員教程,電子工業(yè)出版社,2010. [8] 黎連業(yè)、王華、李淑春,軟件測試與測試技術,清華大學出版社,2009. [9] 黃梯云著.管理信息系統(tǒng).北京.電子工業(yè)出版社.2006 . [10].James D. McCaffrey等著.NET軟件測試自動化之道[M]. 北京.電子工業(yè)出版社.2007. [11].甘仞初著.信息系統(tǒng)開發(fā).北京.經濟科學出版社.2007. [12].馬赫著. Dreamweaver MX 2004 網頁設計經典108例.中國青年出版社.2005. [13].唐友國 湛洪波著.JSP網站開發(fā)詳解.電子工業(yè)出版社2008年10月. [14].衛(wèi)紅春等著.信息系統(tǒng)分析與設計[M].北京.清華大學出版社.2009. [15].張大方 李瑋等著.軟件測試技術與管理[M].湖南.湖南大學出版社,2007. [16]. (美) H.M.Deitel,P.Jdeitel著.Java程序設計教程(第五版). 清華大學出版社.2004. [17]. (美) Elliotte Rusty Harold著.Java Network Programming.東南大學出版社 .2005. [18] 孫衛(wèi)琴等著.精通struts:基于MVC的Java Web設計與開發(fā). 電子工業(yè)出版社.2005. [19] 張文靜 林琪著.JSP程序設計.人民郵電出版社.2005. [20] 孫衛(wèi)琴 李洪成著.Tomcat與Java Web開發(fā)技術詳解. 電子工業(yè)出版社.2005. [21](美)John J.Patrick著.SQL基礎(第二版).清華大學出版社.2004. [22](美)David flanagan著.Java技術手冊(第五版).東南大學出版社.2006. [23]黃裴、徐汀榮,電子商務原理與技術(第二版),科學出版社,2006年10月 附錄:外文翻譯:

1.英文原文

Application Specification of J2EE This text analysis the mechanism of Hibernate and Struts, put forward 1 kind EE according to the J2 of the Hibernate and the Struts application development?

http://

strategy.In

?this kind of strategy, the model layer use a Hibernate realization and see diagram and controller to then use a Struts frame a realization.So can consumedly lower the development efficiency that the Ou of code match sex and exaltation system. The key word Hibernate, Struts, the MVC, hold out for long time a layer one preface along with the Java technique of gradual mature and perfect, Be establishment business enterprise class application of standard terrace, the J2EE terrace got substantial of development.Several technique asked for help from to include in the J2 EE norm:Enterprise JavaBean(EJB), Java Servlets(Servlet), Java Server Pages(JSP), Java Message Service(JMS).etc., development many application system.But, also appeared some problem in the tradition J2 the EE the application of the development the process: the antinomy of of data model and logic model.Currently the database of usage basically and all is relation type database, but the Java be essentially a kind of the language which face to object, object at saving with read usage SQL and JDBC carry on a database operation and lowered plait distance of efficiency and system of can maintenance; tradition of J2 EE application much the adoption is according to the EJB heavy weight frame, this kind of frame suitable for develop a large business enterprise application, but usage the EJB container carry on development and adjust to try to need to be waste a great deal of time.For lowering the Out of code to match sex, exaltation system of development efficiency, this text put forward 1 kind EE according to the J2EE of the Struts frame and the Hibernate frame application development strategy. 2 Open Source Technology of J2EE Datas' holding out for long time layer and Hibernate is one piece according to hold out for long time layer frame, is a kind of realization object and relation of the tool which reflect to shoot(O/R Mapping), it carried on the object of the lightweight to pack to the JDBC and make procedure member can usage object plait distance thought to operation database.It not only provided to shoot from Java to reflect of data form, but also provided a data a search and instauration mechanism.Opposite in usage JDBC and SQL to operation database, use a Hibernate ability consumedly of exaltation realization of efficiency.The Hibernate frame use allocation document of the form come to the reflect of the definition Java object and data form to shoot relation, in the meantime at more deep of level of data form of relation explanation for the relations such as inherit of and containment etc. of Java object.Pass the usage HQL language sentence complications of relation the calculate way use the way of object description, to a large extent simplification logarithms according to of search, speed development of efficiency.Have in the Hibernate a simple but keep the API of view, used for to the database mean of object performance search.Want to establish or the modification be these objects, need in the procedure carry on with them to hand over with each other, then tell Hibernate to keep.So, a great deal of pack hold out for long time turn operation of business logic no longer demand write a trivial JDBC language sentence, make data last long thus the layer got biggest of simplification.? Use the Struts realization MVC structure MVC(Model-View-Controller) is put forward by the Trygve Reenskaug, first drive application in the environment SmallTalk-80, is many to hand over with each other with interface system of constitute foundation.According to the need of variable of the interface design, MVC hand over with each other constitute of system to resolve into model and see diagram, controller three part. Model(Model) is software processing problem logic at independence in outside manifestation under contents and form circumstance of inside abstract, packed the core data, logic of problem and function of calculation relation, independence in concrete of interface expression and I/O operation.See diagram(View) mean information and particular form demonstration of model data and logic relation and appearance to the customer.It acquire a manifestation information from the model, there can be many for homology of information dissimilarity of manifestation form or see diagram.The controller(Controller) is a processing the customer hand over with software with each other operation of, its job is control provide model in any variety of dissemination, insure a customer interface among the model of rightness should contact;It accept a customer of importation, give° the importation feedback model, then realization compute model control, is make model and see diagram to moderate work of parts.Usually 1 see a diagram rightness should a controller.Model, see separate of diagram and controller, make a model be able to have many manifestation to see diagram.If the customer pass a certain see the controller of diagram change the data of model, all other dependence in these see of data diagram all should reflection arrive these variety.When therefore and regardless occurrence what data variety, controller all would variety notice allly see diagram, cause manifestation of renewal.This is actually a kind of variety of model-dissemination mechanism.? The Struts frame is to be the item of Apache Jakarta to constitute part to publish luck to do at the earliest stage, it inheritted MVC of each item characteristic, and did according to the characteristics of J2 EE correspond of variety with expand.The Struts frame was good to combine Jsp, Java Servlet, Java Bean, Taglib etc.?

http://

technique.In

?the Struts, what to undertake the controller role in the MVC be an ActionServlet.The ActionServlet is an in general use control module.This control module provided a processing all HTTP claim which send out Struts of entrance point.Its interception with distribute these claim to arrive correspond of action type.(these action all of type is Action son type)Moreover the control module is also responsible for using to correspond of claim the parameter fill Action Form(FromBean), and pass action type(ActionBean).Action type the business logic of the interview core, then interview Java Bean or adjust to use EJB.End action type control the power pass follow-up of JSP document, from JSP document born see diagram.All these control logic make use of Struts-config.xml the document come to allocation.See diagram in the Struts frame main from JSP born page completion, the Struts provide abundant of JSP label database, this is advantageous to separating performance logic and procedure logic.The model is with 1 or the form existence of several Java?

http://

Bean.In

?the Struts, main existence three kinds of Bean, respectively BE:Action, ActionForm, EJB perhaps Java Bean. The Struts frame have no concrete definition model layer of realization, in actually the development, model layer usually is close with business logic connect with each other, and want to carry on operation to the first floor data.The underneath's introduction is a kind of development strategy, lead the Hibernate into the model layer of Struts frame, usage it to carry on a data to pack with reflect to shoot, provide hold out for long time turn of support. 4 usage Hibernate and the Struts development J2 EE application 4.1 system structure diagram 3 manifestation according to Hibernate and Struts development strategy of system structure diagram.? Development practice underneath combine a development practice, with in the J2 the EE the application very widespread customer register process for example, elucidation above-mentioned system structure is how concrete usage.The process of register is very clear:Customer from register page login.jsp importation register information, system to register the information carry on verification, if exactitude success register, otherwise hint correspond mistake information. In the development process, the usage Eclipse be used as development environment and added to carry to provide to the Struts and the Hibernate in the meantime better control and support of three square plug-in MyEclipse, Web server usage Tomcat, the database chose to use Mysql. Carry on an allocation to the Hibernate first, need to the system auto the born hibernate.cfg.xml carry on modification, allocation good database conjunction of various parameter and definition the data reflect to shoot a document.Because the Hibernate take of conjunction pond main used for test, the function isn't very good, can pass JNDI will it modification is usage Tomcat of conjunction pond. 2.中文翻譯

1.?引言 本文分析了Hibernate和Struts的機制,提出了一種基于Hibernate和Struts的J2EE應用開發(fā)策略。在這種策略中,模型層用Hibernate實現(xiàn),視圖和控制器則用Struts框架實現(xiàn)。這樣可大大降低代碼的耦合性以及提高系統(tǒng)的開發(fā)效率。 關鍵字 Hibernate,Struts,MVC,持久層。? 隨著Java技術的逐漸成熟與完善,作為建立企業(yè)級應用的標準平臺,J2EE平臺得到了長足的發(fā)展。借助于J2EE規(guī)范中包含的多項技術:EnterpriseJavaBean(EJB)、Java Servlets(Servlet)、Java Server Pages(JSP)、Java Message Service(JMS)等,開發(fā)出了許多應用系統(tǒng)。但是,在傳統(tǒng)J2EE應用的開發(fā)過程中也出現(xiàn)了一些問題:1)數據模型和邏輯模型之間的矛盾。目前使用的數據庫基本上都是關系型數據庫,而Java本質上是一種面向對象的語言,對象在存儲和讀取時使用SQL和JDBC進行數據庫操作,降低了編程的效率以及系統(tǒng)的可維護性;2)傳統(tǒng)的J2EE應用多采用基于EJB的重量級框架,這種框架適合于開發(fā)大型企業(yè)應用,但是使用EJB容器進行開發(fā)和調試需要耗費大量時間。為了降低代碼的耦合性,提高系統(tǒng)的開發(fā)效率,本文提出了一種基于Struts框架和Hibernate框架的J2EE應用開發(fā)策略。 2. J2EE開源技術介紹 數據持久層及Hibernate,Hibernate是一個數據持久層框架,是一種實現(xiàn)對象和關系之間映射(O/R Mapping)的工具,它對JDBC進行了輕量級的對象封裝,使程序員可以使用對象編程思想來操作數據庫。它不僅提供了從Java類到數據表的映射,也提供了數據查詢和恢復機制。相對于使用JDBC和SQL來操作數據庫,使用Hibernate能大大的提高實現(xiàn)的效率。Hibernate框架用配置文件的形式來定義Java對象和數據表之間的映射關系,同時在更深的層面將數據表之間的關系解釋為Java對象之間的繼承及包含等關系。通過使用HQL語句將復雜的關系算法用對象的方式描述,在很大程度上簡化了對數據的查詢,加快了開發(fā)的效率。在Hibernate中有一個簡單而直觀的API,用于對數據庫所表示的對象執(zhí)行查詢。要創(chuàng)建或修改這些對象,只需在程序中與它們進行交互,然后告訴Hibernate保存即可。這樣,大量封裝持久化操作的業(yè)務邏輯不再需要編寫煩瑣的JDBC語句,從而使數據持久層得到了極大的簡化。? 用Struts實現(xiàn)MVC架構 MVC(Model-View-Controller)由Trygve Reenskaug提出,首先被應用在SmallTalk-80環(huán)境中,是許多交互和界面系統(tǒng)的構成基礎。根據界面設計可變性的需求,MVC把交互系統(tǒng)的組成分解成模型、視圖、控制器三部分。 模型(Model)是軟件所處理問題邏輯在獨立于外在顯示內容和形式情況下的內在抽象,封裝了問題的核心數據、邏輯和功能的計算關系,獨立于具體的界面表達和I/O操作。視圖(View)把表示模型數據及邏輯關系和狀態(tài)的信息及特定形式展示給用戶。它從模型獲得顯示信息,對于相同的信息可以有多個不同的顯示形式或視圖。控制器(Controller)是處理用戶與軟件的交互操作的,其職責是控制提供模型中任何變化的傳播,確保用戶界面于模型間的對應聯(lián)系;它接受用戶的輸入,將輸入反饋給模型,進而實現(xiàn)對模型的計算控制,是使模型和視圖協(xié)調工作的部件。通常一個視圖對應一個控制器。模型、視圖與控制器的分離,使得一個模型可以具有多個顯示視圖。如果用戶通過某個視圖的控制器改變了模型的數據,所有其它依賴于這些數據的視圖都應反映到這些變化。因此,無論何時發(fā)生了何種數據變化,控制器都會將變化通知所有的視圖,導致顯示的更新。這實際上是一種模型的變化-傳播機制。? Struts框架最早是作為Apache Jakarta項目的組成部分問世運做,它繼承了MVC的各項特性,并根據J2EE的特點,做了相應的變化與擴展。Struts框架很好的結合了Jsp,Java Servlet,Java Bean,Taglib等技術。在Struts中,承擔MVC中控制器角色的是ActionServlet。ActionServlet是一個通用的控制組件。這個控制組件提供了處理所有發(fā)送到Struts的HTTP請求的入口點。它截取和 分發(fā)這些請求到相應的動作類(這些動作類都是Action類的子類)。另外控制組件也負責用相應的請求參數填充Action Form(FromBean),并傳給動作類(ActionBean)。動作類訪問核心商業(yè)邏輯,即訪問Java Bean或調用EJB。最后動作類把控制權傳給后續(xù)的JSP文件,由JSP文件生成視圖。所有這些控制邏輯利用Struts-config.xml文件來配置。在Struts框架中,視圖主要由JSP生成頁面完成,Struts提供豐富的JSP標簽庫,這有利于分開表現(xiàn)邏輯和程序邏輯。模型以一個或多個Java Bean的形式存在。在Struts中,主要存在三種Bean,分別是:Action,ActionForm,EJB或者Java Bean。 Struts框架沒有具體定義模型層的實現(xiàn),在實際開發(fā)中,模型層通常是和業(yè)務邏輯緊密相連的,并且要對底層數據進行操作。下面介紹一種開發(fā)策略,將Hibernate引入到Struts框架的模型層中,使用它來進行數據封裝和映射,提供持久化的支持。? 下面結合開發(fā)實踐,以在J2EE應用中非常普遍的用戶登錄過程為例,來說明上述體系結構是如何具體運用的。登錄的流程非常清晰:用戶從登錄頁面login.jsp輸入登錄信息,系統(tǒng)對登錄信息進行驗證,如果正確則成功登錄,否則提示相應錯誤信息。 在開發(fā)過程中,使用Eclipse做為開發(fā)環(huán)境,同時加載了對Struts及Hibernate提供更好的控制和支持的第三方插件MyEclipse,Web服務器使用Tomcat,數據庫選用了Mysql。 首先對Hibernate進行配置,只需要對系統(tǒng)自動生成的hibernate.cfg.xml進行修改,配置好數據庫連接的各種參數以及定義數據映射文件。由于Hibernate所帶的連接池主要用于測試,性能不是很好,可以通過JNDI將其修改為使用Tomcat的連接池。

基于Java EE的系統(tǒng)設計與實現(xiàn)(論文+PPT的評論 (共 條)

分享到微博請遵守國家法律
什邡市| 开平市| 温州市| 遂川县| 娄底市| 社旗县| 辉县市| 凤台县| 玉林市| 茌平县| 安达市| 聂荣县| 浦北县| 贵德县| 龙门县| 台南市| 镇远县| 英山县| 开化县| 扎赉特旗| 克拉玛依市| 隆回县| 昌江| 安溪县| 罗山县| 进贤县| 当阳市| 廉江市| 萨迦县| 正宁县| 平利县| 松潘县| 万州区| 新泰市| 扶沟县| 谢通门县| 体育| 洛阳市| 腾冲县| 景东| 饶河县|