




已閱讀5頁,還剩35頁未讀, 繼續(xù)免費閱讀
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
本科畢業(yè)論文(設計) 題 目 企業(yè)項目管理系統(tǒng)的設計與實現 院(系) 計算機與信息工程學院 專 業(yè) 計算機科學與技術 本科畢業(yè)論文(設計)誠信承諾書 本人鄭重聲明:所呈交的本科畢業(yè)論文(設計),是本人在導師的指導下, 獨立進行研究工作所取得的成果。除文中已經注明引用的內容外,本論文不 含任何其他個人或集體已經發(fā)表或撰寫過的作品成果。對本文的研究做出 重要貢獻的個人和集體,均已在文中以明確方式標明。本人完全意識到本聲 明的法律結果由本人承擔。 本人簽名: 日期: 本科畢業(yè)論文 (設計)使用授權說明 本人完全了解巢湖學院有關收集、保留和使用畢業(yè)論文 (設計)的規(guī) 定,即:本科生在校期間進行畢業(yè)論文(設計)工作的知識產權單位屬巢湖 學院。學校根據需要,有權保留并向國家有關部門或機構送交論文的復 印件和電子版,允許畢業(yè)論文 (設計)被查閱和借閱;學??梢詫厴I(yè)論 文(設計)的全部或部分內容編入有關數據庫進行檢索,可以采用影印、 縮印或掃描等復制手段保存、匯編畢業(yè),并且本人電子文檔和紙質論文 的內容相一致。 保密的畢業(yè)論文(設計)在解密后遵守此規(guī)定。 本人簽名: 日期: 導師簽名: 日期: 摘 要 企業(yè)項目管理系統(tǒng)在相關企業(yè)進行生產的管理中有著廣泛的應用,它 有利于提高企業(yè)對軟件項目開發(fā)過程中的信息管理。 該系統(tǒng)所要實現的功能包括任務管理功能、項目管理功能、客戶管理 功能功能、人員管理功能和用戶管理功能。本系統(tǒng)在設計方面采用 b/s 模 式,通過 myeclipse 開發(fā)平臺實現 mvc 模式,創(chuàng)建用戶界面 jsp 可視化視 圖,用戶在界面上輸入數據會通過 action 提交到 servlet,在 servlet 中調 用數據層(javabean) ,完成前臺與后臺的交互。從而用戶可以通過登錄, 進入該系統(tǒng)的主界面并對項目各個功能模塊進行相關的增刪改查操作。 通過企業(yè)項目管理,可全面管理公司業(yè)務,加強跨部門溝通協(xié)作,有 效配置和共享資源,減少計劃拖延和降低運營成本,提高企業(yè)管理效率。 關鍵詞關鍵詞:項目管理;java;model view controller;mysql 數據庫 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 本課題在國內外的發(fā)展狀況.1 1.3 應解決的問題及系統(tǒng)開發(fā)意義.1 第二章 開發(fā)工具及相關技術介紹 .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)任務描述 9 3.2 系統(tǒng)功能分析 9 3.2.1 系統(tǒng)的功能需求.9 3.2.2 系統(tǒng)數據流圖. .10 3.2.3 系統(tǒng)數據分析 10 3.3 系統(tǒng)可行性分析 .13 第四章 系統(tǒng)設計 .15 4.1 系統(tǒng)總體結構設計 .15 4.2 數據庫設計 .16 4.3 系統(tǒng)功能模塊詳細設計 .20 第五章 編碼與實現 21 5.1 系統(tǒng)主要模塊代碼 .21 5.1.1 數據庫的連接 21 5.1.2 增刪改查方法 22 5.2 系統(tǒng)測試 .28 結 束 語 .32 參考文獻 .33 1 第一章第一章 緒論緒論 1.11.1 論文背景及課題來源論文背景及課題來源 隨著網絡技術的發(fā)展和普及和經濟的發(fā)展,公司的創(chuàng)建也隨之增加。按照一般的說 法,在一個企業(yè)準備做一個項目之后,參與這個項目的不會只是技術部,它還會包括 市場部門、人事部門、財務部門等,從而在這些不同部門在一起運作改項目時不可避 免地會產生一些小摩擦,須要進行協(xié)調,而這些肯定會為一些項目增加的不必要的成 本,影響改項目實施的效率。而項目管理的做法則不同。本身在不同部門的成員有可 能因為這個項目組成一個團隊,一個項目團隊的領導者就是項目經理,他們所負責的 就是領導負責該項目的團隊成員能夠在給予的時間內很好的完成該項目所需要的全部 工作。而項目管理系統(tǒng)可以很好的幫助企業(yè)處理這種多部門參與的項目所遇到的一些 復雜的問題,可以實現項目高的實施效率1。 1.21.2 本課題在國內外的發(fā)展狀況本課題在國內外的發(fā)展狀況 隨著網絡技術的發(fā)展和普及,企業(yè)項目管理是運用各種知識、技能、方法與工具, 為滿足或超越項目有關的各方對項目的要求與期望所開展的各種管理活動。項目管理 發(fā)展到現在,已深入到各行各業(yè),以不同的類型、規(guī)模出現,在企業(yè)管理中扮演著舉 足輕重的角色。 而項目管理軟件就是適應這個變化而產生的一種處理項目的方法,現在在項目管 理軟件中距今了解比較好用的一款是捷為科技 imis pm 項目管理軟件,它從一個項目 的立項,啟動,計劃,執(zhí)行,監(jiān)控,結束和總結,可以讓人一目了然地了解整個項目 的一個進行過程,可以說是國內第一套做的比較全面的非工程項目管理軟件,并且它 也是一個集成性的管理平臺2。 1.3 應解決的問題及系統(tǒng)開發(fā)意義應解決的問題及系統(tǒng)開發(fā)意義 本系統(tǒng)基于功能的需要應用到了 mvc(model-view-controller,模型-視圖-控制) 設計模式,以 myeclipse 為開發(fā)平臺,采用 jsp 設計模式(jsp+servlet+javabean)進 2 行設計,實現了各模塊的功能。在其中遇到的問題: (1)服務器端和客戶端要實現界面化,并且界面盡量人性化。 (2)服務器端能夠正確的啟動,確保前臺 jsp 通過 servlet 實現與后臺的交互。 (3)用戶在界面上進行操作時,確保數據庫隨之更新。 (4)異常處理,對于用戶的不正確的操作系統(tǒng)應該有提示。 企業(yè)項目管理系統(tǒng)它的開發(fā)意義在于全面管理公司項目,加強跨部門之間的溝通協(xié) 作,有效配置和共享資源,減少計劃拖延和降低運營成本,并提高其運營效率,確保 項目的進度。 企業(yè)項目管理系統(tǒng)的設計與實現 4 第二章第二章 開發(fā)工具及相關技術介紹開發(fā)工具及相關技術介紹 2.12.1 javajava 簡介簡介 java 是一種可以撰寫跨平臺應用軟件的面向對象的程序設計語言,是由 sun microsystems 公司于 1995 年 5 月推出的 java 程序設計語言和 java 平臺(即 javase, javaee, javame)的總稱。java 是一種簡單的,面向對象的,分布式的,解釋型的, 健壯安全的,結構中立的,可移植的,性能優(yōu)異、多線程的動態(tài)語言。在這個互聯(lián)網 的時代,基于 java 的特點更具備了優(yōu)勢和廣闊的前景。 java 語言一直是應用最廣的開發(fā)語言,并擁有最廣泛的開發(fā)人群。如今,java 已 經不再簡單地是一門語言,它更像一個完整的體系,一個系統(tǒng)的開發(fā)平臺。java 中所 涉及的知識 java 的面向對象特征、java 集合框架體系、java 泛型、異常處理、java gui 編程、jdbc 數據庫編程、java 注釋、java 的 io 流體系、java 多線程編程、java 網絡通信編程和 java 反射機制3。 2.22.2 mvcmvc 介紹介紹 mvc 全名是 model view controller,是模型(model)視圖(view)控制器 (controller)的縮寫,一種軟件設計典范,在于組織代碼用一種業(yè)務邏輯和數據庫分離的 一種方法,這個方法的假設前提是如果這些業(yè)務邏輯被聚集到一個總體的部件里面, 而且用戶界面和用戶所需要提交的數據的交互能被改進和個性化定制而不需要重新編 寫業(yè)務邏輯 mvc 被獨特的發(fā)展起來用于映射傳統(tǒng)的輸入、處理和輸出功能在一個邏輯 的圖形化用戶界面的結構中4。 mvc 是一個框架模式,它將使應用程序的請求、處理和處理結果分開。使用 mvc 設計模式被分成三個核心部件:模型、視圖、控制器。它們各自處理自己的任務。 最典型的 mvc 就是 jsp + servlet + javabean 的模式。模型代表應用的業(yè)務邏輯;視圖 代表應用的表示,用于用戶的交互;控制器是模型的與視圖之間的溝通的橋梁,提供 應用的處理過程控制。模型、視圖、控制器各自的功能以及它們之間的關系如圖 1 所 示 5 圖 1 mvc 組件類型的關系和功能 2.3 b/s 模型介紹模型介紹 b/s 結構,即 browser/server(瀏覽器/服務器)結構,是隨著 internet 技術的興起, 對 c/s 結構的一種變化或者改進的結構。在這種結構下,用戶界面完全通過 www 瀏覽 器實現,一部分事務邏輯在前端實現,但是主要事務邏輯在服務器端實現,形成所謂 3-tier 結構。b/s 結構,主要是利用了不斷成熟的 www 瀏覽器技術,結合瀏覽器的多 種 script 語言(vbscript、javascript)和 activex 技術,用通用瀏覽器就實現了原 來需要復雜專用軟件才能實現的強大功能,并節(jié)約了開發(fā)成本,是一種全新的軟件系 統(tǒng)構造技術。隨著 windows 98/windows 2000 將瀏覽器技術植入操作系統(tǒng)內部,這種 結構更成為當今應用軟件的首選體系結構5。 b/s 結構圖如 2 所示 用戶請求 通 知 改 變 方法的調用 事件 互聯(lián)網 客戶機 1 客戶機 2 客戶機 3 web 服務器 數據庫服務器 模型 封裝應用程序狀態(tài) 響應狀態(tài)查詢 應用程序功能 通知視圖改變 視圖 解釋模型 模型更新請求 發(fā)送用戶輸入給控制器 控制器可以選擇視圖 控制器 定義應用程序行為 用戶動作映射成模型更新 選擇響應的視圖 狀態(tài)改變 視圖選擇 狀態(tài)查詢 企業(yè)項目管理系統(tǒng)的設計與實現 6 圖 2 b/s 結構圖 b/s 結構的優(yōu)點: (1)具有分布性特點,可以隨時隨地進行查詢、瀏覽等業(yè)務處理。 (2)業(yè)務擴展非常簡單快捷,可以通過增加一些網頁來增加所需要的服務器功能。 (3)它的維護易操作,實現用戶的同步更新,只需要修改網頁即可。 (4)操作簡單,共享性高。 b/s 模式的缺點: (1)想要加自己想要的個性化的功能需求,無法實現。 (2)操作是以鼠標為最基本的操作方式,操作起來不能過快。 (3)頁面進行動態(tài)的刷新,響應速度明顯降低。 (4)無法實現分頁顯示,給數據庫訪問造成較大的壓力。 (5)功能弱化,難以實現傳統(tǒng)模式下的特殊功能要求。 2.42.4 myeclipsemyeclipse 開發(fā)工具介紹開發(fā)工具介紹 myeclipse 是一個十分優(yōu)秀的用于開發(fā) java, j2ee 的 eclipse 插件,myeclipse 的功 能非常強大,支持也十分廣泛,尤其是對各種開源產品的支持十分不錯,大大減少了 開發(fā)人員的開發(fā)時間。 myeclipse 是一個十分優(yōu)秀的用于開發(fā) java, j2ee 的 eclipse 插件集合, myeclipse 的功能非常強大,支持也十分廣泛,尤其是對各種開源產品的支持十分不錯。 myeclipse 目前支持 java servlet,ajax, jsp, jsf, struts,spring, hibernate,ejb3,jdbc 數 據庫鏈接工具等多項功能??梢哉f myeclipse 幾乎囊括了目前所有主流開源產品的專 屬 eclipse 開發(fā)工具。根據官方最新消息,myeclipse 2013 已經正式發(fā)布!myeclipse 20132支持 html5、jquery 和主流的 javascript 庫。 在結構上,myeclipse 的特征可以被分為 7 類: (1)j2ee 模型 (2) web 開發(fā)工具 (3) ejb 開發(fā)工具 (4)應用程序服務器的連接器 7 (5) j2ee 項目的部署 (6) 數據庫的服務 (7)myeclipse 整合幫助 對于以上每一種功能上的類別,在 eclipse 中也有相應的功能部件,可以通過相應 的查件來完成。myeclipse 結構上的這種模塊化,可以讓我們在不影響其他模塊的情況 下,對任所需要的模塊進行單獨的擴展和升級,使用 myeclipse 給開發(fā)者帶來了極大 的方便增加了項目開發(fā)的速度6。 2.52.5 tomcattomcat 簡介簡介 自從 jsp 發(fā)布之后,推出了各式各樣的 jsp 引擎。apache group 在完成 gnujsp1.0 的開發(fā)以后,開始考慮在 sun 的 jswdk 基礎上開發(fā)一個可以直接提供 web 服務的 jsp 服務器,當然同時也支持 servlet, 這樣 tomcat 就誕生了。tomcat 是 jakarta 項目中的一個重要的子項目,其被 javaworld 雜志的編輯選為 2001 年度最具創(chuàng) 新的 java 產品,同時它又是 sun 公司官方推薦的 servlet 和 jsp 容器,因此其越來越多 的受到軟件公司和開發(fā)人員的喜愛。servlet 和 jsp 的最新規(guī)范都可以在 tomcat 的新版 本中得到實現。其次,tomcat 是完全免費的軟件,任何人都可以從互聯(lián)網上自由地下 載。tomcat 與 apache 的組合相當完美7。 tomcat 工作原理: tomcat 的工作模式 3 種:獨立 servlet,進程內 servlet,進程外 servlet。 servlet 是一種運行在支持 java 語言的服務器上的組件,servlet 與普通 java 類的區(qū) 別就在于它運行在服務器上。由于 java 的特點與平臺無關,再加上 servlet 運行在服務 器端,因此 servlet 對于用戶是完全透明的。 servlet 容器的作用是負責處理客戶發(fā)送的請求。當客戶發(fā)送一個請求時,servlet 容器獲取用戶的請求,然后調用相應的一個 servlet,開始執(zhí)行 servlet 中方法,并獲得 相應的執(zhí)行結果返回給客戶。 tomcat 就是起這樣作用的容器。當客戶端發(fā)送一個請求來調用一個資源時, servlet 容器會用對象 servletrequest 把客戶端發(fā)送的請求進行封裝,然后根據 java servlet api 文檔中定義的一些 servlet 方法,完成 servlet 的執(zhí)行之后把執(zhí)行的結果 封裝到 servletresponse 對象中,最后 servlet 容器把客戶的請求發(fā)給客戶,完成為客戶 企業(yè)項目管理系統(tǒng)的設計與實現 8 的一次服務過程8。 tomcat servlet 容器的作用過程如下圖 3 所示 圖 3 tomcat 作用圖 2.62.6 mysqlmysql 簡介簡介 mysql 是一個開放源碼的小型關聯(lián)式數據庫管理系統(tǒng),開發(fā)者為瑞典 mysql ab 公司,目前屬于 oracle 公司。關聯(lián)數據庫管理系統(tǒng)將數據保存在不同的表中,而不是 將所有數據放在一個大倉庫內,這樣就增加了速度并提高了靈活性,myeclipse 的 sql 語言是用于訪問數據庫的最常用的標準化語言。目前 mysql 被廣泛地應用在 internet 上的中小型網站中。由于其體積小、速度快、總體擁有成本低,尤其是開放源碼這一 特點,許多中小型網站為了降低網站總體擁有成本而選擇了 mysql 作為網站數據庫。 在 mysql 數據庫中,用于保存數據記錄的結構被稱為數據表。而每一條數據記錄 則是由更小的數據對象,即數據類型組成。因此,總體來說,一個或多個數據類型組 成一條數據記錄,一條或多條數據記錄組成一個數據表,一個或多個數據表組成一個 數據庫9。 客戶端 servlet 容器 servlet1 servlet2 request response 9 第三章第三章 系統(tǒng)需求分析系統(tǒng)需求分析 3.13.1 系統(tǒng)任務描述系統(tǒng)任務描述 本系統(tǒng)是采用 java 基于 b/s 開發(fā)的企業(yè)項目管理系統(tǒng)的功能模塊的設計和開發(fā)。 這些模塊實現任務管理、項目管理、人員管理、客戶管理、個人信息管理。 該系統(tǒng)主要是為了讓企業(yè)的管理人員能夠更方便、快捷的掌握公司各個項目的基本 情況;讓項目經理可以方便快捷的管理項目;比較好的實現信息同步、實時展示;做 到項目信息透明化10。 3.23.2 系統(tǒng)功能分析系統(tǒng)功能分析 .1 系統(tǒng)的功能需求系統(tǒng)的功能需求 企業(yè)項目管理系統(tǒng)需要完成以下一些基本功能: 登錄該系統(tǒng); 任務管理模塊; 項目管理模塊; 人員管理模塊; 客戶管理模塊; 個人信息模塊; 退出系統(tǒng)。 本系統(tǒng)具體功能需求如下: (1)由項目管理系統(tǒng)登錄界面登錄到管理界面,即系統(tǒng)的服務器端。用戶經登錄 界面都系統(tǒng)主頁面。 (2)不論是管理員還是用戶都需要在登錄界面輸入正確的用戶名和密碼后才可以 登錄到各自的界面中去。 (3)從主界面點擊任務管理進入相應的操作界面,對收到的任務進行增加,并可 以對該任務修改和查詢,對已過期的任務進行刪除。 企業(yè)項目管理系統(tǒng)的設計與實現 10 (4)從主界面點擊項目管理進入相應的操作界面,對要做的項目進行統(tǒng)一的增刪 改查管理,及時更新項目的進度。 (5)從主界面點擊客戶管理進入相應的操作界面,對公司客戶進行記錄和修改, 明確客戶的信息。 (6)從主界面點擊人員管理進入相應的操作界面,對公司內部人員管理,以及工 資的發(fā)給情況。 (7)從主界面點擊個人信息管理進入相應的操作界面,對個人信息進行修改。 3.2.2 系統(tǒng)數據流圖系統(tǒng)數據流圖 管理員進入登陸界面如圖 4 所示 圖 4 登錄頁面流程圖 3.2.3 系統(tǒng)數據分析系統(tǒng)數據分析 在仔細調查企業(yè)項目管理過程的基礎上,總結出該系統(tǒng)需要滿足以下主要系統(tǒng)數 據的需求: 登錄界面 用戶名, 密碼核對 系統(tǒng)管理 界面 任務管理 人員管理 客戶管理 輸入 密碼 密碼正 確 密碼錯誤 項目管理 個人信息管理 11 圖 5 用戶實體圖 圖 6 任務管理實體圖 圖 7 項目管理實體圖 真實姓名 電話 信息說明 用戶信息 用戶密碼 用戶名 性別 工資 部門 年齡 用戶信息 發(fā)送者 優(yōu)先級 任務標題 工期 結束時間 執(zhí)行性 開始時間 項目管理 項目名稱客戶名稱 項目經理 完成狀態(tài) 工期 工期 工期工期 企業(yè)項目管理系統(tǒng)的設計與實現 12 圖 8 客戶信息管理實體圖 圖 9 員工信息管理實體圖 圖 10 員工工資管理實體圖 項目管理 添加時間 公司背景 聯(lián)系人 公司名稱 聯(lián)系電話 地址 員工信息 身份證 員工類型 職位 年齡 員工編號 姓名 電話 性別出生日期 員工信息 扣除工資總工資 狀態(tài) 員工姓名 年份月份 實發(fā)工資 發(fā)款人 13 3.3 系統(tǒng)可行性分析系統(tǒng)可行性分析 從技術發(fā)面來看,java 語言的優(yōu)點主要表現在:簡單、面向對象、多線程、安全 性等方面。 (1)java 的簡單性:和 c+相比,語法簡單了,取消了指針的語法;內存分配和 回收不需要我們來過渡關注,c+可以多繼承,但 java 只能是單繼承,相對于類來說。 (注:接口可以多繼承) (2)java 面向對象:java 算是純面向對象,但 jquery 是更純的面向對象。 在 java編程思想這本書說過, “everything is object!” 這樣便于人類的構思和設計,更符合 人們的思考問題方式 (3)分布式:主要還是用在 ejb 上 (4)安全性:java 的語法限定了源程序的安全性,首先編譯器會進行源代碼的第 一步檢查 (5)跨平臺:java 能夠跨越不同的操作系統(tǒng)平臺,平臺無關性 怎么跨平臺呢? 主要是在不同的操作系統(tǒng)中,jvm 規(guī)范都是一樣的,被 jvm 加載成各個操作系統(tǒng)所支 持的,屏蔽了底層操作系統(tǒng)的差異 (6) 、高性能:開閉原則-對擴展開放,對修改關 閉 java 是即時編譯的 (7) 、多線程: java 開發(fā)的流 mvc 的優(yōu)點 耦合性低: 視圖層和業(yè)務層分離,這樣就允許更改視圖層代碼而不用重新編譯模型和控制器 代碼,同樣,應用于模型的代碼只需寫一次就可以被多個視圖重用,從而可以減少代 碼的重復性。因為模型與控制器和視圖相分離,所以很容易改變應用程序的數據層和 業(yè)務規(guī)則。 生命周期成本低: mvc 使開發(fā)和維護用戶接口的技術含量降低。 部署快: 使用 mvc 模式使開發(fā)時間得到相當大的縮減,它使程序員(java 開發(fā)人員)集 中精力于業(yè)務邏輯,界面程序員(html 和 jsp 開發(fā)人員)集中精力于表現形式上。 可維護性高: 分離視圖層和業(yè)務邏輯層也使得 web 應用更易于維護和修改。 有利軟件工程化管理: 企業(yè)項目管理系統(tǒng)的設計與實現 14 由于不同的層各司其職,每一層不同的應用具有某些相同的特征,有利于通過工 程化、工具化管理程序代碼。控制器也提供了一個好處,就是可以使用控制器來聯(lián)接 不同的模型和視圖去完成用戶的需求,這樣控制器可以為構造應用程序提供強有力的 手段。給定一些可重用的模型和視圖,控制器可以根據用戶的需求選擇模型進行處理, 然后選擇視圖將處理結果顯示給用戶。 15 第四章第四章 系統(tǒng)設計系統(tǒng)設計 系統(tǒng)設計是本系統(tǒng)開發(fā)的重要階段,它直接影響到目標系統(tǒng)的質量,是整個開發(fā) 工作的核心。系統(tǒng)設計工作應該自頂向下地進行。首先設計總體結構,然后再逐層深 入,直至進行每一個模塊的設計??傮w設計主要是指在系統(tǒng)分析的基礎上,對整個系 統(tǒng)的劃分(子系統(tǒng)) 、機器設備(包括軟、硬設備)的配置、數據的存貯規(guī)律以及整個 系統(tǒng)實現規(guī)劃等方面進行合理的安排。 系統(tǒng)設計遵循的原則是:系統(tǒng)性、適應性、穩(wěn)健性、經濟性。 4.1 系統(tǒng)總體結構設計系統(tǒng)總體結構設計 本系統(tǒng)是用 java 語言基于 b/s 開發(fā)設計的,其核心的 mvc 技術決定了該系統(tǒng)的安 全性和穩(wěn)定性,從而保證了本系統(tǒng)有較強的使用性。登錄到系統(tǒng)管理界面后,可以對 相應的任務、項目、公司人員、客戶以及個人信息的管理,實現了項目全面管理公司 業(yè)務,加強跨部門溝通協(xié)作,有效配置和共享資源,減少計劃拖延和降低運營成本。 系統(tǒng)功能模塊圖如圖 11 所示 企業(yè)項目管理系統(tǒng)的設計與實現 16 圖 11 系統(tǒng)總體結構示意圖 4.2 數據庫設計數據庫設計 本次數據庫開發(fā)工具為 navicat for mysql,具體設計的表單如下: 表 1 用戶信息表 字段名類型大小允許空備注 user_idint10否用戶 id usernamevarchar20否用戶名 userpasswordvarchar20否用戶密碼 user_namevarchar20是真實姓名 user_sexvarchar20是性別 user_agevarchar20是年齡 user_phonevarchar20是電話 登錄失敗 企業(yè)項目管理系統(tǒng) 登錄界面 系統(tǒng)主界面 登錄成功 項目管理模塊客戶管理模塊人員管理模塊個人信息模塊任務管理模塊 任 務 信 息 查 看 創(chuàng) 建 任 務 項 目 基 本 信 息 項 目 計 劃 信 息 項 目 需 求 信 息 項 目 模 塊 信 息 客 戶 信 息 查 看 人 員 信 息 查 看 員 工 工 資 查 看 個 人 信 息 查 看 用 戶 密 碼 修 改 17 user_commvarchar20是工資 user_deptvarchar20是部門 user_informationvarchar20是個人信息說明 表 2 任務信息表 字段名類型大小允許空備注 renwu_idint10否任務 id renwu_namevarchar20是任務名稱 renwu_timelimitvarchar20是任務工期 renwu_begintimevarchar20是開始時間 renwu_endtimevarchar20是結束時間 renwu_executorvarchar20是執(zhí)行人 renwu_sendervarchar20是任務發(fā)送者 renwu_priorityvarchar20是優(yōu)先級 表 3 項目信息表 字段名類型大小允許空備注 pj_idint10否項目 id pj_namevarchar20是項目名稱 customer_namevarchar20是客戶名 pj_managervarchar20是項目經理 pj_developmentvarchar20是開發(fā)人數 pj_begintimevarchar20是開始時間 pj_endtimevarchar20是結束時間 pj_priorityvarchar20是優(yōu)先級 pj_statevarchar20是狀態(tài) 表 4 客戶信息表 字段名類型大小允許空備注 customer_idint10否客戶 id customer_namevarchar20是客戶名稱 customer_peoplevarchar20是聯(lián)系人 企業(yè)項目管理系統(tǒng)的設計與實現 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是計劃負責人 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)的設計與實現 20 4.3 系統(tǒng)功能模塊詳細設計系統(tǒng)功能模塊詳細設計 用戶登錄模塊流程圖如圖 12 所示: 開始 輸入用戶名與密碼 查詢數據庫 是否有這條 記錄? 進入系統(tǒng)管理界面 提示用戶名 或密碼錯誤 結束 圖 12 登錄模塊流程圖 21 第五章第五章 編碼與實現編碼與實現 5.1 系統(tǒng)主要模塊代碼系統(tǒng)主要模塊代碼 5.1.1 數據庫的連接數據庫的連接 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“);/加載數據庫驅動 conn = drivermanager.getconnection( “jdbc:mysql:/localhost:3306/xiangmuguanli“, “root“, “1234“);/連 接數據庫 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)的設計與實現 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)的設計與實現 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)的設計與實現 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)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 耕種土地承包合同范例二零二五年
- 二零二五版旅行社授權合作協(xié)議書范例
- 正式的試用期勞動合同書
- 展廳搭建合同書范例
- 二零二五抵押貸款反擔保合同書
- 石場轉讓合同書
- 以職業(yè)發(fā)展為導向的醫(yī)療人才培養(yǎng)模式
- 區(qū)塊鏈助力醫(yī)療數據真實可信
- 音樂治療病案分享
- 2025至2031年中國工作臺上層架行業(yè)投資前景及策略咨詢研究報告
- 湖南省名校聯(lián)考聯(lián)合體2024-2025學年高一下學期期中考試數學試題 (A)含答案
- 海關AEO培訓法律法規(guī)
- 2025年的共同借款擔保合同范本
- 沖壓模具制作合同范例
- 學校會計崗位試題及答案
- 上海市金山區(qū)2025屆高三高考二模地理試卷(含答案)
- 期中測試(范圍:第1-4章)(A卷·夯實基礎)-北師大版七年級數學下冊(解析版)
- 木制品幼兒園課程
- 2024年四川宜賓五糧液股份有限公司招聘筆試真題
- 2024年初級會計實務考試真題及答案(5套)
- 垃圾焚燒飛灰處理行業(yè)深度調研及發(fā)展戰(zhàn)略咨詢報告
評論
0/150
提交評論