員工信息管理系統(tǒng)課程設(shè)計(jì)
《員工信息管理系統(tǒng)課程設(shè)計(jì)》由會(huì)員分享,可在線閱讀,更多相關(guān)《員工信息管理系統(tǒng)課程設(shè)計(jì)(38頁(yè)珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
1、 信息系統(tǒng)設(shè)計(jì) 軟件工程課程設(shè)計(jì)課題名稱: 員工信息管理系統(tǒng) 姓 名: 蘭朝仁 學(xué) 號(hào): 學(xué) 院:繼續(xù)教育學(xué)院專 業(yè):計(jì)算機(jī)科學(xué)與技術(shù)年 級(jí):2008級(jí)(夜大專升本)指導(dǎo)教師: 陳郞欽 完成日期: 2010 年 10 月 11 日目 錄引言11.系統(tǒng)規(guī)劃21.1系統(tǒng)設(shè)計(jì)目標(biāo)21.2系統(tǒng)總體規(guī)劃21.3設(shè)計(jì)方案(步驟)22.系統(tǒng)分析22.1業(yè)務(wù)需求與分析22.2系統(tǒng)業(yè)務(wù)流程圖32.3系統(tǒng)數(shù)據(jù)流程圖43.系統(tǒng)設(shè)計(jì)53.1系統(tǒng)軟件功能結(jié)構(gòu)53.2系統(tǒng)主要技術(shù)53.3系統(tǒng)數(shù)據(jù)庫(kù)設(shè)計(jì)63.3.1數(shù)據(jù)庫(kù)設(shè)計(jì)要點(diǎn)63.3.2數(shù)據(jù)庫(kù)系統(tǒng)設(shè)計(jì)要點(diǎn)及難點(diǎn)63.3.3數(shù)據(jù)庫(kù)及其表的建立和使用63.3.4系統(tǒng)組成及數(shù)
2、據(jù)環(huán)境63.3.5數(shù)據(jù)庫(kù)概念設(shè)計(jì)73.3.6數(shù)據(jù)庫(kù)邏輯設(shè)計(jì)83.3.7數(shù)據(jù)庫(kù)物理設(shè)計(jì)93.4輸出設(shè)計(jì)113.5輸入設(shè)計(jì)114.系統(tǒng)實(shí)現(xiàn)114.1系統(tǒng)主程序流程124.2系統(tǒng)主界面設(shè)計(jì)134.3系統(tǒng)主程序設(shè)計(jì)134.4子程序設(shè)計(jì)174.4.1系統(tǒng)登錄174.4.2員工管理184.4.3部門(mén)管理214.4.4職務(wù)管理234.4.5工資管理254.4.6工資類別管理264.5系統(tǒng)測(cè)試275.結(jié)束語(yǔ)28【摘 要】本文從員工信息管理系統(tǒng)規(guī)劃、需求分析、系統(tǒng)設(shè)計(jì)、系統(tǒng)實(shí)現(xiàn)及系統(tǒng)測(cè)試等多個(gè)方面,分別敘述系統(tǒng)研發(fā)的整個(gè)實(shí)現(xiàn)過(guò)程,簡(jiǎn)述采用Delphi 7編程工具及Access數(shù)據(jù)庫(kù)實(shí)現(xiàn)系統(tǒng)應(yīng)用的設(shè)計(jì)要點(diǎn),重點(diǎn)闡
3、述系統(tǒng)實(shí)現(xiàn)過(guò)程中的重點(diǎn)和難點(diǎn)問(wèn)題的分析及其解決方案,解決企業(yè)對(duì)員工的計(jì)算機(jī)管理?!娟P(guān)鍵詞】員工、人事、工資、管理、數(shù)據(jù)庫(kù)引言隨著我國(guó)國(guó)民經(jīng)濟(jì)建設(shè)的蓬勃發(fā)展和社會(huì)主義市場(chǎng)經(jīng)濟(jì)體制的迅速完善,各個(gè)行業(yè)都在積極使用現(xiàn)代化的手段,不斷改善服務(wù)質(zhì)量,提高工作效率,這些都在很大程度上給企業(yè)提出越來(lái)越嚴(yán)峻的挑戰(zhàn),對(duì)企業(yè)體系無(wú)論是在行政職能、企業(yè)管理水平以及優(yōu)質(zhì)服務(wù)上都提出更高的要求。建設(shè)一個(gè)科學(xué)高效的信息管理系統(tǒng)是解決這一問(wèn)題的必由之路。員工信息管理作為企業(yè)內(nèi)部的一種員工基本檔案管理也是如此,由于企業(yè)的人數(shù)較多,每一位員工的具體實(shí)際情況也不盡相同,如果沒(méi)有一個(gè)完整的員工信息管理系統(tǒng)去完成,將使工作變得復(fù)雜,
4、并且對(duì)于工作的效率也將使一個(gè)致命的打擊,使無(wú)論如何也無(wú)法適應(yīng)現(xiàn)代社的需要。另外,目前部分企業(yè)使用的員工信息管理系統(tǒng)只有信息的錄入,修改和刪除的功能,而不具有信息查詢的功能,這對(duì)于企業(yè)的信息管理工作來(lái)說(shuō)是一個(gè)很遺憾的事情。因此,開(kāi)發(fā)一套功能完整,設(shè)計(jì)合理,使用方便的企業(yè)員工信息管理系統(tǒng)成為很有必要的事情。企業(yè)員工信息管理系統(tǒng)的內(nèi)容功能對(duì)于企業(yè)的決策者和管理者來(lái)說(shuō)都至關(guān)重要,所以企業(yè)員工信息管理系統(tǒng)應(yīng)該能夠?yàn)楣芾碚咛峁┏渥愕男畔⒑涂旖莸牟樵兣c管理手段。作為計(jì)算機(jī)應(yīng)用的一部分,使用計(jì)算機(jī)對(duì)企業(yè)員工信息進(jìn)行管理,具有手工管理所無(wú)法比擬的優(yōu)點(diǎn).例如:查詢迅速、查找方便、可靠性高、存儲(chǔ)量大、保密性好、壽命
5、長(zhǎng)、成本低等。這些優(yōu)點(diǎn)能夠降低員工管理工作的成本,減輕企業(yè)管理人員的負(fù)擔(dān),方便員工信息的更新、維護(hù)和查詢,增加數(shù)據(jù)的可靠性;從而提高企業(yè)員工信息管理的效率,開(kāi)拓企業(yè)員工管理工作的新局面,提高管理水平,是企業(yè)管理的科學(xué)化、正規(guī)化、信息化管理,與世界接軌的重要條件。當(dāng)前主流的程序開(kāi)發(fā)環(huán)境有Microsoft Visual Studio.NET,Sun Java,Borland Delphi等。Visual Studio.NET對(duì)Windows系統(tǒng)兼容性好;Java可以支持多種環(huán)境及操作系統(tǒng)平臺(tái);而Delphi則可在Windows系統(tǒng)下快速開(kāi)發(fā)C/S結(jié)構(gòu)程序,具有多方成熟的控件完善系統(tǒng)開(kāi)發(fā)。主流的數(shù)
6、據(jù)系統(tǒng)則有Oracle,Microsoft SQL Server和Access。Oracle功能強(qiáng)大,穩(wěn)定性好;SQL Server穩(wěn)定,功能齊全;而Access簡(jiǎn)單快速、小巧便捷。下面采用Borland Delphi 7開(kāi)發(fā)環(huán)境,結(jié)合Microsoft Access數(shù)據(jù)庫(kù),對(duì)員工信息管理系統(tǒng)的開(kāi)發(fā)過(guò)程和系統(tǒng)規(guī)劃、系統(tǒng)需求及分析、系統(tǒng)設(shè)計(jì)、系統(tǒng)實(shí)現(xiàn)及系統(tǒng)測(cè)試等各個(gè)階段,論述其數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)的設(shè)計(jì)要點(diǎn),實(shí)現(xiàn)過(guò)程中存在的難點(diǎn)、問(wèn)題的分析及其解決方案。1. 系統(tǒng)規(guī)劃系統(tǒng)規(guī)劃的主要內(nèi)容是信息系統(tǒng)設(shè)計(jì)的目標(biāo)及信息系統(tǒng)的總體方案。1.1 系統(tǒng)設(shè)計(jì)目標(biāo)本系統(tǒng)的設(shè)計(jì)目標(biāo)是建立企業(yè)對(duì)員工檔案及工資的計(jì)算機(jī)管理系
7、統(tǒng)。1.2 系統(tǒng)總體規(guī)劃系統(tǒng)本著合理性、可靠性和先進(jìn)性的原則,實(shí)現(xiàn):(1) 完整的數(shù)據(jù)分析系統(tǒng),能對(duì)數(shù)據(jù)流實(shí)施控制與動(dòng)態(tài)分析;(2) 有功能強(qiáng)大、資料齊全的查詢系統(tǒng);(3) 方便用戶使用及操作的界面,操作簡(jiǎn)便、運(yùn)行穩(wěn)定。1.3 設(shè)計(jì)方案(步驟)在員工信息需求的基礎(chǔ)上,提出整個(gè)信息系統(tǒng)的總體結(jié)構(gòu)方案,確定系統(tǒng)開(kāi)發(fā)設(shè)計(jì)的次序及時(shí)間的安排。具體分為五個(gè)步驟:(4) 分析員工檔案及工資等信息管理的業(yè)務(wù)活動(dòng),搞清業(yè)務(wù)流程及數(shù)據(jù)流程;(5) 根據(jù)業(yè)務(wù)流程及數(shù)據(jù)流程,確定屬于系統(tǒng)業(yè)務(wù)處理的范圍;(6) 分析業(yè)務(wù)流程及數(shù)據(jù)流程所涉及的數(shù)據(jù),確定數(shù)據(jù)庫(kù)及其數(shù)據(jù)表;(7) 確定系統(tǒng)概要設(shè)計(jì)(總體結(jié)構(gòu)、數(shù)據(jù)結(jié)構(gòu))、
8、詳細(xì)設(shè)計(jì)(模塊、算法)框架;(8) 進(jìn)行系統(tǒng)實(shí)施過(guò)程的程序設(shè)計(jì)及其軟件測(cè)試。2. 系統(tǒng)分析系統(tǒng)分析的最主要內(nèi)容有員工信息管理系統(tǒng)的業(yè)務(wù)需求分析、業(yè)務(wù)流程圖、數(shù)據(jù)流程圖、數(shù)據(jù)庫(kù)設(shè)計(jì)等四個(gè)部分。2.1 業(yè)務(wù)需求與分析(1) 系統(tǒng)數(shù)據(jù)需求通過(guò)對(duì)企業(yè)員工的信息管理業(yè)務(wù)流程的調(diào)查,總結(jié)系統(tǒng)對(duì)其數(shù)據(jù)的需求,主要有:?jiǎn)T工檔案信息,員工工資信息,部門(mén)、職務(wù)、工資類型等基礎(chǔ)信息(2) 系統(tǒng)功能需求系統(tǒng)的主要需求,即所設(shè)計(jì)的系統(tǒng)在功能上應(yīng)做什么。本系統(tǒng)主要的功能有:?jiǎn)T工管理:完成員工檔案的新增、修改、刪除、查詢及打印等功能;主要實(shí)現(xiàn)對(duì)所有員工的姓名、編號(hào)、部門(mén)、職務(wù)、入職時(shí)間、性別、身份證號(hào)、出生日期、學(xué)歷、私人
9、電話及工作電話等信息的管理。工資管理:完成員工工資的錄入、查詢、分析及相關(guān)打印等功能;主要實(shí)現(xiàn)對(duì)員工的姓名、工資類別及工資金額等信息的管理?;拘畔⒐芾恚和瓿刹块T(mén)設(shè)置、職務(wù)設(shè)置、工資類別設(shè)置、用戶口令設(shè)置,系統(tǒng)數(shù)據(jù)初始化等功能。部門(mén)設(shè)置主要實(shí)現(xiàn)部門(mén)編號(hào)和部門(mén)名稱的設(shè)置;職務(wù)設(shè)置主要實(shí)現(xiàn)職務(wù)編號(hào)和職務(wù)名稱的設(shè)置;工資類別設(shè)置主要實(shí)現(xiàn)工資類別編號(hào)和工資類別名稱的設(shè)置;口令更改實(shí)現(xiàn)用戶口令的修改;系統(tǒng)初始化清除系統(tǒng)所有歷史數(shù)據(jù),使數(shù)據(jù)庫(kù)進(jìn)入初始狀態(tài)。系統(tǒng)幫助:幫助用戶解決問(wèn)題,溝通與軟件開(kāi)發(fā)者的聯(lián)系。(3) 系統(tǒng)性能需求系統(tǒng)的性能指標(biāo)包括存儲(chǔ)容量限制、運(yùn)行時(shí)間限制、傳輸速度要求、安全保密性等幾個(gè)方面
10、。(4) 系統(tǒng)運(yùn)行環(huán)境需求硬件方面:采用的設(shè)備機(jī)型以及外部設(shè)備等;軟件方面:支持系統(tǒng)運(yùn)行的系統(tǒng)軟件,如操作系統(tǒng)、數(shù)據(jù)庫(kù)系統(tǒng)等。(5) 系統(tǒng)可靠性及安全保密需求對(duì)系統(tǒng)、重要子系統(tǒng)在運(yùn)行中的安全、可靠、保密方面提出要求。2.2 系統(tǒng)業(yè)務(wù)流程圖從實(shí)際業(yè)務(wù)功能的角度將系統(tǒng)規(guī)劃中有關(guān)的業(yè)務(wù)做進(jìn)一步的分析,用一個(gè)完整的圖型來(lái)反映業(yè)務(wù)處理過(guò)程。系統(tǒng)業(yè)務(wù)流程圖(TFD)如下:2.3 系統(tǒng)數(shù)據(jù)流程圖以數(shù)據(jù)流程圖表示數(shù)據(jù)流向和對(duì)數(shù)據(jù)進(jìn)行的加工;分析系統(tǒng)數(shù)據(jù),對(duì)數(shù)據(jù)流圖中的數(shù)據(jù)流給出具體定義。系統(tǒng)的頂層數(shù)據(jù)流程圖(DFD)如下:3. 系統(tǒng)設(shè)計(jì)系統(tǒng)設(shè)計(jì)主要有以下幾項(xiàng)內(nèi)容:3.1 系統(tǒng)軟件功能結(jié)構(gòu)3.2 系統(tǒng)主要技術(shù)本
11、系統(tǒng)采用Borland Delphi 7開(kāi)發(fā)環(huán)境,結(jié)合Microsoft Access數(shù)據(jù)庫(kù)。Borland Delphi 7使用的是面向?qū)ο蟮腛bject Pascal語(yǔ)言,可以靈活得進(jìn)行大型應(yīng)用系統(tǒng)的開(kāi)發(fā)。Delphi 7提供了對(duì)數(shù)據(jù)庫(kù)系統(tǒng)及標(biāo)準(zhǔn)SQL語(yǔ)言支持,可以開(kāi)發(fā)出符合標(biāo)準(zhǔn)SQL的應(yīng)用系統(tǒng),提高系統(tǒng)的可移植性,可根據(jù)不同企業(yè)的需求,使用Oracle、SQL Server、Access等標(biāo)準(zhǔn)的SQL數(shù)據(jù)庫(kù)。同時(shí),Delphi 7自身提供了很多數(shù)據(jù)庫(kù)操作的控件,還有第三方優(yōu)勢(shì)的數(shù)據(jù)庫(kù)操控件,從面更快,更好得開(kāi)發(fā)出優(yōu)秀的應(yīng)用系統(tǒng)。本系統(tǒng)就采用了Dev Express公司的DevExpres
12、sVCL數(shù)據(jù)控件一起實(shí)現(xiàn)員工信息管理系統(tǒng)的開(kāi)發(fā)。3.3 系統(tǒng)數(shù)據(jù)庫(kù)設(shè)計(jì)3.3.1 數(shù)據(jù)庫(kù)設(shè)計(jì)要點(diǎn)(9) 第一階段的設(shè)計(jì)任務(wù)是收集和分析用戶需求,完成數(shù)據(jù)庫(kù)的概念設(shè)計(jì)。(10) 第二階段設(shè)計(jì)任務(wù)是數(shù)據(jù)庫(kù)的邏輯設(shè)計(jì),完成E-R模型向邏輯模型轉(zhuǎn)換。(11) 第三階段設(shè)計(jì)任務(wù)是數(shù)據(jù)庫(kù)的物理設(shè)計(jì),確定表的結(jié)構(gòu),建立數(shù)據(jù)庫(kù)模型。3.3.2 數(shù)據(jù)庫(kù)系統(tǒng)設(shè)計(jì)要點(diǎn)及難點(diǎn)(12) 建立數(shù)據(jù)庫(kù),確定數(shù)據(jù)庫(kù)中表的數(shù)量及其每個(gè)表中各個(gè)字段的字段名、類型、寬度、小數(shù)及索引、排序。(13) 確定數(shù)據(jù)庫(kù)中各個(gè)表的字段的主鍵值、主索引及普通索引。(14) 建立各個(gè)表數(shù)據(jù)環(huán)境,確定主表并建立主表與各個(gè)表之單的關(guān)聯(lián)。(15) 程序
13、設(shè)計(jì)過(guò)程中的標(biāo)簽、文本框、編輯框、復(fù)選框、列表框、數(shù)據(jù)庫(kù)連接、數(shù)據(jù)查詢的屬性。(16) 采用結(jié)構(gòu)化編程方法,確定系統(tǒng)功能模塊及其相互之間的關(guān)系。3.3.3 數(shù)據(jù)庫(kù)及其表的建立和使用使用Access程序建立Access數(shù)據(jù)庫(kù),建立相應(yīng)表,設(shè)置各個(gè)表中具體字段名稱、類型、主鍵、索引,設(shè)置各個(gè)表間的關(guān)系。3.3.4 系統(tǒng)組成及數(shù)據(jù)環(huán)境(1)數(shù)據(jù)庫(kù):PersonnelInfo.mdb(2)表:?jiǎn)T工員工信息表,工資工資表,部門(mén)部門(mén)信息表,職務(wù)職務(wù)信息表,工資類別工資類別信息表(3)項(xiàng)目:PersonnelInfo.dpr:?jiǎn)T工信息管理系統(tǒng)項(xiàng)目管理器(4)表單:Main.dfm系統(tǒng)主界面Personnel
14、.dfm 員工管理界面Wage.dfm工資管理界面Department.dfm部門(mén)管理界面Post.dfm職務(wù)管理界面About.dfm 關(guān)于界面WageCategory.dfm工資類型管理界面(5)程序:Main.pas系統(tǒng)主程序Personnel.pas 員工管理程序Wage.pas工資管理程序Department.pas部門(mén)管理程序Post.pas職務(wù)管理程序About.pas 關(guān)于程序WageCategory.pas工資類型管理程序(6)數(shù)據(jù)環(huán)境:3.3.5 數(shù)據(jù)庫(kù)概念設(shè)計(jì)數(shù)據(jù)庫(kù)概念設(shè)計(jì)主要采用E-R模型進(jìn)行設(shè)計(jì).E-R模型的關(guān)系是確定每一處理模塊的實(shí)體、實(shí)體屬性和實(shí)體間的聯(lián)系。實(shí)體、
15、屬性、聯(lián)系及數(shù)據(jù)結(jié)構(gòu)描述如下:(1)員工管理模塊實(shí)體:?jiǎn)T工、部門(mén)、職務(wù);屬性:?jiǎn)T工的屬性有姓名、員工編號(hào)、部門(mén)、職務(wù)、入職時(shí)間、性別、身份證號(hào)、出生日期、學(xué)歷、私人電話、工作電話及備注等;部門(mén)的屬性有部門(mén)編號(hào)和部門(mén)名稱;職務(wù)的屬性有職務(wù)編號(hào)和職務(wù)名稱。聯(lián)系:?jiǎn)T工與部門(mén)之間是多對(duì)一(M:1)的關(guān)系;員工與職務(wù)之間也是多對(duì)一(M:1)的關(guān)系。數(shù)據(jù)項(xiàng):見(jiàn)數(shù)據(jù)庫(kù)的物理設(shè)計(jì)。(2)工資管理模塊實(shí)體:工資、工資類別;屬性:工資的屬性有員工編號(hào)、工資類別和工資金額;工資類別有工資類別編號(hào)、工資類別名稱。關(guān)系:工資類別與工資這間是一對(duì)一(1:1)的關(guān)系。數(shù)據(jù)項(xiàng):見(jiàn)數(shù)據(jù)庫(kù)的物理設(shè)計(jì)。3.3.6 數(shù)據(jù)庫(kù)邏輯設(shè)計(jì)數(shù)
16、據(jù)庫(kù)的邏輯設(shè)計(jì)主要完成從E-R模型向數(shù)據(jù)邏輯模型的轉(zhuǎn)換。首先將E-R模型中同一實(shí)體的所有屬性放在同一記錄類型中,變成記錄的數(shù)據(jù)項(xiàng);其次如果兩個(gè)實(shí)體間有M:N的關(guān)系,除各自建立記錄類型之外,還需增加一個(gè)記錄類型,這一記錄類型應(yīng)包括兩個(gè)實(shí)體各自的主鍵。邏輯模型規(guī)范化及總E-R圖描述如下:?jiǎn)T工(員工編號(hào)、姓名、部門(mén)編號(hào)、職務(wù)編號(hào)、入職時(shí)間、性別、身份證號(hào)、出生日期、學(xué)歷、私人電話、工作電話、備注);部門(mén)(部門(mén)編號(hào)、部門(mén)名稱、備注);職務(wù)(職務(wù)編號(hào)、職務(wù)名稱、備注);工資(員工編號(hào)、工資類型編號(hào)、金額、備注);工資類別(工資類別編號(hào)、工資類別名稱、備注);用戶(用戶名、密碼、確認(rèn)密碼、備注)。消除冗余
17、數(shù)據(jù)和聯(lián)系后,其系統(tǒng)的E-R圖如下:3.3.7 數(shù)據(jù)庫(kù)物理設(shè)計(jì)數(shù)據(jù)庫(kù)的物理設(shè)計(jì)將完成數(shù)據(jù)邏輯模型向數(shù)據(jù)物理模型的轉(zhuǎn)換。每一記錄類型確定為數(shù)據(jù)庫(kù)中的一張表;記錄類型中的數(shù)據(jù)項(xiàng)成為相應(yīng)表中的字段,字段屬性根據(jù)各字段特點(diǎn)設(shè)置;確定索引和表之間的聯(lián)系。系統(tǒng)表結(jié)構(gòu)描述如下:(1)員工表用于存放員工信息,包括員工編號(hào)、姓名、部門(mén)編號(hào)、職務(wù)編號(hào)、入職時(shí)間、性別、身份證號(hào)、出生日期、學(xué)歷、私人電話、工作電話、備注。字段字段名稱類型寬度必需索引說(shuō)明1員工編號(hào)文本20是有無(wú)重復(fù)主鍵2姓名文本10是3部門(mén)編號(hào)數(shù)字長(zhǎng)整型4職務(wù)編號(hào)數(shù)字長(zhǎng)整型5入職時(shí)間日期/時(shí)間6性別文本27身份證號(hào)文本208出生日期日期/時(shí)間9學(xué)歷文
18、本1010私人電話文本2011工作電話文本2012備注文本100(2)部門(mén)表用于存放員工的部門(mén)信息,包括部門(mén)編號(hào)、部門(mén)名稱和備注。字段字段名稱類型寬度必需索引說(shuō)明1部門(mén)編號(hào)數(shù)字長(zhǎng)整型是有無(wú)重復(fù)主鍵2部門(mén)名稱文本20是3備注文本100(3)職務(wù)表用于存放員工的職務(wù)信息,包括職務(wù)編號(hào)、職務(wù)名稱和備注。字段字段名稱類型寬度必需索引說(shuō)明1職務(wù)編號(hào)數(shù)字長(zhǎng)整型是有無(wú)重復(fù)主鍵2職務(wù)名稱文本20是3備注文本100(4)工資表用于存放員工的工資信息,包括員工編號(hào)、工資類別編號(hào)、金額和備注。字段字段名稱類型寬度必需索引說(shuō)明1員工編號(hào)文本20是有重復(fù)主鍵2工資類別編號(hào)數(shù)字長(zhǎng)整型是有重復(fù)主鍵3金額數(shù)字單精度型4備注文
19、本100(5)工資類別表用于存放員工的工資類別,包括工資類別編號(hào)、工資類別名稱和備注。字段字段名稱類型寬度必需索引說(shuō)明1工資類別編號(hào)數(shù)字長(zhǎng)整型是有無(wú)重復(fù)主鍵2工資類別名稱文本20是3備注文本100(6)用戶表用于存放系統(tǒng)的用戶名和密碼,包括用戶名、密碼和備注。字段字段名稱類型寬度必需索引說(shuō)明1用戶名文本20是有無(wú)重復(fù)主鍵2密碼文本30是3確認(rèn)密碼文本30是4備注文本1003.4 輸出設(shè)計(jì)(1) 選擇輸出方式 :顯示終端、打印機(jī);(2) 確定輸出格式:格式設(shè)計(jì)體現(xiàn)在各類報(bào)表中;(3) 輸出的主要形式:報(bào)表;(4) 輸出的內(nèi)容:主要有員工信息、工資信息、部門(mén)信息、職務(wù)信息、工資類別信息和用戶信息。
20、3.5 輸入設(shè)計(jì)(1) 輸入方式設(shè)計(jì)鍵盤(pán)輸入和鼠標(biāo)操作,為常規(guī)的數(shù)據(jù)錄入方式;磁盤(pán)傳遞數(shù)據(jù)。(2) 用戶界面設(shè)計(jì)(詳見(jiàn)各子模塊用戶界面)人機(jī)對(duì)話方式:通過(guò)屏幕、鍵盤(pán)、鼠標(biāo)與系統(tǒng)對(duì)話,當(dāng)操作錯(cuò)誤時(shí)系統(tǒng)給出提示和警告。菜單方式:設(shè)計(jì)成下拉式、上彈式、按鈕式,功能選擇:有光帶移動(dòng)、數(shù)字或字母選擇、鼠標(biāo)驅(qū)動(dòng)。4. 系統(tǒng)實(shí)現(xiàn)系統(tǒng)實(shí)施的最主要工作是程序設(shè)計(jì),此外還包括了物理系統(tǒng)的實(shí)施、程序的調(diào)試等。本系統(tǒng)的程序設(shè)計(jì)由主程序和各模塊表單程序等兩大部份組成。4.1 系統(tǒng)主程序流程4.2 系統(tǒng)主界面設(shè)計(jì)4.3 系統(tǒng)主程序設(shè)計(jì)unit Main;interfaceuses Windows, SysUtils, C
21、lasses, Graphics, Forms, Controls, Menus, StdCtrls, Dialogs, Buttons, Messages, ExtCtrls, ComCtrls, StdActns, ActnList, ToolWin, ImgList, DB, ADODB, cxControls, cxContainer, cxEdit, cxLabel;type TMainForm = class(TForm) MainMenu: TMainMenu; File1: TMenuItem; Window: TMenuItem; Help: TMenuItem; FileE
22、xitItem: TMenuItem; WindowCascadeItem: TMenuItem; WindowTileItem: TMenuItem; WindowArrangeItem: TMenuItem; HelpAboutItem: TMenuItem; WindowMinimizeItem: TMenuItem; ActionList: TActionList; FileExit: TAction; WindowCascade1: TWindowCascade; WindowTileHorizontal1: TWindowTileHorizontal; WindowArrangeA
23、ll1: TWindowArrange; WindowMinimizeAll1: TWindowMinimizeAll; HelpAbout1: TAction; WindowTileVertical1: TWindowTileVertical; WindowTileItem2: TMenuItem; ImageList: TImageList; FileWage: TMenuItem; FilePersonnel: TMenuItem; FileDepartment: TMenuItem; ADOConnection: TADOConnection; FilePost: TMenuItem;
24、 N1: TMenuItem; FileWageCategory: TMenuItem; Image1: TImage; FileUser: TMenuItem; ADOQueryDelete: TADOQuery; FileDataInit: TMenuItem; procedure HelpAbout1Execute(Sender: TObject); procedure FileExitExecute(Sender: TObject); procedure FilePersonnelClick(Sender: TObject); procedure FileDepartmentClick
25、(Sender: TObject); procedure FilePostClick(Sender: TObject); procedure FileWageCategoryClick(Sender: TObject); procedure FileWageClick(Sender: TObject); procedure FormActivate(Sender: TObject); procedure FileUserClick(Sender: TObject); procedure FileDataInitClick(Sender: TObject); private Private de
26、clarations public Public declarations end;var MainForm: TMainForm; ShowLogin :Boolean = True;implementation$R *.dfmuses Login, Personnel, Department, Post, Wage, WageCategory, User, About;procedure TMainForm.FileExitExecute(Sender: TObject);begin Close;end;procedure TMainForm.HelpAbout1Execute(Sende
27、r: TObject);begin AboutBox.ShowModal;end;procedure TMainForm.FilePersonnelClick(Sender: TObject);var MDIPersonnel: TMDIPersonnel; i: integer;begin for i:=0 to MDIChildCount-1 do if MDIChildreni is TMDIPersonnel then begin MDIChildreni.BringToFront; if MDIChildreni.WindowState = wsMinimized then MDIC
28、hildreni.WindowState := wsNormal; Exit; end; MDIPersonnel := TMDIPersonnel.Create(Application); MDIPersonnel.Show;end;procedure TMainForm.FileDepartmentClick(Sender: TObject);var MDIDepartment: TMDIDepartment; i: integer;begin for i:=0 to MDIChildCount-1 do if MDIChildreni is TMDIDepartment then beg
29、in MDIChildreni.BringToFront; if MDIChildreni.WindowState = wsMinimized then MDIChildreni.WindowState := wsNormal; Exit; end; MDIDepartment := TMDIDepartment.Create(Application); MDIDepartment.Show;end;procedure TMainForm.FilePostClick(Sender: TObject);var MDIPost: TMDIPost; i: integer;begin for i:=
30、0 to MDIChildCount-1 do if MDIChildreni is TMDIPost then begin MDIChildreni.BringToFront; if MDIChildreni.WindowState = wsMinimized then MDIChildreni.WindowState := wsNormal; Exit; end; MDIPost := TMDIPost.Create(Application); MDIPost.Show;end;procedure TMainForm.FileWageCategoryClick(Sender: TObjec
31、t);var MDIWageCategory: TMDIWageCategory; i: integer;begin for i:=0 to MDIChildCount-1 do if MDIChildreni is TMDIWageCategory then begin MDIChildreni.BringToFront; if MDIChildreni.WindowState = wsMinimized then MDIChildreni.WindowState := wsNormal; Exit; end; MDIWageCategory := TMDIWageCategory.Crea
32、te(Application); MDIWageCategory.Show;end;procedure TMainForm.FileWageClick(Sender: TObject);var MDIWage: TMDIWage; i: integer;begin for i:=0 to MDIChildCount-1 do if MDIChildreni is TMDIWage then begin MDIChildreni.BringToFront; if MDIChildreni.WindowState = wsMinimized then MDIChildreni.WindowStat
33、e := wsNormal; Exit; end; MDIWage := TMDIWage.Create(Application); MDIWage.Show;end;procedure TMainForm.FormActivate(Sender: TObject);begin if ShowLogin then begin LoginBox.ShowModal; if ShowLogin then Close; end;end;procedure TMainForm.FileUserClick(Sender: TObject);var MDIUser: TMDIUser; i: intege
34、r;begin for i:=0 to MDIChildCount-1 do if MDIChildreni is TMDIUser then begin MDIChildreni.BringToFront; if MDIChildreni.WindowState = wsMinimized then MDIChildreni.WindowState := wsNormal; Exit; end; MDIUser := TMDIUser.Create(Application); MDIUser.Show;end;end.4.4 子程序設(shè)計(jì)4.4.1 系統(tǒng)登錄unit Login;interfa
35、ceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, DB, ADODB, StdCtrls;type TLoginBox = class(TForm) ButtonLogin: TButton; ButtonCancel: TButton; LabelUser: TLabel; EditUser: TEdit; LabelPassword: TLabel; EditPassword: TEdit; ADOQueryLogin: TADOQuery; procedur
36、e ButtonLoginClick(Sender: TObject); procedure FormClose(Sender: TObject; var Action: TCloseAction); procedure ButtonCancelClick(Sender: TObject); private Private declarations public Public declarations end;var LoginBox: TLoginBox; LoginTime: Integer=0; implementation$R *.dfmuses Main;procedure TLog
37、inBox.ButtonLoginClick(Sender: TObject);begin if (EditUser.Text) then begin try ADOQueryLogin.Close; ADOQueryLogin.SQL.Clear; ADOQueryLogin.SQL.Add(SELECT COUNT(*) FROM 用戶 WHERE 用戶名=:User AND 密碼=:Password); ADOQueryLogin.Parameters.ParamByName(User).Value:=EditUser.Text; ADOQueryLogin.Parameters.Par
38、amByName(Password).Value:=EditPassword.Text; ADOQueryLogin.Open; if ADOQueryLogin.Fields0.AsInteger=1 then begin ShowLogin:=False; Close; end else begin ShowMessage(用戶名或密碼錯(cuò)誤!); LoginTime:=LoginTime+1; if LoginTime=3 then Close; end; finally ADOQueryLogin.Close; end; end;end;procedure TLoginBox.FormC
39、lose(Sender: TObject; var Action: TCloseAction);begin Action := caFree;end;procedure TLoginBox.ButtonCancelClick(Sender: TObject);begin Close;end;end.4.4.2 員工管理unit Personnel;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, DB, ADODB, cxStyles, cxCust
40、omData, cxGraphics, cxFilter, cxData, cxDataStorage, cxEdit, cxDBData, cxGridCustomTableView, cxGridTableView, cxGridDBTableView, cxGridLevel, cxClasses, cxControls, cxGridCustomView, cxGrid, cxNavigator, StdCtrls, Grids, DBGrids, StrUtils, cxDBNavigator, cxGridCustomPopupMenu, cxGridPopupMenu, dxSt
41、atusBar, cxCalendar, cxDropDownEdit, cxCheckBox, cxRadioGroup, cxDBLookupComboBox;type TMDIPersonnel = class(TForm) DataSourcePersonne: TDataSource; ADOQueryPersonne: TADOQuery; cxGrid1DBTableView1: TcxGridDBTableView; cxGrid1Level1: TcxGridLevel; cxGrid1: TcxGrid; cxDBNavigator1: TcxDBNavigator; cx
42、Grid1DBTableView1DBColumn: TcxGridDBColumn; cxGrid1DBTableView1DBColumn1: TcxGridDBColumn; cxGrid1DBTableView1DBColumn2: TcxGridDBColumn; cxGrid1DBTableView1DBColumn3: TcxGridDBColumn; cxGrid1DBTableView1DBColumn4: TcxGridDBColumn; cxGrid1DBTableView1DBColumn5: TcxGridDBColumn; cxGrid1DBTableView1DB
43、Column6: TcxGridDBColumn; cxGrid1DBTableView1DBColumn7: TcxGridDBColumn; cxGrid1DBTableView1DBColumn8: TcxGridDBColumn; cxGrid1DBTableView1DBColumn9: TcxGridDBColumn; cxGrid1DBTableView1DBColumn10: TcxGridDBColumn; cxGrid1DBTableView1DBColumn11: TcxGridDBColumn; DataSourceDepartment: TDataSource; AD
44、OQueryDepartment: TADOQuery; DataSourcePost: TDataSource; ADOQueryPost: TADOQuery; procedure ADOQueryPersonnePostError(DataSet: TDataSet; E: EDatabaseError; var Action: TDataAction); procedure FormClose(Sender: TObject; var Action: TCloseAction); procedure ADOQueryPersonneBeforeRefresh(DataSet: TDat
45、aSet); private Private declarations public Public declarations end;implementation$R *.dfmuses main;procedure TMDIPersonnel.ADOQueryPersonnePostError(DataSet: TDataSet; E: EDatabaseError; var Action: TDataAction);begin if DataSet.Fields0.AsString = then ShowMessage(“員工編號(hào)”不能為空!) else if AnsiContainsSt
46、r(e.Message, 重復(fù)數(shù)據(jù)) then ShowMessage(“員工編號(hào)”不能重復(fù)!) else if DataSet.Fields1.AsString = then ShowMessage(“姓名”不能為空!) else if DataSet.Fields2.AsString = then ShowMessage(“部門(mén)編號(hào)”不能為空!) else if DataSet.Fields3.AsString = then ShowMessage(“職務(wù)編號(hào)”不能為空!) else if DataSet.Fields4.AsString = then ShowMessage(“入職時(shí)間”
47、不能為空!) else ShowMessage(e.Message); Action:=daAbort;end;procedure TMDIPersonnel.FormClose(Sender: TObject; var Action: TCloseAction);begin Action := caFree;end;procedure TMDIPersonnel.ADOQueryPersonneBeforeRefresh(DataSet: TDataSet);begin ADOQueryDepartment.Close; ADOQueryDepartment.Open; ADOQueryPo
48、st.Close; ADOQueryPost.Open;end;end.4.4.3 部門(mén)管理unit Department;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, DB, ADODB, cxStyles, cxCustomData, cxGraphics, cxFilter, cxData, cxDataStorage, cxEdit, cxDBData, cxGridCustomTableView, cxGridTableView, cx
49、GridDBTableView, cxGridLevel, cxClasses, cxControls, cxGridCustomView, cxGrid, cxNavigator, StdCtrls, Grids, DBGrids, StrUtils, cxDBNavigator, cxGridCustomPopupMenu, cxGridPopupMenu, dxStatusBar;type TMDIDepartment = class(TForm) DataDepartment: TDataSource; ADOQueryDepartment: TADOQuery; cxGrid1DBT
50、ableView1: TcxGridDBTableView; cxGrid1Level1: TcxGridLevel; cxGrid1: TcxGrid; cxDBNavigator1: TcxDBNavigator; cxGrid1DBTableView1DBColumn1: TcxGridDBColumn; cxGrid1DBTableView1DBColumn2: TcxGridDBColumn; procedure ADOQueryDepartmentPostError(DataSet: TDataSet; E: EDatabaseError; var Action: TDataAct
51、ion); procedure FormClose(Sender: TObject; var Action: TCloseAction); private Private declarations public Public declarations end;implementation$R *.dfmuses main;procedure TMDIDepartment.ADOQueryDepartmentPostError(DataSet: TDataSet; E: EDatabaseError; var Action: TDataAction);begin if DataSet.Field
52、s1.AsString = then ShowMessage(“部門(mén)名稱”不能為空!) else if AnsiContainsStr(e.Message, 重復(fù)數(shù)據(jù)) then ShowMessage(“部門(mén)名稱”不能重復(fù)!) else ShowMessage(e.Message); Action:=daAbort;end;procedure TMDIDepartment.FormClose(Sender: TObject; var Action: TCloseAction);begin Action := caFree;end;end.4.4.4 職務(wù)管理unit Post;interfa
53、ceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, DB, ADODB, cxStyles, cxCustomData, cxGraphics, cxFilter, cxData, cxDataStorage, cxEdit, cxDBData, cxGridCustomTableView, cxGridTableView, cxGridDBTableView, cxGridLevel, cxClasses, cxControls, cxGridCustomView
54、, cxGrid, cxNavigator, StdCtrls, Grids, DBGrids, StrUtils, cxDBNavigator, cxGridCustomPopupMenu, cxGridPopupMenu, dxStatusBar;type TMDIPost = class(TForm) DataPost: TDataSource; ADOQueryPost: TADOQuery; cxGrid1DBTableView1: TcxGridDBTableView; cxGrid1Level1: TcxGridLevel; cxGrid1: TcxGrid; cxDBNavig
55、ator1: TcxDBNavigator; cxGrid1DBTableView1DBColumn1: TcxGridDBColumn; cxGrid1DBTableView1DBColumn2: TcxGridDBColumn; procedure ADOQueryPostPostError(DataSet: TDataSet; E: EDatabaseError; var Action: TDataAction); procedure FormClose(Sender: TObject; var Action: TCloseAction); private Private declara
56、tions public Public declarations end;implementation$R *.dfmuses main;procedure TMDIPost.ADOQueryPostPostError(DataSet: TDataSet; E: EDatabaseError; var Action: TDataAction);begin if DataSet.Fields1.AsString = then ShowMessage(“職務(wù)名稱”不能為空!) else if AnsiContainsStr(e.Message, 重復(fù)數(shù)據(jù)) then ShowMessage(“職務(wù)名稱”不能重復(fù)!) else ShowMessage(e.Message); Action:=daAbort;end;procedure TMDIPost.FormClose(Sender: TObject; var Action: TCloseAction);begin Action := caFree;end;end.4.4.5 工資管理4.4.6 工資類別管理unit WageCategory;in
- 溫馨提示:
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. 裝配圖網(wǎng)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 文言特殊句式課件簡(jiǎn)
- 攻克逆作法施工難點(diǎn)確保柱頭施工質(zhì)量
- 如何設(shè)計(jì)年度培訓(xùn)計(jì)劃
- 芳香環(huán)上取代反應(yīng)
- 房屋的演變PPT課件
- 大眾汽車(chē)電子零部件
- 129127493023125000互聯(lián)網(wǎng)支付工具與網(wǎng)上銀行
- 英語(yǔ)人教版八年級(jí)下冊(cè)Unit 2 Section A 1 (1a-2d)
- 第15章 開(kāi)發(fā)Web應(yīng)用程序
- 第6章 Windows窗體應(yīng)用程序
- 第3章 Windows 7軟硬件管理安裝與卸載程序
- 黨員發(fā)展程序和入黨文書(shū)基本寫(xiě)作
- 物理化學(xué)熱力學(xué)一律1課件
- 福建土樓介紹
- 教師課堂提問(wèn)技能培養(yǎng)專題課件