基于J2EE組織結(jié)構(gòu)圖的設(shè)計(jì)與實(shí)現(xiàn)_第1頁
基于J2EE組織結(jié)構(gòu)圖的設(shè)計(jì)與實(shí)現(xiàn)_第2頁
基于J2EE組織結(jié)構(gòu)圖的設(shè)計(jì)與實(shí)現(xiàn)_第3頁
基于J2EE組織結(jié)構(gòu)圖的設(shè)計(jì)與實(shí)現(xiàn)_第4頁
基于J2EE組織結(jié)構(gòu)圖的設(shè)計(jì)與實(shí)現(xiàn)_第5頁
已閱讀5頁,還剩26頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、河南大學(xué)2007屆本科畢業(yè)論文組織結(jié)構(gòu)圖的設(shè)計(jì)與實(shí)現(xiàn)design and realization of organization structure drawing論文作者姓名:紀(jì)輝輝 所在學(xué)院:計(jì)算機(jī)與信息工程學(xué)院 所學(xué)專業(yè):計(jì)算機(jī)科學(xué)與技術(shù) 導(dǎo)師姓名職稱:于靜洋(講師) 論文完成時間:2007年5月20日 2007年5月20日 河南大學(xué)2007屆畢業(yè)論文(設(shè)計(jì)、創(chuàng)作)開題報告(由學(xué)生本人認(rèn)真填寫)學(xué)號03023243姓名紀(jì)輝輝導(dǎo)師姓名職稱于靜洋(講師)開題時間2006年12月1日課題題目組織結(jié)構(gòu)圖的設(shè)計(jì)與實(shí)現(xiàn)課題來源導(dǎo)師指定 自定 其他來源課題的目的、意義以及和本課題有關(guān)的國內(nèi)外現(xiàn)狀分析:

2、1、課題研究的目的及意義目前的“慧鼎”人力資源管理系統(tǒng)中只提供了組織單元信息以及隸屬關(guān)系的維護(hù)功能,而越來越多的客戶要求提供可以展示組織結(jié)構(gòu)圖的功能,所以開發(fā)該子系統(tǒng)的目的和意義就是為了滿足客戶需求,使其能更方便的使用“慧鼎”人力資源管理系統(tǒng)。2、與本課題有關(guān)的國內(nèi)外現(xiàn)狀分析 隨著計(jì)算機(jī)技術(shù)、互聯(lián)網(wǎng)的發(fā)展和高級管理學(xué)的推動,許多大公司都在使用人力資源管理系統(tǒng)來管理自己的業(yè)務(wù),而本子系統(tǒng)將會為人力資源管理提供一個更為方便的方式。研究目標(biāo)、研究內(nèi)容和準(zhǔn)備解決的問題:1、研究目標(biāo)為目前系統(tǒng)的組織管理模塊提供展示組織結(jié)構(gòu)圖的功能。2、研究內(nèi)容根據(jù)需求分析實(shí)現(xiàn)已有系統(tǒng)要展示組織結(jié)構(gòu)圖的功能。3、準(zhǔn)備解決

3、的問題本子系統(tǒng)主要是為了把已經(jīng)維護(hù)好了的組織單元隸屬關(guān)系用圖形的方式展示出來,所以要解決的主要問題是實(shí)現(xiàn)樹形圖和傘形圖的展示功能。擬采取的方法、技術(shù)或設(shè)計(jì)(開發(fā))工具:本系統(tǒng)將在eclipse環(huán)境下開發(fā),使用的語言是java語言,數(shù)據(jù)庫是oracle數(shù)據(jù)庫。預(yù)期成果:1、畢業(yè)設(shè)計(jì)成果 組織結(jié)構(gòu)圖2、畢業(yè)論文進(jìn)度計(jì)劃:2006.12.1 - 2007.2.10:查找資料、搜集相關(guān)素材2007.2.11 - 2007.3.20:jsp頁面部分的實(shí)現(xiàn)2007.3.21 - 2007.4.30:圖形展示功能的實(shí)現(xiàn)2007.5.1 - 2007.5.20:整理資料、撰寫畢業(yè)論文2007.5.20 - 2

4、007.5.25:根據(jù)導(dǎo)師要求,完善畢業(yè)設(shè)計(jì)和論文指導(dǎo)教師對選題報告的意見: 該生選題符合要求,進(jìn)度計(jì)劃安排合理,同意開題。 指導(dǎo)教師簽名: 2006年12月1日開題報告ii河南大學(xué)2007屆畢業(yè)論文(設(shè)計(jì)、創(chuàng)作)任務(wù)書(由學(xué)生本人認(rèn)真填寫)學(xué)號03023243姓名紀(jì)輝輝導(dǎo)師姓名于靜洋任務(wù)書起止日期2006年12月8日 至 2007年5月20日論文提要:論文將首先介紹開發(fā)該子系統(tǒng)用到的關(guān)鍵技術(shù),然后介紹系統(tǒng)的功能分析和設(shè)計(jì),最后將會詳細(xì)說明該系統(tǒng)的功能實(shí)現(xiàn)過程。課題任務(wù)要求:該子系統(tǒng)主要是為了讓用戶方便的了解組織單元的結(jié)構(gòu),故而將要實(shí)現(xiàn)的主要功能如下:1、設(shè)置組織結(jié)構(gòu)圖查看選項(xiàng);2、以圖形方式

