2023年全國(guó)碩士研究生考試考研英語(yǔ)一試題真題(含答案詳解+作文范文)_第1頁(yè)
已閱讀1頁(yè),還剩48頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、<p><b>  ****工程學(xué)院</b></p><p><b>  課程設(shè)計(jì)報(bào)告</b></p><p><b>  企業(yè)人事管理系統(tǒng)</b></p><p>  課 程 計(jì)算機(jī)綜合應(yīng)用課程設(shè)計(jì)</p><p>  姓 名 ***</

2、p><p>  院 (系) 計(jì)算機(jī)科學(xué)與工程學(xué)院 </p><p>  專業(yè)年級(jí) 計(jì)算機(jī)科學(xué)與技術(shù)084班</p><p>  學(xué) 號(hào) ***</p><p>  指導(dǎo)教師 *** </p><p>  日 期 2011/12/29</p><p>  ****

3、工程學(xué)院教務(wù)處制</p><p><b>  目 錄</b></p><p><b>  摘要- 3 -</b></p><p>  第1章 概述- 4 -</p><p>  1.1 課程設(shè)計(jì)的目的- 4 -</p><p>  1.2 課程設(shè)計(jì)的意義- 5 -&l

4、t;/p><p>  第2章 系統(tǒng)功能設(shè)計(jì)- 5 -</p><p>  2.1 系統(tǒng)需求分析- 5 -</p><p>  2.2 系統(tǒng)的概要設(shè)計(jì)- 7 -</p><p>  第3章 管理系統(tǒng)主界面設(shè)計(jì)開(kāi)發(fā)- 18 -</p><p>  3.1 程序設(shè)計(jì)- 18 -</p><p>

5、  3.2功能界面設(shè)計(jì)- 18 -</p><p>  第4章子系統(tǒng)設(shè)計(jì)開(kāi)發(fā)- 21 -</p><p>  4.1員工信息管理子系統(tǒng)頁(yè)面及代碼- 21 -</p><p>  4.2 職務(wù)信息管理子系統(tǒng)- 24 -</p><p>  4.3出勤信息管理子系統(tǒng)- 29 -</p><p>  4.4 工資

6、信息管理子系統(tǒng)- 31 -</p><p>  4.5 獎(jiǎng)懲信息管理子系統(tǒng)- 34 -</p><p>  4.6 福利信息管理子系統(tǒng)- 36 -</p><p>  4.7 管理員界面- 39 -</p><p>  4.8 公司簡(jiǎn)介界面- 44 -</p><p>  第5章 系統(tǒng)實(shí)施- 45 -<

7、;/p><p>  5.1系統(tǒng)和程序設(shè)計(jì)調(diào)試- 45 -</p><p>  5.2系統(tǒng)的不足及改進(jìn)方案- 46 -</p><p>  第6章 結(jié)束語(yǔ)- 46 -</p><p>  6.1 工個(gè)人工作- 46 -</p><p>  參考文獻(xiàn)- 46 -</p><p><b&g

8、t;  摘要</b></p><p>  隨著現(xiàn)在計(jì)算機(jī)技術(shù)的不斷完善,以及現(xiàn)代經(jīng)濟(jì)的不斷發(fā)展,傳統(tǒng)的管理技術(shù)不再滿足企業(yè)的需要,越來(lái)越多的企業(yè)注重計(jì)算機(jī)信息管理系統(tǒng),人事信息管理系統(tǒng)是典型的計(jì)算機(jī)信息管理系統(tǒng)之一,企業(yè)借助于它進(jìn)行人力資源管理,達(dá)到事半功倍。隨著企業(yè)的雇傭人數(shù)的增加,有效地管理人員信息成為必然。人事信息管理系統(tǒng)的開(kāi)發(fā)主要包括后臺(tái)數(shù)據(jù)庫(kù)的建立和維護(hù),以及前臺(tái)程序開(kāi)發(fā)兩個(gè)方面。本文分析了

9、人事信息管理系統(tǒng)的組成情況以及一些基本功能模塊,包括系統(tǒng)功能框架分析,系統(tǒng)開(kāi)發(fā)的軟硬件環(huán)境分析,系統(tǒng)的數(shù)據(jù)庫(kù)邏輯設(shè)計(jì)分析,以及系統(tǒng)的數(shù)據(jù)流程分析,并且重點(diǎn)對(duì)系統(tǒng)的用戶界面開(kāi)發(fā)和各個(gè)子系統(tǒng)開(kāi)發(fā)作了詳細(xì)的介紹。系統(tǒng)主要利用Java語(yǔ)言和編成環(huán)境以及Access2003的主要功能進(jìn)行設(shè)計(jì)開(kāi)發(fā),在文中進(jìn)行了詳細(xì)的介紹。該開(kāi)發(fā)系統(tǒng)是中型至大型企業(yè)的人事信息管理系統(tǒng),它界面美觀,簡(jiǎn)單實(shí)用,安全性高,能夠基本上滿足企業(yè)人事信息管理的需要,實(shí)現(xiàn)了企業(yè)員

10、工信息的整體化,系統(tǒng)化,規(guī)范化和自動(dòng)化。</p><p>  關(guān)鍵字:信息管理系統(tǒng)、人事信息管理系統(tǒng),Java,Access2003</p><p><b>  第1章 概述</b></p><p>  1.1 課程設(shè)計(jì)的目的</p><p>  隨著現(xiàn)代經(jīng)濟(jì)的高速發(fā)展,各種企業(yè)的不斷崛起,企業(yè)員工的不斷增加,企業(yè)在管理

