下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
.圖2-6員工工作評價程序流程圖員工工資管理程序流程圖員工工資管理程序如圖2-7所示:圖2-7員工總工資管理程序流程圖系統(tǒng)規(guī)劃通過上面的系統(tǒng)需求分析和可行性研究,基本確定了本管理系統(tǒng)的各個功能模塊。人事信息管理系統(tǒng)是單位用來存儲、查詢及統(tǒng)計人員各種信息的,因此,它是個典型的數(shù)據(jù)庫管理系統(tǒng)。主要由系統(tǒng)管理模塊、員工基本信息模塊、員工考勤管理模塊、員工工作評價模塊、員工工資管理模塊、關(guān)于模塊和程序封面模塊等組成。2.6.1系統(tǒng)管理模塊該模塊的主要作用是維護(hù)本人事管理系統(tǒng)的安全和退出的。為了保證系統(tǒng)的安全,在系統(tǒng)中設(shè)置了用戶登陸密碼,因此,在這個模塊中設(shè)計了用戶密碼修改功能,同時為了系統(tǒng)維護(hù)管理員對整個系統(tǒng)進(jìn)行管理,設(shè)計了增加用戶、注銷用戶的功能。在設(shè)計中,將本系統(tǒng)的退出功能也放在這個模塊中。2.6.2員工基本信息模塊該模塊主要實現(xiàn)如下功能:添加員工基本信息修改員工基本信息刪除員工基本信息查詢員工基本信息2.6.3員工考勤管理模塊該模塊主要實現(xiàn)如下功能:添加考勤信息修改考勤信息刪除考勤信息考勤信息查詢2.6.4員工工作評價模塊該模塊主要實現(xiàn)如下功能:添加工作評價信息修改工作評價信息刪除工作評價信息工作評價信息查詢2.6.5員工工資管理模塊該模塊主要實現(xiàn)如下功能:計發(fā)員工工資信息修改員工工資信息員工總工資信息查詢2.6.6關(guān)于模塊此模塊的功能是對本人事管理系統(tǒng)作一個說明。說明本系統(tǒng)的性質(zhì)、設(shè)計時間等等。2.6.7程序封面模塊此封面模塊的功能一是為了美化本系統(tǒng)程序,二是為了在啟動本系統(tǒng)時用作登陸表單。系統(tǒng)啟動時首先打XX面模塊,只有在封面模塊中的用戶登陸窗口中輸入用戶名和密碼,經(jīng)系統(tǒng)確認(rèn)正確后才能使用本系統(tǒng)。系統(tǒng)數(shù)據(jù)流圖根據(jù)人事信息管理系統(tǒng)的設(shè)計思路,將系統(tǒng)中的數(shù)據(jù)處理過程形象化,繪制成數(shù)據(jù)流程圖,以便考察數(shù)據(jù)的處理模式。數(shù)據(jù)流程圖簡稱DFD圖是利用外部項,數(shù)據(jù)流,處理邏輯和數(shù)據(jù)存儲四種基本成分及若干規(guī)則來描述系統(tǒng)邏輯模型的。(1)DFD圖將使用以下的符號來表示四種基本元素。如圖2-8所示:圖2-8圖例2(2)人事信息管理系統(tǒng)的數(shù)據(jù)流圖。如圖2-9,圖2-10,圖2-11所示:圖2-9系統(tǒng)數(shù)據(jù)流圖圖2-10系統(tǒng)數(shù)據(jù)流圖圖2-11系統(tǒng)數(shù)據(jù)流圖系統(tǒng)建模(E-R圖)系統(tǒng)信息建模主要用到的工具是E-R圖。實體與實體間的關(guān)系E-R圖如下圖2-7所示:圖2-12系統(tǒng)E-R圖實體與實體間的關(guān)系E-R圖規(guī)劃出的實體有:員工基本信息、員工考勤信息、員工工作評價信息、員工工資信息。各個實體具體的描述E-R圖如圖2-13,圖2-14,圖2-15,圖2-16所示:圖2-13員工基本信息實體E-R圖圖2-14員工考勤信息實體E-R圖圖2-15員工工作評價信息實體E-R圖圖2-16員工工資信息實體E-R圖數(shù)據(jù)字典根據(jù)公司的人事信息管理系統(tǒng)的需求,通過對員工工作過程的內(nèi)容和數(shù)據(jù)流分析,設(shè)計如下所示的數(shù)據(jù)向和數(shù)據(jù)結(jié)構(gòu)。針對公司人事信息管理系統(tǒng)的需求,通過對員工工作過程的內(nèi)容和數(shù)據(jù)流程分析,設(shè)計如下面所示的數(shù)據(jù)項和數(shù)據(jù)結(jié)構(gòu):員工基本信息:包括的數(shù)據(jù)項有員工編號、員工XX、性別、出生日期、所在部門、籍貫、學(xué)歷、專業(yè)、參加工作時間、進(jìn)入公司時間、起薪時間、調(diào)入部門時間、職稱、入黨時間、檔號、原身份、原職務(wù)、原工作單位、備注等。員工考勤信息:包括的數(shù)據(jù)項有員工所在部門、員工XX、出勤時間、公休時間、曠工時間、請假時間、早退時間、遲到時間、加班時間、出差時間等。員工工作評價信息:包括的數(shù)據(jù)項有員工XX、員工所在部門、工作業(yè)績、工作態(tài)度、業(yè)務(wù)水平、備注等。員工工資信息:包括的數(shù)據(jù)項有員工所在部門、員工XX、底薪、補(bǔ)貼、獎金、加班、住房補(bǔ)貼、房租、養(yǎng)老金、醫(yī)療保險、住房公積金、所得稅、實發(fā)工資等。第三章系統(tǒng)設(shè)計與實施3.1VisualBasic6.0及SQL2000數(shù)據(jù)庫簡介3.1.1VisualBasic的發(fā)展VisualBasic(簡稱VB)是美國Microsoft公司推出、專門針對32位Windows操作系統(tǒng)的程序設(shè)計語言。隨著計算機(jī)的普及,當(dāng)時PC機(jī)上操作系統(tǒng)也不斷發(fā)展,Microsoft公司對其Baxic產(chǎn)品也做了許多方面的改進(jìn),推出了QuickBasic,并得到了廣泛的好評。20世紀(jì)90年代初,由于Windows操作平臺的逐漸流行,PC機(jī)的操作方式開始由命令型方式向圖形用戶界面(GUI,GraphicalUserInterface)方式轉(zhuǎn)變。Microsoft公司憑借強(qiáng)大的技術(shù)支持,開始把Basic向可視化編程方向發(fā)展,于是就有了第一代的VisualBasic產(chǎn)品。雖然第一代的產(chǎn)品功能很少,但是他有跨時代的意義。隨著Windows操作系統(tǒng)的不斷成熟,VisualBasic產(chǎn)品有1.0版升級到3.0版,此時VisualBasic已初具規(guī)模了,利用它可以快速的創(chuàng)建各種應(yīng)用程序,包括非常流行的多媒體應(yīng)用程序和各種圖形操作界面。在1998年,Microsoft推出了VisualBasic6.0版本,這一版本得到了很大的擴(kuò)充和增強(qiáng)。他還引入了使用部件編程的概念,實際上這是對面向?qū)ο缶幊趟枷氲臄U(kuò)展。迄今為止,VisualBasic已經(jīng)發(fā)展成為快速應(yīng)用程序開發(fā)(RAD,RapidApplicationDebelopment)工具的代表。3.1.2VisualBasic特點VisualBasic是Windows平臺上一個強(qiáng)大的開發(fā)工具,無論是初學(xué)者,還是專業(yè)人員都可以方便的使用它進(jìn)行程序設(shè)計。VisualBasic提供的是真正的面向?qū)ο蟮目梢暬幊谭椒?,開發(fā)人員只需少量代碼就可以編者出具有標(biāo)準(zhǔn)Windows風(fēng)格的程序,代碼維護(hù)非常方便。使用VisualBasic語言,不但可以編制常規(guī)的應(yīng)用程序,而且可以使用VB的腳本語言VBScript進(jìn)行Web開發(fā)、使用嵌入式VB語言VBforApplication(VBA)對一些流行軟件進(jìn)行二次開發(fā),還可以設(shè)計ActiveX控件,用于Web或其他支持這一技術(shù)的程序中。Microsoft不斷的把最新的技術(shù)融入VisualBasic中,無論是網(wǎng)絡(luò)應(yīng)用程序、多媒體軟件還是數(shù)據(jù)庫系統(tǒng),使用VisualBasic都能夠容易地實現(xiàn)。3.2系統(tǒng)設(shè)計概述系統(tǒng)設(shè)計的任務(wù)是:在系統(tǒng)分析提出的邏輯模型的基礎(chǔ)上科學(xué)合理地進(jìn)行物理模型設(shè)計。系統(tǒng)設(shè)計的主要工作有:總體設(shè)計。包括系統(tǒng)技術(shù)構(gòu)架,軟件結(jié)構(gòu)設(shè)計和系統(tǒng)流程設(shè)計。代碼設(shè)計。數(shù)據(jù)庫設(shè)計。輸入/輸出設(shè)計。從系統(tǒng)分析的邏輯模型設(shè)計到系統(tǒng)設(shè)計的物理模型設(shè)計是一個由抽象到具體的過程。經(jīng)過系統(tǒng)設(shè)計,設(shè)計人員應(yīng)能為程序開發(fā)人員提供完整,清楚的設(shè)計文檔,并對設(shè)計規(guī)X中不清楚的地方做出解釋。系統(tǒng)設(shè)計的原則包括:系統(tǒng)性系統(tǒng)是作為統(tǒng)一整體而存在的,因此,在系統(tǒng)設(shè)計中,要從整個系統(tǒng)的角度進(jìn)行考慮,系統(tǒng)的代碼要統(tǒng)一,設(shè)計規(guī)X要標(biāo)準(zhǔn),傳遞語言要盡可能一致,對系統(tǒng)的數(shù)據(jù)采集要做到數(shù)出一處,全局共享,使一次輸入得到多次利用。靈活性為保持系統(tǒng)的長久生命力,要求系統(tǒng)具有很強(qiáng)的環(huán)境適應(yīng)性,為此,系統(tǒng)應(yīng)具有較好的開放性和結(jié)構(gòu)的可變性。在系統(tǒng)設(shè)計中,應(yīng)盡量采用模塊化結(jié)構(gòu),提高各模塊的獨立性,盡可能減少模塊間的數(shù)據(jù)耦合,使各子系統(tǒng)間的數(shù)據(jù)依賴減至最低限度。這樣,既便于模塊的修改,又便于增加新的內(nèi)容,提高系統(tǒng)適應(yīng)環(huán)境變化的能力??煽啃钥煽啃允侵赶到y(tǒng)抵御外界干擾的能力及受外界干擾時的恢復(fù)能力。一個成功的管理信息系統(tǒng)必須具有較高的可靠性,如安全XX性,檢錯及糾錯能力,抗病毒能力等。經(jīng)濟(jì)性經(jīng)濟(jì)性指在滿足系統(tǒng)需求的前提下,盡可能減少系統(tǒng)的開銷。一方面,在硬件投資上不能盲目追求技術(shù)上的先進(jìn),而應(yīng)以滿足應(yīng)用需要為前提;另一方面,系統(tǒng)設(shè)計中應(yīng)盡量避免不必要的復(fù)雜化,各模塊應(yīng)盡量簡潔,以便縮短處理流程,減少處理費用。3.3系統(tǒng)設(shè)計思路針對該系統(tǒng)功能的相對獨立性的特點,將系統(tǒng)分成相對獨立的幾個子系統(tǒng),獨立的進(jìn)行設(shè)計。各個子系統(tǒng)獨立地完成其所在模塊的服務(wù)功能,與其他子系統(tǒng)發(fā)生信息的傳遞很少。系統(tǒng)設(shè)計的主要依據(jù)是系統(tǒng)分析階段得到的系統(tǒng)功能模型,信息模型以及系統(tǒng)配置。系統(tǒng)設(shè)計采用的主要方法是結(jié)構(gòu)設(shè)計方法,該方法自頂向下,逐步求精。采用先全局后局部,先總體后細(xì)節(jié),先抽象后具體的過程,將系統(tǒng)設(shè)計成一個層次分明的模塊化結(jié)構(gòu),使系統(tǒng)的結(jié)構(gòu)清晰,具有可讀性,可維護(hù)性,可修改性等特點。3.4系統(tǒng)功能模塊圖系統(tǒng)功能模型,反映了系統(tǒng)功能或處理的詳細(xì)內(nèi)容及邏輯關(guān)系,并沒有詳細(xì)說明系統(tǒng)內(nèi)部所有的信息結(jié)構(gòu)的組織和相互關(guān)系。所以必須建立系統(tǒng)的信息模型。深入分析后得知:數(shù)據(jù)是信息處理的核心,數(shù)據(jù)管理是系統(tǒng)建設(shè)的核心。建立系統(tǒng)信息模型的主要目標(biāo)是提供一個數(shù)據(jù)的含義和相互關(guān)系的一致定義。從而用來集成,共享和管理數(shù)據(jù)的完整性。將具備以下特征:必須和系統(tǒng)基礎(chǔ)結(jié)構(gòu)相一致,并且真正覆蓋所有應(yīng)用X圍。必須是可擴(kuò)展的,可以在原定義數(shù)據(jù)不變的情況下再定義新的數(shù)據(jù)。系統(tǒng)功能模塊如圖3-1所示:圖3-1系統(tǒng)功能模塊圖3.5代碼設(shè)計3.5.1代碼的功能(1)它為事物提供一個概要而不含糊的認(rèn)定,便于數(shù)據(jù)的存儲和檢索。代碼縮短了事物的名稱,無論是記錄、記憶還是存儲,都可以節(jié)省時間和空間。(2)使用代碼可以提高處理的效率和精度。按代碼對事物進(jìn)行排序,累計或按某種規(guī)定算法進(jìn)行統(tǒng)計分析,可以十分迅速。(3)代碼提高了數(shù)據(jù)的全局一致性。這樣,對同一事物,即使在不同的場合有不同的叫法,都可以通過編碼統(tǒng)一起來,提高了系統(tǒng)的整體性,減少了因數(shù)據(jù)不一致而造成的錯誤。(4)代碼是人和計算機(jī)的共同語言,是兩者交換信息的工具。在手工處理系統(tǒng)中,許多數(shù)據(jù)早已使用代碼。為了給尚無代碼的數(shù)據(jù)項編碼,為了統(tǒng)一和改進(jìn)原有代碼,使之適應(yīng)計算機(jī)處理的要求,在建立新系統(tǒng)時,必須對整個系統(tǒng)進(jìn)行代碼設(shè)計。3.5.2代碼的設(shè)計原則合理的編碼結(jié)構(gòu)是信息處理系統(tǒng)是否具有生命力的一個重要因素,在代碼設(shè)計時,應(yīng)根據(jù)以下原則:(1)設(shè)計的代碼在邏輯上必須能滿足用戶的需要,在結(jié)構(gòu)上應(yīng)當(dāng)與處理的方法相一致。(2)一個代碼應(yīng)唯一標(biāo)識它所代表的事物或?qū)傩?。?)代碼設(shè)計時,要預(yù)留足夠的位置,以適應(yīng)不斷變化的需要。否則,在短時間內(nèi),隨便改變編碼結(jié)構(gòu)對設(shè)計工作來說是一種嚴(yán)重浪費。一般來說,代碼愈短,分類、準(zhǔn)備、存儲和傳送的開銷就愈低;代碼愈長,對數(shù)據(jù)檢索,統(tǒng)計分析和滿足多樣化的處理要求就愈好。(4)代碼要系統(tǒng)化,代碼的編制應(yīng)盡量標(biāo)準(zhǔn)化,盡量使代碼結(jié)構(gòu)對事物的表示具有實際意義,以便于理解及交流。(5)要注意避免引起誤解,不要使用易于混淆的字符。如:O,Z,I,S,V與0,2,1,5,U易混;不要把空格做作代碼;要使用24小時制表示時間等。(6)要注意盡量采用不易出錯的代碼結(jié)構(gòu),例如字母-字母-數(shù)字的結(jié)構(gòu),(如WW2)比字母-數(shù)字-字母的結(jié)構(gòu)(如W2W)發(fā)生錯誤的機(jī)會要少一些。(7)當(dāng)代碼長于4個字母或5個數(shù)字字符時,應(yīng)分成小段。這樣人們讀寫時不易發(fā)生錯誤,如726-499-6135比7264996135易于記憶,并能更精確地記錄下來。3.5.3代碼設(shè)計表表3-1員工的ID代碼設(shè)計表格說明:員工登記序號的前后順序按照結(jié)果錄入數(shù)據(jù)庫的時間順序排列舉例:碼0101002代表工程部序號為002的在職員工。關(guān)鍵源代碼(1)用戶登錄界面BeginVB.FormfrmLoginBorderStyle=0'NoneCaption="登錄窗口"ClientHeight=4470ClientLeft=2790ClientTop=3150ClientWidth=4560LinkTopic="Form1"MaxButton=0'FalseMinButton=0'FalseScaleHeight=2641.023ScaleMode=0'UserScaleWidth=4281.593ShowInTaskbar=0'FalseStartUpPosition=2'人事信息管理系統(tǒng)BeginVB.FrameFrame1BackColor=&H00D8D7D5&Height=3855Left=0TabIndex=0Top=600Width=4455BeginVB.FrameFrame3BackColor=&H00D8D7D5&Height=1455Left=120TabIndex=3Top=2040Width=3975BeginVB.mandButtonCmd_CancelCaption="取消"Height=615Left=2280Style=1'GraphicalTabIndex=9Top=480Width=1335EndBeginVB.mandButtonCmd_OKBackColor=&H0080FF80&Caption="確定"Height=615Left=120TabIndex=8Top=480Width=1455EndEndBeginVB.FrameFrame2BackColor=&H00D8D7D5&Height=1935Left=120TabIndex=1Top=120Width=3975BeginVB.TextBoxtxtPwdAppearance=0'FlatBackColor=&H00C0FFFF&Height=495IMEMode=3'DISABLELeft=1560PasswordChar="*"TabIndex=7Top=1200Width=2055EndBeginVB.TextBoxtxtUserAppearance=0'FlatBackColor=&H00C0FFFF&Height=495Left=1560TabIndex=5Top=360Width=2055EndBeginVB.LabelLabel3BackStyle=0'TransparentCaption="輸入用戶密碼:"Height=375Left=240TabIndex=6Top=1320Width=1335EndBeginVB.LabelLabel1BackStyle=0'TransparentCaption="輸入用戶XX:"Height=375Left=240TabIndex=2Top=480Width=1455EndEndEndBeginVB.ImageImage2Height=345Left=4200Picture="frmLogin.frx":0000Top=0Width=345EndBeginVB.LabelLabel2BackStyle=0'TransparentCaption="登陸系統(tǒng)"BeginPropertyFontName="宋體"Size=12Charset=134Weight=700Underline=0'FalseItalic=0'FalseStrikethrough=0'FalseEndPropertyForeColor=&H00FFFFFF&Height=255Left=1440TabIndex=4Top=120Width=2055EndBeginVB.ImageImage1Height=6975Left=0Picture="frmLogin.frx":2300Top=0Width=6885EndEndAttributeVB_Name="frmLogin"AttributeVB_GlobalNameSpace=FalseAttributeVB_Creatable=FalseAttributeVB_PredeclaredId=TrueAttributeVB_Exposed=FalsePublicPasswordKeyAsStringPublicNameKeyAsStringPublicTry_timesAsIntegerPrivateSubCmd_Cancel_Click()EndEndSubPrivateSubCmd_Ok_Click()DimtmpUser,tmpPwdAsStringDimisexeAsBooleanDimrsusersAsADODB.RecordsettmpUser=Trim(txtUser.Text)tmpPwd=Trim(txtPwd.Text)UserName=tmpUserIfMyUser.in_db(tmpUser,tmpPwd)<>TrueThenMsgBox"用戶名或密碼錯誤",48,"提示"ElseUnloadMeLoadfrmMainfrmMain.ShowEndIfEndSubPrivateSubForm_Load()txtUser.Text="admin"txtPwd.Text="0"EndSubPrivateSubImage2_Click()UnloadMeEndSub(2)部門查詢BEGINMultiUse=-1'TruePersistable=0'NotPersistableDataBindingBehavior=0'vbNoneDataSourceBehavior=0'vbNoneMTSTransactionMode=0'NotAnMTSObjectENDAttributeVB_Name="Departments"AttributeVB_GlobalNameSpace=FalseAttributeVB_Creatable=TrueAttributeVB_PredeclaredId=FalseAttributeVB_Exposed=False'1DepId數(shù)字,長整型部門編號,主鍵'2DepName文本,長度為50部門名稱,必填字段(是),允許空字符串(否)'3Describes文本,長度為255部門職能描述,必填字段(否),允許空字符串(是)'4UpperId數(shù)字,長整型上級部門編號,,必填字段(是)PublicDepIdAsLongPublicDepNameAsStringPublicDescribesAsStringPublicUpperIdAsLongPublicSubInit()DepId=-1DepName="Describes=-1UpperId=-1EndSub'刪除DepartmentsPublicSubDelete(ByValTmpIdAsLong)SqlStmt="DELETEFROMDepartmentsWHEREDepId="+Trim(Str(TmpId))SQLExt(SqlStmt)EndSub'讀取當(dāng)前部門記錄PublicSubGetInfo(ByValTmpIdAsLong)DimrsAsNewADODB.Recordset'定義結(jié)果集對象DepId=TmpId'使用SELECT語句讀取指定部門數(shù)據(jù)SqlStmt="SELECT*FROMDepartmentsWHEREDepId="+Trim(Str(TmpId))Setrs=QueryExt(SqlStmt)IfNotrs.EOFThenDepName=Trim(rs.Fields(1))'部門名稱IfIsNull(rs.Fields(2))ThenDescribes="ElseDescribes=Trim(rs.Fields(2))'部門描述EndIfUpperId=rs.Fields(3)'上級編號ElseInitEndIfEndSub'根據(jù)部門編號,讀取部門名稱PublicFunctionGetName(ByValTmpIdAsLong)AsStringDimrsAsNewADODB.Recordset'定義結(jié)果集對象'使用SELECT語句讀取指定部門名稱SqlStmt="SELECTDepNameFROMDepartmentsWHEREDepId="_+Trim(Str(TmpId))Setrs=QueryExt(SqlStmt)IfNotrs.EOFThenGetName=Trim(rs.Fields(0))ElseGetName="EndIfEndFunction'返回新記錄的編號,當(dāng)前最大編號加1PublicFunctionGetNewId()AsLongDimTmpIdAsLongDimrsAsNewADODB.Recordset'使用SELECT語句,讀取最大的編號SqlStmt="SELECTMax(DepId)FROMDepartments"Setrs=QueryExt(SqlStmt)Ifrs.EOFThenGetNewId=1ElseGetNewId=rs.Fields(0)+1EndIfEndFunction'判斷指定的部門中是否存在員工記錄PublicFunctionHaveEmp(ByValTmpDepidAsLong)AsBooleanDimrsAsNewADODB.Recordset'使用SELECT語句在Employees表中讀取DepId字段等于TmpDepid的記錄SqlStmt="SELECT*FROMEmployeesWHEREDepId="+Trim(Str(TmpDepid))Setrs=QueryExt(SqlStmt)IfNotrs.EOFThenHaveEmp=TrueElseHaveEmp=FalseEndIfEndFunction'判斷一個部門是否包含下級部門,在刪除部門記錄時使用PublicFunctionHaveSon(ByValTmpUpperIdAsLong)AsBooleanDimrsAsNewADODB.RecordsetSqlStmt="SELECTDepIdFROMDepartmentsWHEREUpperId="_+Trim(Str(TmpUpperId))Setrs=QueryExt(SqlStmt)IfNotrs.EOFThenHaveSon=TrueElseHaveSon=FalseEndIfEndFunction'判斷部門名稱是否存在PublicFunctionIn_DB(ByValDepNameAsString,_ByValDepUpperAsLong)AsBooleanDimrsAsNewADODB.RecordsetSqlStmt="SELECTDepIdFROMDepartmentsWHEREDepName='"+Trim(DepName)_+"'andUpperId="+Trim(Str(DepUpper))Setrs=QueryExt(SqlStmt)IfNotrs.EOFThenIn_DB=TrueElseIn_DB=FalseEndIfEndFunctionPublicFunctionInsert()AsLongDimDepIdAsLong'生成新的編號DepId=GetNewIdSqlStmt="INSERTINTODepartmentsVALUES("+Trim(Str(DepId))+",'"_+Trim(DepName)+"','"+Trim(Describes)_+"',"+Trim(Str(UpperId))+")"SQLExt(SqlStmt)Insert=DepId'返回記錄編號EndFunction'讀取指定部門編號的所有下級部門信息PublicSubLoad_Departments_ByUpper(UpperIdAsLong)DimiAsIntegerDimrsAsNewADODB.Recordset'初始化部門數(shù)組EraseArr_DepNameEraseArr_DepDescribeEraseArr_DepIdReDimArr_DepName(0)ReDimArr_DepDescribe(0)ReDimArr_DepId(0)'設(shè)置SELECT語句SqlStmt="SELECTDepId,DepName,DescribesFROMDepartmentsWHEREUpperId="_+Trim(Str(UpperId))+"ORDERBYDepId"Setrs=QueryExt(SqlStmt)i=0DoUntilrs.EOF'讀取部門編號ReDimPreserveArr_DepId(i+1)Arr_DepId(i)=rs.Fields(0)'讀取部門名稱ReDimPreserveArr_DepName(i+1)Arr_DepName(i)=Trim(rs.Fields(1))'讀取部門描述ReDimPreserveArr_DepDescribe(i+1)IfIsNull(rs.Fields(2))ThenArr_DepDescribe(i)="ElseArr_DepDescribe(i)=Trim(rs.Fields(2))EndIfrs.MoveNexti=i+1LoopEndSub'更新數(shù)據(jù)PublicSubUpdate(ByValTmpIdAsLong)'設(shè)置UPDATE語句SqlStmt="UPDATEDepartmentsSETDepName='"+Trim(DepName)_+"',Describes='"+Trim(Describes)_+"'WHEREDepId="+Trim(Str(TmpId))SQLExt(SqlStmt)EndSub3.6數(shù)據(jù)庫設(shè)計數(shù)據(jù)庫在一個信息管理系統(tǒng)中占有非常重要的地位,數(shù)據(jù)庫結(jié)構(gòu)設(shè)計的好壞將直接對應(yīng)用系統(tǒng)的效率以及實現(xiàn)的效果產(chǎn)生影響。合理的數(shù)據(jù)庫結(jié)構(gòu)設(shè)計可以提高數(shù)據(jù)庫存儲的效率,保證數(shù)據(jù)的完整和一致。在系統(tǒng)設(shè)計階段,已經(jīng)得到了系統(tǒng)的信息模型,因此,數(shù)據(jù)庫結(jié)構(gòu)設(shè)計的主要內(nèi)容是將系統(tǒng)的信息模型轉(zhuǎn)化為關(guān)系表的集合,并按照系統(tǒng)的體系結(jié)構(gòu)進(jìn)行合理的布局。在SQL2000中一個表就是數(shù)據(jù)庫。數(shù)據(jù)庫指的是可以存儲一個或者多個表(.sql)及視圖的關(guān)系數(shù)據(jù)庫,這才是真正的關(guān)系型數(shù)據(jù)庫的概念。對于一個大型的信息管理系統(tǒng),它很可能需要對不同的用戶各自創(chuàng)建一個大型的文件系統(tǒng),它包括許多表,而屬于一個用戶的一套表與屬于另一個用戶的一套表實際上是相同的,只是名稱有所不同,而在SQL2000中,需要建立大量的代碼來區(qū)別和維護(hù)屬于不同用戶的一套表,這套表的數(shù)量可能是非常龐大的,維護(hù)編碼也是非常龐大的。然而SQL2000中引入的真正的數(shù)據(jù)庫的概念,使這一問題的解決變得非常的容易,設(shè)計人員只要為不同的用戶創(chuàng)建不同的數(shù)據(jù)庫,然后在這些數(shù)據(jù)庫下建立用戶自己的表就可以很容易對每個用戶進(jìn)行區(qū)別和維護(hù)了。而且,這樣的數(shù)據(jù)庫的關(guān)系能力更加強(qiáng)大,更加穩(wěn)定可靠。3.6.1邏輯結(jié)構(gòu)設(shè)計根據(jù)E-R圖向關(guān)系模型的轉(zhuǎn)換原則,同時考慮滿足3NF的要求,從系統(tǒng)分析階段的E-R圖共可以導(dǎo)出4個數(shù)據(jù)庫基本表單,具體如下表:表3-2數(shù)據(jù)庫基本表單注:斜體加下劃線的屬性為該實體的主屬性,即該實體所對應(yīng)的表單的主碼。3.6.2數(shù)據(jù)結(jié)構(gòu)設(shè)計依據(jù)E-R圖向關(guān)系模型的轉(zhuǎn)換標(biāo)準(zhǔn),以及實體表,實體屬性表和前一階段的有關(guān)數(shù)據(jù)的定義,確定如下關(guān)系表。(數(shù)據(jù)庫名稱為Storages,采用SQLserver2000數(shù)據(jù)庫)表3-3員工基本信息表表3-4員工考勤信息表表3-5員工工作評價信息表表3-6員工基本信息表3.7模塊內(nèi)部設(shè)計3.7.1輸入/輸出設(shè)計1.輸入設(shè)計輸入方式的設(shè)計主要是根據(jù)總體設(shè)計和數(shù)據(jù)設(shè)計的要求來確定數(shù)據(jù)輸入的具體形式。本系統(tǒng)用到的輸入方式有:鍵盤輸入,網(wǎng)絡(luò)傳輸?shù)?。輸入設(shè)計時采取了以下措施:多選擇輸入方式,一方面便于操作,另一方面也提示用戶輸入格式。在程序中加入校驗過程,對不符合要求的數(shù)據(jù)不予執(zhí)行。2.輸出設(shè)計輸出信息按照不同的需要而采用不同的輸出格式。在輸出街面上充分發(fā)揮網(wǎng)頁的多元化,易用性等特點方便用戶的適用與操作。在每個輸出界面上都提供路徑導(dǎo)航,以便于用戶進(jìn)行下一次的操作。界面設(shè)計圖3-2登錄窗口圖3-3主界面窗口圖3-4員工信息添加窗口圖3-5員工考勤信息添加窗口圖3-6員工評價信息添加窗口圖3-7計發(fā)員工工資信息窗口圖3-8關(guān)于窗口第四章系統(tǒng)測試、運(yùn)行與維護(hù)4.1系統(tǒng)測試系統(tǒng)測試是保證系統(tǒng)開發(fā)成功的重要一環(huán)。主要是指利用各種相關(guān)技術(shù)對開發(fā)出來的系統(tǒng)進(jìn)行測試。系統(tǒng)測試是保證系統(tǒng)最終能夠開發(fā)成功和今后能夠正常運(yùn)行的一個必不可少的環(huán)節(jié)。系統(tǒng)測試主要是從功能、性能、硬件、軟件等不同的角度和層次對開發(fā)的系統(tǒng)進(jìn)行檢測,目的在于發(fā)現(xiàn)系統(tǒng)中存在的問題,及時進(jìn)行更正,使其能夠完全符合用戶的需求。為了保證測試的質(zhì)量,可以將測試的過程分成幾個階段,即:代碼審查、單元測試、集成測試和驗收測試。(1)代碼審查。代碼審查是由一組人通過閱讀、討論和爭議對程序進(jìn)行靜態(tài)分析的過程。會審小組在充分閱讀待審程序文本、控制流程圖及有關(guān)要求、規(guī)X等文件基礎(chǔ)上,展開熱烈的討論甚至爭議,以揭示錯誤的關(guān)鍵所在。(2)單元測試。單元測試集中在檢查軟件設(shè)計的最小單位――模塊上,通過測試發(fā)現(xiàn)該模塊的實際功能與定義該模塊的功能說明不符合的情況,以及編碼的錯誤。(3)集成測試。集成測試是將模塊按照設(shè)計要求組裝起來同時進(jìn)行測試,主要目標(biāo)是發(fā)現(xiàn)與接口有關(guān)的問題。(4)驗收測試。在此期間需要系統(tǒng)的開發(fā)人員和系統(tǒng)用戶密切配合,互相交流,針對系統(tǒng)運(yùn)行中存在的問題進(jìn)行及時的調(diào)整和更正,使其真正能夠滿足實際工作的需求。在系統(tǒng)測試期間,需要系統(tǒng)的開發(fā)人員和系統(tǒng)用戶密切配合,互相交流,針對系統(tǒng)運(yùn)行中存在的問題進(jìn)行及時的調(diào)整和更正,使其真正能夠滿足實際工作的需求。系統(tǒng)的試運(yùn)行是指利用管理工作中實際的數(shù)據(jù)全面測試與運(yùn)行系統(tǒng)的過程。應(yīng)做到以下幾點:基礎(chǔ)數(shù)據(jù)的整理輸入用戶的操作使用培訓(xùn)系統(tǒng)交付使用前的準(zhǔn)備工作為系統(tǒng)配備各種文檔4.2系統(tǒng)的運(yùn)行和維護(hù)本系統(tǒng)經(jīng)測試使用后,為了保證系統(tǒng)正常運(yùn)行,應(yīng)主要做好以下幾個方面的工作:(1)對工作人員進(jìn)行必要的操作培訓(xùn),使其能夠正確的使用該系統(tǒng)。(2)明確工作人員的工作權(quán)限、義務(wù)和職責(zé)。(3)制定系統(tǒng)硬件、軟件手冊和使用說明。(4)系統(tǒng)升級的批準(zhǔn)、審查手續(xù)和具體的實施過程要符合規(guī)X。(5)制定系統(tǒng)數(shù)據(jù)采集、錄入、修改、維護(hù)、刪除的手續(xù)和制度,確保系統(tǒng)數(shù)據(jù)的正常性。(6)制定數(shù)據(jù)信息共享的管理制度,確保一致。(7)與開發(fā)人員保持聯(lián)系,以便以最快的速度解決出現(xiàn)的問題。系統(tǒng)維護(hù)是為了應(yīng)付信息系統(tǒng)的環(huán)境和其他因素的各種變化,保證系統(tǒng)正常工作而采取的一切活動。一個處理過程的修改有可能會影響其他過程或系統(tǒng),所以系統(tǒng)的維護(hù)工作一定要特別慎重,并由專人負(fù)責(zé),建立嚴(yán)格的制度和程序。定期對軟、硬件進(jìn)行維護(hù)。系統(tǒng)用戶要根據(jù)需要對軟件進(jìn)行適應(yīng)性維護(hù)。對數(shù)據(jù)進(jìn)行定期維護(hù),盡量
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 工業(yè)自動化設(shè)備驗收及實施方案
- 家庭理財方案計劃設(shè)計案例解析
- 運(yùn)輸服務(wù)管理方案
- 音樂思政課心得體會
- OBE理念下地方高?;鶎咏虒W(xué)組織建設(shè)路徑思考
- 基層醫(yī)生能力提升培訓(xùn)心得體會
- 臨時宿舍施工方案
- 職業(yè)學(xué)校軍事化管理方案設(shè)計
- 互聯(lián)網(wǎng)平臺使用協(xié)議書
- 體育賽事疫情應(yīng)急處置方案
- 家電以舊換新風(fēng)險識別與應(yīng)對措施
- 橋梁結(jié)構(gòu)健康監(jiān)測系統(tǒng)實施和驗收規(guī)范
- 兒童海洋科普知識講座
- 中國華電在線測評題
- 蘇州市高新區(qū)2022-2023學(xué)年八年級上學(xué)期期中英語試題(含答案和解析)
- 退休項目經(jīng)理返聘合同-工程管理
- 工廠安全教育知識
- 造價崗位轉(zhuǎn)正述職報告
- 屋面瓦及檁條拆除安全專項方案
- 提高感染性休克集束化治療完成率工作方案
- 北師大版數(shù)學(xué)八年級上冊綜合與實踐《哪一款手機(jī)資費套餐更合適》課件
評論
0/150
提交評論