5、顯示當(dāng)前組織單元的隸屬關(guān)系;3、顯示當(dāng)前組織單元的崗位信息和人員信息。主要參考文獻(xiàn):1 廖衛(wèi)東等著,java程序設(shè)計(jì)實(shí)用指南,北京機(jī)械工業(yè)出版社,1996年10月2 karl avedal著,jsp編程指南,電子工業(yè)出版社,2001年3 梁立新著,基于 struts-spring-hibernate 的 java 應(yīng)用開發(fā),電子工業(yè)出版社,2006年4 孫衛(wèi)琴著, 精通struts:基于mvc的java web設(shè)計(jì)與開發(fā), 電子工業(yè)出版社, 2004年5 高昂等著, 基于hibernate與struts框架的數(shù)據(jù)持久化應(yīng)用研究,2005年6 deitel著,java大學(xué)基礎(chǔ)教程(第六版)(英文

6、版),電子工業(yè)出版社,2005年9月河南大學(xué)2007屆畢業(yè)設(shè)計(jì)(論文、創(chuàng)作)中期檢查表學(xué)院名稱:計(jì)算機(jī)與信息工程學(xué)院題目名稱組織結(jié)構(gòu)圖的設(shè)計(jì)與實(shí)現(xiàn)學(xué)號03023243所學(xué)專業(yè)計(jì)算機(jī)科學(xué)與技術(shù)指導(dǎo)教師姓 名于靜洋姓名紀(jì)輝輝一、畢業(yè)設(shè)計(jì)進(jìn)展情況到目前為止,關(guān)于畢業(yè)設(shè)計(jì)的資料搜集完畢,jsp頁面上的隱藏查詢等功能已經(jīng)實(shí)現(xiàn),struts框架已經(jīng)建好,通過hebernate和spring的配置文件可以連接到數(shù)據(jù)庫,但是樹形圖和傘形圖的展示功能還沒有實(shí)現(xiàn)。二、存在問題在使用樹形圖和傘形圖展示組織單元隸屬關(guān)系時,不能按照設(shè)定好的維度來展示。三、下一階段的研究方法或設(shè)計(jì)思路下一階段的主要任務(wù)是實(shí)現(xiàn)維度的選擇功

7、能,我的實(shí)現(xiàn)思路是把從數(shù)據(jù)庫中查詢到的組織單元用唯一的id來標(biāo)示,各個維度也用唯一的code標(biāo)示,并與組織單元的id建立映射關(guān)系,最后在jsp頁面中用圖形展示出來,研究方法是先在jsp中寫javascript代碼,再做一些自定義的標(biāo)簽,這些標(biāo)簽的作用是實(shí)現(xiàn)按照維度展示組織單元的功能。四、指導(dǎo)教師對學(xué)生設(shè)計(jì)(論文、創(chuàng)作)進(jìn)展等方面的評語 該生基本按照預(yù)定計(jì)劃進(jìn)行,目前已完成部分功能。 指導(dǎo)教師簽字: 2007年4月10日 此表除第四項(xiàng)外由學(xué)生填寫指導(dǎo)教師簽名河南大學(xué)2007屆畢業(yè)論文(設(shè)計(jì)、創(chuàng)作)綜合成績表(一)學(xué)院名稱:計(jì)算機(jī)與信息工程學(xué)院學(xué) 號03023243姓名紀(jì)輝輝專業(yè)計(jì)算機(jī)科學(xué)與技術(shù)指

8、導(dǎo)教師于靜洋(講師)綜合得分85論文題目組織結(jié)構(gòu)圖的設(shè)計(jì)與實(shí)現(xiàn)指導(dǎo)教師評語及得分指導(dǎo)教師評語該生畢業(yè)設(shè)計(jì)符合要求,論文論點(diǎn)突出,語句流暢,達(dá)到了本科畢業(yè)設(shè)計(jì)和論文的要求。評分項(xiàng)目分值指導(dǎo)教師對畢業(yè)論文(設(shè)計(jì)、創(chuàng)作)評分撰寫開題報告、文獻(xiàn)綜述15調(diào)查研究查閱整理資料10學(xué)習(xí)態(tài)度與規(guī)范要求10數(shù)據(jù)處理、文字表達(dá)10論文(設(shè)計(jì)、創(chuàng)作)質(zhì)量和創(chuàng)新意識55合計(jì)100得分128885086指導(dǎo)教師簽名 2007年5月20日評閱教師評語及評分評閱教師評語該生設(shè)計(jì)與實(shí)際工作緊密聯(lián)系。論文邏輯性較強(qiáng),論點(diǎn)明確,語句通順,分析合理,符合本科論文要求。評分項(xiàng)目分值評閱畢業(yè)論文(設(shè)計(jì)、創(chuàng)作)評分撰寫開題報告、文獻(xiàn)綜述

9、15調(diào)查研究查閱整理資料10學(xué)習(xí)態(tài)度與規(guī)范要求10數(shù)據(jù)處理、文字表達(dá)10論文(設(shè)計(jì)、創(chuàng)作)質(zhì)量和創(chuàng)新意識55合計(jì)100得分1188850 85評閱教師簽名 2007年5月22日此表由教師填寫河南大學(xué)2007屆畢業(yè)論文(設(shè)計(jì)、創(chuàng)作)綜合成績表(二)學(xué)號03023243姓名紀(jì)輝輝所在學(xué)院計(jì)算機(jī)與信息工程學(xué)院答辯委員會評語及評分答辯委員會評語 該生論文答辯過程中,敘述條理清晰,回答問題正確,達(dá)到本科畢業(yè)水平。答辯委員簽字: 2007年5月26日評分 項(xiàng)目 分值論文答辯小組評分答辯情況論文質(zhì)量合計(jì)(100)內(nèi)容表達(dá)情況(15)答辯問題情況(25)規(guī)范要求與文字表達(dá)(20)論文(設(shè)計(jì)、創(chuàng)作)質(zhì)量和創(chuàng)新意

10、識(40)得分1220183585答辯委員會主任簽字: 2007年5月26日畢業(yè)論文(設(shè)計(jì)、創(chuàng)作)成績綜合評定: 85 分綜合評定等級: 良備注:一、論文的質(zhì)量評定,應(yīng)包括對論文的語言表達(dá)、結(jié)構(gòu)層次、邏輯性理論分析、設(shè)計(jì)計(jì)算、分析和概括能力及在論文中是否有新的見解或創(chuàng)新性成果等做出評價。從論文來看學(xué)生掌握本專業(yè)基礎(chǔ)理論和基本技能的程度。二、成績評定采用結(jié)構(gòu)評分法,即由指導(dǎo)教師、評閱教師和答辯委員會分別給分(以百分計(jì)),評閱教師得分乘以20%加上指導(dǎo)教師得分乘以20%加上答辯委員會得分乘以60%即綜合成績。評估等級按優(yōu)、良、中、差劃分,優(yōu)90-100分;良76-89分;中60-75分;差60分以