11、方面對(duì)需求越來(lái)越大。伴隨著計(jì)算機(jī)的迅速發(fā)展和廣泛使用,企業(yè)人事信息管理轉(zhuǎn)向電子化成為必然。</p><p>  傳統(tǒng)的人事信息管理存在很大的不足:利用人進(jìn)行信息的增減,容易導(dǎo)致信息的錯(cuò)誤,而且管理的效率低下,導(dǎo)致資源的可利用性低,勞動(dòng)力大,安全性也不夠,加上,隨著時(shí)間的遞增,信息量不斷增大,對(duì)信息的增加、刪除、檢索、查找就會(huì)存在很大的問(wèn)題。因此,隨著企業(yè)的強(qiáng)大和發(fā)展,傳統(tǒng)的管理方式不再適應(yīng)企業(yè)的需要。</p

12、><p>  應(yīng)用計(jì)算機(jī)進(jìn)行管理信息,有著其手工無(wú)法比擬的優(yōu)點(diǎn)。例如:存儲(chǔ)量大、修改方便、檢索快速、安全性高,使用壽命長(zhǎng)、成本低、可靠性好等。這些優(yōu)點(diǎn)能夠極大地提高人事信息管理的效率,有助于企業(yè)的發(fā)展。</p><p>  1.2 課程設(shè)計(jì)的意義</p><p>  人事信息管理系統(tǒng)的開(kāi)發(fā)需要就Java語(yǔ)言和數(shù)據(jù)庫(kù)兩方面的知識(shí),因此設(shè)計(jì)一個(gè)實(shí)用性強(qiáng)的人事信息管理系統(tǒng),對(duì)

13、于我們進(jìn)行課程設(shè)計(jì)方面知識(shí)的提高有很大的推動(dòng)作用。</p><p>  人事信息管理系統(tǒng)的開(kāi)發(fā)需要用到多方面的知識(shí),包括數(shù)據(jù)庫(kù)的選用、數(shù)據(jù)庫(kù)的建立和維護(hù)、信息的存儲(chǔ)、管理界面的設(shè)計(jì)。這些對(duì)于設(shè)計(jì)者的知識(shí)水平有較高的要求。因此,如何規(guī)劃、設(shè)計(jì)和開(kāi)發(fā)好這個(gè)人事信息管理系統(tǒng),對(duì)于提高我們的Java開(kāi)發(fā)水平有極大的幫助。同時(shí),在設(shè)計(jì)開(kāi)發(fā)過(guò)程中,我們可以選用適當(dāng)?shù)臄?shù)據(jù)庫(kù)和數(shù)據(jù)庫(kù)連接驅(qū)動(dòng)程序,建立好合適的數(shù)據(jù)庫(kù)表格和設(shè)計(jì)好美

14、觀大方的管理界面。</p><p>  第2章 系統(tǒng)功能設(shè)計(jì)</p><p>  2.1 系統(tǒng)需求分析</p><p>  2.1.1 人事信息管理系統(tǒng)的客戶功能需求</p><p>  該開(kāi)發(fā)系統(tǒng)的設(shè)計(jì)主要用于實(shí)現(xiàn)以下幾個(gè)功能:</p><p>  (1) 人事信息管理系統(tǒng)主界面</p><p&

15、gt;  人事信息系統(tǒng)主界面主要包括系統(tǒng)設(shè)計(jì),公司結(jié)構(gòu),員工管理,職務(wù)管理,出勤管理,工資管理,獎(jiǎng)罰管理,福利管理和幫助等內(nèi)容,可以進(jìn)行各種信息的添加、查詢,刪除等操作。</p><p>  (2) 員工信息管理子系統(tǒng)</p><p>  員工信息管理子系統(tǒng)主要是對(duì)所有員工的個(gè)人信息進(jìn)行登記、刪除、檢索、查找,包括員工的編號(hào),員工的性別,員工的姓名,員工的身份證號(hào)碼,員工的聯(lián)系電話、聯(lián)系方

16、式,員工的入公司時(shí)間,照片等記錄。并且還能夠刪除錯(cuò)誤的員工個(gè)人記錄的信息。</p><p>  (3) 職務(wù)信息管理子系統(tǒng)</p><p>  職務(wù)信息管理子系統(tǒng)主要是對(duì)所有員工的職務(wù)信息進(jìn)行登記,包括了兩個(gè)部分的內(nèi)容——職務(wù)管理和職務(wù)變更。</p><p>  職務(wù)管理包括員工的編號(hào),員工的姓名以及員工的現(xiàn)任職務(wù),并且能夠刪除錯(cuò)誤的員工職務(wù)記錄的信息。</p

17、><p>  職務(wù)變更包括員工的編號(hào),員工的姓名,員工的各種職務(wù)以及任職該職務(wù)的時(shí)間。并且能夠刪除錯(cuò)誤的員工職務(wù)變更記錄的信息。</p><p>  (4) 出勤信息管理子系統(tǒng)</p><p>  出勤信息管理子系統(tǒng)主要是對(duì)所有員工的出勤信息進(jìn)行登記,包括了四個(gè)部分的內(nèi)容——上班登記、下班登記、請(qǐng)假登記和加班登記。</p><p>  上班登記主

18、要是對(duì)所有員工的上班信息進(jìn)行登記,包括員工的編號(hào),員工的姓名,員工的上班時(shí)間和相應(yīng)的備注信息,并且能夠刪除錯(cuò)誤的員工上班時(shí)間記錄的信息。</p><p>  下班登記主要是對(duì)所有員工的下班信息經(jīng)行登記,包括員工的編號(hào),員工的姓名,員工的下班時(shí)間和相應(yīng)的備注信息,并且能夠刪除錯(cuò)誤的員工下班時(shí)間記錄的信息。。</p><p>  請(qǐng)假登記主要是對(duì)所有員工的請(qǐng)假信息進(jìn)行登記,包括員工的編號(hào),員工

19、的姓名,員工的請(qǐng)假日期,員工的請(qǐng)假時(shí)間,員工的請(qǐng)假原因和相應(yīng)的備注信息,并能夠刪除錯(cuò)誤的員工請(qǐng)假記錄的信息。</p><p>  加班登記主要是對(duì)所有員工的加班信息進(jìn)行登記,包括員工的編號(hào),員工的姓名,員工的加班日期,員工的加班時(shí)間,員工的加班薪資和相應(yīng)的備注信息,并能夠刪除錯(cuò)誤的員工加班記錄的信息。</p><p>  (5) 工資信息管理子系統(tǒng)</p><p>

