基于JavaEE的項目管理系統畢業論文_第1頁
基于JavaEE的項目管理系統畢業論文_第2頁
基于JavaEE的項目管理系統畢業論文_第3頁
基于JavaEE的項目管理系統畢業論文_第4頁
基于JavaEE的項目管理系統畢業論文_第5頁
已閱讀5頁,還剩42頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

1、基于javaee的項目管理系統的設計與實現摘 要企業項目管理系統是為了使企業項目能夠按照預定的成本、進度、質量順利完成,而對人員、產品、過程和項目進行分析和管理的活動,系統主要包括項目基本信息操作、項目規劃管理,合同管理,和項目評價管理四個模塊。java ee技術無疑是當今因特網大型應用的最佳技術方案之一,圍繞java ee技術的應用性,也產生了大量的web開發框架,它們極大地提升了java ee技術的易用性。本文描述了java ee的相關技術,比如struts2,hibernate,spring等,以及一些前臺js框架,如jquery。并用這些技術完成一個基于ssh架構的項目管理系統,開發并

2、實現其中的全部功能模塊。系統是在windows7下,以sql server 2005為數據庫開發平臺,tomcat網絡信息服務作為應用服務器,myeclipse8.5為開發工具,采用ssh主流架構技術,jquery及相關插件而開發的企業項目管理系統。項目管理系統將以需求為管理核心,任務為管理內容,質量為管理指標實現項目過程的管理。項目從需求建立為開始,由任務來跟蹤需求完成的進度,用質量管理來考核需求完成的標準,系統可實現需求到任務,任務到質量的完整管理,以追溯管理的方式實現項目過程的完整管理。關鍵詞:項目管理系統;java ee;ssh ;sql server 2005the design a

3、nd implement of enterprise project management system based on javaeeabstractenterprise project management system is designed to enable enterprises to be able to follow a predetermined project cost, schedule, quality, successful completion, while the people, products, processes and project analysis a

4、nd management activities, including items of basic information systems operations, project planning and management, contract management, and project evaluation and management of four modules.java ee technology is undoubtedly one of the best technical solution for large applications in todays interne

5、t, around the application of java ee technology, also generated a lot of web development framework, which greatly enhance the ease of use of java ee technologies. this paper describes the java ee related technologies, such as struts2, hibernate, spring, as well as some of the front desk js framework

6、s such as jquery. and use these techniques to complete an ssh-based project management system architecture, which developed and implemented the full functionality of the module. system is under windows7 to sql server 2005 database development platform, tomcat as the application server network inform

7、ation services, myeclipse8.5 as a development tool, using ssh architecture technology mainstream, jquery and related plug-ins and development of enterprise project management system.project management system will manage the core needs, the task of managing the content, quality indicators for the man

8、agement of the implementation process of the project management. created for the project began, the task needs to track the progress accomplished by the completion of the quality management standard to assess the needs of the system needs to be achieved, the task to complete quality management, trac

9、eability management approach to achieve a complete project process from requirements management.key word: project management system ; java ee; ssh; sql server 2005目錄摘 要iabstractii1 緒 論11.1 國內外研究動態11.2 項目背景及意義12 java ee運行環境及開發技術22.1 java ee運行環境22.1.1 myeclipse22.1.2 tomcat22.1.3 sql server 200532.2 j

10、ava ee開發技術32.2.1 mvc設計模式32.2.2 struts242.2.3 hibernate52.2.4 spring52.2.5 jquery63 需求分析73.1 可行性分析73.1.1 經濟可行性73.1.2 技術可行性73.1.3 操作可行性73.1.4 法律可行性73.2 本系統的需求分析73.2.1 功能需求73.2.2 性能需求73.3 系統開發流程84 總體設計94.1 總體設計的目的94.2 系統總體流程圖94.3 功能模塊圖104.4 用戶功能模塊圖114.5 數據庫設計124.5.1 系統e-r圖134.5.2 數據字典135 系統詳細設計及實現155.1