11、下。三、評分由專業(yè)教研室或院組織專門評分小組(不少于5人),根據(jù)指導(dǎo)教師和答辯委員會意見決定每個學(xué)生的分?jǐn)?shù),在有爭議時,應(yīng)由答辯委員會進(jìn)行表決。四、畢業(yè)論文答辯工作結(jié)束后,各院應(yīng)于6月20日前向教務(wù)處推薦優(yōu)秀論文以匯編成冊,推薦的篇數(shù)為按當(dāng)年學(xué)院畢業(yè)生人數(shù)的1.5%篇。五、各院亦可根據(jù)本專業(yè)的不同情況,制定相應(yīng)的具有自己特色的內(nèi)容。須報教務(wù)處備案。六、書寫格式要求:1、目錄;2、內(nèi)容提要須書寫200左右漢字,開題報告(文科除外)的內(nèi)容要根據(jù)不同專業(yè)的課題任務(wù)要求,闡述查閱文獻(xiàn)、文案論證、解題思路、工作步驟等;3、正文(含引言、結(jié)論等);4、參考文獻(xiàn)(或資料)河南大學(xué)本科生畢業(yè)論文(設(shè)計(jì)、創(chuàng)作)

12、承諾書論文題目組織結(jié)構(gòu)圖的設(shè)計(jì)與實(shí)現(xiàn)姓 名紀(jì)輝輝所學(xué)專業(yè)計(jì)算機(jī)科學(xué)與技術(shù)學(xué) 號03023243完成時間.2007年5 月20日指導(dǎo)教師姓名職稱于靜洋(講師)承諾內(nèi)容:1、本畢業(yè)論文(設(shè)計(jì)、創(chuàng)作)是學(xué)生 紀(jì)輝輝 在導(dǎo)師 于靜洋 的指導(dǎo)下獨(dú)立完成的,沒有抄襲、剽竊他人成果,沒有請人代做,若在畢業(yè)論文(設(shè)計(jì)、創(chuàng)作)的各種檢查、評比中被發(fā)現(xiàn)有以上行為,愿按學(xué)校有關(guān)規(guī)定接受處理,并承擔(dān)相應(yīng)的法律責(zé)任。2、學(xué)校有權(quán)保留并向上級有關(guān)部門送交本畢業(yè)論文(設(shè)計(jì)、創(chuàng)作)的復(fù)印件和磁盤。備注: 由于我的源代碼涉及到公司機(jī)密,故不能把代碼帶回學(xué)校。學(xué)生簽名: 指導(dǎo)教師簽名: 2007年5月20日 2007年5月20日

13、說明:學(xué)生畢業(yè)論文(設(shè)計(jì)、創(chuàng)作)如有保密等要求,請?jiān)趥渥⒅忻鞔_,承諾內(nèi)容第2條即以備注為準(zhǔn)。目 錄摘 要iabstractii第1章 緒論11.1 背景知識介紹11.2 系統(tǒng)概述1第2章 軟件的架構(gòu)及開發(fā)工具的選擇22.1 軟件架構(gòu)選擇22.2 數(shù)據(jù)庫系統(tǒng)的選擇22.3 開發(fā)技術(shù)及開發(fā)工具32.3.1 struts技術(shù)簡介32.3.2 hibernate技術(shù)簡介4第3章 系統(tǒng)分析及總體設(shè)計(jì)53.1 系統(tǒng)需求分析53.2 系統(tǒng)功能分析63.2.1 系統(tǒng)功能63.2.2 系統(tǒng)結(jié)構(gòu)73.3 系統(tǒng)總體設(shè)計(jì)方案7第4章 系統(tǒng)的詳細(xì)設(shè)計(jì)及代碼實(shí)現(xiàn)94.1 類圖94.1.1 表現(xiàn)層94.1.2 業(yè)務(wù)層114

14、.1.3 數(shù)據(jù)持久層124.2 代碼實(shí)現(xiàn)134.2.1 樹形圖展示的實(shí)現(xiàn)134.2.2 數(shù)據(jù)庫實(shí)現(xiàn)和配置文件介紹154.3 用戶界面介紹174.3.1 樹形圖界面174.3.2 崗位查詢界面18結(jié) 論19參考文獻(xiàn)20河南大學(xué)本科畢業(yè)生學(xué)士學(xué)位論文摘 要隨著計(jì)算機(jī)技術(shù)、互聯(lián)網(wǎng)和高級管理學(xué)的推動,人力資源管理電子化(e-hr)時代到來了。目前的人力資源管理系統(tǒng)中只是提供了組織單元信息以及隸屬關(guān)系的維護(hù)功能,而越來越多的客戶要求提供可以展示組織結(jié)構(gòu)圖的功能,因此實(shí)現(xiàn)組織結(jié)構(gòu)的圖形展示成為一個迫在眉睫的工作。本文中描述的組織結(jié)構(gòu)圖將組織單元的隸屬關(guān)系用圖形方式展現(xiàn)出來,以便用戶能更好的了解組織單元中各

15、部分之間的層次關(guān)系。主要功能有設(shè)置組織結(jié)構(gòu)圖查看選項(xiàng),顯示組織單元的詳細(xì)信息,以樹形或傘形顯示當(dāng)前組織結(jié)構(gòu),顯示當(dāng)前組織單元的崗位和人員信息等。該系統(tǒng)采用b/s設(shè)計(jì)模式,是在j2ee平臺上開發(fā)的,使用java語言編寫,并使用oracle9i存儲數(shù)據(jù)。關(guān)鍵詞 組織單元,崗位管理,人員管理,jsp,oracleabstractalong with the impetus of computer technology, the internet development and the high-level management study, e-hr (human resources managem

16、ent system) age is arrived. in the present, e-hr only provides functions of organization unit information and relationship maintenance. but, more and more clients show the interest of the organization structure drawing display. so the work of showing the organization structure drawing is necessary.t