20、  工資信息管理子系統(tǒng)主要是對(duì)所有的員工的工資信息進(jìn)行登記,包括了員工的編號(hào),員工的姓名,員工的基本工資、補(bǔ)貼金、加班費(fèi)、獎(jiǎng)懲金,員工的總工資和相應(yīng)的備注信息,并且能夠刪除錯(cuò)誤的員工工資記錄的信息。</p><p>  (6) 懲罰信息管理子系統(tǒng)</p><p>  懲罰信息管理子系統(tǒng)主要是對(duì)說(shuō)有的員工的懲罰信息進(jìn)行登記,包括了員工的編號(hào),員工的姓名,員工的獎(jiǎng)勵(lì)、懲罰,員工的懲罰說(shuō)明和相應(yīng)

21、的備注信息,并且能夠刪除錯(cuò)誤的員工懲罰記錄的信息。</p><p>  (7) 福利信息管理子系統(tǒng)</p><p>  福利信息管理子系統(tǒng)主要是對(duì)所有的員工的福利信息進(jìn)行登記,包括員工的編號(hào),員工的姓名,員工的養(yǎng)老保險(xiǎn)金、失業(yè)保險(xiǎn)金、工傷保險(xiǎn)金,員工的福利總計(jì)和相應(yīng)的備注信息,并且能夠刪除錯(cuò)誤的員工福利記錄的信息。</p><p>  2.1.2系統(tǒng)開(kāi)發(fā)和運(yùn)行環(huán)境&

22、lt;/p><p>  (1) 硬件配置及外設(shè)設(shè)備</p><p>  硬件平臺(tái)是指開(kāi)發(fā)與運(yùn)行所需要的硬件環(huán)境,主要包括計(jì)算機(jī)機(jī)型及硬件配置。由于本系統(tǒng)是一個(gè)MINI管理系統(tǒng),因此對(duì)計(jì)算機(jī)硬件的要求不是很高,成本較低,只要配備如表2-1所示的就可以。</p><p>  表2-1 計(jì)算機(jī)硬件配備要求表</p><p>  (2)開(kāi)發(fā)運(yùn)行軟件環(huán)境&

23、lt;/p><p>  軟件平臺(tái)是指系統(tǒng)開(kāi)發(fā)與運(yùn)行的軟件環(huán)境。本系統(tǒng)在開(kāi)發(fā)時(shí)選用的操作系統(tǒng)是穩(wěn)定性較強(qiáng)的Windows XP中文專業(yè)版,Java程序設(shè)計(jì)的開(kāi)發(fā)環(huán)境是JDK 5.0,集成開(kāi)發(fā)工具是JCreator專業(yè)版,數(shù)據(jù)庫(kù)的設(shè)計(jì)工具選用的Microsoft公司的Access 2003。 </p><p>  Java語(yǔ)言是一種跨平臺(tái)、適合于分布式計(jì)算機(jī)環(huán)境的面向?qū)ο缶幊陶Z(yǔ)言。具體來(lái)說(shuō),它具有

24、如下特性:簡(jiǎn)單性、面向?qū)ο蟆⒎植际?、解釋性、可靠、安全、平臺(tái)無(wú)關(guān)、可移植、多線程、動(dòng)態(tài)性等。</p><p>  Java的開(kāi)發(fā)環(huán)境大體上分成兩種方式。一種方式是使用JDK(Java Developers Kits)工具集,這是一種命令行的方式。另一種方式是使用集成開(kāi)發(fā)環(huán)境(Integrated Developing Environment,IDE)。</p><p>  采用JDK開(kāi)發(fā)J

25、ava程序,能夠很快理解程序中各部分代碼之間的關(guān)系,有利于理解Java面向?qū)ο蟮脑O(shè)計(jì)思想。JDK的另一個(gè)顯著特點(diǎn)是隨著Java 版本的升級(jí)而升級(jí)。但它的缺點(diǎn)也是非常明顯的就是從事大規(guī)模企業(yè)級(jí)Java應(yīng)用開(kāi)發(fā)非常困難,不能進(jìn)行復(fù)雜的Java軟件開(kāi)發(fā),也不利于團(tuán)體協(xié)同開(kāi)發(fā)。</p><p>  JCreator 專業(yè)版是一款適合于各個(gè) Java 語(yǔ)言編程開(kāi)發(fā)人員的IDE工具。 她為使用者提供了大量強(qiáng)勁的功能,例如:

26、項(xiàng)目管理、工程模板、代碼完成、調(diào)試接口、高亮語(yǔ)法編輯、使用向?qū)б约巴耆勺远x的用戶界面。JCreator 具有無(wú)限撤銷、代碼縮進(jìn)、自動(dòng)類庫(kù)方法提示、安所選職能定位查閱JavaAPI文檔的功能,它支持JSP、Ant、CVS,其.小巧、易用、美觀,是Java初級(jí)程序員的理想IDE。 </p><p>  Access2003 是一款Window環(huán)境下的數(shù)據(jù)庫(kù)管理軟件,是Office辦公套件中一個(gè)極為重要的組成部分,

27、是Microsoft公司于2003年推出的微機(jī)數(shù)據(jù)庫(kù)管理系統(tǒng),它不僅解決了以往的Acess中處理中文的麻煩,而且具有了新的優(yōu)點(diǎn),在功能上做了加強(qiáng)。它具有界面友好、易學(xué)易用、開(kāi)發(fā)簡(jiǎn)單、接口靈活等特點(diǎn),是典型的新一代桌面關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng)。利用它可以方便的實(shí)現(xiàn)對(duì)信息保存、維護(hù)、查詢、統(tǒng)計(jì)等,而且它可以十分方便的與Office其他組件交流數(shù)據(jù)。</p><p>  2.2 系統(tǒng)的概要設(shè)計(jì)</p><