11、 系統架構設計155.2 系統的運行結果155.3 類的分布165.4 控制層的實現175.4.1 adminaction.java類(處理基本登錄信息的類)175.4.2 hetongaction(實現對合同信息的操作)185.5 持久層的實現225.5.1 接口類225.5.2 實現接口類235.6 服務層的實現266 系統測試306.1 軟件測試306.1.1 黑盒測試306.1.2 白盒測試306.1.3 單元測試306.1.4 集成測試306.1.5 系統測試316.1.6 程序調試316.2 本系統測試316.2.1 junit單元測試31結束語33參考文獻34致 謝35外文原文3

12、6中文翻譯421 緒 論1.1 國內外研究動態隨著科學的發展和社會的進步,尤其是計算機大范圍的普及,計算機應用逐漸由科學計算轉向了對日常工作的處理,這就產生了以計算機為核心,以數據庫管理系統為開發環境的管理信息系統在大規模的事務處理管理等方面的應用,其中在項目工程管理之中的應用日益受到人們的關注。經過二十多年的發展,市場經濟的觀念已經深入人心。90年代末,隨著全球經濟一體化和知識經濟的發展,項目個性化需求特征愈來愈明顯,只有真正了解市場需要,最大滿足項目需求的產品才能實現競爭優勢。企業以產品為中心的模式向以市場為中心,以項目為中心的模式轉移。正確、快速地處理與項目之間的溝通成為企業利潤的主要源

13、泉。企業管理的視覺從內視型向外視型轉變。企業轉換自己的視角外向型地整合內外部資源,從而提高企業的核心競爭力。1.2 項目背景及意義在當今快速發展的科學和技術的帶動下,一切的商業行為都能跟計算機搭上邊。這是為了實現更大的商業利益而通過更好的利用計算機來實現目標。項目管理是為了使工作項目能夠按照預定的需求、成本、進度、質量順利完成,而對人員、產品、過程、和項目、進行分析和管理的活動。目前國內企業對項目管理水平和方法越來越重視,而合適的項目管理軟件在其中起了極其重要的作用!主要有工程項目管理軟件和非工程項目管理軟件2大分類。隨著微型計算機的出現和運算速度的提高, 20 世紀80 年代后項目管理技術也

14、呈現出繁榮發展的趨勢, 項目管理軟件開始出現。對于大型項目管理,沒有軟件支撐,手工完成項目任務制定、跟蹤項目進度、資源管理、成本預算的難度是相當大的。可以說計算機技術的發展對項目管理深入應用起了舉足輕重的作用。2 java ee運行環境及開發技術2.1 java ee運行環境2.1.1 myeclipse由genuitec公司發布的myeclipse10,是一款商業化eclipse集成開發工具的升級版本。myeclipse10是基于eclipse indigo構建,為java和javaee項目提供了maven3的支持。本版本中還添加了對javeee6、html5、jpa2和jsf2的支持。版本

15、號10是為了慶祝eclipse的10歲生日。 myeclipse10使用最高級的桌面和web開發技術,包括html5和javaee6,支持jpa2.0、jsf2.0、eclipselink 2.1以及openjpa2.0而對ibm websphere用戶來說,myeclipse blue支持最新版本的websphere portal server7.0、websphere8 以及以前的版本,無縫的支持ibm db2數據庫。myeclipse是一個十分優秀的用于開發java, j2ee的 eclipse插件集合,myeclipse的功能非常強大,支持也十分廣泛,尤其是對各種開元產品的支持十分不錯

16、。myeclipse目前支持java servlet,ajax, jsp, jsf, struts,spring, hibernate , ejb3,jdbc數據庫鏈接工具等多項功能??梢哉fmyeclipse幾乎囊括了目前所有主流開元產品的專屬eclipse開發工具。myeclipse企業級工作平臺(myeclipse enterprise workbench ,簡稱myeclipse)是對eclipse ide的擴展,利用它我們可以在數據庫和j2ee的開發、發布,以及應用程序服務器的整合方面極大的提高工作效率。它是功能豐富的j2ee集成開發環境,包括了完備的編碼、調試、測試和發布功能,完整支