17、his paper describes the organization structure drawing which unfold the organization unit with the graphic mode in order to make the user understand the organization unit structure better. the main functions includes setting display options of organization structure drawing, showing organization uni

18、t information in details, displaying current organization structure by tree or umbrella display mode, position and people information of current organization unit, etc.the design mode is b/s. the development is based on j2ee platform. the language is java language. oracle9i is used as data storage.k

19、eywords organization unit, station management, human management, jsp, oracle第 20 頁第1章 緒論組織結(jié)構(gòu)圖展示是人力資源管理系統(tǒng)的功能之一。本章主要介紹組織結(jié)構(gòu)圖的背景知識,使讀者對組織結(jié)構(gòu)圖有個總體的了解。1.1 背景知識介紹隨著計(jì)算機(jī)技術(shù)、互聯(lián)網(wǎng)和高級管理學(xué)的推動,人力資源管理電子化(e-hr)時代到來了?!癳-hr”是一個賦予了嶄新意義的概念,是一種以電子商務(wù)、互聯(lián)網(wǎng)為基礎(chǔ),以客戶為導(dǎo)向,使人力資源業(yè)務(wù)流程優(yōu)化、人力資源管理全面化的新型人力資源管理模式。目前的人力資源管理系統(tǒng)中只是提供了組織單元信息以及隸屬關(guān)

20、系的維護(hù)功能,而越來越多的客戶要求提供可以展示組織結(jié)構(gòu)圖的功能,因此實(shí)現(xiàn)組織結(jié)構(gòu)的圖形展示成為一個迫在眉睫的工作??傊?,組織結(jié)構(gòu)圖子系統(tǒng)是一種以網(wǎng)絡(luò)化為基礎(chǔ)的系統(tǒng),是現(xiàn)代人力資源綜合解決方案的一部分,它的開發(fā)將會使人力資源管理更為方便快捷。在此環(huán)境下,身處校園里的同學(xué)們也很有必要對組織結(jié)構(gòu)圖的實(shí)現(xiàn)過程有一個大致的了解。該系統(tǒng)即針對此目的開發(fā)出來的。1.2 系統(tǒng)概述e-hr包括核心的人力資源管理業(yè)務(wù)如:組織機(jī)構(gòu)管理、人員配置管理、招聘管理、培訓(xùn)考核管理、福利管理、時間管理、績效管理、薪酬管理等。e-hr的使用者,除了一般的hr從業(yè)者外,普通員工、經(jīng)理及總裁都將與e-hr的基礎(chǔ)平臺發(fā)生相應(yīng)權(quán)限的互

21、動關(guān)系。本系統(tǒng)會提供一個更為方便的方式來管理人力資源。本系統(tǒng)主要是為組織管理模塊提供展示組織結(jié)構(gòu)圖的功能,把系統(tǒng)中已經(jīng)維護(hù)好了的組織單元隸屬關(guān)系用圖形的方式展示出來,并且提供結(jié)構(gòu)圖的輸出功能,方便用戶了解組織單元的構(gòu)成。第2章 軟件的架構(gòu)及開發(fā)工具的選擇好的軟件架構(gòu)和開發(fā)工具能使系統(tǒng)的開發(fā)簡單化。本章主要介紹開發(fā)工具的選擇,數(shù)據(jù)庫的選擇以及用到的關(guān)鍵技術(shù)。2.1 軟件架構(gòu)選擇根據(jù)系統(tǒng)需求分析,結(jié)合目前網(wǎng)絡(luò)的特點(diǎn),決定采用基于b/s(browser/service)的三層設(shè)計(jì)模式。本系統(tǒng)采用java 2 platform enterprise edition(j2ee)架構(gòu),包括數(shù)據(jù)庫層、應(yīng)用服

22、務(wù)器層及客戶層?;赽/s體系結(jié)構(gòu),所有的操作都在瀏覽器中進(jìn)行,業(yè)務(wù)操作客戶端將借助瀏覽器訪問服務(wù)器端的資源。中間業(yè)務(wù)邏輯層包含了大量的供客戶端程序調(diào)用的業(yè)務(wù)邏輯規(guī)則,以幫助其完成業(yè)務(wù)操作。它的優(yōu)點(diǎn)就在于它所具有的可伸縮性,可使其隨具體業(yè)務(wù)的變化而改變,但在客戶層和數(shù)據(jù)服務(wù)層所做的改動較小,適合于快速開發(fā)。數(shù)據(jù)服務(wù)層主要由中間業(yè)務(wù)層來調(diào)用并完成業(yè)務(wù)邏輯,當(dāng)數(shù)據(jù)庫的結(jié)構(gòu)確定后,對于它的改動也就比較小了。數(shù)據(jù)服務(wù)器作為數(shù)據(jù)處理的焦點(diǎn),便于對數(shù)據(jù)的集中管理;充分利用服務(wù)器的系統(tǒng)資源;降低了對客戶機(jī)的要求。2.2 數(shù)據(jù)庫系統(tǒng)的選擇由于本次程序設(shè)計(jì)是基于internet的b/s網(wǎng)絡(luò)數(shù)據(jù)庫應(yīng)用模式,所以選