28、p>  2.1.1 系統(tǒng)的功能框架分析</p><p>  構(gòu)建一個(gè)人事信息管理系統(tǒng),該系統(tǒng)主要由六個(gè)子系統(tǒng)組成,分別包括個(gè)人信息管理子系統(tǒng),職務(wù)信息管理子系統(tǒng),出勤信息管理子系統(tǒng),工資信息管理子系統(tǒng),懲罰信息管理子系統(tǒng)以及福利信息管理子系統(tǒng)。同時(shí),為了增強(qiáng)系統(tǒng)的安全性,首先需要通過(guò)用戶權(quán)限認(rèn)證,只有在登陸界面上輸入正確的用戶名和密碼,才能的功能路本系統(tǒng)進(jìn)行操作。通過(guò)了系統(tǒng)功能框架的分析,得到了如圖2-1的

29、系統(tǒng)功能模塊。</p><p>  圖2-1系統(tǒng)功能框架</p><p>  下面簡(jiǎn)單說(shuō)明一下各個(gè)框架的功能:</p><p>  (1)系統(tǒng)設(shè)置模塊:本應(yīng)用模塊的主要功能是進(jìn)行管理員設(shè)置、返回主頁(yè)面、以及系統(tǒng)的安全退出。</p><p>  (2)公司結(jié)構(gòu)模塊:本應(yīng)用模塊的主要功能是進(jìn)行公司結(jié)構(gòu)的說(shuō)明,相關(guān)部門的管理以及職位的調(diào)整。<

30、/p><p>  (3)員工管理模塊:本應(yīng)用模塊的主要功能是實(shí)現(xiàn)對(duì)員工信息的增加、信息的修改、信息的查詢以及信息的刪除等操作。</p><p>  (4)職務(wù)管理模塊:本應(yīng)用模塊的主要功能是實(shí)現(xiàn)對(duì)員工現(xiàn)任職務(wù)、員工植物變更記錄的管理,以及職務(wù)的設(shè)置。</p><p>  (5)出勤管理模塊:本應(yīng)用模塊的主要功能是實(shí)現(xiàn)對(duì)員工上下班時(shí)間登記,員工請(qǐng)假信息,員工加班信息記錄的

31、管理。</p><p>  (6)工資管理模塊:本應(yīng)用模塊的主要功能是實(shí)現(xiàn)對(duì)員工工資信息的管理,包括工資的查詢和調(diào)整。</p><p>  (7)獎(jiǎng)懲管理模塊:本應(yīng)用模塊的主要功能是實(shí)現(xiàn)對(duì)員工的獎(jiǎng)懲信息的管理,包括獎(jiǎng)懲的查詢和添加。</p><p>  (8)福利管理模塊:本應(yīng)用模塊的主要功能是實(shí)現(xiàn)對(duì)員工福利信息的管理,包括福利的查詢和調(diào)整。</p>

32、<p>  (9)幫助模塊:本應(yīng)用模塊的主要功能是實(shí)現(xiàn)系統(tǒng)幫助,關(guān)于系統(tǒng)。</p><p>  2.2.2 系統(tǒng)的數(shù)據(jù)庫(kù)邏輯設(shè)計(jì)分析</p><p>  數(shù)據(jù)庫(kù)設(shè)計(jì)是在選定的數(shù)據(jù)庫(kù)管理系統(tǒng)基礎(chǔ)上建立數(shù)據(jù)庫(kù)的過(guò)程。數(shù)據(jù)庫(kù)設(shè)計(jì)除了用戶分析外,還包括概念結(jié)構(gòu)設(shè)計(jì)、邏輯結(jié)構(gòu)設(shè)計(jì)和物理結(jié)構(gòu)設(shè)計(jì)等三個(gè)階段。數(shù)據(jù)庫(kù)系統(tǒng)已經(jīng)成為一門獨(dú)立的學(xué)科,所以,當(dāng)我們把數(shù)據(jù)庫(kù)設(shè)計(jì)原理應(yīng)用到MIS開(kāi)發(fā)中,數(shù)據(jù)

33、庫(kù)設(shè)計(jì)的幾個(gè)步驟與系統(tǒng)開(kāi)發(fā)的各個(gè)階段相對(duì)應(yīng),且融為一體,它們的對(duì)應(yīng)關(guān)系如圖2-2所示。</p><p>  圖2-2數(shù)據(jù)庫(kù)設(shè)計(jì)與系統(tǒng)開(kāi)發(fā)階段對(duì)應(yīng)關(guān)系圖</p><p>  (1) 概念模型E-R圖</p><p>  這一設(shè)計(jì)階段是在邏輯關(guān)系分析的基礎(chǔ)上,設(shè)計(jì)出能夠滿足用戶需求的各種實(shí)體,以及他們之間的關(guān)系,為后面的數(shù)據(jù)庫(kù)邏輯設(shè)計(jì)打下基礎(chǔ)。本文根據(jù)上面的分析規(guī)劃出的

34、實(shí)體有部門設(shè)計(jì)、員工信息、職務(wù)管理、職務(wù)變更、上班登記、下班登記、員工請(qǐng)假信息、員工加班信息、員工獎(jiǎng)懲信息、員工工資信息、員工福利信息、管理員信息等。實(shí)體與實(shí)體之間的關(guān)系E-R圖如圖2-3至圖2-14所示。</p><p>  圖2-3 部門設(shè)計(jì)實(shí)體E-R 圖</p><p>  圖2-4 員工信息實(shí)體E-R圖</p><p>  圖2-5 職務(wù)管理實(shí)體E-R圖&l