17、持html, struts, jsf, css, javascript, sql, hibernate。在結構上,myeclipse的特征可以被分為7類:1. j2ee模型2. web開發工具3. ejb開發工具4. 應用程序服務器的連接器5. j2ee項目部署服務6. 數據庫服務7. myeclipse整合幫助對于以上每一種功能上的類別,在eclipse中都有相應的功能部件,并通過一系列的插件來實現它們。myeclipse結構上的這種模塊化,可以讓我們在不影響其他模塊的情況下,對任一模塊進行單獨的擴展和升級。簡單而言,myeclipse是eclipse的插件,也是一款功能強大的j2ee集成開

18、發環境,支持代碼編寫、配置、測試以及除錯。2.1.2 tomcattomcat最初是由sun的軟件構架師詹姆斯鄧肯戴維森開發的。后來他幫助將其變為開源項目,并由sun貢獻給apache軟件基金會。由于大部分開源項目oreilly都會出一本相關的書,并且將其封面設計成某個動物的素描,因此他希望將此項目以一個動物的名字命名。因為他希望這種動物能夠自己照顧自己,最終,他將其命名為tomcat(英語公貓或其他雄性貓科動物)。而oreilly出版的介紹tomcat的書籍(isbn 0-596-00318-8)1的封面也被設計成了一個公貓的形象。而tomcat的logo兼吉祥物也被設計成了一只公貓。tom

19、cat是apache軟件基金會的jakarta項目中的一個核心項目,由apache、sun(oracle已收購)和其他一些公司聯合開發。tomcat早就被java-world雜志的編輯選為最具創新性的java產品,又是sun公司官方推薦的servlet/jsp容器。由于符合servlet和jsp最新規范的內容都已在tomcat的新版本中實現,結合tomcat的穩定性能,因此得到了軟件開發商及相關人員的認可,成為目前比較流行的web應用服務器456。2.1.3 sql server 2005sql server 2005具有較好的可伸縮性和可靠性,提供了以web標準為基礎的擴展數據庫編程功能,可

20、以滿足電子商務和企業應用程序的要求。sql server 2005支持xml和internet標準,具有基于web的分析能力,允許使用內置的存儲過程以xml格式存儲、更新、刪除、檢索數據。sql server 2005能提供超大型系統所需的數據庫服務。大型服務器可能有成千上萬的用戶同時連接到sql server 2005的情況,sql server 2005為這些環境提供了全面的保護,具有防止問題發生的安全措施,例如,可以防止多個用戶試圖同時更新相同的數據。sql server 2005還在多個用戶之間有效地分配可用資源,比如內存、網絡帶寬和磁盤i/o等。sql server 2005不僅能作

21、為一個功能強大的數據庫服務器有效地工作,而且數據庫引擎也用在需要在項目端本地存儲獨立數據庫的應用程序中。sql server 2005可以動態地將自身配置成能有效地使用項目端桌面或膝上型電腦中的可用資源,而不需要為每個項目端專設一個數據庫管理員。應用程序供應商還可以將sql server 2005作為應用程序的數據存儲組件嵌入到應用程序中。sql server在網絡組件的頂部添加了服務器特有的中介組件,諸如開放式數據庫連接(odbc)后能使不同項目機進行相互連接,它可處理基于internet的應用程序,幫助用戶把sql server數據庫信息集成到web頁面。 8。2.2 java ee開發技

22、術2.2.1 mvc設計模式由于c/s開發程序的變更不夠靈活,且維護和管理的比較復雜。由于應用程序中邏輯結構的表現形式經常改變,但本身卻相對穩定。因此,將業務邏輯和數據的展現形式分開,可以更容易地根據需求的變化來改變后臺程序,從而不必觸動業務邏輯部分就可以開發新的外觀界面。mvc設計模式提出于80年代末由xerox公司發表的一系列論文中,專門應對這種實際情況,其關鍵是將組件分成3個各自獨立的單元:模型、視圖、控制器。3者關系如圖2-1所示:圖2-1 mvc設計模式以上三個部分的具體任務如下10:(1)模型表示應用程序中的數據結構和元素,模型對數據和對數據進行了封裝,是應用程序真正進行數據計算和