23、擇數(shù)據(jù)庫平臺時考慮的因素就要以能夠更好的滿足b/s模式的需求為前提,主要應(yīng)該考慮以下幾點(diǎn):1性能:反應(yīng)時間和吞吐量;2查詢優(yōu)化:提高系統(tǒng)處理能力和降低網(wǎng)絡(luò)流量;3事務(wù)處理:保證數(shù)據(jù)的完整性和一致性,可恢復(fù)性;4聯(lián)機(jī)備份和恢復(fù):保證系統(tǒng)的可靠性、完整性和可恢復(fù)性。并且隨著internet的發(fā)展,對數(shù)據(jù)庫平臺也有了新的要求,如對internet標(biāo)準(zhǔn)的支持、應(yīng)能通過web對數(shù)據(jù)進(jìn)行訪問、較高的易用性和較低的擁有成本以及相對簡單的開發(fā)和管理等。oracle9i是一個可移植的數(shù)據(jù)庫它在相關(guān)的每一個平臺上都可以使用,它專門為分布式客戶服務(wù)器計(jì)算環(huán)境而設(shè)計(jì)。它的可靠的聯(lián)機(jī)備份功能、高可用性、安全性、強(qiáng)大的管

24、理工具和開放的體系結(jié)構(gòu)為信息管理系統(tǒng)提供了一個很好的平臺。由于oracle9i具有上述特點(diǎn),因此我們選擇它作為基于internet和數(shù)據(jù)庫的組織結(jié)構(gòu)圖展示的數(shù)據(jù)庫平臺。2.3 開發(fā)技術(shù)及開發(fā)工具該系統(tǒng)主要是在struts框架下開發(fā)的,本節(jié)對該系統(tǒng)用到的struts技術(shù)和hibernate技術(shù)做一個簡單介紹。2.3.1 struts技術(shù)簡介struts是一個基于j2ee平臺的mvc框架,主要是采用servlet和jsp(java server page)技術(shù)來實(shí)現(xiàn)的。struts把servlet、jsp、自定義標(biāo)簽和信息資源整合到一個統(tǒng)一的框架中,開發(fā)人員利用其進(jìn)行開發(fā)時不用再自己編碼實(shí)現(xiàn)全套m

25、vc模式,極大的節(jié)省了時間,所以說struts是一個非常不錯的應(yīng)用框架。struts框架可分為以下四個主要部分,其中三個就和mvc模式緊密相關(guān):(1)模型(model),本質(zhì)上來說在struts中model是一個action類,開發(fā)者通過其實(shí)現(xiàn)商業(yè)邏輯,同時用戶請求通過控制器(controller)向action的轉(zhuǎn)發(fā)過程是基于由struts-config.xml文件描述的配置信息的。(2)視圖(view),view是由與控制器servlet配合工作的一整套jsp定制標(biāo)簽庫構(gòu)成,利用它們我們可以快速建立應(yīng)用系統(tǒng)的界面。(3)控制器(controller),本質(zhì)上是一個servlet,將客戶端請

26、求轉(zhuǎn)發(fā)到相應(yīng)的action類。(4)用來做xml文件解析的工具包,struts是用xml來描述如何自動產(chǎn)生一些javabean的屬性的,此外struts還利用xml來描述在國際化應(yīng)用中的用戶提示信息(實(shí)現(xiàn)了應(yīng)用系統(tǒng)的多語言支持)。mvc是一種設(shè)計(jì)模式,它強(qiáng)制性的把應(yīng)用程序的輸入、處理和輸出分開。mvc模式把應(yīng)用程序分成三個核心模塊:模型、視圖和控制器,它們分別承擔(dān)不同的任務(wù)。用戶通過視圖向控制器發(fā)請求,控制器接受請求并進(jìn)行業(yè)務(wù)處理,這三個模塊各自的功能以及它們之間的關(guān)系如圖2-1所示。圖2-1 mvc模式功能圖2.3.2 hibernate技術(shù)簡介hibernate的工作原理是通過文件把值對象

27、和數(shù)據(jù)庫表之間建立起一個映射關(guān)系,這樣,我們只需要通過操作這些值對象和hibernate提供的一些基本類,就可以達(dá)到使用數(shù)據(jù)庫的目的。例如,使用hibernate的查詢,可以直接返回包含某個值對象的列表(list),而不必像傳統(tǒng)的jdbc(java數(shù)據(jù)庫連接)訪問方式一樣把結(jié)果集的數(shù)據(jù)逐個裝載到一個值對象中,為我們的編碼工作節(jié)省了大量的時間。hibernate是java應(yīng)用和關(guān)系數(shù)據(jù)庫之間的橋梁,它負(fù)責(zé)java對象和關(guān)系數(shù)據(jù)庫之間的映射。hibernate內(nèi)部封裝了通過jdbc訪問數(shù)據(jù)庫的操作,向上層應(yīng)用提供了面向?qū)ο蟮臄?shù)據(jù)訪問api(應(yīng)用編程接口).在基于mvc設(shè)計(jì)模式的java web應(yīng)用

28、中,hibernate可以作為應(yīng)用的數(shù)據(jù)訪問層或持久層。第3章 系統(tǒng)分析及總體設(shè)計(jì)目前“慧鼎”人力資源管理系統(tǒng)中只提供了組織單元隸屬關(guān)系的維護(hù)功能,并沒有把組織單元層次結(jié)構(gòu)用圖形方式展現(xiàn)出來,而客戶要求提供這個功能,因此,應(yīng)客戶的要求,該子系統(tǒng)將對這一功能進(jìn)行設(shè)計(jì)和實(shí)現(xiàn)。本章首先對該子系統(tǒng)的需求進(jìn)行分析,然后通過功能分析得到該系統(tǒng)的結(jié)構(gòu)和設(shè)計(jì)方案。3.1 系統(tǒng)需求分析下面對系統(tǒng)的目標(biāo)、要求、用戶以及運(yùn)行環(huán)境做一下描述。(1) 系統(tǒng)目標(biāo)本系統(tǒng)的目標(biāo)是給用戶提供可以展示組織結(jié)構(gòu)圖的功能,主要是把系統(tǒng)中已經(jīng)維護(hù)好了的組織單元隸屬關(guān)系用圖形的方式展示出來。(2) 系統(tǒng)用戶該系統(tǒng)的用戶主要是人力資源系統(tǒng)