35、t;/p><p>  圖2-6 職務(wù)變更實(shí)體E-R圖</p><p>  圖2-7 上班登記實(shí)體E-R圖</p><p>  圖2-8 下班登記實(shí)體E-R圖</p><p>  圖2-9 員工請(qǐng)假實(shí)體E-R圖</p><p>  圖2-10 員工加班實(shí)體E-R圖</p><p>  圖2-11 員工

36、獎(jiǎng)懲實(shí)體E-R圖</p><p>  圖2-12 員工工資實(shí)體E-R圖</p><p>  圖2-13 員工福實(shí)體E-R圖</p><p>  圖2-14 管理員信息實(shí)體E-R 圖</p><p><b>  (2) 表結(jié)構(gòu)分析</b></p><p>  根據(jù)本系統(tǒng)功能需求,數(shù)據(jù)庫(kù)采用Micro

37、soft公司的Access 2003,它完全可以適合工作需求,并且它所支持的數(shù)據(jù)類型十分豐富,維護(hù)簡(jiǎn)單,費(fèi)用比較低,開(kāi)發(fā)人員技術(shù)要求不是很高。根據(jù)模塊的設(shè)計(jì),以及規(guī)范化的設(shè)計(jì)要求,為滿足系統(tǒng)需要,本系統(tǒng)共建立12個(gè)表分別是:部門設(shè)計(jì)表,雇員信息表,職務(wù)管理表,職務(wù)變更表,上班登記表,下班登記表,員工請(qǐng)假信息表,員工加班信息表,員工獎(jiǎng)罰信息表,員工工資表,員工福利表,管理員信息表。各個(gè)數(shù)據(jù)表的結(jié)構(gòu)如表2-2至表2-13所示。</p&

38、gt;<p>  表2-2 部門設(shè)計(jì)表(Department_Infor)</p><p>  表2-3員工信息表(employee_Infor)</p><p>  表2-4 職務(wù)管理表(Duty_Infor)</p><p>  表2-5 職務(wù)變更表(Duty_Change_Infor)</p><p>  表2-6 上班登

39、記表(Start_Register_Infor)</p><p>  表2-7 下班登記表(Finish_Register_Infor)</p><p>  表2-8 員工請(qǐng)假信息表(On_Leave_Infor)</p><p>  表2-9 員工加班信息表(Over_Time_Infor)</p><p>  表2-10 員工獎(jiǎng)懲信息表(

40、Award_Punish_Infor)</p><p>  表2-11 員工工資信息表(Wage_Infor)</p><p>  表2-12員工福利表(Welfare_Infor)</p><p>  表2-13管理員信息表(Manager_Infor)</p><p>  (3) 數(shù)據(jù)字典分析 </p><p> 

41、 數(shù)據(jù)流程圖描述了系統(tǒng)的分解,但沒(méi)有對(duì)圖中各成分進(jìn)行說(shuō)明,數(shù)據(jù)字典(Data Dictionary,DD)就是為數(shù)據(jù)流程圖的每個(gè)數(shù)據(jù)流文件加工,以及組成數(shù)據(jù)流或文件的數(shù)據(jù)項(xiàng)作出說(shuō)明,具體見(jiàn)表2-14至表2-18</p><p>  表 2-14 員工管理的數(shù)據(jù)字典</p><p>  表2-15 職務(wù)管理的數(shù)據(jù)字典</p><p>  表2-16 出勤管理的數(shù)據(jù)字典

42、</p><p>  表2-17 工資信息查詢的數(shù)據(jù)字典</p><p>  表2-18 福利信息查詢的數(shù)據(jù)字典</p><p>  2.2.3數(shù)據(jù)流程分析</p><p>  總的系統(tǒng)流程圖如圖2-15所示:</p><p>  圖2-15 總的系統(tǒng)流程</p><p> ?、?業(yè)務(wù)流程圖(T

43、ransaction Flow Diagram,TFD)是一種描述系統(tǒng)內(nèi)各單位、人員之間業(yè)務(wù)關(guān)系、作業(yè)順序和管理信息流向的圖表,利用它可以幫助分析人員找出業(yè)務(wù)流程中的不合理的流向。通過(guò)前面對(duì)企業(yè)倉(cāng)庫(kù)管理情況進(jìn)行的一系列調(diào)研與分析,得到如圖2-16所示的業(yè)務(wù)流程圖。</p><p>  圖2-16 業(yè)務(wù)流程圖</p><p>  人事管理系統(tǒng)的業(yè)務(wù)處理過(guò)程如下:企業(yè)認(rèn)識(shí)管理系統(tǒng)記錄基本的信息

44、并能對(duì)系統(tǒng)的的已有信息進(jìn)行查詢;信息添加記錄中對(duì)基本信息添加;信息輸出記錄對(duì)基本信息并能進(jìn)行查詢。</p><p> ?、?根據(jù)業(yè)務(wù)流程圖分析,對(duì)于其中的數(shù)據(jù)流向,處理及存儲(chǔ)進(jìn)行逐層分解,可以得到數(shù)據(jù)流程圖(Data Flow Diagram,DFD)。數(shù)據(jù)流程圖是分層次的,繪制是采取自頂向下逐層分解的方法。頂層數(shù)據(jù)流程圖只有一張,它說(shuō)明了系統(tǒng)總的處理功能、輸入和輸出。下一步是對(duì)頂層數(shù)據(jù)流程圖中的“處理”進(jìn)行分解

45、,也就是對(duì)第一層數(shù)據(jù)流程圖的再分解。數(shù)據(jù)流程圖如圖3-3所示。</p><p>  圖3-3 數(shù)據(jù)流程圖</p><p>  第3章 管理系統(tǒng)主界面設(shè)計(jì)開(kāi)發(fā)</p><p><b>  3.1 程序設(shè)計(jì)</b></p><p>  3.1.1程序設(shè)計(jì)思想與原則</p><p>  編寫程序應(yīng)符合

