




已閱讀5頁,還剩26頁未讀, 繼續(xù)免費閱讀
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
河南大學2007屆本科畢業(yè)論文組織結構圖的設計與實現(xiàn)design and realization of organization structure drawing論文作者姓名:紀輝輝 所在學院:計算機與信息工程學院 所學專業(yè):計算機科學與技術 導師姓名職稱:于靜洋(講師) 論文完成時間:2007年5月20日 2007年5月20日 河南大學2007屆畢業(yè)論文(設計、創(chuàng)作)開題報告(由學生本人認真填寫)學號03023243姓名紀輝輝導師姓名職稱于靜洋(講師)開題時間2006年12月1日課題題目組織結構圖的設計與實現(xiàn)課題來源導師指定 自定 其他來源課題的目的、意義以及和本課題有關的國內外現(xiàn)狀分析:1、課題研究的目的及意義目前的“慧鼎”人力資源管理系統(tǒng)中只提供了組織單元信息以及隸屬關系的維護功能,而越來越多的客戶要求提供可以展示組織結構圖的功能,所以開發(fā)該子系統(tǒng)的目的和意義就是為了滿足客戶需求,使其能更方便的使用“慧鼎”人力資源管理系統(tǒng)。2、與本課題有關的國內外現(xiàn)狀分析 隨著計算機技術、互聯(lián)網(wǎng)的發(fā)展和高級管理學的推動,許多大公司都在使用人力資源管理系統(tǒng)來管理自己的業(yè)務,而本子系統(tǒng)將會為人力資源管理提供一個更為方便的方式。研究目標、研究內容和準備解決的問題:1、研究目標為目前系統(tǒng)的組織管理模塊提供展示組織結構圖的功能。2、研究內容根據(jù)需求分析實現(xiàn)已有系統(tǒng)要展示組織結構圖的功能。3、準備解決的問題本子系統(tǒng)主要是為了把已經(jīng)維護好了的組織單元隸屬關系用圖形的方式展示出來,所以要解決的主要問題是實現(xiàn)樹形圖和傘形圖的展示功能。擬采取的方法、技術或設計(開發(fā))工具:本系統(tǒng)將在eclipse環(huán)境下開發(fā),使用的語言是java語言,數(shù)據(jù)庫是oracle數(shù)據(jù)庫。預期成果:1、畢業(yè)設計成果 組織結構圖2、畢業(yè)論文進度計劃:2006.12.1 - 2007.2.10:查找資料、搜集相關素材2007.2.11 - 2007.3.20:jsp頁面部分的實現(xiàn)2007.3.21 - 2007.4.30:圖形展示功能的實現(xiàn)2007.5.1 - 2007.5.20:整理資料、撰寫畢業(yè)論文2007.5.20 - 2007.5.25:根據(jù)導師要求,完善畢業(yè)設計和論文指導教師對選題報告的意見: 該生選題符合要求,進度計劃安排合理,同意開題。 指導教師簽名: 2006年12月1日開題報告ii河南大學2007屆畢業(yè)論文(設計、創(chuàng)作)任務書(由學生本人認真填寫)學號03023243姓名紀輝輝導師姓名于靜洋任務書起止日期2006年12月8日 至 2007年5月20日論文提要:論文將首先介紹開發(fā)該子系統(tǒng)用到的關鍵技術,然后介紹系統(tǒng)的功能分析和設計,最后將會詳細說明該系統(tǒng)的功能實現(xiàn)過程。課題任務要求:該子系統(tǒng)主要是為了讓用戶方便的了解組織單元的結構,故而將要實現(xiàn)的主要功能如下:1、設置組織結構圖查看選項;2、以圖形方式顯示當前組織單元的隸屬關系;3、顯示當前組織單元的崗位信息和人員信息。主要參考文獻:1 廖衛(wèi)東等著,java程序設計實用指南,北京機械工業(yè)出版社,1996年10月2 karl avedal著,jsp編程指南,電子工業(yè)出版社,2001年3 梁立新著,基于 struts-spring-hibernate 的 java 應用開發(fā),電子工業(yè)出版社,2006年4 孫衛(wèi)琴著, 精通struts:基于mvc的java web設計與開發(fā), 電子工業(yè)出版社, 2004年5 高昂等著, 基于hibernate與struts框架的數(shù)據(jù)持久化應用研究,2005年6 deitel著,java大學基礎教程(第六版)(英文版),電子工業(yè)出版社,2005年9月河南大學2007屆畢業(yè)設計(論文、創(chuàng)作)中期檢查表學院名稱:計算機與信息工程學院題目名稱組織結構圖的設計與實現(xiàn)學號03023243所學專業(yè)計算機科學與技術指導教師姓 名于靜洋姓名紀輝輝一、畢業(yè)設計進展情況到目前為止,關于畢業(yè)設計的資料搜集完畢,jsp頁面上的隱藏查詢等功能已經(jīng)實現(xiàn),struts框架已經(jīng)建好,通過hebernate和spring的配置文件可以連接到數(shù)據(jù)庫,但是樹形圖和傘形圖的展示功能還沒有實現(xiàn)。二、存在問題在使用樹形圖和傘形圖展示組織單元隸屬關系時,不能按照設定好的維度來展示。三、下一階段的研究方法或設計思路下一階段的主要任務是實現(xiàn)維度的選擇功能,我的實現(xiàn)思路是把從數(shù)據(jù)庫中查詢到的組織單元用唯一的id來標示,各個維度也用唯一的code標示,并與組織單元的id建立映射關系,最后在jsp頁面中用圖形展示出來,研究方法是先在jsp中寫javascript代碼,再做一些自定義的標簽,這些標簽的作用是實現(xiàn)按照維度展示組織單元的功能。四、指導教師對學生設計(論文、創(chuàng)作)進展等方面的評語 該生基本按照預定計劃進行,目前已完成部分功能。 指導教師簽字: 2007年4月10日 此表除第四項外由學生填寫指導教師簽名河南大學2007屆畢業(yè)論文(設計、創(chuàng)作)綜合成績表(一)學院名稱:計算機與信息工程學院學 號03023243姓名紀輝輝專業(yè)計算機科學與技術指導教師于靜洋(講師)綜合得分85論文題目組織結構圖的設計與實現(xiàn)指導教師評語及得分指導教師評語該生畢業(yè)設計符合要求,論文論點突出,語句流暢,達到了本科畢業(yè)設計和論文的要求。評分項目分值指導教師對畢業(yè)論文(設計、創(chuàng)作)評分撰寫開題報告、文獻綜述15調查研究查閱整理資料10學習態(tài)度與規(guī)范要求10數(shù)據(jù)處理、文字表達10論文(設計、創(chuàng)作)質量和創(chuàng)新意識55合計100得分128885086指導教師簽名 2007年5月20日評閱教師評語及評分評閱教師評語該生設計與實際工作緊密聯(lián)系。論文邏輯性較強,論點明確,語句通順,分析合理,符合本科論文要求。評分項目分值評閱畢業(yè)論文(設計、創(chuàng)作)評分撰寫開題報告、文獻綜述15調查研究查閱整理資料10學習態(tài)度與規(guī)范要求10數(shù)據(jù)處理、文字表達10論文(設計、創(chuàng)作)質量和創(chuàng)新意識55合計100得分1188850 85評閱教師簽名 2007年5月22日此表由教師填寫河南大學2007屆畢業(yè)論文(設計、創(chuàng)作)綜合成績表(二)學號03023243姓名紀輝輝所在學院計算機與信息工程學院答辯委員會評語及評分答辯委員會評語 該生論文答辯過程中,敘述條理清晰,回答問題正確,達到本科畢業(yè)水平。答辯委員簽字: 2007年5月26日評分 項目 分值論文答辯小組評分答辯情況論文質量合計(100)內容表達情況(15)答辯問題情況(25)規(guī)范要求與文字表達(20)論文(設計、創(chuàng)作)質量和創(chuàng)新意識(40)得分1220183585答辯委員會主任簽字: 2007年5月26日畢業(yè)論文(設計、創(chuàng)作)成績綜合評定: 85 分綜合評定等級: 良備注:一、論文的質量評定,應包括對論文的語言表達、結構層次、邏輯性理論分析、設計計算、分析和概括能力及在論文中是否有新的見解或創(chuàng)新性成果等做出評價。從論文來看學生掌握本專業(yè)基礎理論和基本技能的程度。二、成績評定采用結構評分法,即由指導教師、評閱教師和答辯委員會分別給分(以百分計),評閱教師得分乘以20%加上指導教師得分乘以20%加上答辯委員會得分乘以60%即綜合成績。評估等級按優(yōu)、良、中、差劃分,優(yōu)90-100分;良76-89分;中60-75分;差60分以下。三、評分由專業(yè)教研室或院組織專門評分小組(不少于5人),根據(jù)指導教師和答辯委員會意見決定每個學生的分數(shù),在有爭議時,應由答辯委員會進行表決。四、畢業(yè)論文答辯工作結束后,各院應于6月20日前向教務處推薦優(yōu)秀論文以匯編成冊,推薦的篇數(shù)為按當年學院畢業(yè)生人數(shù)的1.5%篇。五、各院亦可根據(jù)本專業(yè)的不同情況,制定相應的具有自己特色的內容。須報教務處備案。六、書寫格式要求:1、目錄;2、內容提要須書寫200左右漢字,開題報告(文科除外)的內容要根據(jù)不同專業(yè)的課題任務要求,闡述查閱文獻、文案論證、解題思路、工作步驟等;3、正文(含引言、結論等);4、參考文獻(或資料)河南大學本科生畢業(yè)論文(設計、創(chuàng)作)承諾書論文題目組織結構圖的設計與實現(xiàn)姓 名紀輝輝所學專業(yè)計算機科學與技術學 號03023243完成時間.2007年5 月20日指導教師姓名職稱于靜洋(講師)承諾內容:1、本畢業(yè)論文(設計、創(chuàng)作)是學生 紀輝輝 在導師 于靜洋 的指導下獨立完成的,沒有抄襲、剽竊他人成果,沒有請人代做,若在畢業(yè)論文(設計、創(chuàng)作)的各種檢查、評比中被發(fā)現(xiàn)有以上行為,愿按學校有關規(guī)定接受處理,并承擔相應的法律責任。2、學校有權保留并向上級有關部門送交本畢業(yè)論文(設計、創(chuàng)作)的復印件和磁盤。備注: 由于我的源代碼涉及到公司機密,故不能把代碼帶回學校。學生簽名: 指導教師簽名: 2007年5月20日 2007年5月20日說明:學生畢業(yè)論文(設計、創(chuàng)作)如有保密等要求,請在備注中明確,承諾內容第2條即以備注為準。目 錄摘 要iabstractii第1章 緒論11.1 背景知識介紹11.2 系統(tǒng)概述1第2章 軟件的架構及開發(fā)工具的選擇22.1 軟件架構選擇22.2 數(shù)據(jù)庫系統(tǒng)的選擇22.3 開發(fā)技術及開發(fā)工具32.3.1 struts技術簡介32.3.2 hibernate技術簡介4第3章 系統(tǒng)分析及總體設計53.1 系統(tǒng)需求分析53.2 系統(tǒng)功能分析63.2.1 系統(tǒng)功能63.2.2 系統(tǒng)結構73.3 系統(tǒng)總體設計方案7第4章 系統(tǒng)的詳細設計及代碼實現(xiàn)94.1 類圖94.1.1 表現(xiàn)層94.1.2 業(yè)務層114.1.3 數(shù)據(jù)持久層124.2 代碼實現(xiàn)134.2.1 樹形圖展示的實現(xiàn)134.2.2 數(shù)據(jù)庫實現(xiàn)和配置文件介紹154.3 用戶界面介紹174.3.1 樹形圖界面174.3.2 崗位查詢界面18結 論19參考文獻20河南大學本科畢業(yè)生學士學位論文摘 要隨著計算機技術、互聯(lián)網(wǎng)和高級管理學的推動,人力資源管理電子化(e-hr)時代到來了。目前的人力資源管理系統(tǒng)中只是提供了組織單元信息以及隸屬關系的維護功能,而越來越多的客戶要求提供可以展示組織結構圖的功能,因此實現(xiàn)組織結構的圖形展示成為一個迫在眉睫的工作。本文中描述的組織結構圖將組織單元的隸屬關系用圖形方式展現(xiàn)出來,以便用戶能更好的了解組織單元中各部分之間的層次關系。主要功能有設置組織結構圖查看選項,顯示組織單元的詳細信息,以樹形或傘形顯示當前組織結構,顯示當前組織單元的崗位和人員信息等。該系統(tǒng)采用b/s設計模式,是在j2ee平臺上開發(fā)的,使用java語言編寫,并使用oracle9i存儲數(shù)據(jù)。關鍵詞 組織單元,崗位管理,人員管理,jsp,oracleabstractalong with the impetus of computer technology, the internet development and the high-level management study, e-hr (human resources management 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.this 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 unit 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.keywords organization unit, station management, human management, jsp, oracle第 20 頁第1章 緒論組織結構圖展示是人力資源管理系統(tǒng)的功能之一。本章主要介紹組織結構圖的背景知識,使讀者對組織結構圖有個總體的了解。1.1 背景知識介紹隨著計算機技術、互聯(lián)網(wǎng)和高級管理學的推動,人力資源管理電子化(e-hr)時代到來了?!癳-hr”是一個賦予了嶄新意義的概念,是一種以電子商務、互聯(lián)網(wǎng)為基礎,以客戶為導向,使人力資源業(yè)務流程優(yōu)化、人力資源管理全面化的新型人力資源管理模式。目前的人力資源管理系統(tǒng)中只是提供了組織單元信息以及隸屬關系的維護功能,而越來越多的客戶要求提供可以展示組織結構圖的功能,因此實現(xiàn)組織結構的圖形展示成為一個迫在眉睫的工作。總之,組織結構圖子系統(tǒng)是一種以網(wǎng)絡化為基礎的系統(tǒng),是現(xiàn)代人力資源綜合解決方案的一部分,它的開發(fā)將會使人力資源管理更為方便快捷。在此環(huán)境下,身處校園里的同學們也很有必要對組織結構圖的實現(xiàn)過程有一個大致的了解。該系統(tǒng)即針對此目的開發(fā)出來的。1.2 系統(tǒng)概述e-hr包括核心的人力資源管理業(yè)務如:組織機構管理、人員配置管理、招聘管理、培訓考核管理、福利管理、時間管理、績效管理、薪酬管理等。e-hr的使用者,除了一般的hr從業(yè)者外,普通員工、經(jīng)理及總裁都將與e-hr的基礎平臺發(fā)生相應權限的互動關系。本系統(tǒng)會提供一個更為方便的方式來管理人力資源。本系統(tǒng)主要是為組織管理模塊提供展示組織結構圖的功能,把系統(tǒng)中已經(jīng)維護好了的組織單元隸屬關系用圖形的方式展示出來,并且提供結構圖的輸出功能,方便用戶了解組織單元的構成。第2章 軟件的架構及開發(fā)工具的選擇好的軟件架構和開發(fā)工具能使系統(tǒng)的開發(fā)簡單化。本章主要介紹開發(fā)工具的選擇,數(shù)據(jù)庫的選擇以及用到的關鍵技術。2.1 軟件架構選擇根據(jù)系統(tǒng)需求分析,結合目前網(wǎng)絡的特點,決定采用基于b/s(browser/service)的三層設計模式。本系統(tǒng)采用java 2 platform enterprise edition(j2ee)架構,包括數(shù)據(jù)庫層、應用服務器層及客戶層。基于b/s體系結構,所有的操作都在瀏覽器中進行,業(yè)務操作客戶端將借助瀏覽器訪問服務器端的資源。中間業(yè)務邏輯層包含了大量的供客戶端程序調用的業(yè)務邏輯規(guī)則,以幫助其完成業(yè)務操作。它的優(yōu)點就在于它所具有的可伸縮性,可使其隨具體業(yè)務的變化而改變,但在客戶層和數(shù)據(jù)服務層所做的改動較小,適合于快速開發(fā)。數(shù)據(jù)服務層主要由中間業(yè)務層來調用并完成業(yè)務邏輯,當數(shù)據(jù)庫的結構確定后,對于它的改動也就比較小了。數(shù)據(jù)服務器作為數(shù)據(jù)處理的焦點,便于對數(shù)據(jù)的集中管理;充分利用服務器的系統(tǒng)資源;降低了對客戶機的要求。2.2 數(shù)據(jù)庫系統(tǒng)的選擇由于本次程序設計是基于internet的b/s網(wǎng)絡數(shù)據(jù)庫應用模式,所以選擇數(shù)據(jù)庫平臺時考慮的因素就要以能夠更好的滿足b/s模式的需求為前提,主要應該考慮以下幾點:1性能:反應時間和吞吐量;2查詢優(yōu)化:提高系統(tǒng)處理能力和降低網(wǎng)絡流量;3事務處理:保證數(shù)據(jù)的完整性和一致性,可恢復性;4聯(lián)機備份和恢復:保證系統(tǒng)的可靠性、完整性和可恢復性。并且隨著internet的發(fā)展,對數(shù)據(jù)庫平臺也有了新的要求,如對internet標準的支持、應能通過web對數(shù)據(jù)進行訪問、較高的易用性和較低的擁有成本以及相對簡單的開發(fā)和管理等。oracle9i是一個可移植的數(shù)據(jù)庫它在相關的每一個平臺上都可以使用,它專門為分布式客戶服務器計算環(huán)境而設計。它的可靠的聯(lián)機備份功能、高可用性、安全性、強大的管理工具和開放的體系結構為信息管理系統(tǒng)提供了一個很好的平臺。由于oracle9i具有上述特點,因此我們選擇它作為基于internet和數(shù)據(jù)庫的組織結構圖展示的數(shù)據(jù)庫平臺。2.3 開發(fā)技術及開發(fā)工具該系統(tǒng)主要是在struts框架下開發(fā)的,本節(jié)對該系統(tǒng)用到的struts技術和hibernate技術做一個簡單介紹。2.3.1 struts技術簡介struts是一個基于j2ee平臺的mvc框架,主要是采用servlet和jsp(java server page)技術來實現(xiàn)的。struts把servlet、jsp、自定義標簽和信息資源整合到一個統(tǒng)一的框架中,開發(fā)人員利用其進行開發(fā)時不用再自己編碼實現(xiàn)全套mvc模式,極大的節(jié)省了時間,所以說struts是一個非常不錯的應用框架。struts框架可分為以下四個主要部分,其中三個就和mvc模式緊密相關:(1)模型(model),本質上來說在struts中model是一個action類,開發(fā)者通過其實現(xiàn)商業(yè)邏輯,同時用戶請求通過控制器(controller)向action的轉發(fā)過程是基于由struts-config.xml文件描述的配置信息的。(2)視圖(view),view是由與控制器servlet配合工作的一整套jsp定制標簽庫構成,利用它們我們可以快速建立應用系統(tǒng)的界面。(3)控制器(controller),本質上是一個servlet,將客戶端請求轉發(fā)到相應的action類。(4)用來做xml文件解析的工具包,struts是用xml來描述如何自動產(chǎn)生一些javabean的屬性的,此外struts還利用xml來描述在國際化應用中的用戶提示信息(實現(xiàn)了應用系統(tǒng)的多語言支持)。mvc是一種設計模式,它強制性的把應用程序的輸入、處理和輸出分開。mvc模式把應用程序分成三個核心模塊:模型、視圖和控制器,它們分別承擔不同的任務。用戶通過視圖向控制器發(fā)請求,控制器接受請求并進行業(yè)務處理,這三個模塊各自的功能以及它們之間的關系如圖2-1所示。圖2-1 mvc模式功能圖2.3.2 hibernate技術簡介hibernate的工作原理是通過文件把值對象和數(shù)據(jù)庫表之間建立起一個映射關系,這樣,我們只需要通過操作這些值對象和hibernate提供的一些基本類,就可以達到使用數(shù)據(jù)庫的目的。例如,使用hibernate的查詢,可以直接返回包含某個值對象的列表(list),而不必像傳統(tǒng)的jdbc(java數(shù)據(jù)庫連接)訪問方式一樣把結果集的數(shù)據(jù)逐個裝載到一個值對象中,為我們的編碼工作節(jié)省了大量的時間。hibernate是java應用和關系數(shù)據(jù)庫之間的橋梁,它負責java對象和關系數(shù)據(jù)庫之間的映射。hibernate內部封裝了通過jdbc訪問數(shù)據(jù)庫的操作,向上層應用提供了面向對象的數(shù)據(jù)訪問api(應用編程接口).在基于mvc設計模式的java web應用中,hibernate可以作為應用的數(shù)據(jù)訪問層或持久層。第3章 系統(tǒng)分析及總體設計目前“慧鼎”人力資源管理系統(tǒng)中只提供了組織單元隸屬關系的維護功能,并沒有把組織單元層次結構用圖形方式展現(xiàn)出來,而客戶要求提供這個功能,因此,應客戶的要求,該子系統(tǒng)將對這一功能進行設計和實現(xiàn)。本章首先對該子系統(tǒng)的需求進行分析,然后通過功能分析得到該系統(tǒng)的結構和設計方案。3.1 系統(tǒng)需求分析下面對系統(tǒng)的目標、要求、用戶以及運行環(huán)境做一下描述。(1) 系統(tǒng)目標本系統(tǒng)的目標是給用戶提供可以展示組織結構圖的功能,主要是把系統(tǒng)中已經(jīng)維護好了的組織單元隸屬關系用圖形的方式展示出來。(2) 系統(tǒng)用戶該系統(tǒng)的用戶主要是人力資源系統(tǒng)的使用者,在使用該系統(tǒng)的過程中,用戶可以根據(jù)自己的喜好來設置顏色以及查看的維度。(3) 系統(tǒng)要求a. 質量和性能規(guī)定可用性要求風格統(tǒng)一,便于用戶操作。性能要求可以同時顯示至少100個組織單元,顯示的時間為2秒以內。b. 安全性要求使用權限的約束,目的是為了讓有權限的操作人員進行相關功能的操作,增加系統(tǒng)的安全性。c. 數(shù)據(jù)管理數(shù)據(jù)庫至少支持oracle和sql server以及db2,使用通用的sql語句。語言采用以java為主。要求數(shù)據(jù)庫管理系統(tǒng)具有數(shù)據(jù)一致性,安全性,數(shù)據(jù)導入、導出等的服務功能。d. 輸入輸出盡量讓用戶的輸入量將至最低,在必須輸入時,應做到輸入方法簡單、迅速和方便用戶。輸出的內容應和用戶的操作同步并且要簡潔得體。(4) 運行環(huán)境規(guī)定a. 硬件服務器:cpu:3.0g以上;內存:1gb以上;硬盤:40g以上。客戶端:cpu:c3(r)866mhz以上;內存:128mb以上;硬盤:20g以上;以太網(wǎng)卡。b. 軟件服務器:tomcat5.0/websphere/weblogic 服務器。客戶端:microsoft windows me/xp/2000 ;linux ;unix。數(shù)據(jù)庫平臺:oracle 9i;microsoft sql server 2000;db2。網(wǎng)絡協(xié)議:http協(xié)議。3.2 系統(tǒng)功能分析本小節(jié)首先對該子系統(tǒng)將要實現(xiàn)的功能進行分析,然后說明一下系統(tǒng)結構。3.2.1 系統(tǒng)功能組織結構圖子系統(tǒng)將要實現(xiàn)的功能分析如下:組織結構圖主要是以圖形的方式展示上級與下級組織單元的關系,使得組織單元隸屬關系按照設定的方式進行顯示,設置顯示的內容包括:1.設置顯示樣式;2.設置顯示維度;3.設置組織單元框顏色。該系統(tǒng)主要是讓用戶方便的了解組織單元的結構,下面對系統(tǒng)的功能做一下詳細介紹。(1) 設置組織結構圖查看選項:設置組織結構圖的查看方式;查看維度,顯示圖形的根節(jié)點;設置查看框圖的顏色。(2) 顯示組織單元的詳細信息:當展示樹形或傘形結構圖時,使用者可以查看組織單元的詳細信息。(3) 以樹形圖顯示當前組織結構。(4) 以傘形圖顯示當前組織結構。(5) 顯示當前組織單元的崗位信息:用隱藏的查詢頁面查詢想要的崗信息。(6) 顯示當前組織單元的人員信息:用隱藏的查詢頁面查詢想要的人員信息。3.2.2 系統(tǒng)結構本子系統(tǒng)是把組織單元的隸屬關系用圖形方式展現(xiàn)出來,它的結構是用戶登錄到主頁面,然后打開設置查看選項頁面,用戶可以在這個頁面中設置用樹形圖或者傘形圖方式來展示組織單元的層次結構,并且可以為不同的組織單元類型設置不同的顯示顏色,客戶通過點擊樹形圖和傘形圖上面的小圖標可以查看崗位信息、人員信息和公司詳細信息,在顯示崗位信息和人員信息的頁面上有隱藏的框圖,在這里用戶可以查詢想要的信息。系統(tǒng)的層次結構如圖3-1所示。圖3-1 系統(tǒng)結構層次圖3.3 系統(tǒng)總體設計方案要想開發(fā)出一個好的系統(tǒng),就必須要對系統(tǒng)的需求有一個明確的認識,然后做出一個總體的設計方案,最后按照設計方案進行開發(fā)。本節(jié)主要介紹該子系統(tǒng)的總體設計方案。軟件系統(tǒng)是實施整個系統(tǒng)各項功能于目標的中心環(huán)節(jié),軟件系統(tǒng)的設計與實施是系統(tǒng)建設的重點與關鍵所在。軟件系統(tǒng)總體設計的主要任務是根據(jù)系統(tǒng)的總體目標和功能將整個系統(tǒng)合理劃分若干個功能模塊,得出系統(tǒng)的流程圖及正確地處理模塊之間的調用關系和數(shù)據(jù)關系,定義各個模塊的內部結構等等。因此系統(tǒng)總體結構設計顯得尤其重要。本系統(tǒng)在整體上可以劃分數(shù)據(jù)持久層,表現(xiàn)層和業(yè)務層三個部分,現(xiàn)將各個部分作具體描述,以便對組織結構圖的設計與實現(xiàn)系統(tǒng)做一個總體的認識。(1) 表現(xiàn)層包括設置查看選項頁面,樹形圖查看頁面,傘形圖查看頁面,崗位信息查看頁面,人員信息查看頁面以及公司詳細信息查看頁面,一般由window窗體實現(xiàn)。(2) 業(yè)務層是對表現(xiàn)層傳過來的數(shù)據(jù)進行操作,提供整個系統(tǒng)業(yè)務方法,并對數(shù)據(jù)進行驗證,通過在action類中創(chuàng)建對象來調用它類中的方法,在業(yè)務層的方法中返回查詢條件給dao類數(shù)據(jù)持久層。經(jīng)過處理的數(shù)據(jù)會放在一個po類中,然后經(jīng)過在dao類里面調用方法把po類轉換為vo類。之后再把數(shù)據(jù)返回給業(yè)務層,通過在action類中創(chuàng)建封裝好的service類的對象來調用它類中的方法把數(shù)據(jù)存入formbean中,最后通過action中formbean的實例把數(shù)據(jù)返回給jsp頁面。(3) 數(shù)據(jù)持久層是系統(tǒng)的最底層,它存儲系統(tǒng)的所有數(shù)據(jù),并且實現(xiàn)數(shù)據(jù)庫里面數(shù)據(jù)的查詢,因此數(shù)據(jù)庫的設計應符合數(shù)據(jù)庫的理論。本系統(tǒng)嚴格按照上述思想設計了以上幾個部分。第4章 系統(tǒng)的詳細設計及代碼實現(xiàn)本章主要介紹系統(tǒng)的設計過程以及代碼的實現(xiàn)。首先介紹開發(fā)本系統(tǒng)用到的表現(xiàn)層文件,業(yè)務層文件和數(shù)據(jù)持久層文件,并詳細說明這些文件的作用,然后再介紹該系統(tǒng)功能的實現(xiàn)。4.1 類圖由于本系統(tǒng)是用基于struts的mvc框架來做的,所以首先要根據(jù)前面的系統(tǒng)分析來做一下系統(tǒng)的詳細設計,得出該系統(tǒng)中用到的表現(xiàn)層、業(yè)務層和數(shù)據(jù)持久層的java類以及它們要實現(xiàn)的功能,本節(jié)會介紹一下系統(tǒng)中將會用到的java類以及各類的作用。4.1.1 表現(xiàn)層由于該系統(tǒng)是在瀏覽器下查看的,所以決定用jsp頁面實現(xiàn)客戶端查看功能。下面介紹一下系統(tǒng)中用到的表現(xiàn)層的文件。(1) jsp文件系統(tǒng)中用到的jsp文件如圖4-1所示。圖4-1 表現(xiàn)層類圖tree_test.jsp:顯示樹形圖展示組織結構的頁面,頁面上的操作按鈕包括“崗位信息查詢(圖標)”“人員信息查詢(圖標)”“設置查看選項”“組織單元詳細信息查詢(標簽)”。station.jsp:顯示崗位信息的頁面,頁面上的操作按鈕包括“包含崗位查詢”。unitinfo.jsp:顯示組織單元詳細信息的頁面。(2) action和formbean文件系統(tǒng)中用到的action和formbean文件如圖4-2所示。圖4-2 業(yè)務邏輯處理圖orgunitaction類中方法的說明:listtest_tree():以樹形顯示組織單元,在這個方法中要先通過創(chuàng)建集成好的funcvo 類的對象調用getfunccode()方法獲得功能代碼,然后在formbean中設置功能代碼這個屬性,最后在jsp中通過和 標簽來顯示出樹形結構。viewstation():獲得組織單元所包含的崗位列表,form中的屬性需要包括orgunitvo類的一個對象,然后在spring中配置一下業(yè)務層文件,通過使用getbean(orgunitcommonservice)語句來創(chuàng)建系統(tǒng)中集成好的orgunitcommonservice類的對象,通過對象調用方法實現(xiàn)查詢崗位信息的功能。viewinfo():該方法主要是獲得組織單元基本信息,form中的屬性需要包括orgunitvo類的一個對象,然后在spring配置文件中配置一下業(yè)務層類用到的java類文件,通過使用父類中已經(jīng)定義好的getbean(orgunitcommonservice)語句來創(chuàng)建系統(tǒng)中集成好的orgunitcommonservice類的對象,通過對象調用方法實現(xiàn)查詢組織單元詳細信息的功能。 4.1.2 業(yè)務層由于該系統(tǒng)中只用到了查詢功能,所以在業(yè)務層沒有驗證功能,只需要創(chuàng)建數(shù)據(jù)層的對象,然后調用方法即可。下面介紹一下系統(tǒng)中用到的業(yè)務層文件。(1) service業(yè)務層接口和接口的實現(xiàn)系統(tǒng)中用到的業(yè)務層文件如圖4-3所示。圖4-3 業(yè)務層類圖用到的方法說明:getorgunitbaseinfo(string code):獲取組織單元的基本信息。通過一個dao的對象調用dao里面的getorgunitbaseinfo()方法,把po轉換成vo并返回,再通過service的實例傳給action。根據(jù)code取得組織單元的基本信息。該方法返回一個orgunitvo類的對象,拋出baseexception異常。listallunit():返回組織單元的一個列表。通過dao的對象調用dao里面的listallunit()方法,返回一個組織單元的列表。getorgunitbaseinfobyoid():獲取組織單元基本信息里面的oid。setorgunitdao():設置組織單元的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ù)持久層相關的類文件。(1) dao類系統(tǒng)中用到的dao類如圖4-5所示。圖4-5 數(shù)據(jù)類圖方法說明如下:convertovo():把po轉換為vo,參數(shù)是unitpo的對象,返回組織單元信息。 getorgunitbaseinfo():根據(jù)code取得組織單元的基本信息,該方法返回一個orgunitvo類的對象,拋出systemexception異常。listallunit(unitid,hiberarchyid):取得組織單元在指定維度下的匯報關系,返回一個由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.2 代碼實現(xiàn)本小節(jié)中對系統(tǒng)中用到的關鍵代碼進行介紹。4.2.1 樹形圖展示的實現(xiàn)樹形圖展示的實現(xiàn)主要分如下兩步:第一,先在配置文件talentbase.tld中的配置一個listtree標簽,然后再jsp頁面中引用這個標簽來展示樹形圖,在展示這個圖形的時候jsp頁面的代碼是很少的,關鍵是標簽的代碼,在標簽的四個java文件中的playbytree()類中用一個render()方法來具體實現(xiàn),具體在配置文件中的配置如下: listtree /這個名字是標簽的名字,在頁面中可以引用 tag.orgunittreetag /這個是這個標簽所在的路徑。 fromunitid false /這個屬性是設置單元框的id,可以通過該id來查詢信息 hiberarchyid false /這個屬性是維度的id,通過這個id可以按照不同的維度顯示出不同的組織單元 第二,在標簽中用render()方法實現(xiàn)。這個方法中首先要定義一個表,確定樹形圖顯示的位置,然后通過判斷用定義好的圖把圖形顯示出來。private void render ( stringbuffer buffer, structurechartnode treenode, boolean last, boolean first ) buffer.append (); buffer.append (); /下面是圖形的形成過程,先通過判斷再顯示圖片。 buffer.append (img src=).append (contextpath);/先判斷是不是最后一個圖片,然后再判斷,如果是打開的話顯示lastopenbranchimg這個圖片,如果是關閉的話顯示lastclosebranchimg這個圖片。 if (last) if ( if open(string.valueof(treenode.getunitid() buffer.append (lastopenbranchimg); else buffer.append (lastclosebranchimg); /不是最后一個圖片的話按照下面的方法顯示。 else if (if open (string.value of (treenode.get unitid() buffer.append (openbranchimg); else buffer.append (closebranchimg); 4.2.2 數(shù)據(jù)庫實現(xiàn)和配置文件介紹本系統(tǒng)用的是遠程連接數(shù)據(jù)庫,所以首先應在datasource.xml配置文件中與數(shù)據(jù)庫建立連接,在此配置文件中要定義數(shù)據(jù)庫的名字和要連接數(shù)據(jù)庫的地址,還要配置一下用戶名和密碼,具體實現(xiàn)如下: oracle /說明用到的數(shù)據(jù)庫不得類型 oracle.jdbc.driver.oracledriver /配置一下oracle數(shù)據(jù)庫的驅動器 jdbc:oracle:thin:00:1521:oradb /說明數(shù)據(jù)庫的用戶名和密碼 tb_group5 tb_group5 下面舉個例子來說明數(shù)據(jù)庫中的表是怎樣與數(shù)據(jù)庫進行映射的,并說明一下數(shù)據(jù)庫中的表是怎樣映射到java類中的。如崗位表tb_org_job和它對應的hibernate映射文件jobpo.hbm.xml表tb_org_job結構如圖4-7所示。圖4-7 崗位表結構圖對應的映射文件中要先定義表的名字,然后再對表中的列進行定義,對每一列進行命名,以方便在po和vo 中使用,關鍵代碼如下:/說明與jobpo類對應的表tb_org_job,以便用po來存儲數(shù)據(jù)操作的結果/定義表中的一列為id,并另外命名為oid,在影射文件jobpo.hbm.xml中應有該屬性的定義為了把數(shù)據(jù)層和業(yè)務層分開,系統(tǒng)中定義了一個vo類來實現(xiàn)這個功能,dao類中又把po類轉換為vo類的方法的實現(xiàn),
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年江西省煙草專賣局招聘筆試真題
- 2024年保山市天立學校后勤員工招聘筆試真題
- 網(wǎng)絡管理員考試筆記技巧試題及答案解讀
- 廣東省江門江海區(qū)四校聯(lián)考2025屆七年級數(shù)學第二學期期末統(tǒng)考模擬試題含解析
- 2025屆安徽合肥包河區(qū)四十八中學數(shù)學七下期末監(jiān)測模擬試題含解析
- 2025屆江蘇省蘇州平江中學八下數(shù)學期末質量檢測試題含解析
- 學習局域網(wǎng)管理的核心內容試題及答案
- 法學概論考試中的重要法律概念及試題及答案
- 2025年網(wǎng)絡管理員考試的復習思路試題及答案
- 考試評估軟件設計師試題及答案一覽
- DCF-現(xiàn)金流貼現(xiàn)模型-Excel模版(dcf-估值模型)
- 甘肅敦煌莫高窟簡介
- 鐵皮石斛的抗氧化、保濕功效研究和應用現(xiàn)狀
- GB/Z 18620.4-2008圓柱齒輪檢驗實施規(guī)范第4部分:表面結構和輪齒接觸斑點的檢驗
- GB/T 1839-2008鋼產(chǎn)品鍍鋅層質量試驗方法
- 制冷空調管件的焊接與質量控制
- 公路工程工作總結范文
- 課件:第七章 社會工作項目結項(《社會工作項目策劃與評估》課程)
- 大型火力發(fā)電廠汽輪機知識資料培訓課件
- 陜旅版六年級下冊英語知識點總結V
- 中債收益率曲線和中債估值的編制與應用課件
評論
0/150
提交評論