29、的使用者,在使用該系統(tǒng)的過程中,用戶可以根據(jù)自己的喜好來設(shè)置顏色以及查看的維度。(3) 系統(tǒng)要求a. 質(zhì)量和性能規(guī)定可用性要求風(fēng)格統(tǒng)一,便于用戶操作。性能要求可以同時顯示至少100個組織單元,顯示的時間為2秒以內(nèi)。b. 安全性要求使用權(quán)限的約束,目的是為了讓有權(quán)限的操作人員進(jìn)行相關(guān)功能的操作,增加系統(tǒng)的安全性。c. 數(shù)據(jù)管理數(shù)據(jù)庫至少支持oracle和sql server以及db2,使用通用的sql語句。語言采用以java為主。要求數(shù)據(jù)庫管理系統(tǒng)具有數(shù)據(jù)一致性,安全性,數(shù)據(jù)導(dǎo)入、導(dǎo)出等的服務(wù)功能。d. 輸入輸出盡量讓用戶的輸入量將至最低,在必須輸入時,應(yīng)做到輸入方法簡單、迅速和方便用戶。輸出的

30、內(nèi)容應(yīng)和用戶的操作同步并且要簡潔得體。(4) 運(yùn)行環(huán)境規(guī)定a. 硬件服務(wù)器:cpu:3.0g以上;內(nèi)存:1gb以上;硬盤:40g以上。客戶端:cpu:c3(r)866mhz以上;內(nèi)存:128mb以上;硬盤:20g以上;以太網(wǎng)卡。b. 軟件服務(wù)器:tomcat5.0/websphere/weblogic 服務(wù)器??蛻舳耍簃icrosoft windows me/xp/2000 ;linux ;unix。數(shù)據(jù)庫平臺:oracle 9i;microsoft sql server 2000;db2。網(wǎng)絡(luò)協(xié)議:http協(xié)議。3.2 系統(tǒng)功能分析本小節(jié)首先對該子系統(tǒng)將要實(shí)現(xiàn)的功能進(jìn)行分析,然后說明一下系統(tǒng)

31、結(jié)構(gòu)。3.2.1 系統(tǒng)功能組織結(jié)構(gòu)圖子系統(tǒng)將要實(shí)現(xiàn)的功能分析如下:組織結(jié)構(gòu)圖主要是以圖形的方式展示上級與下級組織單元的關(guān)系,使得組織單元隸屬關(guān)系按照設(shè)定的方式進(jìn)行顯示,設(shè)置顯示的內(nèi)容包括:1.設(shè)置顯示樣式;2.設(shè)置顯示維度;3.設(shè)置組織單元框顏色。該系統(tǒng)主要是讓用戶方便的了解組織單元的結(jié)構(gòu),下面對系統(tǒng)的功能做一下詳細(xì)介紹。(1) 設(shè)置組織結(jié)構(gòu)圖查看選項(xiàng):設(shè)置組織結(jié)構(gòu)圖的查看方式;查看維度,顯示圖形的根節(jié)點(diǎn);設(shè)置查看框圖的顏色。(2) 顯示組織單元的詳細(xì)信息:當(dāng)展示樹形或傘形結(jié)構(gòu)圖時,使用者可以查看組織單元的詳細(xì)信息。(3) 以樹形圖顯示當(dāng)前組織結(jié)構(gòu)。(4) 以傘形圖顯示當(dāng)前組織結(jié)構(gòu)。(5) 顯

32、示當(dāng)前組織單元的崗位信息:用隱藏的查詢頁面查詢想要的崗信息。(6) 顯示當(dāng)前組織單元的人員信息:用隱藏的查詢頁面查詢想要的人員信息。3.2.2 系統(tǒng)結(jié)構(gòu)本子系統(tǒng)是把組織單元的隸屬關(guān)系用圖形方式展現(xiàn)出來,它的結(jié)構(gòu)是用戶登錄到主頁面,然后打開設(shè)置查看選項(xiàng)頁面,用戶可以在這個頁面中設(shè)置用樹形圖或者傘形圖方式來展示組織單元的層次結(jié)構(gòu),并且可以為不同的組織單元類型設(shè)置不同的顯示顏色,客戶通過點(diǎn)擊樹形圖和傘形圖上面的小圖標(biāo)可以查看崗位信息、人員信息和公司詳細(xì)信息,在顯示崗位信息和人員信息的頁面上有隱藏的框圖,在這里用戶可以查詢想要的信息。系統(tǒng)的層次結(jié)構(gòu)如圖3-1所示。圖3-1 系統(tǒng)結(jié)構(gòu)層次圖3.3 系統(tǒng)總