46、軟件工程化思想。應(yīng)用軟件的編程工作量極大,而且要經(jīng)常維護(hù)、修改。如果編寫程序不遵守正確的規(guī)律,就會(huì)給系統(tǒng)的開(kāi)發(fā)維護(hù)帶來(lái)不可逾越的障礙。軟件工程的思想即利用工程化的方法進(jìn)行軟件開(kāi)發(fā),通過(guò)建立軟件工程環(huán)境來(lái)提高軟件開(kāi)發(fā)效率。</p><p>  自頂向下的模塊化方法描述了大程序設(shè)計(jì)的原則,在具體編程中,則應(yīng)采用結(jié)構(gòu)化程序設(shè)計(jì)方法。這種方法指導(dǎo)人們用良好的思想方法卻設(shè)計(jì)程序,其特點(diǎn)是采用順序結(jié)構(gòu)、循環(huán)結(jié)構(gòu)和選擇結(jié)構(gòu)三種

47、基本邏輯結(jié)構(gòu)來(lái)編寫程序。</p><p>  3.2功能界面設(shè)計(jì) </p><p>  雖說(shuō)程序設(shè)計(jì)最核心的地方是程序的功能,但程序的界面設(shè)計(jì)是不可忽視的,它直接影響到程序的易用性。尤其在Windows時(shí)代,一個(gè)良好的應(yīng)用界面會(huì)給你的程序錦上添花,甚至有畫(huà)龍點(diǎn)睛之韻味。一般來(lái)說(shuō),在完成核心算法的編制后,就要開(kāi)始精心設(shè)計(jì)應(yīng)用界面了。</p><p><b>

48、  登陸界面的代碼:</b></p><p>  public class HRM_App </p><p><b>  {</b></p><p>  public static void main (String[] args) </p><p><b>  {</b></p&

49、gt;<p>  Login _Login=new Login();</p><p><b>  }</b></p><p><b>  }</b></p><p><b>  系統(tǒng)主頁(yè)面代碼為:</b></p><p>  import java.awt.*;&

50、lt;/p><p>  import javax.swing.*;</p><p>  import javax.sql.*;</p><p>  import java.awt.event.*;</p><p>  public class AppMain extends JFrame</p><p><b>

