企業(yè)項目管理系統(tǒng)的設(shè)計與實現(xiàn)_畢業(yè)論文設(shè)計.doc_第1頁
企業(yè)項目管理系統(tǒng)的設(shè)計與實現(xiàn)_畢業(yè)論文設(shè)計.doc_第2頁
企業(yè)項目管理系統(tǒng)的設(shè)計與實現(xiàn)_畢業(yè)論文設(shè)計.doc_第3頁
企業(yè)項目管理系統(tǒng)的設(shè)計與實現(xiàn)_畢業(yè)論文設(shè)計.doc_第4頁
企業(yè)項目管理系統(tǒng)的設(shè)計與實現(xiàn)_畢業(yè)論文設(shè)計.doc_第5頁
已閱讀5頁,還剩35頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

本科畢業(yè)論文(設(shè)計) 題 目 企業(yè)項目管理系統(tǒng)的設(shè)計與實現(xiàn) 院(系) 計算機(jī)與信息工程學(xué)院 專 業(yè) 計算機(jī)科學(xué)與技術(shù) 本科畢業(yè)論文(設(shè)計)誠信承諾書 本人鄭重聲明:所呈交的本科畢業(yè)論文(設(shè)計),是本人在導(dǎo)師的指導(dǎo)下, 獨(dú)立進(jìn)行研究工作所取得的成果。除文中已經(jīng)注明引用的內(nèi)容外,本論文不 含任何其他個人或集體已經(jīng)發(fā)表或撰寫過的作品成果。對本文的研究做出 重要貢獻(xiàn)的個人和集體,均已在文中以明確方式標(biāo)明。本人完全意識到本聲 明的法律結(jié)果由本人承擔(dān)。 本人簽名: 日期: 本科畢業(yè)論文 (設(shè)計)使用授權(quán)說明 本人完全了解巢湖學(xué)院有關(guān)收集、保留和使用畢業(yè)論文 (設(shè)計)的規(guī) 定,即:本科生在校期間進(jìn)行畢業(yè)論文(設(shè)計)工作的知識產(chǎn)權(quán)單位屬巢湖 學(xué)院。學(xué)校根據(jù)需要,有權(quán)保留并向國家有關(guān)部門或機(jī)構(gòu)送交論文的復(fù) 印件和電子版,允許畢業(yè)論文 (設(shè)計)被查閱和借閱;學(xué)??梢詫厴I(yè)論 文(設(shè)計)的全部或部分內(nèi)容編入有關(guān)數(shù)據(jù)庫進(jìn)行檢索,可以采用影印、 縮印或掃描等復(fù)制手段保存、匯編畢業(yè),并且本人電子文檔和紙質(zhì)論文 的內(nèi)容相一致。 保密的畢業(yè)論文(設(shè)計)在解密后遵守此規(guī)定。 本人簽名: 日期: 導(dǎo)師簽名: 日期: 摘 要 企業(yè)項目管理系統(tǒng)在相關(guān)企業(yè)進(jìn)行生產(chǎn)的管理中有著廣泛的應(yīng)用,它 有利于提高企業(yè)對軟件項目開發(fā)過程中的信息管理。 該系統(tǒng)所要實現(xiàn)的功能包括任務(wù)管理功能、項目管理功能、客戶管理 功能功能、人員管理功能和用戶管理功能。本系統(tǒng)在設(shè)計方面采用 b/s 模 式,通過 myeclipse 開發(fā)平臺實現(xiàn) mvc 模式,創(chuàng)建用戶界面 jsp 可視化視 圖,用戶在界面上輸入數(shù)據(jù)會通過 action 提交到 servlet,在 servlet 中調(diào) 用數(shù)據(jù)層(javabean) ,完成前臺與后臺的交互。從而用戶可以通過登錄, 進(jìn)入該系統(tǒng)的主界面并對項目各個功能模塊進(jìn)行相關(guān)的增刪改查操作。 通過企業(yè)項目管理,可全面管理公司業(yè)務(wù),加強(qiáng)跨部門溝通協(xié)作,有 效配置和共享資源,減少計劃拖延和降低運(yùn)營成本,提高企業(yè)管理效率。 關(guān)鍵詞關(guān)鍵詞:項目管理;java;model view controller;mysql 數(shù)據(jù)庫 abstract enterprise project management system in the management of relevant enterprises for production has been widely used, it is helpful to improve enterprise in the process of developing the information management of software project. the system to implement the functions including task management, project management, customer management, personnel management and user management functions. this system adopts b/s mode in terms of design, through the myeclipse development platform to realize the mvc pattern, create the user interface view jsp visualization, users input data on the interface will be submitted by the action to the servlet, the servlet invokes the data layer (javabeans), to complete the interaction of the front desk and the background. thus the user can log in through, enter the main interface of the system and the project related to the various functional modules to add and delete operation. through the enterprise project management, comprehensive management of the companys business, to strengthen inter-departmental communication and coordination, resource configuration and sharing, effective reduction plan delay and reduce operating costs, improve enterprise management efficiency. keywords: project management; java; the model view controller; the mysql database 目目 錄錄 第一章 緒論 1 1.1 論文背景及課題來源.1 1.2 本課題在國內(nèi)外的發(fā)展?fàn)顩r.1 1.3 應(yīng)解決的問題及系統(tǒng)開發(fā)意義.1 第二章 開發(fā)工具及相關(guān)技術(shù)介紹 .4 2.1 java 簡介4 2.2 mvc 介紹.4 2.3 b/s 模型介紹.5 2.4 myeclipse 開發(fā)工具介紹.6 2.5 tomcat 簡介7 2.6 mysql 簡介.8 第三章 系統(tǒng)需求分析 .9 3.1 系統(tǒng)任務(wù)描述 9 3.2 系統(tǒng)功能分析 9 3.2.1 系統(tǒng)的功能需求.9 3.2.2 系統(tǒng)數(shù)據(jù)流圖. .10 3.2.3 系統(tǒng)數(shù)據(jù)分析 10 3.3 系統(tǒng)可行性分析 .13 第四章 系統(tǒng)設(shè)計 .15 4.1 系統(tǒng)總體結(jié)構(gòu)設(shè)計 .15 4.2 數(shù)據(jù)庫設(shè)計 .16 4.3 系統(tǒng)功能模塊詳細(xì)設(shè)計 .20 第五章 編碼與實現(xiàn) 21 5.1 系統(tǒng)主要模塊代碼 .21 5.1.1 數(shù)據(jù)庫的連接 21 5.1.2 增刪改查方法 22 5.2 系統(tǒng)測試 .28 結(jié) 束 語 .32 參考文獻(xiàn) .33 1 第一章第一章 緒論緒論 1.11.1 論文背景及課題來源論文背景及課題來源 隨著網(wǎng)絡(luò)技術(shù)的發(fā)展和普及和經(jīng)濟(jì)的發(fā)展,公司的創(chuàng)建也隨之增加。按照一般的說 法,在一個企業(yè)準(zhǔn)備做一個項目之后,參與這個項目的不會只是技術(shù)部,它還會包括 市場部門、人事部門、財務(wù)部門等,從而在這些不同部門在一起運(yùn)作改項目時不可避 免地會產(chǎn)生一些小摩擦,須要進(jìn)行協(xié)調(diào),而這些肯定會為一些項目增加的不必要的成 本,影響改項目實施的效率。而項目管理的做法則不同。本身在不同部門的成員有可 能因為這個項目組成一個團(tuán)隊,一個項目團(tuán)隊的領(lǐng)導(dǎo)者就是項目經(jīng)理,他們所負(fù)責(zé)的 就是領(lǐng)導(dǎo)負(fù)責(zé)該項目的團(tuán)隊成員能夠在給予的時間內(nèi)很好的完成該項目所需要的全部 工作。而項目管理系統(tǒng)可以很好的幫助企業(yè)處理這種多部門參與的項目所遇到的一些 復(fù)雜的問題,可以實現(xiàn)項目高的實施效率1。 1.21.2 本課題在國內(nèi)外的發(fā)展?fàn)顩r本課題在國內(nèi)外的發(fā)展?fàn)顩r 隨著網(wǎng)絡(luò)技術(shù)的發(fā)展和普及,企業(yè)項目管理是運(yùn)用各種知識、技能、方法與工具, 為滿足或超越項目有關(guān)的各方對項目的要求與期望所開展的各種管理活動。項目管理 發(fā)展到現(xiàn)在,已深入到各行各業(yè),以不同的類型、規(guī)模出現(xiàn),在企業(yè)管理中扮演著舉 足輕重的角色。 而項目管理軟件就是適應(yīng)這個變化而產(chǎn)生的一種處理項目的方法,現(xiàn)在在項目管 理軟件中距今了解比較好用的一款是捷為科技 imis pm 項目管理軟件,它從一個項目 的立項,啟動,計劃,執(zhí)行,監(jiān)控,結(jié)束和總結(jié),可以讓人一目了然地了解整個項目 的一個進(jìn)行過程,可以說是國內(nèi)第一套做的比較全面的非工程項目管理軟件,并且它 也是一個集成性的管理平臺2。 1.3 應(yīng)解決的問題及系統(tǒng)開發(fā)意義應(yīng)解決的問題及系統(tǒng)開發(fā)意義 本系統(tǒng)基于功能的需要應(yīng)用到了 mvc(model-view-controller,模型-視圖-控制) 設(shè)計模式,以 myeclipse 為開發(fā)平臺,采用 jsp 設(shè)計模式(jsp+servlet+javabean)進(jìn) 2 行設(shè)計,實現(xiàn)了各模塊的功能。在其中遇到的問題: (1)服務(wù)器端和客戶端要實現(xiàn)界面化,并且界面盡量人性化。 (2)服務(wù)器端能夠正確的啟動,確保前臺 jsp 通過 servlet 實現(xiàn)與后臺的交互。 (3)用戶在界面上進(jìn)行操作時,確保數(shù)據(jù)庫隨之更新。 (4)異常處理,對于用戶的不正確的操作系統(tǒng)應(yīng)該有提示。 企業(yè)項目管理系統(tǒng)它的開發(fā)意義在于全面管理公司項目,加強(qiáng)跨部門之間的溝通協(xié) 作,有效配置和共享資源,減少計劃拖延和降低運(yùn)營成本,并提高其運(yùn)營效率,確保 項目的進(jìn)度。 企業(yè)項目管理系統(tǒng)的設(shè)計與實現(xiàn) 4 第二章第二章 開發(fā)工具及相關(guān)技術(shù)介紹開發(fā)工具及相關(guān)技術(shù)介紹 2.12.1 javajava 簡介簡介 java 是一種可以撰寫跨平臺應(yīng)用軟件的面向?qū)ο蟮某绦蛟O(shè)計語言,是由 sun microsystems 公司于 1995 年 5 月推出的 java 程序設(shè)計語言和 java 平臺(即 javase, javaee, javame)的總稱。java 是一種簡單的,面向?qū)ο蟮?,分布式的,解釋型的?健壯安全的,結(jié)構(gòu)中立的,可移植的,性能優(yōu)異、多線程的動態(tài)語言。在這個互聯(lián)網(wǎng) 的時代,基于 java 的特點(diǎn)更具備了優(yōu)勢和廣闊的前景。 java 語言一直是應(yīng)用最廣的開發(fā)語言,并擁有最廣泛的開發(fā)人群。如今,java 已 經(jīng)不再簡單地是一門語言,它更像一個完整的體系,一個系統(tǒng)的開發(fā)平臺。java 中所 涉及的知識 java 的面向?qū)ο筇卣?、java 集合框架體系、java 泛型、異常處理、java gui 編程、jdbc 數(shù)據(jù)庫編程、java 注釋、java 的 io 流體系、java 多線程編程、java 網(wǎng)絡(luò)通信編程和 java 反射機(jī)制3。 2.22.2 mvcmvc 介紹介紹 mvc 全名是 model view controller,是模型(model)視圖(view)控制器 (controller)的縮寫,一種軟件設(shè)計典范,在于組織代碼用一種業(yè)務(wù)邏輯和數(shù)據(jù)庫分離的 一種方法,這個方法的假設(shè)前提是如果這些業(yè)務(wù)邏輯被聚集到一個總體的部件里面, 而且用戶界面和用戶所需要提交的數(shù)據(jù)的交互能被改進(jìn)和個性化定制而不需要重新編 寫業(yè)務(wù)邏輯 mvc 被獨(dú)特的發(fā)展起來用于映射傳統(tǒng)的輸入、處理和輸出功能在一個邏輯 的圖形化用戶界面的結(jié)構(gòu)中4。 mvc 是一個框架模式,它將使應(yīng)用程序的請求、處理和處理結(jié)果分開。使用 mvc 設(shè)計模式被分成三個核心部件:模型、視圖、控制器。它們各自處理自己的任務(wù)。 最典型的 mvc 就是 jsp + servlet + javabean 的模式。模型代表應(yīng)用的業(yè)務(wù)邏輯;視圖 代表應(yīng)用的表示,用于用戶的交互;控制器是模型的與視圖之間的溝通的橋梁,提供 應(yīng)用的處理過程控制。模型、視圖、控制器各自的功能以及它們之間的關(guān)系如圖 1 所 示 5 圖 1 mvc 組件類型的關(guān)系和功能 2.3 b/s 模型介紹模型介紹 b/s 結(jié)構(gòu),即 browser/server(瀏覽器/服務(wù)器)結(jié)構(gòu),是隨著 internet 技術(shù)的興起, 對 c/s 結(jié)構(gòu)的一種變化或者改進(jìn)的結(jié)構(gòu)。在這種結(jié)構(gòu)下,用戶界面完全通過 www 瀏覽 器實現(xiàn),一部分事務(wù)邏輯在前端實現(xiàn),但是主要事務(wù)邏輯在服務(wù)器端實現(xiàn),形成所謂 3-tier 結(jié)構(gòu)。b/s 結(jié)構(gòu),主要是利用了不斷成熟的 www 瀏覽器技術(shù),結(jié)合瀏覽器的多 種 script 語言(vbscript、javascript)和 activex 技術(shù),用通用瀏覽器就實現(xiàn)了原 來需要復(fù)雜專用軟件才能實現(xiàn)的強(qiáng)大功能,并節(jié)約了開發(fā)成本,是一種全新的軟件系 統(tǒng)構(gòu)造技術(shù)。隨著 windows 98/windows 2000 將瀏覽器技術(shù)植入操作系統(tǒng)內(nèi)部,這種 結(jié)構(gòu)更成為當(dāng)今應(yīng)用軟件的首選體系結(jié)構(gòu)5。 b/s 結(jié)構(gòu)圖如 2 所示 用戶請求 通 知 改 變 方法的調(diào)用 事件 互聯(lián)網(wǎng) 客戶機(jī) 1 客戶機(jī) 2 客戶機(jī) 3 web 服務(wù)器 數(shù)據(jù)庫服務(wù)器 模型 封裝應(yīng)用程序狀態(tài) 響應(yīng)狀態(tài)查詢 應(yīng)用程序功能 通知視圖改變 視圖 解釋模型 模型更新請求 發(fā)送用戶輸入給控制器 控制器可以選擇視圖 控制器 定義應(yīng)用程序行為 用戶動作映射成模型更新 選擇響應(yīng)的視圖 狀態(tài)改變 視圖選擇 狀態(tài)查詢 企業(yè)項目管理系統(tǒng)的設(shè)計與實現(xiàn) 6 圖 2 b/s 結(jié)構(gòu)圖 b/s 結(jié)構(gòu)的優(yōu)點(diǎn): (1)具有分布性特點(diǎn),可以隨時隨地進(jìn)行查詢、瀏覽等業(yè)務(wù)處理。 (2)業(yè)務(wù)擴(kuò)展非常簡單快捷,可以通過增加一些網(wǎng)頁來增加所需要的服務(wù)器功能。 (3)它的維護(hù)易操作,實現(xiàn)用戶的同步更新,只需要修改網(wǎng)頁即可。 (4)操作簡單,共享性高。 b/s 模式的缺點(diǎn): (1)想要加自己想要的個性化的功能需求,無法實現(xiàn)。 (2)操作是以鼠標(biāo)為最基本的操作方式,操作起來不能過快。 (3)頁面進(jìn)行動態(tài)的刷新,響應(yīng)速度明顯降低。 (4)無法實現(xiàn)分頁顯示,給數(shù)據(jù)庫訪問造成較大的壓力。 (5)功能弱化,難以實現(xiàn)傳統(tǒng)模式下的特殊功能要求。 2.42.4 myeclipsemyeclipse 開發(fā)工具介紹開發(fā)工具介紹 myeclipse 是一個十分優(yōu)秀的用于開發(fā) java, j2ee 的 eclipse 插件,myeclipse 的功 能非常強(qiáng)大,支持也十分廣泛,尤其是對各種開源產(chǎn)品的支持十分不錯,大大減少了 開發(fā)人員的開發(fā)時間。 myeclipse 是一個十分優(yōu)秀的用于開發(fā) java, j2ee 的 eclipse 插件集合, myeclipse 的功能非常強(qiáng)大,支持也十分廣泛,尤其是對各種開源產(chǎn)品的支持十分不錯。 myeclipse 目前支持 java servlet,ajax, jsp, jsf, struts,spring, hibernate,ejb3,jdbc 數(shù) 據(jù)庫鏈接工具等多項功能??梢哉f myeclipse 幾乎囊括了目前所有主流開源產(chǎn)品的專 屬 eclipse 開發(fā)工具。根據(jù)官方最新消息,myeclipse 2013 已經(jīng)正式發(fā)布!myeclipse 20132支持 html5、jquery 和主流的 javascript 庫。 在結(jié)構(gòu)上,myeclipse 的特征可以被分為 7 類: (1)j2ee 模型 (2) web 開發(fā)工具 (3) ejb 開發(fā)工具 (4)應(yīng)用程序服務(wù)器的連接器 7 (5) j2ee 項目的部署 (6) 數(shù)據(jù)庫的服務(wù) (7)myeclipse 整合幫助 對于以上每一種功能上的類別,在 eclipse 中也有相應(yīng)的功能部件,可以通過相應(yīng) 的查件來完成。myeclipse 結(jié)構(gòu)上的這種模塊化,可以讓我們在不影響其他模塊的情況 下,對任所需要的模塊進(jìn)行單獨(dú)的擴(kuò)展和升級,使用 myeclipse 給開發(fā)者帶來了極大 的方便增加了項目開發(fā)的速度6。 2.52.5 tomcattomcat 簡介簡介 自從 jsp 發(fā)布之后,推出了各式各樣的 jsp 引擎。apache group 在完成 gnujsp1.0 的開發(fā)以后,開始考慮在 sun 的 jswdk 基礎(chǔ)上開發(fā)一個可以直接提供 web 服務(wù)的 jsp 服務(wù)器,當(dāng)然同時也支持 servlet, 這樣 tomcat 就誕生了。tomcat 是 jakarta 項目中的一個重要的子項目,其被 javaworld 雜志的編輯選為 2001 年度最具創(chuàng) 新的 java 產(chǎn)品,同時它又是 sun 公司官方推薦的 servlet 和 jsp 容器,因此其越來越多 的受到軟件公司和開發(fā)人員的喜愛。servlet 和 jsp 的最新規(guī)范都可以在 tomcat 的新版 本中得到實現(xiàn)。其次,tomcat 是完全免費(fèi)的軟件,任何人都可以從互聯(lián)網(wǎng)上自由地下 載。tomcat 與 apache 的組合相當(dāng)完美7。 tomcat 工作原理: tomcat 的工作模式 3 種:獨(dú)立 servlet,進(jìn)程內(nèi) servlet,進(jìn)程外 servlet。 servlet 是一種運(yùn)行在支持 java 語言的服務(wù)器上的組件,servlet 與普通 java 類的區(qū) 別就在于它運(yùn)行在服務(wù)器上。由于 java 的特點(diǎn)與平臺無關(guān),再加上 servlet 運(yùn)行在服務(wù) 器端,因此 servlet 對于用戶是完全透明的。 servlet 容器的作用是負(fù)責(zé)處理客戶發(fā)送的請求。當(dāng)客戶發(fā)送一個請求時,servlet 容器獲取用戶的請求,然后調(diào)用相應(yīng)的一個 servlet,開始執(zhí)行 servlet 中方法,并獲得 相應(yīng)的執(zhí)行結(jié)果返回給客戶。 tomcat 就是起這樣作用的容器。當(dāng)客戶端發(fā)送一個請求來調(diào)用一個資源時, servlet 容器會用對象 servletrequest 把客戶端發(fā)送的請求進(jìn)行封裝,然后根據(jù) java servlet api 文檔中定義的一些 servlet 方法,完成 servlet 的執(zhí)行之后把執(zhí)行的結(jié)果 封裝到 servletresponse 對象中,最后 servlet 容器把客戶的請求發(fā)給客戶,完成為客戶 企業(yè)項目管理系統(tǒng)的設(shè)計與實現(xiàn) 8 的一次服務(wù)過程8。 tomcat servlet 容器的作用過程如下圖 3 所示 圖 3 tomcat 作用圖 2.62.6 mysqlmysql 簡介簡介 mysql 是一個開放源碼的小型關(guān)聯(lián)式數(shù)據(jù)庫管理系統(tǒng),開發(fā)者為瑞典 mysql ab 公司,目前屬于 oracle 公司。關(guān)聯(lián)數(shù)據(jù)庫管理系統(tǒng)將數(shù)據(jù)保存在不同的表中,而不是 將所有數(shù)據(jù)放在一個大倉庫內(nèi),這樣就增加了速度并提高了靈活性,myeclipse 的 sql 語言是用于訪問數(shù)據(jù)庫的最常用的標(biāo)準(zhǔn)化語言。目前 mysql 被廣泛地應(yīng)用在 internet 上的中小型網(wǎng)站中。由于其體積小、速度快、總體擁有成本低,尤其是開放源碼這一 特點(diǎn),許多中小型網(wǎng)站為了降低網(wǎng)站總體擁有成本而選擇了 mysql 作為網(wǎng)站數(shù)據(jù)庫。 在 mysql 數(shù)據(jù)庫中,用于保存數(shù)據(jù)記錄的結(jié)構(gòu)被稱為數(shù)據(jù)表。而每一條數(shù)據(jù)記錄 則是由更小的數(shù)據(jù)對象,即數(shù)據(jù)類型組成。因此,總體來說,一個或多個數(shù)據(jù)類型組 成一條數(shù)據(jù)記錄,一條或多條數(shù)據(jù)記錄組成一個數(shù)據(jù)表,一個或多個數(shù)據(jù)表組成一個 數(shù)據(jù)庫9。 客戶端 servlet 容器 servlet1 servlet2 request response 9 第三章第三章 系統(tǒng)需求分析系統(tǒng)需求分析 3.13.1 系統(tǒng)任務(wù)描述系統(tǒng)任務(wù)描述 本系統(tǒng)是采用 java 基于 b/s 開發(fā)的企業(yè)項目管理系統(tǒng)的功能模塊的設(shè)計和開發(fā)。 這些模塊實現(xiàn)任務(wù)管理、項目管理、人員管理、客戶管理、個人信息管理。 該系統(tǒng)主要是為了讓企業(yè)的管理人員能夠更方便、快捷的掌握公司各個項目的基本 情況;讓項目經(jīng)理可以方便快捷的管理項目;比較好的實現(xiàn)信息同步、實時展示;做 到項目信息透明化10。 3.23.2 系統(tǒng)功能分析系統(tǒng)功能分析 .1 系統(tǒng)的功能需求系統(tǒng)的功能需求 企業(yè)項目管理系統(tǒng)需要完成以下一些基本功能: 登錄該系統(tǒng); 任務(wù)管理模塊; 項目管理模塊; 人員管理模塊; 客戶管理模塊; 個人信息模塊; 退出系統(tǒng)。 本系統(tǒng)具體功能需求如下: (1)由項目管理系統(tǒng)登錄界面登錄到管理界面,即系統(tǒng)的服務(wù)器端。用戶經(jīng)登錄 界面都系統(tǒng)主頁面。 (2)不論是管理員還是用戶都需要在登錄界面輸入正確的用戶名和密碼后才可以 登錄到各自的界面中去。 (3)從主界面點(diǎn)擊任務(wù)管理進(jìn)入相應(yīng)的操作界面,對收到的任務(wù)進(jìn)行增加,并可 以對該任務(wù)修改和查詢,對已過期的任務(wù)進(jìn)行刪除。 企業(yè)項目管理系統(tǒng)的設(shè)計與實現(xiàn) 10 (4)從主界面點(diǎn)擊項目管理進(jìn)入相應(yīng)的操作界面,對要做的項目進(jìn)行統(tǒng)一的增刪 改查管理,及時更新項目的進(jìn)度。 (5)從主界面點(diǎn)擊客戶管理進(jìn)入相應(yīng)的操作界面,對公司客戶進(jìn)行記錄和修改, 明確客戶的信息。 (6)從主界面點(diǎn)擊人員管理進(jìn)入相應(yīng)的操作界面,對公司內(nèi)部人員管理,以及工 資的發(fā)給情況。 (7)從主界面點(diǎn)擊個人信息管理進(jìn)入相應(yīng)的操作界面,對個人信息進(jìn)行修改。 3.2.2 系統(tǒng)數(shù)據(jù)流圖系統(tǒng)數(shù)據(jù)流圖 管理員進(jìn)入登陸界面如圖 4 所示 圖 4 登錄頁面流程圖 3.2.3 系統(tǒng)數(shù)據(jù)分析系統(tǒng)數(shù)據(jù)分析 在仔細(xì)調(diào)查企業(yè)項目管理過程的基礎(chǔ)上,總結(jié)出該系統(tǒng)需要滿足以下主要系統(tǒng)數(shù) 據(jù)的需求: 登錄界面 用戶名, 密碼核對 系統(tǒng)管理 界面 任務(wù)管理 人員管理 客戶管理 輸入 密碼 密碼正 確 密碼錯誤 項目管理 個人信息管理 11 圖 5 用戶實體圖 圖 6 任務(wù)管理實體圖 圖 7 項目管理實體圖 真實姓名 電話 信息說明 用戶信息 用戶密碼 用戶名 性別 工資 部門 年齡 用戶信息 發(fā)送者 優(yōu)先級 任務(wù)標(biāo)題 工期 結(jié)束時間 執(zhí)行性 開始時間 項目管理 項目名稱客戶名稱 項目經(jīng)理 完成狀態(tài) 工期 工期 工期工期 企業(yè)項目管理系統(tǒng)的設(shè)計與實現(xiàn) 12 圖 8 客戶信息管理實體圖 圖 9 員工信息管理實體圖 圖 10 員工工資管理實體圖 項目管理 添加時間 公司背景 聯(lián)系人 公司名稱 聯(lián)系電話 地址 員工信息 身份證 員工類型 職位 年齡 員工編號 姓名 電話 性別出生日期 員工信息 扣除工資總工資 狀態(tài) 員工姓名 年份月份 實發(fā)工資 發(fā)款人 13 3.3 系統(tǒng)可行性分析系統(tǒng)可行性分析 從技術(shù)發(fā)面來看,java 語言的優(yōu)點(diǎn)主要表現(xiàn)在:簡單、面向?qū)ο蟆⒍嗑€程、安全 性等方面。 (1)java 的簡單性:和 c+相比,語法簡單了,取消了指針的語法;內(nèi)存分配和 回收不需要我們來過渡關(guān)注,c+可以多繼承,但 java 只能是單繼承,相對于類來說。 (注:接口可以多繼承) (2)java 面向?qū)ο螅簀ava 算是純面向?qū)ο螅?jquery 是更純的面向?qū)ο蟆?在 java編程思想這本書說過, “everything is object!” 這樣便于人類的構(gòu)思和設(shè)計,更符合 人們的思考問題方式 (3)分布式:主要還是用在 ejb 上 (4)安全性:java 的語法限定了源程序的安全性,首先編譯器會進(jìn)行源代碼的第 一步檢查 (5)跨平臺:java 能夠跨越不同的操作系統(tǒng)平臺,平臺無關(guān)性 怎么跨平臺呢? 主要是在不同的操作系統(tǒng)中,jvm 規(guī)范都是一樣的,被 jvm 加載成各個操作系統(tǒng)所支 持的,屏蔽了底層操作系統(tǒng)的差異 (6) 、高性能:開閉原則-對擴(kuò)展開放,對修改關(guān) 閉 java 是即時編譯的 (7) 、多線程: java 開發(fā)的流 mvc 的優(yōu)點(diǎn) 耦合性低: 視圖層和業(yè)務(wù)層分離,這樣就允許更改視圖層代碼而不用重新編譯模型和控制器 代碼,同樣,應(yīng)用于模型的代碼只需寫一次就可以被多個視圖重用,從而可以減少代 碼的重復(fù)性。因為模型與控制器和視圖相分離,所以很容易改變應(yīng)用程序的數(shù)據(jù)層和 業(yè)務(wù)規(guī)則。 生命周期成本低: mvc 使開發(fā)和維護(hù)用戶接口的技術(shù)含量降低。 部署快: 使用 mvc 模式使開發(fā)時間得到相當(dāng)大的縮減,它使程序員(java 開發(fā)人員)集 中精力于業(yè)務(wù)邏輯,界面程序員(html 和 jsp 開發(fā)人員)集中精力于表現(xiàn)形式上。 可維護(hù)性高: 分離視圖層和業(yè)務(wù)邏輯層也使得 web 應(yīng)用更易于維護(hù)和修改。 有利軟件工程化管理: 企業(yè)項目管理系統(tǒng)的設(shè)計與實現(xiàn) 14 由于不同的層各司其職,每一層不同的應(yīng)用具有某些相同的特征,有利于通過工 程化、工具化管理程序代碼??刂破饕蔡峁┝艘粋€好處,就是可以使用控制器來聯(lián)接 不同的模型和視圖去完成用戶的需求,這樣控制器可以為構(gòu)造應(yīng)用程序提供強(qiáng)有力的 手段。給定一些可重用的模型和視圖,控制器可以根據(jù)用戶的需求選擇模型進(jìn)行處理, 然后選擇視圖將處理結(jié)果顯示給用戶。 15 第四章第四章 系統(tǒng)設(shè)計系統(tǒng)設(shè)計 系統(tǒng)設(shè)計是本系統(tǒng)開發(fā)的重要階段,它直接影響到目標(biāo)系統(tǒng)的質(zhì)量,是整個開發(fā) 工作的核心。系統(tǒng)設(shè)計工作應(yīng)該自頂向下地進(jìn)行。首先設(shè)計總體結(jié)構(gòu),然后再逐層深 入,直至進(jìn)行每一個模塊的設(shè)計。總體設(shè)計主要是指在系統(tǒng)分析的基礎(chǔ)上,對整個系 統(tǒng)的劃分(子系統(tǒng)) 、機(jī)器設(shè)備(包括軟、硬設(shè)備)的配置、數(shù)據(jù)的存貯規(guī)律以及整個 系統(tǒng)實現(xiàn)規(guī)劃等方面進(jìn)行合理的安排。 系統(tǒng)設(shè)計遵循的原則是:系統(tǒng)性、適應(yīng)性、穩(wěn)健性、經(jīng)濟(jì)性。 4.1 系統(tǒng)總體結(jié)構(gòu)設(shè)計系統(tǒng)總體結(jié)構(gòu)設(shè)計 本系統(tǒng)是用 java 語言基于 b/s 開發(fā)設(shè)計的,其核心的 mvc 技術(shù)決定了該系統(tǒng)的安 全性和穩(wěn)定性,從而保證了本系統(tǒng)有較強(qiáng)的使用性。登錄到系統(tǒng)管理界面后,可以對 相應(yīng)的任務(wù)、項目、公司人員、客戶以及個人信息的管理,實現(xiàn)了項目全面管理公司 業(yè)務(wù),加強(qiáng)跨部門溝通協(xié)作,有效配置和共享資源,減少計劃拖延和降低運(yùn)營成本。 系統(tǒng)功能模塊圖如圖 11 所示 企業(yè)項目管理系統(tǒng)的設(shè)計與實現(xiàn) 16 圖 11 系統(tǒng)總體結(jié)構(gòu)示意圖 4.2 數(shù)據(jù)庫設(shè)計數(shù)據(jù)庫設(shè)計 本次數(shù)據(jù)庫開發(fā)工具為 navicat for mysql,具體設(shè)計的表單如下: 表 1 用戶信息表 字段名類型大小允許空備注 user_idint10否用戶 id usernamevarchar20否用戶名 userpasswordvarchar20否用戶密碼 user_namevarchar20是真實姓名 user_sexvarchar20是性別 user_agevarchar20是年齡 user_phonevarchar20是電話 登錄失敗 企業(yè)項目管理系統(tǒng) 登錄界面 系統(tǒng)主界面 登錄成功 項目管理模塊客戶管理模塊人員管理模塊個人信息模塊任務(wù)管理模塊 任 務(wù) 信 息 查 看 創(chuàng) 建 任 務(wù) 項 目 基 本 信 息 項 目 計 劃 信 息 項 目 需 求 信 息 項 目 模 塊 信 息 客 戶 信 息 查 看 人 員 信 息 查 看 員 工 工 資 查 看 個 人 信 息 查 看 用 戶 密 碼 修 改 17 user_commvarchar20是工資 user_deptvarchar20是部門 user_informationvarchar20是個人信息說明 表 2 任務(wù)信息表 字段名類型大小允許空備注 renwu_idint10否任務(wù) id renwu_namevarchar20是任務(wù)名稱 renwu_timelimitvarchar20是任務(wù)工期 renwu_begintimevarchar20是開始時間 renwu_endtimevarchar20是結(jié)束時間 renwu_executorvarchar20是執(zhí)行人 renwu_sendervarchar20是任務(wù)發(fā)送者 renwu_priorityvarchar20是優(yōu)先級 表 3 項目信息表 字段名類型大小允許空備注 pj_idint10否項目 id pj_namevarchar20是項目名稱 customer_namevarchar20是客戶名 pj_managervarchar20是項目經(jīng)理 pj_developmentvarchar20是開發(fā)人數(shù) pj_begintimevarchar20是開始時間 pj_endtimevarchar20是結(jié)束時間 pj_priorityvarchar20是優(yōu)先級 pj_statevarchar20是狀態(tài) 表 4 客戶信息表 字段名類型大小允許空備注 customer_idint10否客戶 id customer_namevarchar20是客戶名稱 customer_peoplevarchar20是聯(lián)系人 企業(yè)項目管理系統(tǒng)的設(shè)計與實現(xiàn) 18 customer_phonevarchar20是聯(lián)系電話 customer_addressvarchar20是聯(lián)系地址 customer_backgroundvarchar20是公司背景 customer_addtimevarchar20是添加時間 表 5 人員信息表 字段名類型大小允許空備注 emp_idint10否員工 id employees_idvarchar20是員工編號 employees_namevarchar20是員工姓名 employees_positionvarchar20是員工職位 employees_typevarchar20是員工類型 employees_cardvarchar20是員工身份證 employees_sexvarchar20是性別 employees_agevarchar20是年齡 employees_birthdayvarchar20是生日 employees_phonevarchar20是電話 表 6 人員工資表 字段名類型大小允許空備注 salary_idint10否工資 id employees_namevarchar20是員工姓名 salary_namevarchar20是發(fā)款人 salary_allvarchar20是總工資 salary_delvarchar20是扣除工資 salary_realvarchar20是實發(fā)工資 salary_yearvarchar20是年份 salary_monthvarchar20是月份 salary_statevarchar20是狀態(tài) 表 7 項目計劃表 19 字段名類型大小允許空備注 jhua_idint10否計劃 id jihua_namevarchar20是計劃名稱 pj_namevarchar20是項目名稱 jihua_executorvarchar20是執(zhí)行人 jihua_headvarchar20是計劃負(fù)責(zé)人 jihua_timevarchar20是工期 jihua_priorityvarchar20是優(yōu)先級 jihua_statevarchar20是狀態(tài) jihua_limitvarchar20是超期 表 8 項目需求表 字段名類型大小允許空備注 xq_idint10否需求 id xq_themevarchar20是需求主題 xq_startvarchar20是創(chuàng)建時間 xq_updatevarchar20是更新時間 表 9 項目模塊表 字段名類型大小允許空備注 m_idint10否模塊 id m_namevarchar20是模塊名稱 m_startvarchar20是創(chuàng)建時間 m_projectvarchar20是所屬項目 m_xuqiuvarchar20是所屬需求 m_priorityvarchar20是優(yōu)先級 企業(yè)項目管理系統(tǒng)的設(shè)計與實現(xiàn) 20 4.3 系統(tǒng)功能模塊詳細(xì)設(shè)計系統(tǒng)功能模塊詳細(xì)設(shè)計 用戶登錄模塊流程圖如圖 12 所示: 開始 輸入用戶名與密碼 查詢數(shù)據(jù)庫 是否有這條 記錄? 進(jìn)入系統(tǒng)管理界面 提示用戶名 或密碼錯誤 結(jié)束 圖 12 登錄模塊流程圖 21 第五章第五章 編碼與實現(xiàn)編碼與實現(xiàn) 5.1 系統(tǒng)主要模塊代碼系統(tǒng)主要模塊代碼 5.1.1 數(shù)據(jù)庫的連接數(shù)據(jù)庫的連接 package com.xiaobo.unti; import java.sql.connection; import java.sql.drivermanager; public class dbconnection private connection conn = null; public connection getconnection() try class.forname(“com.mysql.jdbc.driver“);/加載數(shù)據(jù)庫驅(qū)動 conn = drivermanager.getconnection( “jdbc:mysql:/localhost:3306/xiangmuguanli“, “root“, “1234“);/連 接數(shù)據(jù)庫 catch (exception e) return conn; public static void main(string args) dbconnection db = new dbconnection(); connection co = db.getconnection(); system.out.println( co ); 企業(yè)項目管理系統(tǒng)的設(shè)計與實現(xiàn) 22 5.1.2 增刪改查方法增刪改查方法 package com.xiaobo.daoimpl; import java.sql.connection; import java.sql.preparedstatement; import java.sql.resultset; import java.sql.sqlexception; import java.util.arraylist; import java.util.list; import com.xiaobo.dao.projectdao; import com.xiaobo.enty.project; import com.xiaobo.enty.renwu; import com.xiaobo.unti.dbconnection; public class projectimpl implements projectdao private dbconnection db = new dbconnection(); private connection conn; private preparedstatement ps; private resultset rs; private project project = null; public project addproject(project project) conn = db.getconnection(); string sql = “insert into b_project(pj_name,customer_name,pj_manager,pj_development,pj_begintime,pj_endtime,p j_priority,pj_state)values (?,?,?,?,?,?,?,?)“; try ps = conn.preparestatement(sql); ps.setstring(1, project.getpj_name(); ps.setstring(2, project.getcustomer_name(); ps.setstring(3, project.getpj_manager(); ps.setstring(4, project.getpj_development(); ps.setstring(5, project.getpj_begintime(); 23 ps.setstring(6, project.getpj_endtime(); ps.setstring(7, project.getpj_priority(); ps.setstring(8, project.getpj_state(); ps.execute(); system.out.println(“插入成功“); catch (sqlexception e) e.printstacktrace(); finally this.close(); return project; public boolean delprojectbyid(int id) boolean flag = false; conn = db.getconnection(); string sql = “delete from b_project where pj_id =“+id+“; try ps = conn.preparestatement(sql); int ros = ps.executeupdate(); if (ros != 0) flag = true; system.out.println(“刪除成功“); catch (sqlexception e) e.printstacktrace(); finally this.close(); return flag; public arraylist findall() 企業(yè)項目管理系統(tǒng)的設(shè)計與實現(xiàn) 24 conn = db.getconnection(); arraylist list = new arraylist(); string sql = “select * from b_project“; try ps = conn.preparestatement(sql); rs = ps.executequery(); while (rs.next() project = new project(); project.setpj_id(rs.getint(“pj_id“); project.setpj_name(rs.getstring(“pj_name“); project.setcustomer_name(rs.getstring(“customer_name“); project.setpj_manager(rs.getstring(“pj_manager“); project.setpj_development(rs.getstring(“pj_development“); project.setpj_begintime(rs.getstring(“pj_begintime“); project.setpj_endtime(rs.getstring(“pj_endtime“); project.setpj_priority(rs.getstring(“pj_priority“); project.setpj_state(rs.getstring(“pj_state“); list.add(project); catch (sqlexception e) e.printstacktrace(); finally this.close(); return list; public list findbyid(int id) conn = db.getconnection(); arraylist list = new arraylist(); string sql = “select * from b_project where pj_id =“ + id + “; try 25 ps = conn.preparestatement(sql); rs = ps.executequery(); while (rs.next() project = new project(); project.setpj_id(rs.getint(“pj_id“); project.setpj_name(rs.getstring(“pj_name“); project.setcustomer_name(rs.getstring(“customer_name“); project.setpj_manager(rs.getstring(“pj_manager“); project.setpj_development(rs.getstring(“pj_development“); project.setpj_begintime(rs.getstring(“pj_begintime“); project.setpj_endtime(rs.getstring(“pj_endtime“); project.setpj_priority(rs.getstring(“pj_priority“); project.setpj_state(rs.getstring(“pj_state“); list.add(project); catch (sqlexception e) e.printstacktrace(); finally this.close(); return list; public list findbyproject_name(string projectname) conn = db.getconnection(); list list = new arraylist(); string sql = “select * from b_project where pj_name =“+projectname+“; system.out.println(sql); try ps = conn.preparestatement(sql); rs = ps.executequery(); 企業(yè)項目管理系統(tǒng)的設(shè)計與實現(xiàn) 26 while (rs.next() project = new project(); project.setpj_id(rs.getint(“pj_id“); project.setpj_name(rs.getstring(“pj_name“); project.setcustomer_name(rs.getstring(“customer_name“); project.setpj_manager(rs.getstring(“pj_manager“); project.setpj_development(rs.getstring(“pj_development“); project.setpj_begintime(rs.getstring(“pj_begintime“); project.setpj_endtime(rs.getstring(“pj_endtime“); project.setpj_priority(rs.getstring(“pj_priority“); project.setpj_state(rs.getstring(“pj_state“); list.add(project); system.out.println(“查詢成功“); catch (sqlexception e) e.printstacktrace(); finally this.close(); return list; public boolean updateproject(project project) boolean flag = false; conn = db.getconnection(); string sql = “update b_project set pj_name =“ + project.getpj_name() + “,customer_name=“ + project.getcustomer_name() + “,pj_manager=“

溫馨提示

  • 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論