33、體設(shè)計(jì)方案要想開發(fā)出一個好的系統(tǒng),就必須要對系統(tǒng)的需求有一個明確的認(rèn)識,然后做出一個總體的設(shè)計(jì)方案,最后按照設(shè)計(jì)方案進(jìn)行開發(fā)。本節(jié)主要介紹該子系統(tǒng)的總體設(shè)計(jì)方案。軟件系統(tǒng)是實(shí)施整個系統(tǒng)各項(xiàng)功能于目標(biāo)的中心環(huán)節(jié),軟件系統(tǒng)的設(shè)計(jì)與實(shí)施是系統(tǒng)建設(shè)的重點(diǎn)與關(guān)鍵所在。軟件系統(tǒng)總體設(shè)計(jì)的主要任務(wù)是根據(jù)系統(tǒng)的總體目標(biāo)和功能將整個系統(tǒng)合理劃分若干個功能模塊,得出系統(tǒng)的流程圖及正確地處理模塊之間的調(diào)用關(guān)系和數(shù)據(jù)關(guān)系,定義各個模塊的內(nèi)部結(jié)構(gòu)等等。因此系統(tǒng)總體結(jié)構(gòu)設(shè)計(jì)顯得尤其重要。本系統(tǒng)在整體上可以劃分?jǐn)?shù)據(jù)持久層,表現(xiàn)層和業(yè)務(wù)層三個部分,現(xiàn)將各個部分作具體描述,以便對組織結(jié)構(gòu)圖的設(shè)計(jì)與實(shí)現(xiàn)系統(tǒng)做一個總體的認(rèn)識。(1

34、) 表現(xiàn)層包括設(shè)置查看選項(xiàng)頁面,樹形圖查看頁面,傘形圖查看頁面,崗位信息查看頁面,人員信息查看頁面以及公司詳細(xì)信息查看頁面,一般由window窗體實(shí)現(xiàn)。(2) 業(yè)務(wù)層是對表現(xiàn)層傳過來的數(shù)據(jù)進(jìn)行操作,提供整個系統(tǒng)業(yè)務(wù)方法,并對數(shù)據(jù)進(jìn)行驗(yàn)證,通過在action類中創(chuàng)建對象來調(diào)用它類中的方法,在業(yè)務(wù)層的方法中返回查詢條件給dao類數(shù)據(jù)持久層。經(jīng)過處理的數(shù)據(jù)會放在一個po類中,然后經(jīng)過在dao類里面調(diào)用方法把po類轉(zhuǎn)換為vo類。之后再把數(shù)據(jù)返回給業(yè)務(wù)層,通過在action類中創(chuàng)建封裝好的service類的對象來調(diào)用它類中的方法把數(shù)據(jù)存入formbean中,最后通過action中formbean的實(shí)例把

35、數(shù)據(jù)返回給jsp頁面。(3) 數(shù)據(jù)持久層是系統(tǒng)的最底層,它存儲系統(tǒng)的所有數(shù)據(jù),并且實(shí)現(xiàn)數(shù)據(jù)庫里面數(shù)據(jù)的查詢,因此數(shù)據(jù)庫的設(shè)計(jì)應(yīng)符合數(shù)據(jù)庫的理論。本系統(tǒng)嚴(yán)格按照上述思想設(shè)計(jì)了以上幾個部分。第4章 系統(tǒng)的詳細(xì)設(shè)計(jì)及代碼實(shí)現(xiàn)本章主要介紹系統(tǒng)的設(shè)計(jì)過程以及代碼的實(shí)現(xiàn)。首先介紹開發(fā)本系統(tǒng)用到的表現(xiàn)層文件,業(yè)務(wù)層文件和數(shù)據(jù)持久層文件,并詳細(xì)說明這些文件的作用,然后再介紹該系統(tǒng)功能的實(shí)現(xiàn)。4.1 類圖由于本系統(tǒng)是用基于struts的mvc框架來做的,所以首先要根據(jù)前面的系統(tǒng)分析來做一下系統(tǒng)的詳細(xì)設(shè)計(jì),得出該系統(tǒng)中用到的表現(xiàn)層、業(yè)務(wù)層和數(shù)據(jù)持久層的java類以及它們要實(shí)現(xiàn)的功能,本節(jié)會介紹一下系統(tǒng)中將會用到的

36、java類以及各類的作用。4.1.1 表現(xiàn)層由于該系統(tǒng)是在瀏覽器下查看的,所以決定用jsp頁面實(shí)現(xiàn)客戶端查看功能。下面介紹一下系統(tǒng)中用到的表現(xiàn)層的文件。(1) jsp文件系統(tǒng)中用到的jsp文件如圖4-1所示。圖4-1 表現(xiàn)層類圖tree_test.jsp:顯示樹形圖展示組織結(jié)構(gòu)的頁面,頁面上的操作按鈕包括“崗位信息查詢(圖標(biāo))”“人員信息查詢(圖標(biāo))”“設(shè)置查看選項(xiàng)”“組織單元詳細(xì)信息查詢(標(biāo)簽)”。station.jsp:顯示崗位信息的頁面,頁面上的操作按鈕包括“包含崗位查詢”。unitinfo.jsp:顯示組織單元詳細(xì)信息的頁面。(2) action和formbean文件系統(tǒng)中用到的act

37、ion和formbean文件如圖4-2所示。圖4-2 業(yè)務(wù)邏輯處理圖orgunitaction類中方法的說明:listtest_tree():以樹形顯示組織單元,在這個方法中要先通過創(chuàng)建集成好的funcvo 類的對象調(diào)用getfunccode()方法獲得功能代碼,然后在formbean中設(shè)置功能代碼這個屬性,最后在jsp中通過和 標(biāo)簽來顯示出樹形結(jié)構(gòu)。viewstation():獲得組織單元所包含的崗位列表,form中的屬性需要包括orgunitvo類的一個對象,然后在spring中配置一下業(yè)務(wù)層文件,通過使用getbean(orgunitcommonservice)語句來創(chuàng)建系統(tǒng)中集成好的o

38、rgunitcommonservice類的對象,通過對象調(diào)用方法實(shí)現(xiàn)查詢崗位信息的功能。viewinfo():該方法主要是獲得組織單元基本信息,form中的屬性需要包括orgunitvo類的一個對象,然后在spring配置文件中配置一下業(yè)務(wù)層類用到的java類文件,通過使用父類中已經(jīng)定義好的getbean(orgunitcommonservice)語句來創(chuàng)建系統(tǒng)中集成好的orgunitcommonservice類的對象,通過對象調(diào)用方法實(shí)現(xiàn)查詢組織單元詳細(xì)信息的功能。 4.1.2 業(yè)務(wù)層由于該系統(tǒng)中只用到了查詢功能,所以在業(yè)務(wù)層沒有驗(yàn)證功能,只需要創(chuàng)建數(shù)據(jù)層的對象,然后調(diào)用方法即可。下面介紹一