51、  {</b></p><p>  private JMenuBar barMain = new JMenuBar();</p><p>  private MenuBarListener _MenuBarListener = new MenuBarListener();</p><p>  public final JDesktopPane deskt

52、op = new JDesktopPane();</p><p>  public static DbConnection connetion=new DbConnection();</p><p>  private int i,j;</p><p>  public AppMain() </p><p><b>  {<

53、/b></p><p>  super("人事管理系統(tǒng)");</p><p>  Container container = getContentPane();</p><p>  container.add(desktop,BorderLayout.CENTER);</p><p>  MenuBarListene

54、r.setDeskTop(desktop);</p><p>  BuildBarMain();</p><p>  this.setJMenuBar(barMain); setSize(900,700);</p><p>  int w = (Toolkit.getDefaultToolkit().getScreenSize().width - 900) / 2;

55、 </p><p>  int h = (Toolkit.getDefaultToolkit().getScreenSize().height - 700) / 2; </p><p>  setLocation(w, h);setVisible(true);</p><p>  addWindowListener(new WindowAdapter()</p

56、><p><b>  {</b></p><p>  public void windowClosing(WindowEvent event)</p><p><b>  {</b></p><p>  int result = JOptionPane.showOptionDialog(null,&qu

57、ot;是否真的退出人事信息管理系統(tǒng)?","系統(tǒng)提示", JOptionPane.YES_NO_OPTION,JOptionPane.QUESTION_MESSAGE,</p><p>  null,new String[] {"確定","取消"},"取消");</p

58、><p>  if (result == JOptionPane.YES_OPTION) </p><p><b>  {</b></p><p><b>  try</b></p><p><b>  {</b></p><p>  AppMain.con

59、netion.connection.close();</p><p><b>  }</b></p><p>  catch(java.sql.SQLException sql)</p><p><b>  {</b></p><p>  sql.printStackTrace();</p&g

60、t;<p><b>  }</b></p><p>  System.exit(0); </p><p>  }} }); } </p><p>  private JMenuBar BuildBarMain()</p><p><b>  {</b></p>

61、<p>  final JMenu[] _Menu = {new JMenu(" 系統(tǒng)設(shè)置 "),</p><p>  new JMenu(" 公司結(jié)構(gòu) "),new JMenu(" 員工管理 "),</p><p>  new JMenu(" 職務(wù)管理 "), new JMenu(

62、" 出勤情況 "),</p><p>  new JMenu(" 工資管理 "), new JMenu(" 獎(jiǎng)罰管理 "), </p><p>  new JMenu(" 福利管理 "), new JMenu(" 幫助 ")}; </p><p>

63、;  final JMenuItem[][] _MenuItem={{new JMenuItem("管理員設(shè)置"),new JMenuItem("返回主界面"),new JMenuItem("安全退出")}, {new JMenuItem("公司結(jié)構(gòu)"),new JMenuItem("部門管理"),new JMenuItem("

64、職位調(diào)整")},{new JMenuItem("增加員工"),new JMenuItem("信息修改"),new JMenuItem("信息查詢"),new JMenuItem("減少員工")},{new JMenuItem("現(xiàn)任職務(wù)查詢"),new JMenuItem("職務(wù)變更查詢"),new JMen

65、uItem("職務(wù)變更")}, {new JMenuItem("上下班登記"),new JMenuItem("請(qǐng)假管理"),new JMenuItem("加班管理")},{new JMenuItem("工資查詢"),new JMenuItem("工資調(diào)整")},{new JMenuItem("獎(jiǎng)罰查詢&quo

66、t;),new JMenuItem("添加獎(jiǎng)罰")},{new J</p><p>  final String[][] MenuItemName={{"setmanager_sysMenu","MainInterface_sysMenu","exit_sysMenu"}, {"company_

67、structure_Menu","manageDepartment_Menu","setduty_Menu"}, {"add_employeeMenu","updata_employeeMenu","select_employeeMenu","delete

68、_employeeMenu"}, {"duty_dutyMenu","select_dutyMenu","change_dutyMenu"}, {"start_attendance","finish_attendance"

69、;,"askforleave_attendance","Over_Time_attendance"},</p><p>  {"select_wageMenu","change_wageMenu"}, {"select_award_punishMenu"

70、;,"add_award_punishMenu"}, {"select_welfareMenu","updata_welfareMenu"},</p><p>  {"help_helpMenu","about_helpMenu"}};

71、</p><p>  for(j=0;j<_Menu.length;j++) </p><p><b>  { </b></p><p>  _Menu[j].setFont(new Font("TimesRoman",Font.PLAIN,14));</p><p>  for

72、(i=0;i<_MenuItem[j].length;i++)</p><p><b>  {</b></p><p>  _MenuItem[j][i].setFont(new</p><p>  Font("TimesRoman",Font.PLAIN,12));</p><p>  _Me

73、nuItem[j][i].addActionListener(new ActionListener()</p><p><b>  {</b></p><p>  public void actionPerformed(ActionEvent e) </p><p><b>  {</b></p><p

74、>  _MenuBarListener.setEventName(MenuItemName[j][i]);</p><p><b>  }});</b></p><p>  _MenuItem[j][i].addActionListener(_MenuBarListener);</p><p>  _Menu[j].add(_MenuI

75、tem[j][i]);</p><p><b>  }</b></p><p>  barMain.add(_Menu[j]);</p><p><b>  } </b></p><p>  _MenuItem[0][1].addActionListener(new ActionListe

76、ner()</p><p><b>  {</b></p><p>  public void actionPerformed(ActionEvent e) </p><p><b>  {</b></p><p>  dispose();</p><p>  }});

77、 </p><p>  return barMain;</p><p><b>  }</b></p><p>  public static void main (String[] args) </p><p><b>  {</b></p><p>  AppMai

78、n appmain=new AppMain();</p><p>  appmain.setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);</p><p><b>  }}</b></p><p>  系統(tǒng)主界面如圖3-2所示:</p><p>  圖3-2 系統(tǒng)主頁(yè)

79、面</p><p>  第4章子系統(tǒng)設(shè)計(jì)開(kāi)發(fā)</p><p>  4.1員工信息管理子系統(tǒng)頁(yè)面及代碼</p><p>  圖4-1 員工信息管理子系統(tǒng)界面</p><p><b>  該界面代碼為:</b></p><p>  import java.awt.*;</p><p

80、>  import java.awt.event.*;</p><p>  import javax.sql.*;</p><p>  import java.util.*;</p><p>  import javax.swing.*;</p><p>  import javax.swing.table.*;</p>

81、<p>  public class select_employee_Managment extends View_Model </p><p><b>  {</b></p><p>  private JLabel idLabel = new JLabel(" 員工編號(hào): ");</p><p>  pr

82、ivate JTextField idField = new JTextField(10);</p><p>  private JLabel nameLabel = new JLabel(" 姓 名: ");</p><p>  private JTextField nameField = new JTextField(10);</p><

83、;p>  private JLabel sexLabel = new JLabel(" 性 別: ");</p><p>  private final String[] sexString = {" 男 "," 女 "};</p><p>  private JComboBox sexComboBox =

84、 new JComboBox(sexString);</p><p>  private JLabel ageLabel = new JLabel(" 年 齡: ");</p><p>  private JTextField ageField = new JTextField(10);</p><p>  private JLab

85、el departLabel = new JLabel(" 部 門: ");</p><p>  private JTextField departField = new JTextField(10);</p><p>  private JLabel dutyLabel = new JLabel(" 職 位: ");</p

86、><p>  private JTextField dutyField = new JTextField(10);</p><p>  private JLabel sfzLabel = new JLabel(" 身份證號(hào)碼: ");</p><p>  private JTextField sfzField = new JTextField(1

87、0);</p><p>  private JLabel addLabel = new JLabel(" 地址: ");</p><p>  private JTextField addField = new JTextField(10);</p><p>  private JLabel telLabel = new JLabel(&quo

88、t; 聯(lián)系電話: ");</p><p>  private JTextField telField = new JTextField(10);</p><p>  Icon icon = new ImageIcon("./photo.jpg");</p><p>  private JLabel photoLabel = new

89、JLabel(icon,SwingConstants.CENTER);</p><p>  private JLabel bzLabel = new JLabel(" 備注: ");</p><p>  private JTextArea bzArea = new JTextArea(5,25); </p><p>  priva

90、te JButton renovateButton = new JButton("刷新");</p><p>  private JButton selectAllButton = new JButton("查看全部");</p><p>  private JButton selectButton = new JButton("查詢&qu

91、ot;);</p><p>  private JButton addButton = new JButton("添加");</p><p>  private JButton updateButton = new JButton("修改");</p><p>  private JButton deleteButton =

92、new JButton("刪除");</p><p>  private JButton saveButton = new JButton("保存");</p><p>  private JButton exitButton = new JButton("退出");</p><p>  private R

93、esultSetTableModel tableModel;</p><p>  private String Query_Sql = "select * from employee_Infor" ;</p><p>  public select_employee_Managment() </p><p><b>  { <

94、/b></p><p><b>  super();</b></p><p><b>  try </b></p><p><b>  {</b></p><p>  tableModel = new ResultSetTableModel(Query_Sql); <

95、;/p><p>  Box box = Box.createVerticalBox();</p><p>  box.add( new InforPanel() );</p><p>  box.add(new JLabel(" "));</p><p>  box.add( OperateBox() );</p>

96、<p>  box.add(new JLabel(" "));</p><p>  JTable resultTable = new JTable( tableModel );</p><p>  JScrollPane tableScrollPane = new JScrollPane(resultTable); </p>

97、<p>  Container container = getContentPane(); </p><p>  container.add( box, BorderLayout.NORTH );</p><p>  container.add( new JScrollPane( tableScrollPane ), BorderLayout.CENTER );

98、</p><p>  setSize( 800, 600 );</p><p>  setResizable(false);</p><p>  setVisible( true ); </p><p><b>  }</b></p><p>  catch ( ClassNotFoundEx

99、ception classNotFound ) {</p><p>  JOptionPane.showMessageDialog( null, </p><p>  "Cloudscape driver not found", "Driver not found",</p><p>  JOptionPane.ERROR_M

100、ESSAGE );</p><p>  System.exit( 1 );</p><p><b>  }</b></p><p>  catch(java.sql.SQLException sqlException ) </p><p><b>  {</b></p><p&g

101、t;  JOptionPane.showMessageDialog( null, sqlException.getMessage(), </p><p>  "Database error", JOptionPane.ERROR_MESSAGE );</p><p>  tableModel.disconnectFromDatabase();</p>&l

102、t;p>  System.exit( 1 );</p><p><b>  }</b></p><p>  setDefaultCloseOperation( DISPOSE_ON_CLOSE ); </p><p><b>  } </b></p><p>  private cla

103、ss InforPanel extends JPanel</p><p><b>  {</b></p><p>  public InforPanel()</p><p><b>  {</b></p><p><b>  super();</b></p>&

104、lt;p>  Box box1 = Box.createHorizontalBox();</p><p>  box1.add(idLabel);box1.add(idField);</p><p>  Box box10 = Box.createHorizontalBox();</p><p>  box10.add(nameLabel);box10.add

105、(nameField);</p><p>  Box box2 = Box.createHorizontalBox();</p><p>  box2.add(sexLabel);box2.add(sexComboBox);</p><p>  box2.add(ageLabel);box2.add(ageField);</p><p>  

106、Box box3 = Box.createHorizontalBox();</p><p>  box3.add(sexLabel);box3.add(sexComboBox);</p><p>  box3.add(ageLabel);box3.add(ageField);</p><p>  Box box4 = Box.createHorizontalBox(

107、);</p><p>  box4.add(sfzLabel);box4.add(sfzField);</p><p>  Box box5 = Box.createHorizontalBox();</p><p>  box5.add(departLabel);box5.add(departField);</p><p>  box5.ad

108、d(dutyLabel);box5.add(dutyField);</p><p>  Box box6 = Box.createHorizontalBox();</p><p>  box6.add(telLabel);box6.add(telField);</p><p>  Box box9 = Box.createHorizontalBox();</p

109、><p>  box9.add(addLabel);box9.add(addField);</p><p>  Box box7 = Box.createHorizontalBox();</p><p>  box7.add(bzLabel);</p><p>  box7.add(new JScrollPane(bzArea));</p&

110、gt;<p>  Box leftBox = Box.createVerticalBox();</p><p>  leftBox.add(new JLabel(" "));leftBox.add(new JLabel(" "));</p><p>  leftBox.add(box1);leftBox.add(new JLabel(&

111、quot; "));</p><p>  leftBox.add(box10);leftBox.add(new JLabel(" "));</p><p>  leftBox.add(box2);</p><p>  leftBox.add(box3);leftBox.add(new JLabel(" "));<

112、;/p><p>  leftBox.add(box4);leftBox.add(new JLabel(" "));</p><p>  leftBox.add(box4);leftBox.add(new JLabel(" "));</p><p>  leftBox.add(box6);leftBox.add(new JLabel

113、(" "));</p><p>  leftBox.add(box9);</p><p>  Box box8 = Box.createVerticalBox();</p><p>  box8.add(new JLabel(" "));box8.add(new JLabel(" "));</p>

114、;<p>  Box photobox = Box.createHorizontalBox();</p><p>  photobox.add(new JLabel(" "));</p><p>  photobox.add(photoLabel);</p><p>  box8.add(photobox

115、);</p><p>  box8.add(new JLabel(" "));</p><p>  box8.add(box7);</p><p>  Box mainBox = Box.createHorizontalBox();</p><p>  mainBox.add(leftBox);</p>&l

116、t;p>  mainBox.add(new JLabel(" "));</p><p>  mainBox.add(new JLabel(" "));</p><p>  mainBox.add(new JLabel(" "));</p><p>  mainBox.add(box8

117、);add(mainBox);</p><p><b>  }</b></p><p><b>  }</b></p><p>  private Box OperateBox()</p><p><b>  {</b></p><p>  Box bo

118、x = Box.createHorizontalBox();</p><p>  box.add(renovateButton);</p><p>  box.add(selectAllButton);</p><p>  box.add(selectButton);</p><p>  box.add(addButton);</p&g

119、t;<p>  box.add(updateButton);</p><p>  box.add(deleteButton);</p><p>  box.add(saveButton);</p><p>  box.add(exitButton);</p><p>  exitButton.addActionListener(

120、new exit_actionAdapter(this));</p><p>  return box;</p><p><b>  }</b></p><p><b>  }</b></p><p>  4.2 職務(wù)信息管理子系統(tǒng)</p><p>  圖 4-2 現(xiàn)任職務(wù)查

121、詢界面</p><p>  以下為該界面的代碼:</p><p>  import java.awt.*;</p><p>  import java.awt.event.*;</p><p>  import javax.sql.*;</p><p>  import java.util.*;</p>

122、<p>  import javax.swing.*;</p><p>  import javax.swing.table.*;</p><p>  public class change_Duty extends View_Model </p><p><b>  {</b></p><p>  priva

123、te JLabel idLabel = new JLabel(" 員工編號(hào): ");</p><p>  private JTextField idField = new JTextField(10);</p><p>  private JLabel nameLabel = new JLabel(" 姓 名: ");</p>

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫(kù)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論