23、處理的地方。在這mvc的三個部分中,模型相對來說是最重要的部分。(2)視圖(view)對象顧名思義,就是用戶可見的并可以與之交互的界面,它負責向用戶顯示模型的狀態和顯現應用的數據。主要作用如下:a.向用戶顯示一些應用中的數據;b.接收來自用戶的輸入;c.與模型層進行交互,向模型傳遞數據進行查詢;d.接收來自模型層的數據,更新展示給用戶的顯示界面。(3)控制器(controller)負責view和model的交互,主要擔任兩個方面的工作:將模型的改變及時反應到視圖上;將用戶的請求分發到相對應的模型。為了提高靈活性和可重用性,mvc將這些對象進行了分離。以上即mvc的一個典型的處理過程11。2.2

24、.2 struts2struts2框架是基于struts1和webwork框架發展而來的,并同時吸收了二者的優勢,但與struts1框架相比,在設計思路上有許多本質上的不同。對webwork框架有過研究的人會發現struts2在系統架構和運轉流程上與webwork是非常相似的。所以,在某種程度上可以說struts2完全與struts1沒有太多關系,而實際上繼承的是webwork 12。struts2框架大致由三部分組成:核心控制器、業務控制器和用戶實現的業務邏輯組件。在這之中,由filterdispatcher充當核心控制器,filterdispatcher作為一個過濾器運行在應用程序中,它負

25、責對所有用戶向服務器的請求進行過濾,當用戶發出以.action結尾的請求時,filterdispatcher發現該請求,并將該請求轉入到struts2中去處理。業務控制器即是開發者實現的actionsupport類的子類實例,這個類通常包含一個自定義方法,并返回是一個字符串值(如none、success等),即result名稱,與該result對應的則是一個jsp頁面或一個action地址。在業務邏輯組件的層面來說,struts2并沒有提供太多的幫助,它只是一個偏向表現層的框架,在實際的開發中當控制器需要獲得業務邏輯組件時,通常是通過工廠開發模式來獲得一個業務邏輯組件實例。struts2具體的

26、框架結構及工作流程如圖所示:圖2-2 struts2原理2.2.3 hibernatehibernate是目前比較流行的orm(對象/關系映射)框架(比較流行的還有mybatis),自動映射了關系數據庫和java對象之間的關聯,使得程序員可以以非常簡單的方式實現對數據庫的操作。hibernate通過封裝jdbc的從而對程序開發者屏蔽了底層的數據庫操作,使開發者更專注于面向對象程序的開發,可以有效地提高開發效率。開發者訪問數據庫所需要做的就是為持久化類編制xml映射文件,或為持久化類設置annotation注解。對于一些底層數據庫的必要性的改變,只需要對hibernate.cfg.xml配置文件

27、進行修改即可,并不會對應用程序產生影響。hibernate有自己的面向對象的查詢語言hql,hql功能強大,支持目前大多數主流數據庫,如oracle、db2、microsoft sqlserver、mysql等,為快速開發應用程序提供了底層的穩定的支持。2.2.4 springspring與臃腫的ejb相對比,spring可以使開發者把各個技術層次之間的關聯程度顯著地(耦合度)降低,從該框架本身的架構來說,相對其他框架是一個很輕量級的框架。spring框架的核心是控制翻轉ioc(inverse of control),也被稱之為依賴注入di(dependence injection)機制。io

28、c是指由容器來對各組件間關系進行控制(在這里,容器是指一種服務程序,在服務器一個端口就有一個提供相應服務的程序,如上文提及的tomcat),而非傳統實現中直接操控的程序代碼,這種由程序代碼到外部容器的控制權轉移,即為“翻轉“。di,依賴注入,即將所用到的對象等,依靠web容器注入給使用這些對象的組件中。spring采用設值注入(使用setter方法實現依賴)的機制,通過spring配置文件(xml文件)管理組件對象進行協作,可以依賴于web容器構造應用程序的組件。通過這種方式,不需要依賴單例設計模式、工廠設計模式或者其他構造對象的方法,就可以通過代碼操作直接從容器中獲取所需的組件17。spri

