版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、基于javaee的項目管理系統(tǒng)的設(shè)計與實現(xiàn)摘 要企業(yè)項目管理系統(tǒng)是為了使企業(yè)項目能夠按照預(yù)定的成本、進(jìn)度、質(zhì)量順利完成,而對人員、產(chǎn)品、過程和項目進(jìn)行分析和管理的活動,系統(tǒng)主要包括項目基本信息操作、項目規(guī)劃管理,合同管理,和項目評價管理四個模塊。java ee技術(shù)無疑是當(dāng)今因特網(wǎng)大型應(yīng)用的最佳技術(shù)方案之一,圍繞java ee技術(shù)的應(yīng)用性,也產(chǎn)生了大量的web開發(fā)框架,它們極大地提升了java ee技術(shù)的易用性。本文描述了java ee的相關(guān)技術(shù),比如struts2,hibernate,spring等,以及一些前臺js框架,如jquery。并用這些技術(shù)完成一個基于ssh架構(gòu)的項目管理系統(tǒng),開發(fā)并
2、實現(xiàn)其中的全部功能模塊。系統(tǒng)是在windows7下,以sql server 2005為數(shù)據(jù)庫開發(fā)平臺,tomcat網(wǎng)絡(luò)信息服務(wù)作為應(yīng)用服務(wù)器,myeclipse8.5為開發(fā)工具,采用ssh主流架構(gòu)技術(shù),jquery及相關(guān)插件而開發(fā)的企業(yè)項目管理系統(tǒng)。項目管理系統(tǒng)將以需求為管理核心,任務(wù)為管理內(nèi)容,質(zhì)量為管理指標(biāo)實現(xiàn)項目過程的管理。項目從需求建立為開始,由任務(wù)來跟蹤需求完成的進(jìn)度,用質(zhì)量管理來考核需求完成的標(biāo)準(zhǔn),系統(tǒng)可實現(xiàn)需求到任務(wù),任務(wù)到質(zhì)量的完整管理,以追溯管理的方式實現(xiàn)項目過程的完整管理。關(guān)鍵詞:項目管理系統(tǒng);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 國內(nèi)外研究動態(tài)11.2 項目背景及意義12 java ee運(yùn)行環(huán)境及開發(fā)技術(shù)22.1 java ee運(yùn)行環(huán)境22.1.1 myeclipse22.1.2 tomcat22.1.3 sql server 200532.2 j
10、ava ee開發(fā)技術(shù)32.2.1 mvc設(shè)計模式32.2.2 struts242.2.3 hibernate52.2.4 spring52.2.5 jquery63 需求分析73.1 可行性分析73.1.1 經(jīng)濟(jì)可行性73.1.2 技術(shù)可行性73.1.3 操作可行性73.1.4 法律可行性73.2 本系統(tǒng)的需求分析73.2.1 功能需求73.2.2 性能需求73.3 系統(tǒng)開發(fā)流程84 總體設(shè)計94.1 總體設(shè)計的目的94.2 系統(tǒng)總體流程圖94.3 功能模塊圖104.4 用戶功能模塊圖114.5 數(shù)據(jù)庫設(shè)計124.5.1 系統(tǒng)e-r圖134.5.2 數(shù)據(jù)字典135 系統(tǒng)詳細(xì)設(shè)計及實現(xiàn)155.1
11、 系統(tǒng)架構(gòu)設(shè)計155.2 系統(tǒng)的運(yùn)行結(jié)果155.3 類的分布165.4 控制層的實現(xiàn)175.4.1 adminaction.java類(處理基本登錄信息的類)175.4.2 hetongaction(實現(xiàn)對合同信息的操作)185.5 持久層的實現(xiàn)225.5.1 接口類225.5.2 實現(xiàn)接口類235.6 服務(wù)層的實現(xiàn)266 系統(tǒng)測試306.1 軟件測試306.1.1 黑盒測試306.1.2 白盒測試306.1.3 單元測試306.1.4 集成測試306.1.5 系統(tǒng)測試316.1.6 程序調(diào)試316.2 本系統(tǒng)測試316.2.1 junit單元測試31結(jié)束語33參考文獻(xiàn)34致 謝35外文原文3
12、6中文翻譯421 緒 論1.1 國內(nèi)外研究動態(tài)隨著科學(xué)的發(fā)展和社會的進(jìn)步,尤其是計算機(jī)大范圍的普及,計算機(jī)應(yīng)用逐漸由科學(xué)計算轉(zhuǎn)向了對日常工作的處理,這就產(chǎn)生了以計算機(jī)為核心,以數(shù)據(jù)庫管理系統(tǒng)為開發(fā)環(huán)境的管理信息系統(tǒng)在大規(guī)模的事務(wù)處理管理等方面的應(yīng)用,其中在項目工程管理之中的應(yīng)用日益受到人們的關(guān)注。經(jīng)過二十多年的發(fā)展,市場經(jīng)濟(jì)的觀念已經(jīng)深入人心。90年代末,隨著全球經(jīng)濟(jì)一體化和知識經(jīng)濟(jì)的發(fā)展,項目個性化需求特征愈來愈明顯,只有真正了解市場需要,最大滿足項目需求的產(chǎn)品才能實現(xiàn)競爭優(yōu)勢。企業(yè)以產(chǎn)品為中心的模式向以市場為中心,以項目為中心的模式轉(zhuǎn)移。正確、快速地處理與項目之間的溝通成為企業(yè)利潤的主要源
13、泉。企業(yè)管理的視覺從內(nèi)視型向外視型轉(zhuǎn)變。企業(yè)轉(zhuǎn)換自己的視角外向型地整合內(nèi)外部資源,從而提高企業(yè)的核心競爭力。1.2 項目背景及意義在當(dāng)今快速發(fā)展的科學(xué)和技術(shù)的帶動下,一切的商業(yè)行為都能跟計算機(jī)搭上邊。這是為了實現(xiàn)更大的商業(yè)利益而通過更好的利用計算機(jī)來實現(xiàn)目標(biāo)。項目管理是為了使工作項目能夠按照預(yù)定的需求、成本、進(jìn)度、質(zhì)量順利完成,而對人員、產(chǎn)品、過程、和項目、進(jìn)行分析和管理的活動。目前國內(nèi)企業(yè)對項目管理水平和方法越來越重視,而合適的項目管理軟件在其中起了極其重要的作用!主要有工程項目管理軟件和非工程項目管理軟件2大分類。隨著微型計算機(jī)的出現(xiàn)和運(yùn)算速度的提高, 20 世紀(jì)80 年代后項目管理技術(shù)也
14、呈現(xiàn)出繁榮發(fā)展的趨勢, 項目管理軟件開始出現(xiàn)。對于大型項目管理,沒有軟件支撐,手工完成項目任務(wù)制定、跟蹤項目進(jìn)度、資源管理、成本預(yù)算的難度是相當(dāng)大的。可以說計算機(jī)技術(shù)的發(fā)展對項目管理深入應(yīng)用起了舉足輕重的作用。2 java ee運(yùn)行環(huán)境及開發(fā)技術(shù)2.1 java ee運(yùn)行環(huán)境2.1.1 myeclipse由genuitec公司發(fā)布的myeclipse10,是一款商業(yè)化eclipse集成開發(fā)工具的升級版本。myeclipse10是基于eclipse indigo構(gòu)建,為java和javaee項目提供了maven3的支持。本版本中還添加了對javeee6、html5、jpa2和jsf2的支持。版本
15、號10是為了慶祝eclipse的10歲生日。 myeclipse10使用最高級的桌面和web開發(fā)技術(shù),包括html5和javaee6,支持jpa2.0、jsf2.0、eclipselink 2.1以及openjpa2.0而對ibm websphere用戶來說,myeclipse blue支持最新版本的websphere portal server7.0、websphere8 以及以前的版本,無縫的支持ibm db2數(shù)據(jù)庫。myeclipse是一個十分優(yōu)秀的用于開發(fā)java, j2ee的 eclipse插件集合,myeclipse的功能非常強(qiáng)大,支持也十分廣泛,尤其是對各種開元產(chǎn)品的支持十分不錯
16、。myeclipse目前支持java servlet,ajax, jsp, jsf, struts,spring, hibernate , ejb3,jdbc數(shù)據(jù)庫鏈接工具等多項功能??梢哉fmyeclipse幾乎囊括了目前所有主流開元產(chǎn)品的專屬eclipse開發(fā)工具。myeclipse企業(yè)級工作平臺(myeclipse enterprise workbench ,簡稱myeclipse)是對eclipse ide的擴(kuò)展,利用它我們可以在數(shù)據(jù)庫和j2ee的開發(fā)、發(fā)布,以及應(yīng)用程序服務(wù)器的整合方面極大的提高工作效率。它是功能豐富的j2ee集成開發(fā)環(huán)境,包括了完備的編碼、調(diào)試、測試和發(fā)布功能,完整支
17、持html, struts, jsf, css, javascript, sql, hibernate。在結(jié)構(gòu)上,myeclipse的特征可以被分為7類:1. j2ee模型2. web開發(fā)工具3. ejb開發(fā)工具4. 應(yīng)用程序服務(wù)器的連接器5. j2ee項目部署服務(wù)6. 數(shù)據(jù)庫服務(wù)7. myeclipse整合幫助對于以上每一種功能上的類別,在eclipse中都有相應(yīng)的功能部件,并通過一系列的插件來實現(xiàn)它們。myeclipse結(jié)構(gòu)上的這種模塊化,可以讓我們在不影響其他模塊的情況下,對任一模塊進(jìn)行單獨的擴(kuò)展和升級。簡單而言,myeclipse是eclipse的插件,也是一款功能強(qiáng)大的j2ee集成開
18、發(fā)環(huán)境,支持代碼編寫、配置、測試以及除錯。2.1.2 tomcattomcat最初是由sun的軟件構(gòu)架師詹姆斯鄧肯戴維森開發(fā)的。后來他幫助將其變?yōu)殚_源項目,并由sun貢獻(xiàn)給apache軟件基金會。由于大部分開源項目oreilly都會出一本相關(guān)的書,并且將其封面設(shè)計成某個動物的素描,因此他希望將此項目以一個動物的名字命名。因為他希望這種動物能夠自己照顧自己,最終,他將其命名為tomcat(英語公貓或其他雄性貓科動物)。而oreilly出版的介紹tomcat的書籍(isbn 0-596-00318-8)1的封面也被設(shè)計成了一個公貓的形象。而tomcat的logo兼吉祥物也被設(shè)計成了一只公貓。tom
19、cat是apache軟件基金會的jakarta項目中的一個核心項目,由apache、sun(oracle已收購)和其他一些公司聯(lián)合開發(fā)。tomcat早就被java-world雜志的編輯選為最具創(chuàng)新性的java產(chǎn)品,又是sun公司官方推薦的servlet/jsp容器。由于符合servlet和jsp最新規(guī)范的內(nèi)容都已在tomcat的新版本中實現(xiàn),結(jié)合tomcat的穩(wěn)定性能,因此得到了軟件開發(fā)商及相關(guān)人員的認(rèn)可,成為目前比較流行的web應(yīng)用服務(wù)器456。2.1.3 sql server 2005sql server 2005具有較好的可伸縮性和可靠性,提供了以web標(biāo)準(zhǔn)為基礎(chǔ)的擴(kuò)展數(shù)據(jù)庫編程功能,可
20、以滿足電子商務(wù)和企業(yè)應(yīng)用程序的要求。sql server 2005支持xml和internet標(biāo)準(zhǔn),具有基于web的分析能力,允許使用內(nèi)置的存儲過程以xml格式存儲、更新、刪除、檢索數(shù)據(jù)。sql server 2005能提供超大型系統(tǒng)所需的數(shù)據(jù)庫服務(wù)。大型服務(wù)器可能有成千上萬的用戶同時連接到sql server 2005的情況,sql server 2005為這些環(huán)境提供了全面的保護(hù),具有防止問題發(fā)生的安全措施,例如,可以防止多個用戶試圖同時更新相同的數(shù)據(jù)。sql server 2005還在多個用戶之間有效地分配可用資源,比如內(nèi)存、網(wǎng)絡(luò)帶寬和磁盤i/o等。sql server 2005不僅能作
21、為一個功能強(qiáng)大的數(shù)據(jù)庫服務(wù)器有效地工作,而且數(shù)據(jù)庫引擎也用在需要在項目端本地存儲獨立數(shù)據(jù)庫的應(yīng)用程序中。sql server 2005可以動態(tài)地將自身配置成能有效地使用項目端桌面或膝上型電腦中的可用資源,而不需要為每個項目端專設(shè)一個數(shù)據(jù)庫管理員。應(yīng)用程序供應(yīng)商還可以將sql server 2005作為應(yīng)用程序的數(shù)據(jù)存儲組件嵌入到應(yīng)用程序中。sql server在網(wǎng)絡(luò)組件的頂部添加了服務(wù)器特有的中介組件,諸如開放式數(shù)據(jù)庫連接(odbc)后能使不同項目機(jī)進(jìn)行相互連接,它可處理基于internet的應(yīng)用程序,幫助用戶把sql server數(shù)據(jù)庫信息集成到web頁面。 8。2.2 java ee開發(fā)技
22、術(shù)2.2.1 mvc設(shè)計模式由于c/s開發(fā)程序的變更不夠靈活,且維護(hù)和管理的比較復(fù)雜。由于應(yīng)用程序中邏輯結(jié)構(gòu)的表現(xiàn)形式經(jīng)常改變,但本身卻相對穩(wěn)定。因此,將業(yè)務(wù)邏輯和數(shù)據(jù)的展現(xiàn)形式分開,可以更容易地根據(jù)需求的變化來改變后臺程序,從而不必觸動業(yè)務(wù)邏輯部分就可以開發(fā)新的外觀界面。mvc設(shè)計模式提出于80年代末由xerox公司發(fā)表的一系列論文中,專門應(yīng)對這種實際情況,其關(guān)鍵是將組件分成3個各自獨立的單元:模型、視圖、控制器。3者關(guān)系如圖2-1所示:圖2-1 mvc設(shè)計模式以上三個部分的具體任務(wù)如下10:(1)模型表示應(yīng)用程序中的數(shù)據(jù)結(jié)構(gòu)和元素,模型對數(shù)據(jù)和對數(shù)據(jù)進(jìn)行了封裝,是應(yīng)用程序真正進(jìn)行數(shù)據(jù)計算和
23、處理的地方。在這mvc的三個部分中,模型相對來說是最重要的部分。(2)視圖(view)對象顧名思義,就是用戶可見的并可以與之交互的界面,它負(fù)責(zé)向用戶顯示模型的狀態(tài)和顯現(xiàn)應(yīng)用的數(shù)據(jù)。主要作用如下:a.向用戶顯示一些應(yīng)用中的數(shù)據(jù);b.接收來自用戶的輸入;c.與模型層進(jìn)行交互,向模型傳遞數(shù)據(jù)進(jìn)行查詢;d.接收來自模型層的數(shù)據(jù),更新展示給用戶的顯示界面。(3)控制器(controller)負(fù)責(zé)view和model的交互,主要擔(dān)任兩個方面的工作:將模型的改變及時反應(yīng)到視圖上;將用戶的請求分發(fā)到相對應(yīng)的模型。為了提高靈活性和可重用性,mvc將這些對象進(jìn)行了分離。以上即mvc的一個典型的處理過程11。2.2
24、.2 struts2struts2框架是基于struts1和webwork框架發(fā)展而來的,并同時吸收了二者的優(yōu)勢,但與struts1框架相比,在設(shè)計思路上有許多本質(zhì)上的不同。對webwork框架有過研究的人會發(fā)現(xiàn)struts2在系統(tǒng)架構(gòu)和運(yùn)轉(zhuǎn)流程上與webwork是非常相似的。所以,在某種程度上可以說struts2完全與struts1沒有太多關(guān)系,而實際上繼承的是webwork 12。struts2框架大致由三部分組成:核心控制器、業(yè)務(wù)控制器和用戶實現(xiàn)的業(yè)務(wù)邏輯組件。在這之中,由filterdispatcher充當(dāng)核心控制器,filterdispatcher作為一個過濾器運(yùn)行在應(yīng)用程序中,它負(fù)
25、責(zé)對所有用戶向服務(wù)器的請求進(jìn)行過濾,當(dāng)用戶發(fā)出以.action結(jié)尾的請求時,filterdispatcher發(fā)現(xiàn)該請求,并將該請求轉(zhuǎn)入到struts2中去處理。業(yè)務(wù)控制器即是開發(fā)者實現(xiàn)的actionsupport類的子類實例,這個類通常包含一個自定義方法,并返回是一個字符串值(如none、success等),即result名稱,與該result對應(yīng)的則是一個jsp頁面或一個action地址。在業(yè)務(wù)邏輯組件的層面來說,struts2并沒有提供太多的幫助,它只是一個偏向表現(xiàn)層的框架,在實際的開發(fā)中當(dāng)控制器需要獲得業(yè)務(wù)邏輯組件時,通常是通過工廠開發(fā)模式來獲得一個業(yè)務(wù)邏輯組件實例。struts2具體的
26、框架結(jié)構(gòu)及工作流程如圖所示:圖2-2 struts2原理2.2.3 hibernatehibernate是目前比較流行的orm(對象/關(guān)系映射)框架(比較流行的還有mybatis),自動映射了關(guān)系數(shù)據(jù)庫和java對象之間的關(guān)聯(lián),使得程序員可以以非常簡單的方式實現(xiàn)對數(shù)據(jù)庫的操作。hibernate通過封裝jdbc的從而對程序開發(fā)者屏蔽了底層的數(shù)據(jù)庫操作,使開發(fā)者更專注于面向?qū)ο蟪绦虻拈_發(fā),可以有效地提高開發(fā)效率。開發(fā)者訪問數(shù)據(jù)庫所需要做的就是為持久化類編制xml映射文件,或為持久化類設(shè)置annotation注解。對于一些底層數(shù)據(jù)庫的必要性的改變,只需要對hibernate.cfg.xml配置文件
27、進(jìn)行修改即可,并不會對應(yīng)用程序產(chǎn)生影響。hibernate有自己的面向?qū)ο蟮牟樵冋Z言hql,hql功能強(qiáng)大,支持目前大多數(shù)主流數(shù)據(jù)庫,如oracle、db2、microsoft sqlserver、mysql等,為快速開發(fā)應(yīng)用程序提供了底層的穩(wěn)定的支持。2.2.4 springspring與臃腫的ejb相對比,spring可以使開發(fā)者把各個技術(shù)層次之間的關(guān)聯(lián)程度顯著地(耦合度)降低,從該框架本身的架構(gòu)來說,相對其他框架是一個很輕量級的框架。spring框架的核心是控制翻轉(zhuǎn)ioc(inverse of control),也被稱之為依賴注入di(dependence injection)機(jī)制。io
28、c是指由容器來對各組件間關(guān)系進(jìn)行控制(在這里,容器是指一種服務(wù)程序,在服務(wù)器一個端口就有一個提供相應(yīng)服務(wù)的程序,如上文提及的tomcat),而非傳統(tǒng)實現(xiàn)中直接操控的程序代碼,這種由程序代碼到外部容器的控制權(quán)轉(zhuǎn)移,即為“翻轉(zhuǎn)“。di,依賴注入,即將所用到的對象等,依靠web容器注入給使用這些對象的組件中。spring采用設(shè)值注入(使用setter方法實現(xiàn)依賴)的機(jī)制,通過spring配置文件(xml文件)管理組件對象進(jìn)行協(xié)作,可以依賴于web容器構(gòu)造應(yīng)用程序的組件。通過這種方式,不需要依賴單例設(shè)計模式、工廠設(shè)計模式或者其他構(gòu)造對象的方法,就可以通過代碼操作直接從容器中獲取所需的組件17。spri
29、ng提供了豐富的面向切面編程(aop)的支持,通過允許分離web應(yīng)用程序的系統(tǒng)級服務(wù)(例如日志、數(shù)據(jù)事務(wù)管理等)與業(yè)務(wù)邏輯,完成內(nèi)聚性開發(fā)。每一個應(yīng)用方法只關(guān)注它們需要做的實現(xiàn)業(yè)務(wù)邏輯。它們并不關(guān)注其他系統(tǒng)層面的問題(如日志或事務(wù)支持)。spring框架是一個松耦合的框架,同時也是一個模塊的框架,框架的部分耦合度被設(shè)計為最小。這些特征將使你的代碼更易于測試和管理。2.2.5 jqueryjquery easyui是一組基于jquery的ui插件集合,而jquery easyui的目標(biāo)就是幫助web開發(fā)者更輕松的打造出功能豐富并且美觀的ui界面。開發(fā)者不需要編寫復(fù)雜的javascript,也不需
30、要對css樣式有深入的了解,開發(fā)者需要了解的只有一些簡單的html標(biāo)簽。jquery easyui有以下特點:1、基于jquery用戶界面插件的集合2、為一些當(dāng)前用于交互的js應(yīng)用提供必要的功能3、easyui支持兩種渲染方式分別為javascript方式(如:$(#p).panel(.))和html標(biāo)記方式(如:class=easyui-panel)4、支持html5(通過data-options屬性)5、開發(fā)產(chǎn)品時可節(jié)省時間和資源6、簡單,但很強(qiáng)大7、支持?jǐn)U展,可根據(jù)自己的需求擴(kuò)展控件8、目前各項不足正已版本遞增的方式不斷完善3 需求分析3.1 可行性分析3.1.1 經(jīng)濟(jì)可行性經(jīng)濟(jì)可行性研
31、究是對使用者的經(jīng)濟(jì)現(xiàn)狀和投資能力進(jìn)行分析,對系統(tǒng)建設(shè)運(yùn)行和維護(hù)費用進(jìn)行估算,對系統(tǒng)建成后可能取得的社會和經(jīng)濟(jì)效益進(jìn)行估計。因為本系統(tǒng)是畢業(yè)設(shè)計,由我們自己開發(fā)的,在經(jīng)濟(jì)上的投入可以忽略不計,系統(tǒng)完成后將會為企業(yè)項目管理提供很大的方便。3.1.2 技術(shù)可行性基于javaee的項目管理系統(tǒng)采用b/s結(jié)構(gòu)、結(jié)合sqlserver2005數(shù)據(jù)庫,在使用myeclipse開發(fā)平臺的基礎(chǔ)上采用mvc設(shè)計模式運(yùn)用struts2,hibernate,spring三大框架前臺使用流行的jquery同時使用tomcat服務(wù)器來最終實現(xiàn)項目管理系統(tǒng)。在技術(shù)上是絕對可行的。3.1.3 操作可行性從時間上看,在兩個月的
32、時間里了解相關(guān)技術(shù),并開發(fā)項目管理系統(tǒng),時間上是有點緊,但是不是不可能實現(xiàn),通過兩個多月的努力功能應(yīng)該基本實現(xiàn)。3.1.4 法律可行性1所有技術(shù)資料都為合法文獻(xiàn)材料。2開發(fā)過程中不存在任何知識產(chǎn)權(quán)問題。3開發(fā)過程中未涉及任何法律責(zé)任的承擔(dān)。綜上所述,本系統(tǒng)的開發(fā)從技術(shù)上、從經(jīng)濟(jì)上、從可操作性上、從法律上都是完全可靠的。3.2 本系統(tǒng)的需求分析3.2.1 功能需求本系統(tǒng)是針對中小型企業(yè)項目管理現(xiàn)狀,通過網(wǎng)絡(luò)實現(xiàn)對企業(yè)項目信息的管理,主要實現(xiàn)如下目標(biāo):(1)對項目信息(項目基本信息、項目經(jīng)辦人、項目方案等信息)進(jìn)行全面管理。(2)對項目合同的管理。(3)實現(xiàn)各種信息查詢功能。(4)對用戶輸入的數(shù)據(jù)
33、,系統(tǒng)進(jìn)行嚴(yán)格的數(shù)據(jù)檢驗,盡可能排除人為的錯誤。(5)操作員可以隨時修改自己的口令。(6)數(shù)據(jù)保密性強(qiáng),為每個用戶設(shè)置相應(yīng)的權(quán)限級別。(7)提供輔助工具,方便用戶操作及使用。(8)系統(tǒng)運(yùn)行穩(wěn)定、安全可靠。3.2.2 性能需求硬件配置:cpu:2.40ghz; 內(nèi)存:4g; 硬盤:500g;軟件配置: 操作系統(tǒng):windows 7; 數(shù)據(jù)庫:sql server 2005; jsp服務(wù)器:tomcat; 開發(fā)工具包: jdk1.6.0_263.3 系統(tǒng)開發(fā)流程一般說來,項目管理系統(tǒng)的開發(fā)可以劃分概要設(shè)計,詳細(xì)設(shè)計和編碼階段。其中概要設(shè)計階段主要是完成各個模塊主要功能的設(shè)計與具體的實現(xiàn)方式,畫出e
34、r圖,完成總體設(shè)計。詳細(xì)設(shè)計階段只要完成各個模塊具體功能的實現(xiàn)方式(邏輯設(shè)計等)。在編碼階段主要是依據(jù)概要設(shè)計和詳細(xì)設(shè)計的要求完成各個模塊的代碼編寫。軟件工程體系中曾對一些軟件項目開發(fā)各階段的工作量進(jìn)行了統(tǒng)計,結(jié)果表明,在開發(fā)過程中各階段的比例分配為: 系統(tǒng)分析:系統(tǒng)設(shè)計:編程:模塊調(diào)試:系統(tǒng)調(diào)試20%:15%:20%:25%:20%。由此可見,代碼的編寫在開發(fā)工作中只占很小比例,而需求分析和設(shè)計以及最后的測試等工作卻占整個開發(fā)工作量的一半左右。 上述開發(fā)方式的優(yōu)點是便于開發(fā)工作的組織和管理,并且可大大降低企業(yè)項目管理系統(tǒng)開發(fā)的復(fù)雜性。國內(nèi)外許多系統(tǒng)開發(fā)的實例都證明這是一種行之有效的開發(fā)方式。
35、4 總體設(shè)計4.1 總體設(shè)計的目的系統(tǒng)的總體設(shè)計中最重要的就是系統(tǒng)的模塊化。模塊化是指解決一個復(fù)雜問題時自項向下逐層把軟件系統(tǒng)劃分成若干個模塊的過程。每個模塊完成一個特定的功能,所有的模塊按某種方法組織起來,成為一個整體,完成整個系統(tǒng)所要求的功能。將系統(tǒng)劃分為多個模塊是為了降低軟件系統(tǒng)的復(fù)雜性,提高可讀性、可維護(hù)性,但模塊的劃分不能是任意的,應(yīng)盡量保持其獨立性。也就是說,每個模塊只完成系統(tǒng)要求的獨立的子功能,并且與其他模塊的聯(lián)系最少且接口簡單,即盡量做到高內(nèi)聚低耦合,提高模塊的獨立性,為設(shè)計高質(zhì)量的軟件結(jié)構(gòu)奠定基礎(chǔ)。核心思想是模塊之間的低耦合和模塊內(nèi)部高內(nèi)聚。在系統(tǒng)的概要設(shè)計中采用結(jié)構(gòu)化設(shè)計以
36、需求分析階段產(chǎn)生的數(shù)據(jù)流圖為基礎(chǔ),按一定的步驟映射成軟件結(jié)構(gòu)。首先將整個系統(tǒng)化分為幾個小問題,小模塊。然后,進(jìn)一步細(xì)分模塊,添加細(xì)節(jié)。企業(yè)項目管理系統(tǒng)的根本目的是為了讓項目尤其是大型項目的整個生命周期都能在管理者的控制之下,以預(yù)定成本按期,按質(zhì)的完成軟件交付用戶使用。而研究項目管理為了從已有的成功或失敗的案例中總結(jié)出能夠指導(dǎo)今后開發(fā)的通用原則,方法,同時避免前人的失誤。該系統(tǒng)通過對項目開發(fā)的各個環(huán)節(jié)進(jìn)行設(shè)置(基本信息操作、項目規(guī)劃管理,合同管理,和項目評價管理),基本信息操作模塊包括基本信息的添加、修改、刪除和查詢;項目規(guī)劃管理模塊包含規(guī)劃項目登記、規(guī)劃項目列表、規(guī)劃項目查詢?nèi)齻€功能。合同管理
37、模塊包括合同的簽訂,合同的管理,合同查詢?nèi)齻€功能。4.2 系統(tǒng)總體流程圖對于數(shù)據(jù)庫軟件應(yīng)用的設(shè)計與開發(fā),數(shù)據(jù)庫系統(tǒng)的設(shè)計是其最為核心和基礎(chǔ)的環(huán)節(jié)。數(shù)據(jù)庫系統(tǒng)的優(yōu)劣直接影響到系統(tǒng)的性能,所以對數(shù)據(jù)庫系統(tǒng)的設(shè)計必須有優(yōu)良的性能,那么對它的設(shè)計也更嚴(yán)密周緊。圖4-1 總體流程4.3 功能模塊圖本系統(tǒng)采用myeclipse 作為開發(fā)工具,sqlserver2005 作為后臺數(shù)據(jù)庫,將每個數(shù)據(jù)庫表的字段和操作封裝到類中,從而成功地將面向?qū)ο蟮某绦蛟O(shè)計思想應(yīng)用到數(shù)據(jù)庫應(yīng)用程序設(shè)計中。這也是本系統(tǒng)的特色和優(yōu)勢。圖4-2 模塊劃分圖4.4 用戶功能模塊圖本系統(tǒng)初始化時,有兩個默認(rèn)的用戶,普通用戶為users,
38、系統(tǒng)管理員用戶為admin,手動添加到數(shù)據(jù)庫中,他的確認(rèn)密碼為ad。admin用戶可以創(chuàng)建用戶、刪除用戶、修改用戶的信息,普通用戶只能修改自己的用戶名和密碼。圖4-3 用戶功能模塊圖4.5 數(shù)據(jù)庫設(shè)計數(shù)據(jù)庫是以一定的組織方式存儲在一起的相關(guān)數(shù)據(jù)集合,它能以最佳的方式,最少的數(shù)據(jù)冗余為多種應(yīng)用服務(wù),程序與數(shù)據(jù)具有較高的獨立性。60年代末到70年代初數(shù)據(jù)庫技術(shù)日益成熟,具有了堅實的理論基礎(chǔ)。 70年代,數(shù)據(jù)庫技術(shù)有了很大發(fā)展,出現(xiàn)了許多基于層次或網(wǎng)狀模型的商品化數(shù)據(jù)庫系統(tǒng),并廣泛運(yùn)行在企業(yè)管理、交通運(yùn)輸、情報檢索、軍事指揮、政管理和輔助決策等各個方面。這一時期,關(guān)系模型的理論研究和軟件系統(tǒng)研制也得
39、到了很大進(jìn)展。1981年ibm公司san jose實驗室宣布具有system r 全部特性的數(shù)據(jù)庫產(chǎn)品sql/ds問世。與此同時,加州大學(xué)伯克利分校研制成功關(guān)系數(shù)據(jù)庫實驗系統(tǒng)ingres,接著又實現(xiàn)了ingres商務(wù)系統(tǒng),使關(guān)系方法從實驗室走向社會。20世紀(jì)80年代以來,幾乎所有新開發(fā)的數(shù)據(jù)庫系統(tǒng)都是關(guān)系型的。微型機(jī)平臺的關(guān)系數(shù)據(jù)庫管理系統(tǒng)也越來越多,功能越來越強(qiáng),其應(yīng)用已經(jīng)遍及各個領(lǐng)域。e-r模型的組成元素有:實體、屬性、聯(lián)系。e-r模型用e-r圖表示。實體是用戶工作環(huán)境中所涉及的事務(wù),屬性是對實體特征的描述。(1)模型中的實體相當(dāng)于實體集、一個表,而不是單個實體或表中的一行。實體用矩形框表
40、示,實體名稱標(biāo)注在矩形框內(nèi)。用菱形表示實體間的聯(lián)系,菱形框內(nèi)寫上聯(lián)系名,用無向邊把菱形分別與有關(guān)實體相連接,在無向邊旁標(biāo)上聯(lián)系的類型。(2)屬性是實體的性質(zhì)。用橢圓框表示,與實體之間用一條線相連表的主碼是關(guān)鍵屬性,關(guān)鍵屬性項加下劃線。(3)各子系統(tǒng)模塊中主鍵相同的字段之間存在著相互關(guān)聯(lián)的關(guān)系。(4)在程序中實現(xiàn)對他們的完整性和一致性控制。得到上面數(shù)據(jù)項和數(shù)據(jù)結(jié)構(gòu)以后,就可以設(shè)計出能夠滿足用戶需求的各種實體,以及它們之間的關(guān)系,為后面的邏輯結(jié)構(gòu)設(shè)計打下基礎(chǔ)。這些實體包含各種具體信息,通過相互之間的作用形成數(shù)據(jù)的流動。4.5.1 系統(tǒng)e-r圖管理員用戶名密碼普通用戶用戶名密碼管理增刪改查項目合同規(guī)
41、劃項目項目評價增刪增刪增刪用戶增刪增刪增刪圖4-4 系統(tǒng)e-r圖4.5.2 數(shù)據(jù)字典本系統(tǒng)數(shù)據(jù)庫采用sql server 2005數(shù)據(jù)庫,系統(tǒng)數(shù)據(jù)庫名稱為db_client。數(shù)據(jù)庫db_client中包含4張表。表4-1 用戶表(t_admin)字段名數(shù)據(jù)類型主鍵允許非空描述useridint用戶標(biāo)識usernamevarchar用戶名userpwvarchar用戶密碼表4-2 合同表(t_hetong)字段名數(shù)據(jù)類型主鍵允許非空描述hetong_idint合同標(biāo)識hetong_namevarchar合同名稱jiafangfuzerenvarchar甲方負(fù)責(zé)人yifangfuzerenvarc
42、har乙方負(fù)責(zé)人hetong_kaishishijianvarchar合同的開始時間hetong_jieshushijianvarchar合同的結(jié)束時間hetong_jineint合同金額hetong_beizhuvarchar合同備注xiangmu_idint對應(yīng)項目的標(biāo)識(外鍵)delvarchar是否刪除(邏輯刪除)表4-3 評價表(t_pingjia)字段名數(shù)據(jù)類型主鍵允許非空描述pingjia_idint評價標(biāo)識pingjia_neirongvarchar評價的內(nèi)容xiangmu_idint對應(yīng)項目的標(biāo)識(外鍵)delvarchar是否刪除(邏輯刪除)表4-4 項目表(t_xiang
43、mu)字段名數(shù)據(jù)類型主鍵允許非空描述xiangmu_idint項目idxiangmu_namevarchar項目名稱xiangmu_typevarchar項目類型xiangmu_chengdandanweivarchar項目的承擔(dān)單位xiangmu_fuzerenvarchar項目負(fù)責(zé)人xiangmu_shijianvarchar項目時間xiangmu_jineint項目金額xiangmu_fanganvarchar項目方案xiangmu_fangan_yaunshimingvarchar項目方案名稱xiangmu_beizhuvarchar項目備注xiangmu_yanshoujieguov
44、archar項目驗收結(jié)果xiangmu_yanshourenvarchar項目驗收人delvarchar是否刪除(邏輯刪除)5 系統(tǒng)詳細(xì)設(shè)計及實現(xiàn)5.1 系統(tǒng)架構(gòu)設(shè)計在編寫代碼之前,可以先把網(wǎng)站中可能用到的文件夾創(chuàng)建出來(例如:創(chuàng)建一個名為image的文件夾,用于保存網(wǎng)站中需要的圖片),這樣可以方便以后的開發(fā)工作,也可以規(guī)范網(wǎng)站的整體架構(gòu),我在開發(fā)項目管理系統(tǒng)時只需要將文件保存在相應(yīng)的文件夾中就可以了,非常方便。5.2 系統(tǒng)的運(yùn)行結(jié)果當(dāng)管理員在進(jìn)入項目管理系統(tǒng)后,首先進(jìn)入項目管理系統(tǒng)的大廳,也就是項目管理系統(tǒng)的首頁。項目管理系統(tǒng)首頁包含基礎(chǔ)信息維護(hù)、項目信息維護(hù)、項目服務(wù)、信息查詢、數(shù)據(jù)管理、
45、輔助工具以及系統(tǒng)管理的超鏈接。項目管理系統(tǒng)網(wǎng)站首頁的運(yùn)行結(jié)果如圖5-1、5-2所示:圖5-1 網(wǎng)站首頁運(yùn)行結(jié)果(1)圖5-2 網(wǎng)站首頁運(yùn)行結(jié)果(2)網(wǎng)站框架說明如表5-1所示:表5-1 網(wǎng)站首頁頁面說明區(qū)域名稱說明對應(yīng)文件1網(wǎng)站導(dǎo)航主要展示網(wǎng)站的旗幟廣告和站內(nèi)導(dǎo)航條top.jsp2功能模塊主要用于顯示導(dǎo)航模塊中的功能information.jsp3內(nèi)容顯示主要用于顯示功能模塊中的內(nèi)容right.jsp1、 src/struts.xml即為struts2核心配置,主要配置action(訪問路徑)與xxxaction類的映射關(guān)系;2、 webroot/web-inf/applicationcont
46、ext.xml為spring+hibernate配置(spring將hibernate配置融入到一起了)3、 hibernate使用jdbc方式,連接sqlserver 2005數(shù)據(jù)庫,使用xml方式映射實體類;4、 spring使用xml配置方式(在applicationcontext.xml文件進(jìn)行注入的配置);5.3 類的分布整個網(wǎng)站的實現(xiàn)功能利用到的框架struts2,基本上是以“類”的形式實現(xiàn)的。所以我設(shè)計一個類的分布圖如下圖5-3:圖5-3 類的分布圖各個類所實現(xiàn)的功能如表5-2所示:表5-2 類的功能控制層(action)引用service層,在這里結(jié)合struts2的配置文件,
47、跳轉(zhuǎn)到指定的頁面,當(dāng)然也能接受頁面?zhèn)鬟f的請求數(shù)據(jù),也可以做些計算處理服務(wù)層(service)引用dao層,完成項目的業(yè)務(wù)邏輯持久層(dao)使用了hibernate連接數(shù)據(jù)庫,完成對數(shù)據(jù)的增刪改查(crud)操作實體層(model)與數(shù)據(jù)庫表對應(yīng)的實體類工具包(util)項目中可能會使用到的一些比較通用的工具代碼的封裝5.4 控制層的實現(xiàn)在控制層中主要存放的是常用的基本類,在這里結(jié)合struts2的配置文件,跳轉(zhuǎn)到指定頁面,當(dāng)然也能接受頁面?zhèn)鬟f的請求數(shù)據(jù),也可以做些計算處理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();/創(chuàng)建 分頁對象 p.setindex(index);/設(shè)置頁數(shù) p.setpagesize(pagesize); p.settotle(adminlist.size();/設(shè)置總共的條數(shù) p.setdata(adminlistfe
52、nye);/設(shè)置數(shù)據(jù) p.setpath(adminmanagefenye.action?);/跳轉(zhuǎn)的路徑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(實現(xiàn)對合同信息的操作)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. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 食品加工廠圍欄施工合同
- 馬場跑道銑刨機(jī)租賃協(xié)議
- 零售服務(wù)業(yè)機(jī)構(gòu)裝飾施工合同
- 暖氣管道水電改造協(xié)議
- 航空物流合同管理要點
- 娛樂區(qū)頂管工程建設(shè)項目合同
- 釣魚用品租賃解除協(xié)議書
- 名人家庭保姆保密協(xié)議
- 大型度假村建設(shè)合同樣本
- 勞動合同解除與勞動爭議處理
- 《公安機(jī)關(guān)人民警察內(nèi)務(wù)條令》
- 呼吸機(jī)常見報警及處理
- 巨力索具(河南)有限公司年生產(chǎn)10萬噸鋼絲及5萬噸鋼絲繩項目環(huán)境影響報告
- GB/T 26254-2023家用和類似用途保健按摩墊
- 蘇教版六年級數(shù)學(xué)下冊第三單元第3課《練習(xí)五》公開課課件
- 北京外國語大學(xué)自主招生考試綜合素質(zhì)測試面試試題答題技巧匯總
- 產(chǎn)品質(zhì)量反饋、回復(fù)單
- 煤礦塌陷治理土地復(fù)墾主要問題和政策措施
- GB/T 26182-2022家用和類似用途保健按摩椅
- GB/T 7424.2-2002光纜總規(guī)范第2部分:光纜基本試驗方法
-
評論
0/150
提交評論