39、下系統(tǒng)中用到的業(yè)務(wù)層文件。(1) service業(yè)務(wù)層接口和接口的實(shí)現(xiàn)系統(tǒng)中用到的業(yè)務(wù)層文件如圖4-3所示。圖4-3 業(yè)務(wù)層類圖用到的方法說明:getorgunitbaseinfo(string code):獲取組織單元的基本信息。通過一個dao的對象調(diào)用dao里面的getorgunitbaseinfo()方法,把po轉(zhuǎn)換成vo并返回,再通過service的實(shí)例傳給action。根據(jù)code取得組織單元的基本信息。該方法返回一個orgunitvo類的對象,拋出baseexception異常。listallunit():返回組織單元的一個列表。通過dao的對象調(diào)用dao里面的listalluni

40、t()方法,返回一個組織單元的列表。getorgunitbaseinfobyoid():獲取組織單元基本信息里面的oid。setorgunitdao():設(shè)置組織單元的dao。(2) vo類系統(tǒng)中用到的vo類如圖4-4所示。圖4-4 vo類圖level:組織單元的級別。addon:附加信息status:狀態(tài)unitoid:組織單元號code:組織單元編號hiberarchyid:維度系統(tǒng)編號4.1.3 數(shù)據(jù)持久層下面介紹一下與數(shù)據(jù)持久層相關(guān)的類文件。(1) dao類系統(tǒng)中用到的dao類如圖4-5所示。圖4-5 數(shù)據(jù)類圖方法說明如下:convertovo():把po轉(zhuǎn)換為vo,參數(shù)是unitpo

41、的對象,返回組織單元信息。 getorgunitbaseinfo():根據(jù)code取得組織單元的基本信息,該方法返回一個orgunitvo類的對象,拋出systemexception異常。listallunit(unitid,hiberarchyid):取得組織單元在指定維度下的匯報關(guān)系,返回一個由po組成的list,拋出systemexception異常。(2) po類 系統(tǒng)中用到的po類如圖4-6所示。圖4-6 po類圖unitoid:組織單元號code:組織單元編號hiberarchyid:維度系統(tǒng)編號addon:附加信息status:狀態(tài)remark:備注level:組織單元的級別4.

42、2 代碼實(shí)現(xiàn)本小節(jié)中對系統(tǒng)中用到的關(guān)鍵代碼進(jìn)行介紹。4.2.1 樹形圖展示的實(shí)現(xiàn)樹形圖展示的實(shí)現(xiàn)主要分如下兩步:第一,先在配置文件talentbase.tld中的配置一個listtree標(biāo)簽,然后再jsp頁面中引用這個標(biāo)簽來展示樹形圖,在展示這個圖形的時候jsp頁面的代碼是很少的,關(guān)鍵是標(biāo)簽的代碼,在標(biāo)簽的四個java文件中的playbytree()類中用一個render()方法來具體實(shí)現(xiàn),具體在配置文件中的配置如下: listtree /這個名字是標(biāo)簽的名字,在頁面中可以引用 tag.orgunittreetag /這

43、個是這個標(biāo)簽所在的路徑。 fromunitid false /這個屬性是設(shè)置單元框的id,可以通過該id來查詢信息 hiberarchyid false /這個屬性是維度的id,通過這個id可以按照不同的維度顯示出不同的組織單元 第二,在標(biāo)簽中用render()方法實(shí)現(xiàn)。這個方法中首先要定義一個表,確定樹形圖顯示的位置,然后通過判斷用定義好的圖把圖形顯示出來。private void render ( stringbuffer buffer, structurechartnode treenode, boolean last, boolean first ) buffer.append ();

44、 buffer.append (); /下面是圖形的形成過程,先通過判斷再顯示圖片。 buffer.append (img src=).append (contextpath);/先判斷是不是最后一個圖片,然后再判斷,如果是打開的話顯示lastopenbranchimg這個圖片,如果是關(guān)閉的話顯示lastclosebranchimg這個圖片。 if (last) if ( if open(string.valueof(treenode.getunitid() buffer.append (lastopenbranchimg); else buffer.append (lastclosebran

45、chimg); /不是最后一個圖片的話按照下面的方法顯示。 else if (if open (string.value of (treenode.get unitid() buffer.append (openbranchimg); else buffer.append (closebranchimg); 4.2.2 數(shù)據(jù)庫實(shí)現(xiàn)和配置文件介紹本系統(tǒng)用的是遠(yuǎn)程連接數(shù)據(jù)庫,所以首先應(yīng)在datasource.xml配置文件中與數(shù)據(jù)庫建立連接,在此配置文件中要定義數(shù)據(jù)庫的名字和要連接數(shù)據(jù)庫的地址,還要配置一下用戶名和密碼,具體實(shí)現(xiàn)如下: oracle /說明用到的數(shù)據(jù)庫不得類型 oracle.jdb

46、c.driver.oracledriver /配置一下oracle數(shù)據(jù)庫的驅(qū)動器 jdbc:oracle:thin:00:1521:oradb /說明數(shù)據(jù)庫的用戶名和密碼 tb_group5 tb_group5 下面舉個例子來說明數(shù)據(jù)庫中的表是怎樣與數(shù)據(jù)庫進(jìn)行映射的,并說明一下數(shù)據(jù)庫中的表是怎樣映射到j(luò)ava類中的。如崗位表tb_org_job和它對應(yīng)的hibernate映射文件jobpo.hbm.xml表tb_org_job結(jié)構(gòu)如圖4-7所示。圖4-7 崗位表結(jié)構(gòu)圖對應(yīng)的映射文件中要先定義表的名字,然后再對表中的列進(jìn)行定義,對每一列進(jìn)行命名,以方便在po和vo 中使用,關(guān)鍵代碼如下:/說明與jobpo類對應(yīng)的表tb_org_job,以便用po來存儲數(shù)據(jù)操作的結(jié)果/定義表中的一列為id,并另外命名為oid,在影射文件jobpo.hbm.xml中應(yīng)有該屬性的定義為了把數(shù)據(jù)層和業(yè)務(wù)層分開,系統(tǒng)中定義了一個vo類來實(shí)現(xiàn)這個功能,dao類中又把po類轉(zhuǎn)換為vo類的方法的實(shí)現(xiàn),具體做

溫馨提示

  • 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

提交評論