29、ng提供了豐富的面向切面編程(aop)的支持,通過允許分離web應用程序的系統級服務(例如日志、數據事務管理等)與業務邏輯,完成內聚性開發。每一個應用方法只關注它們需要做的實現業務邏輯。它們并不關注其他系統層面的問題(如日志或事務支持)。spring框架是一個松耦合的框架,同時也是一個模塊的框架,框架的部分耦合度被設計為最小。這些特征將使你的代碼更易于測試和管理。2.2.5 jqueryjquery easyui是一組基于jquery的ui插件集合,而jquery easyui的目標就是幫助web開發者更輕松的打造出功能豐富并且美觀的ui界面。開發者不需要編寫復雜的javascript,也不需

30、要對css樣式有深入的了解,開發者需要了解的只有一些簡單的html標簽。jquery easyui有以下特點:1、基于jquery用戶界面插件的集合2、為一些當前用于交互的js應用提供必要的功能3、easyui支持兩種渲染方式分別為javascript方式(如:$(#p).panel(.))和html標記方式(如:class=easyui-panel)4、支持html5(通過data-options屬性)5、開發產品時可節省時間和資源6、簡單,但很強大7、支持擴展,可根據自己的需求擴展控件8、目前各項不足正已版本遞增的方式不斷完善3 需求分析3.1 可行性分析3.1.1 經濟可行性經濟可行性研

31、究是對使用者的經濟現狀和投資能力進行分析,對系統建設運行和維護費用進行估算,對系統建成后可能取得的社會和經濟效益進行估計。因為本系統是畢業設計,由我們自己開發的,在經濟上的投入可以忽略不計,系統完成后將會為企業項目管理提供很大的方便。3.1.2 技術可行性基于javaee的項目管理系統采用b/s結構、結合sqlserver2005數據庫,在使用myeclipse開發平臺的基礎上采用mvc設計模式運用struts2,hibernate,spring三大框架前臺使用流行的jquery同時使用tomcat服務器來最終實現項目管理系統。在技術上是絕對可行的。3.1.3 操作可行性從時間上看,在兩個月的

32、時間里了解相關技術,并開發項目管理系統,時間上是有點緊,但是不是不可能實現,通過兩個多月的努力功能應該基本實現。3.1.4 法律可行性1所有技術資料都為合法文獻材料。2開發過程中不存在任何知識產權問題。3開發過程中未涉及任何法律責任的承擔。綜上所述,本系統的開發從技術上、從經濟上、從可操作性上、從法律上都是完全可靠的。3.2 本系統的需求分析3.2.1 功能需求本系統是針對中小型企業項目管理現狀,通過網絡實現對企業項目信息的管理,主要實現如下目標:(1)對項目信息(項目基本信息、項目經辦人、項目方案等信息)進行全面管理。(2)對項目合同的管理。(3)實現各種信息查詢功能。(4)對用戶輸入的數據

33、,系統進行嚴格的數據檢驗,盡可能排除人為的錯誤。(5)操作員可以隨時修改自己的口令。(6)數據保密性強,為每個用戶設置相應的權限級別。(7)提供輔助工具,方便用戶操作及使用。(8)系統運行穩定、安全可靠。3.2.2 性能需求硬件配置:cpu:2.40ghz; 內存:4g; 硬盤:500g;軟件配置: 操作系統:windows 7; 數據庫:sql server 2005; jsp服務器:tomcat; 開發工具包: jdk1.6.0_263.3 系統開發流程一般說來,項目管理系統的開發可以劃分概要設計,詳細設計和編碼階段。其中概要設計階段主要是完成各個模塊主要功能的設計與具體的實現方式,畫出e

34、r圖,完成總體設計。詳細設計階段只要完成各個模塊具體功能的實現方式(邏輯設計等)。在編碼階段主要是依據概要設計和詳細設計的要求完成各個模塊的代碼編寫。軟件工程體系中曾對一些軟件項目開發各階段的工作量進行了統計,結果表明,在開發過程中各階段的比例分配為: 系統分析:系統設計:編程:模塊調試:系統調試20%:15%:20%:25%:20%。由此可見,代碼的編寫在開發工作中只占很小比例,而需求分析和設計以及最后的測試等工作卻占整個開發工作量的一半左右。 上述開發方式的優點是便于開發工作的組織和管理,并且可大大降低企業項目管理系統開發的復雜性。國內外許多系統開發的實例都證明這是一種行之有效的開發方式。

35、4 總體設計4.1 總體設計的目的系統的總體設計中最重要的就是系統的模塊化。模塊化是指解決一個復雜問題時自項向下逐層把軟件系統劃分成若干個模塊的過程。每個模塊完成一個特定的功能,所有的模塊按某種方法組織起來,成為一個整體,完成整個系統所要求的功能。將系統劃分為多個模塊是為了降低軟件系統的復雜性,提高可讀性、可維護性,但模塊的劃分不能是任意的,應盡量保持其獨立性。也就是說,每個模塊只完成系統要求的獨立的子功能,并且與其他模塊的聯系最少且接口簡單,即盡量做到高內聚低耦合,提高模塊的獨立性,為設計高質量的軟件結構奠定基礎。核心思想是模塊之間的低耦合和模塊內部高內聚。在系統的概要設計中采用結構化設計以

36、需求分析階段產生的數據流圖為基礎,按一定的步驟映射成軟件結構。首先將整個系統化分為幾個小問題,小模塊。然后,進一步細分模塊,添加細節。企業項目管理系統的根本目的是為了讓項目尤其是大型項目的整個生命周期都能在管理者的控制之下,以預定成本按期,按質的完成軟件交付用戶使用。而研究項目管理為了從已有的成功或失敗的案例中總結出能夠指導今后開發的通用原則,方法,同時避免前人的失誤。該系統通過對項目開發的各個環節進行設置(基本信息操作、項目規劃管理,合同管理,和項目評價管理),基本信息操作模塊包括基本信息的添加、修改、刪除和查詢;項目規劃管理模塊包含規劃項目登記、規劃項目列表、規劃項目查詢三個功能。合同管理

37、模塊包括合同的簽訂,合同的管理,合同查詢三個功能。4.2 系統總體流程圖對于數據庫軟件應用的設計與開發,數據庫系統的設計是其最為核心和基礎的環節。數據庫系統的優劣直接影響到系統的性能,所以對數據庫系統的設計必須有優良的性能,那么對它的設計也更嚴密周緊。圖4-1 總體流程4.3 功能模塊圖本系統采用myeclipse 作為開發工具,sqlserver2005 作為后臺數據庫,將每個數據庫表的字段和操作封裝到類中,從而成功地將面向對象的程序設計思想應用到數據庫應用程序設計中。這也是本系統的特色和優勢。圖4-2 模塊劃分圖4.4 用戶功能模塊圖本系統初始化時,有兩個默認的用戶,普通用戶為users,

38、系統管理員用戶為admin,手動添加到數據庫中,他的確認密碼為ad。admin用戶可以創建用戶、刪除用戶、修改用戶的信息,普通用戶只能修改自己的用戶名和密碼。圖4-3 用戶功能模塊圖4.5 數據庫設計數據庫是以一定的組織方式存儲在一起的相關數據集合,它能以最佳的方式,最少的數據冗余為多種應用服務,程序與數據具有較高的獨立性。60年代末到70年代初數據庫技術日益成熟,具有了堅實的理論基礎。 70年代,數據庫技術有了很大發展,出現了許多基于層次或網狀模型的商品化數據庫系統,并廣泛運行在企業管理、交通運輸、情報檢索、軍事指揮、政管理和輔助決策等各個方面。這一時期,關系模型的理論研究和軟件系統研制也得

39、到了很大進展。1981年ibm公司san jose實驗室宣布具有system r 全部特性的數據庫產品sql/ds問世。與此同時,加州大學伯克利分校研制成功關系數據庫實驗系統ingres,接著又實現了ingres商務系統,使關系方法從實驗室走向社會。20世紀80年代以來,幾乎所有新開發的數據庫系統都是關系型的。微型機平臺的關系數據庫管理系統也越來越多,功能越來越強,其應用已經遍及各個領域。e-r模型的組成元素有:實體、屬性、聯系。e-r模型用e-r圖表示。實體是用戶工作環境中所涉及的事務,屬性是對實體特征的描述。(1)模型中的實體相當于實體集、一個表,而不是單個實體或表中的一行。實體用矩形框表

40、示,實體名稱標注在矩形框內。用菱形表示實體間的聯系,菱形框內寫上聯系名,用無向邊把菱形分別與有關實體相連接,在無向邊旁標上聯系的類型。(2)屬性是實體的性質。用橢圓框表示,與實體之間用一條線相連表的主碼是關鍵屬性,關鍵屬性項加下劃線。(3)各子系統模塊中主鍵相同的字段之間存在著相互關聯的關系。(4)在程序中實現對他們的完整性和一致性控制。得到上面數據項和數據結構以后,就可以設計出能夠滿足用戶需求的各種實體,以及它們之間的關系,為后面的邏輯結構設計打下基礎。這些實體包含各種具體信息,通過相互之間的作用形成數據的流動。4.5.1 系統e-r圖管理員用戶名密碼普通用戶用戶名密碼管理增刪改查項目合同規

41、劃項目項目評價增刪增刪增刪用戶增刪增刪增刪圖4-4 系統e-r圖4.5.2 數據字典本系統數據庫采用sql server 2005數據庫,系統數據庫名稱為db_client。數據庫db_client中包含4張表。表4-1 用戶表(t_admin)字段名數據類型主鍵允許非空描述useridint用戶標識usernamevarchar用戶名userpwvarchar用戶密碼表4-2 合同表(t_hetong)字段名數據類型主鍵允許非空描述hetong_idint合同標識hetong_namevarchar合同名稱jiafangfuzerenvarchar甲方負責人yifangfuzerenvarc

42、har乙方負責人hetong_kaishishijianvarchar合同的開始時間hetong_jieshushijianvarchar合同的結束時間hetong_jineint合同金額hetong_beizhuvarchar合同備注xiangmu_idint對應項目的標識(外鍵)delvarchar是否刪除(邏輯刪除)表4-3 評價表(t_pingjia)字段名數據類型主鍵允許非空描述pingjia_idint評價標識pingjia_neirongvarchar評價的內容xiangmu_idint對應項目的標識(外鍵)delvarchar是否刪除(邏輯刪除)表4-4 項目表(t_xiang

43、mu)字段名數據類型主鍵允許非空描述xiangmu_idint項目idxiangmu_namevarchar項目名稱xiangmu_typevarchar項目類型xiangmu_chengdandanweivarchar項目的承擔單位xiangmu_fuzerenvarchar項目負責人xiangmu_shijianvarchar項目時間xiangmu_jineint項目金額xiangmu_fanganvarchar項目方案xiangmu_fangan_yaunshimingvarchar項目方案名稱xiangmu_beizhuvarchar項目備注xiangmu_yanshoujieguov

44、archar項目驗收結果xiangmu_yanshourenvarchar項目驗收人delvarchar是否刪除(邏輯刪除)5 系統詳細設計及實現5.1 系統架構設計在編寫代碼之前,可以先把網站中可能用到的文件夾創建出來(例如:創建一個名為image的文件夾,用于保存網站中需要的圖片),這樣可以方便以后的開發工作,也可以規范網站的整體架構,我在開發項目管理系統時只需要將文件保存在相應的文件夾中就可以了,非常方便。5.2 系統的運行結果當管理員在進入項目管理系統后,首先進入項目管理系統的大廳,也就是項目管理系統的首頁。項目管理系統首頁包含基礎信息維護、項目信息維護、項目服務、信息查詢、數據管理、

45、輔助工具以及系統管理的超鏈接。項目管理系統網站首頁的運行結果如圖5-1、5-2所示:圖5-1 網站首頁運行結果(1)圖5-2 網站首頁運行結果(2)網站框架說明如表5-1所示:表5-1 網站首頁頁面說明區域名稱說明對應文件1網站導航主要展示網站的旗幟廣告和站內導航條top.jsp2功能模塊主要用于顯示導航模塊中的功能information.jsp3內容顯示主要用于顯示功能模塊中的內容right.jsp1、 src/struts.xml即為struts2核心配置,主要配置action(訪問路徑)與xxxaction類的映射關系;2、 webroot/web-inf/applicationcont

46、ext.xml為spring+hibernate配置(spring將hibernate配置融入到一起了)3、 hibernate使用jdbc方式,連接sqlserver 2005數據庫,使用xml方式映射實體類;4、 spring使用xml配置方式(在applicationcontext.xml文件進行注入的配置);5.3 類的分布整個網站的實現功能利用到的框架struts2,基本上是以“類”的形式實現的。所以我設計一個類的分布圖如下圖5-3:圖5-3 類的分布圖各個類所實現的功能如表5-2所示:表5-2 類的功能控制層(action)引用service層,在這里結合struts2的配置文件,

47、跳轉到指定的頁面,當然也能接受頁面傳遞的請求數據,也可以做些計算處理服務層(service)引用dao層,完成項目的業務邏輯持久層(dao)使用了hibernate連接數據庫,完成對數據的增刪改查(crud)操作實體層(model)與數據庫表對應的實體類工具包(util)項目中可能會使用到的一些比較通用的工具代碼的封裝5.4 控制層的實現在控制層中主要存放的是常用的基本類,在這里結合struts2的配置文件,跳轉到指定頁面,當然也能接受頁面傳遞的請求數據,也可以做些計算處理5.4.1 adminaction.java類(處理基本登錄信息的類)/*adminaction .java*/ pack

48、age com.action;import java.util.list;import java.util.map;import org.apache.struts2.servletactioncontext;import com.dao.tadmindao;import com.model.tadmin;import com.opensymphony.xwork2.actionsupport;import com.util.pagination;public class adminaction extends actionsupportprivate int userid;private s

49、tring username;private string userpw; private string message;private string path;private int index=1;private tadmindao admindao;public string adminadd()tadmin admin=new tadmin();admin.setusername(username);admin.setuserpw(userpw);admindao.save(admin);this.setmessage(操作成功);this.setpath(adminmanage.ac

50、tion);return succeed;public string adminmanage()list adminlist=admindao.findall();map request=(map)servletactioncontext.getcontext().get(request);request.put(adminlist, adminlist);return actionsupport.success;public string adminmanagefenye()list adminlist=admindao.findall();int pagesize=3;int fromin

51、dex = (index - 1) * pagesize;int toindex = math.min(fromindex + pagesize, adminlist.size();list adminlistfenye = adminlist.sublist(fromindex, toindex); pagination p = new pagination();/創建 分頁對象 p.setindex(index);/設置頁數 p.setpagesize(pagesize); p.settotle(adminlist.size();/設置總共的條數 p.setdata(adminlistfe

52、nye);/設置數據 p.setpath(adminmanagefenye.action?);/跳轉的路徑map request=(map)servletactioncontext.getcontext().get(request);request.put(page, p);return actionsupport.success;public string admindel()admindao.delete(admindao.findbyid(userid);this.setmessage(刪除成功);this.setpath(adminmanage.action);return succe

53、ed;5.4.2 hetongaction(實現對合同信息的操作)package com.action;import java.util.list;import java.util.map;import org.apache.struts2.servletactioncontext;import com.dao.tadmindao;import com.dao.thetongdao;import com.model.tadmin;import com.model.thetong;import com.opensymphony.xwork2.actionsupport;import com.util.paginationpublic class hetongaction extends actionsupportprivate int hetongid;private string hetongname;private int xiangmuid;private string jiafangfuzeren;privat

溫馨提示

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

評論

0/150

提交評論