畢業(yè)員工信息管理
摘要
本文通過用VB6.0編寫員工信息管理系統(tǒng),利用軟件工程原理,采用面向?qū)ο蟮木幊谭椒,其開發(fā)主要包括后臺數(shù)據(jù)庫的建立和維護以及前端應用程序的開發(fā)兩個方面,實現(xiàn)了員工信息管理的自動化和信息化.
本文還簡單介紹了VB6.0軟件的界面及操作方法。簡要介紹了窗體的制作過程,程序的編寫,添加,最后的編譯過程。并且敘述了作者在軟件開發(fā)過程中的心得體會。
關鍵詞:員工信息管理數(shù)據(jù)庫統(tǒng)計
目錄
第一章引言3
第二章系統(tǒng)分析4
2.1開發(fā)背景4
2.2需求分析4
2.3概要5
2.4系統(tǒng)要求5
第三章開發(fā)方法8
3.1系統(tǒng)開發(fā)方法概述8
3.2結(jié)構化生命周期法簡介8
3.3快速原型法簡介9
3.4本系統(tǒng)開發(fā)方法的選擇10
第四章開發(fā)平臺和工具11
4.1開發(fā)平臺的選擇11
4.2開發(fā)工具的選擇11
4.2.1開發(fā)語言介紹11
第五章系統(tǒng)規(guī)劃和分析12
5.1系統(tǒng)的可行性分析12
5.2系統(tǒng)的詳細調(diào)查12
5.3系統(tǒng)邏輯模型的提出13
第六章系統(tǒng)設計13
6.1系統(tǒng)流程圖16
6.2數(shù)據(jù)庫設計16
6.3系統(tǒng)主界面設計.......…………………………………………….19
6.4登陸窗體設計.......……………………………………………….19
6.5各主要模塊設計.19
6.5.1基礎設置模塊設計.......................................................24
6.5.2員工管理模塊設計……………………………………….27
6.5.3請假管理模塊設計……………………………………….29
6.5.4系統(tǒng)幫助模塊設計……………………………….………31
第七章編譯生成應用程序.…………………………………………...37
設計小結(jié)………………………………………………………..39參考文獻………………………………………………………...40
第一章引言
本軟件使用MicrosoftBasic6.0進行編寫。數(shù)據(jù)庫技術的產(chǎn)生與發(fā)展源于對于數(shù)據(jù)的組織和管理。數(shù)據(jù)庫技術是數(shù)據(jù)管理的技術,它隨著數(shù)據(jù)管理任務的需要而產(chǎn)生于20世紀60年代中期。這是一門綜合性技術,涉及操作系統(tǒng),數(shù)據(jù)結(jié)構,算法設計和程序設計等知識。數(shù)據(jù)庫技術的基本思想是對數(shù)據(jù)實行集中,統(tǒng)一,獨立的管理,用戶可以最大限度的共享數(shù)據(jù)資源。
數(shù)據(jù)庫系統(tǒng)實際上是一個應用系統(tǒng),它是在計算機硬,軟件系統(tǒng)支持下,由用戶,數(shù)據(jù)庫管理系統(tǒng),存儲在存儲設備上的數(shù)據(jù)和數(shù)據(jù)庫應用程序構成的數(shù)據(jù)處理系統(tǒng)。數(shù)據(jù)庫系統(tǒng)是由數(shù)據(jù),數(shù)據(jù)庫管理系統(tǒng),應用程序,用戶組成。
數(shù)據(jù)庫的特點:1.實現(xiàn)數(shù)據(jù)共享2.實現(xiàn)數(shù)據(jù)獨立3.減少了數(shù)據(jù)冗余度4.避免了數(shù)據(jù)不一致性5.加強了對數(shù)據(jù)的保護。
數(shù)據(jù)庫應用系統(tǒng)(DATABASEAPPLICATIONSYSTEMSDBAS)
1.管理信息系統(tǒng)
2.開放式信息服務系統(tǒng)
一個數(shù)據(jù)庫應用系統(tǒng)通常是由數(shù)據(jù)庫和應用程序兩部分組成,它們是在數(shù)據(jù)庫管理系統(tǒng)支持下設計和開發(fā)出來的。
第二章系統(tǒng)分析
2.1開發(fā)背景
隨著我國市場經(jīng)濟的快速發(fā)展和信息化水平的不斷提高,如何利用先進的管理手段,提高企業(yè)員工信息管理的水平,是當今社會所面臨的一個課題。提高企業(yè)管理水平,必須全方位地提高企業(yè)管理意識。只有高標準、高質(zhì)量的管理才能滿足企業(yè)的發(fā)展需求。面對信息時代的挑戰(zhàn),利用高科技手段來提高企業(yè)員工信息管理無疑是一條行之有效的途徑。在某種意義上,信息與科技在企業(yè)管理與現(xiàn)代化建設中顯現(xiàn)出越來越重要的地位。員工管理方面的信息化與科學化,已成為現(xiàn)代化生活水平步入高臺階的重要標志。
2.2需求分析
利用計算機實現(xiàn)員工信息管理勢在必行。對于企業(yè)來說,利用計算機支持企業(yè)高效率完成員工信息管理的日常事務,是適應現(xiàn)代企業(yè)制度要求、推動企業(yè)勞動型管理走向科學化、規(guī)范化的必要條件;而員工信息管理是一項瑣碎、復雜而又十分細致的工作,員工信息錄入,員工信息管理,信息查詢,請假等管理,一般不允許出錯,如果實行手工操作,須手工填制大量的表格,這就會耗費工作人員大量的時間和精力,計算機進行這項工作的管理,不僅能夠保證各項信息準確無誤、快速輸出,同時計算機具有手工管理所無法比擬的優(yōu)點.例如:檢索迅速、查找方便、可靠性高、存儲量大、保密性好、壽命長、成本低等。這些優(yōu)點能夠極大地提高企業(yè)管理的效率,也是企業(yè)的科學化、正規(guī)化管理,與世界接軌的重要條件。
2.3概要
VisualBasic是美國微軟公司的第一個編程工具和系統(tǒng)開發(fā)的第一個產(chǎn)品,VisualBasic以優(yōu)良的性能、較強的系統(tǒng)開發(fā)功能、完美的視覺界面和簡單易學的特點,已經(jīng)贏得了全世界廣大用戶的偏愛。VisualBasic的編程環(huán)境包含了快速有效的開發(fā)功能,尤其是數(shù)據(jù)窗口這一方便而簡潔操縱數(shù)據(jù)庫的智能化對象,使系統(tǒng)的開發(fā)更人性化,操作更簡便。
作為管理信息系統(tǒng)的開發(fā),VisualBasic是一個非常理想選擇。VisualBasic是一種可視化的、面對對象和條用事件驅(qū)動方式的結(jié)構化高級程序設計,可用于開發(fā)Windows環(huán)境下的種類應用程序。它簡單易學、效率高,且功能強大,可以與Windows的專業(yè)開發(fā)工具SDK相媲美,而且程序開發(fā)人員不必具有C/C++編程基礎。在VisualBasic環(huán)境下,利用事件驅(qū)動的編程機制、新穎易用的可視化設計工具,使用Windows內(nèi)部的應用程序接口(API)函數(shù),以及動態(tài)鏈接庫(DLL)、動態(tài)數(shù)據(jù)交換(DDE)、對象的鏈接與嵌入(OLE)、開放式數(shù)據(jù)訪問(ODBC)等技術,可以高效、快速地開發(fā)出Windows環(huán)境下功能強大、圖形界面豐富的應用軟件系統(tǒng)。
2.4系統(tǒng)要求
一、硬件要求:
1486/DX66Mhz以上CPU
2內(nèi)存16M以上(使用WindowsNT需要32M以上內(nèi)存)
3硬盤容量1GB以上(典型安裝需要128MB硬盤空間,完全安裝須要147MB硬盤空間,外加Microsoft開發(fā)者文檔67MB硬盤空間)
4EGA以上分辨率的顯示器.
5一個CD-ROM驅(qū)動器
6鼠標或其它定點設備
二、軟件要求
1操作系統(tǒng)應使用MicrosoftWindows95及以上版本,或者使用MicrosoftWindowsNT3.51或者更高版本.
2安裝有IE4.0或以上版本的瀏覽器.
第三章系統(tǒng)開發(fā)方法
3.1系統(tǒng)開發(fā)方法概述
建立一個管理信息系統(tǒng),是一項復雜的軟件工程的實施。近30多年來,軟件工程發(fā)展成為新科學,至今已經(jīng)成為IT產(chǎn)業(yè)的重要支柱。一開始,人們往往使用手工作坊式的軟件開發(fā)方法,靠個人的力量編寫各種小型程序;但是隨著計算機硬件技術的飛速發(fā)展,計算機軟件在各個領域中的作用日益突出,那種多年來被人們沿用的手工作坊式的開發(fā)方法,已經(jīng)在軟件產(chǎn)品的質(zhì)量、成本及開發(fā)時間等方面無法滿足需求。
3.2結(jié)構化生命周期法簡介
結(jié)構化生命周期法是一種傳統(tǒng)的管理信息系統(tǒng)開發(fā)方法,其基本思想是把整個系統(tǒng)開發(fā)過程分成若干個階段,每個階段進行若干活動,每項活動應用一系列標準、規(guī)范、方法和技術,完成一個或多個任務,形成符合給定規(guī)范的產(chǎn)品。
采用結(jié)構化生命周期法開發(fā)管理信息系統(tǒng)時,應遵循的主要原則:
(一)用戶參與的原則
(二)“先邏輯后物理”的原則
(三)“自頂向下”的原則
(四)工作成果描述(主要指文檔)標準化的原則
其具體開發(fā)步驟可分為以下四步:
(一)系統(tǒng)規(guī)劃
(二)系統(tǒng)開發(fā)
1、系統(tǒng)分析
.系統(tǒng)初步調(diào)查
.系統(tǒng)可行性研究
.現(xiàn)行系統(tǒng)的詳細調(diào)查
.新系統(tǒng)邏輯方案的提出
2、系統(tǒng)設計
.系統(tǒng)總體結(jié)構設計
.系統(tǒng)總體功能設計
.系統(tǒng)總體物理結(jié)構設計
.系統(tǒng)詳細設計
.數(shù)據(jù)庫設計
.代碼設計
.輸入輸出設計
3、系統(tǒng)實施
.程序設計
.系統(tǒng)測試
(三)系統(tǒng)的運行及維護
(四)系統(tǒng)評價
3.3快速原型法簡介
快速原型法是80年展起來的,旨在縮短開發(fā)周期,提高開發(fā)效率和用戶對系統(tǒng)的滿意程度。其基本思想是在系統(tǒng)開發(fā)的初期,盡快構造出系統(tǒng)的原型,使用戶能及早地運行這個系統(tǒng)原型,通過使用它、熟悉它,受到啟發(fā)并取得經(jīng)驗,然后對系統(tǒng)的目標和功能提出更精確、具體的要求,研制人員據(jù)此逐漸修改和完善原型,使它滿足用戶的需求,最后完成系統(tǒng)的開發(fā)。該方法大大提高了系統(tǒng)開發(fā)效率,彌補了結(jié)構化生命周期法開發(fā)時間長的缺陷。
通常采用原型法需以下四個階段:
(一)明確用戶的基本要求
(二)研制系統(tǒng)的原型
(三)使用、評價系統(tǒng)原型
(四)修改和完善原型
3.4本系統(tǒng)開發(fā)方法的選擇
基于以上開發(fā)方法的優(yōu)劣和本系統(tǒng)的實際情況,本系統(tǒng)總體上采用結(jié)構化生命周期法進行系統(tǒng)規(guī)則、系統(tǒng)分析和系統(tǒng)設計,但在系統(tǒng)實施階段采用原型法。
第四章開發(fā)平臺和開發(fā)工具
開發(fā)平臺的選擇
考慮到本系統(tǒng)的性能要求,和現(xiàn)有的條件,我們選擇了WINDOWS2000中文版作為開發(fā)、測試和運行的平臺。因為WINDOWS操作系統(tǒng)是目前應用最廣的操作系統(tǒng),它以全新的圖形界面,簡單快捷的操作方式,支持多媒體功能等特點而成為軟件發(fā)展的流行趨勢,選用它作為開發(fā)平臺,易于功能的擴展和軟件升級。
4.2開發(fā)工具的選擇
針對目前世界上流行的大量軟件和開發(fā)工具,經(jīng)過認真分析其優(yōu)缺點,結(jié)合員工信息管理系統(tǒng)的需要和目前的硬件環(huán)境,我們選用微軟WINDOWS平臺下的VisualBasic6.0(簡寫為VB6.0)作為軟件開發(fā)工具。
4.2.1開發(fā)語言介紹
現(xiàn)在,市場上可以選購的應用開發(fā)產(chǎn)品很多,流行的也有數(shù)十種。目前在我國市場上最為流行、使用最多、最為先進的可用作做作企業(yè)級開發(fā)工具的產(chǎn)品有:
Microsoft公司的VisualBasic
Microsoft公司的VisualC
Borland公司的Delphi
Powersoft公司的PowerBulider
Java等等
在目前市場上這些眾多的程序開發(fā)工具中,有些強調(diào)編程語言的彈性與執(zhí)行效率;有些則偏重于可視化程序開發(fā)工具所帶來的便利性與效率的得高,各有各的優(yōu)點和特色,也滿足了不同用戶的需求。然而,語言的彈性和工具的便利性是密不可分的,只有便利的工具,卻沒有彈性的語言作支持,許多特殊化的處理動作必需要耗費數(shù)倍的工夫來處理,使得原來所標榜的效率提高的優(yōu)點失去了作用;相反,如果只強調(diào)編程語言的彈性,卻沒有便利的工具作配合,會使一些即使非常簡單的界面處理動作,也會嚴重地浪費程序設計師的寶貴時間。
作為數(shù)據(jù)庫系統(tǒng)的開發(fā),VisualBasic是一個非常理想選擇。數(shù)據(jù)庫是MIS中的重要支持技術,在MIS開發(fā)過程中,如何選擇數(shù)據(jù)庫管理是一個重要的問題,目前,數(shù)據(jù)庫產(chǎn)品較多,每種產(chǎn)品都具有各自的特點和適用范圍,因此,在選擇數(shù)據(jù)庫時,應考慮數(shù)據(jù)庫應用的特點及適用范圍,本系統(tǒng)選用的數(shù)據(jù)庫語言VisualBasic語言,該開發(fā)工具具有很多長處:
VisualBasic是一種可視化的、面對對象和條用事件驅(qū)動方式的結(jié)構化高級程序設計,可用于開發(fā)Windows環(huán)境下的種類應用程序。它簡單易學、效率高,且功能強大,可以與Windows的專業(yè)開發(fā)工具SDK相媲美,而且程序開發(fā)人員不必具有C/C++編程基礎。在VisualBasic環(huán)境下,利用事件驅(qū)動的編程機制、新穎易用的可視化設計工具,使用Windows內(nèi)部的應用程序接口(API)函數(shù),以及動態(tài)鏈接庫(DLL)、動態(tài)數(shù)據(jù)交換(DDE)、對象的鏈接與嵌入(OLE)、開放式數(shù)據(jù)訪問(ODBC)等技術,可以高效、快速地開發(fā)出Windows環(huán)境下功能強大、圖形界面豐富的應用軟件系統(tǒng)。
總的來說,VisualBasic具有以下特點:
可視化編程:
用傳統(tǒng)程序設計語言設計程序時,都是通過編寫程序代碼來設計用戶界面,在設計過程中看不到界面的實際顯示效果,必須編譯后運行程序才能觀察。如果對界面的效果不滿意,還要回到程序中修改。有時候,這種編程-編譯-修改的操作可能要反復多次,大大影響了軟件開發(fā)效率。VisualBasic提供了可視化設計工具,把Windows界面設計的復雜性“封裝”起來,開發(fā)人員不必為界面設計而編寫大量程序代碼。只需要按設計要求的屏幕布局,用系統(tǒng)提供的工具,在屏幕上畫出各種“部件”,即圖形對象,并設置這些圖形對象的屬性。VisualBasic自動產(chǎn)生界面設計代碼,程序設計人員只需要編寫實現(xiàn)程序功能的那部分代碼,從而可以大大提高程序設計的效率。
面向?qū)ο蟮某绦蛟O計
4.0版以后的VisualBasic支持面向?qū)ο蟮某绦蛟O計,但它與一般的面向?qū)ο蟮某绦蛟O計語言(C++)不完全相同。在一般的面向?qū)ο蟪绦蛟O計語言中,對象由程序代碼和數(shù)據(jù)組成,是抽象的概念;而VisualBasic則是應用面向?qū)ο蟮某绦蛟O計方法(OOP),把程序和數(shù)據(jù)封裝起來作為一個對象,并為每個對象賦予應有的屬性,使對象成為實在的東西。在設計對象時,不必編寫建立和描述每個對象的程序代碼,而是用工具畫在界面上,VisualBasic自動生成對象的程序代碼并封裝起來。每個對象以圖形方式顯示在界面上,都是可視的。
結(jié)構化程序設計語言
VisualBasic是在BASIC語言的基礎上發(fā)展起來的,具有高級程序設計語言的語句結(jié)構,接近于自然語言和人類的邏輯思維方式。VisualBasic語句簡單易懂,其編輯器支持彩色代碼,可自動進行語法錯誤檢查,同時具有功能強大且使用靈活的調(diào)試器和編譯器。
VisualBasic是解釋型語言,在輸入代碼的同時,解釋系統(tǒng)將高級語言分解翻譯成計算機可以識別的機器指令,并判斷每個語句的語法錯誤。在設計VisualBasic程序的過程中,隨時可以運行程序,而在整個程序設計好之后,可以編譯生成可執(zhí)行文件(.EXE),脫離VisualBasic環(huán)境,直接在Windows環(huán)境下運行。
事件驅(qū)動編程機制
VisualBasic通過事件來執(zhí)行對象的操作。一個對象可能會產(chǎn)生多個事件,每個事件都可以通過一段程序來響應。例如,命令按鈕是一個對象,當用戶單擊該按鈕時,將產(chǎn)生一個“單擊”(CLICK)事件,而在產(chǎn)生該事件時將執(zhí)行一段程序,用來實現(xiàn)指定的操作。
在用VisualBasic設計大型應用軟件時,不必建立具有明顯開始和結(jié)束的程序,而是編寫若干個微小的子程序,即過程。這些過程分別面向不同的對象,由用戶操作引發(fā)某個事件來驅(qū)動完成某種特定的功能,或者由事件驅(qū)動程序調(diào)用通用過程來執(zhí)行指定的操作,這樣可以方便編程人員,提高效率。
訪問數(shù)據(jù)庫
VisualBasic具有強大的數(shù)據(jù)庫管理功能,利用數(shù)據(jù)控件和數(shù)據(jù)庫管理窗口,可以直接建立或處理MicrosoftAccess格式的數(shù)據(jù)庫,并提供了強大的數(shù)據(jù)存儲和檢索功能。同時,VisualBasic還能直接編輯和訪問其他外部數(shù)據(jù)庫,如dBASE,F(xiàn)oxPro,Paradox等,這些數(shù)據(jù)庫格式都可以用VisualBasic編輯和處理。
VisualBasic提供開放式數(shù)據(jù)連接,即ODBC功能,可通過直接訪問或建立連接的方式使用并操作后臺大型網(wǎng)絡數(shù)據(jù)庫,如SQLServer,Oracle等。在應用程序中,可以使用結(jié)構化查詢語言SQL數(shù)據(jù)標準,直接訪問服務器上的數(shù)據(jù)庫,并提供了簡單的面向?qū)ο蟮膸觳僮髦噶詈投嘤脩魯?shù)據(jù)庫訪問的加鎖機制和網(wǎng)絡數(shù)據(jù)庫的SQL的編程技術,為單機上運行的數(shù)據(jù)庫提供了SQL網(wǎng)絡接口,以便在分布式環(huán)境中快速而有效地實現(xiàn)客戶/服務器(client/server)方案。
動態(tài)數(shù)據(jù)交換(DDE)
利用動態(tài)數(shù)據(jù)交換(DynamicDataExchange)技術,可以把一種應用程序中的數(shù)據(jù)動態(tài)地鏈接到另一種應用程序中,使兩種完全不同的應用程序建立起一條動態(tài)數(shù)據(jù)鏈路。當原始數(shù)據(jù)變化時,可以自動更新鏈接的數(shù)據(jù)。VisualBasic提供了動態(tài)數(shù)據(jù)交換的編程技術,可以在應用程序中與其他Windows應用程序建立動態(tài)數(shù)據(jù)交換,在不同的應用程序之間進行通信。
對象的鏈接與嵌入(OLE)
對象的鏈接與嵌入(OLE)將每個應用程序都看作是一個對象(object),將不同的對象鏈接(link)起來,再嵌入(embed)某個應用程序中,從而可以得到具有聲音、影像、圖像、動畫、文字等各種信息的集合式的文件。OLE技術是Microsoft公司對象技術的戰(zhàn)略,它把多個應用程序合為一體,將每個應用程序看作是一個對象進行鏈接和嵌入,是一種應用程序一體化的技術。利用OLE技術,可以方便地建立復合式文檔(compounddocument),這種文檔由來自多個不同應用程序的對象組成,文檔中的每個對象都與原來的應用程序相聯(lián)系,并可執(zhí)行與原來應用程序完全相同的操作。
動態(tài)鏈接庫(DLL)
VisualBasic是一種高級程序設計語言,不具備低級語言的功能,對訪問機器硬件的操作不太容易實現(xiàn)。但它可以通過動態(tài)鏈接庫技術將C/C++或匯編語言編寫的程序加入到VisualBasic應用程序中,可以像調(diào)用內(nèi)部函數(shù)一樣調(diào)用其他語言編寫的函數(shù)。此外,通過動態(tài)鏈接庫,還可以調(diào)用Windows應用程序接口(API)函數(shù),實現(xiàn)SDK所具有的功能
第五章系統(tǒng)的規(guī)劃與分析
5.1系統(tǒng)的可行性分析
經(jīng)濟可行性分析
本系統(tǒng)開發(fā)簡單但要耗去一定的時間,所用的開發(fā)工具和軟件都差不多是免費的。而且,由于系統(tǒng)能夠在未來較長的一段時期內(nèi)穩(wěn)定地發(fā)揮作用,這對于企業(yè)的辦公自動化管理,節(jié)省企業(yè)的人力、物力資源等都有很大的幫助。由此可見在,開發(fā)此系統(tǒng)在經(jīng)濟上是完全可行的。
2.1.2操作可行性分析
如今的計算機已經(jīng)走進千家萬戶,硬件成本的下降,導致計算機購買成本的降低.我的這套系統(tǒng)是利用自己的計算機加微軟的集成開發(fā)環(huán)境MicrosoftVisualBasic6.0作為軟件的開發(fā)平臺,使開發(fā)出來的系統(tǒng)有友好的用戶界面、有良好的安全性設置、有詳細的操作說明書,這樣更使各類用戶很快地掌握系統(tǒng)的使用方法,操作友好因此在操作上是可行的.
2.1.3技術可行性分析
從目前IT業(yè)界比較流行的數(shù)據(jù)庫開發(fā)、管理軟件來看,對于比較簡單的中小型數(shù)據(jù)庫,VB和Windows2000Server以及MicrosoftACCESS2000的結(jié)合無疑是在實際應用中較為成功的一種解決方案。為用戶提供了業(yè)界軟件開發(fā)一直堅持的非常友好、操作簡單的用戶界面、完善強大的數(shù)據(jù)庫操作功能和簡潔明了的數(shù)據(jù)庫接口。所以技術實行起來相對會容易。
2.2現(xiàn)有系統(tǒng)的分析
有關員工管理系統(tǒng)的軟件市面上有不少,企業(yè)的員工也試用過一些,但總覺得不是很好用,不能完全滿足我們的要求,所以都放棄用這些軟件了,改為每次輸入數(shù)據(jù)后,用手工更改數(shù)據(jù)庫,隨著企業(yè)的發(fā)展,員工數(shù)據(jù)量越來越大,用手工操作就很麻煩了,所以,迫切希望有一套完全適合企業(yè)員工信息管理應用的軟件,以減輕公司員工的工作負擔。
另一方面由于這類軟件大多數(shù)是單機版的,現(xiàn)在也有不少是網(wǎng)絡版的,但大部份都是在本地網(wǎng)絡上運行的。而管理業(yè)務人員是在外面跑業(yè)務,想知道某員工的最新情況,都要打電話回公司問,這就造成很大的不便。因此系統(tǒng)的開發(fā)方向應當是面向網(wǎng)絡版的員工信息管理系統(tǒng)開發(fā).這點在今后的學習中將不斷完善.
2.3系統(tǒng)的安全性分析
安全系統(tǒng)的需求定義:
1)系統(tǒng)提供用戶登錄功能(進行用戶身份驗證),并且用戶名和用戶編號是唯一的。用戶在登錄界面上填寫任意的用戶名和用戶密碼(中文或英文);系統(tǒng)提供登錄過程中的出錯處理機制和操作成功處理機制。
2)系統(tǒng)對非法用戶具有警告功能,例:一用戶表中不存在的用戶企圖登錄系統(tǒng),系統(tǒng)應該要求用戶輸入合法用戶名和用戶密碼,并警告用戶的操作。
5.2系統(tǒng)的詳細調(diào)查
我選擇做《員工信息管理系統(tǒng)》的目標是:應用于某企業(yè)進行員工信息管理,使其擁有一個可操作的業(yè)務平臺,提高員工管理水平,挖掘潛在資源(如客戶資源,降低費用,節(jié)約成本等)。當然,如果稍加改動,也許還會適合其他行業(yè)使用。
具體為:
1、要用戶界面要友好,使用方便,容錯能力強,適應各種水平的用戶。
2、系統(tǒng)安全性要高,需要有密碼保護
3、能大量減少不必要的資源,善用現(xiàn)有資源來開發(fā)。
5.3系統(tǒng)邏輯模型的提出
為了實現(xiàn)管理信息系統(tǒng)的計算機化,僅僅用文字來描述信息的流動和存儲還遠遠不夠,還要進一步調(diào)查分析舍去物質(zhì)流,抽象出信息流,繪制出數(shù)據(jù)流程圖,并對各種數(shù)據(jù)的屬性和各項處理功能進行詳細分析。系統(tǒng)分析的主要成果是系統(tǒng)的邏輯模型。本系統(tǒng)主要是以數(shù)據(jù)流圖、數(shù)據(jù)字典和E-R圖為主要描述工具來勾畫系統(tǒng)的概貌。
數(shù)據(jù)流圖(DFD,dataflowdiagram)是描述數(shù)據(jù)處理過程的有力工具。數(shù)據(jù)流圖從數(shù)據(jù)傳遞和加工的角度,以圖形的方式刻畫數(shù)據(jù)流從輸入到輸出的移動變換過程。
數(shù)據(jù)流圖的基本圖形元素有4種:
為了使數(shù)據(jù)流圖便于在計算機上輸入和輸出,免去畫曲線、斜線和圓的因難,現(xiàn)在將會用另一種比較合理及更清晰的方法進行分析。
5.3.1數(shù)據(jù)詞典
數(shù)據(jù)詞典(DataDictionary,DD)是結(jié)構化分析方法的另一個工具,它與數(shù)據(jù)流圖配合,能清楚地表達數(shù)據(jù)處理的要求。數(shù)據(jù)流圖給出系統(tǒng)組成及其內(nèi)部各元素相互間的關系,但未說明數(shù)據(jù)元素的具體含意。數(shù)據(jù)詞典的任務是對于數(shù)據(jù)流圖中出現(xiàn)的所有命名元素,包括數(shù)據(jù)流、加工、數(shù)據(jù)文件,以及數(shù)據(jù)的源、匯點等,在數(shù)據(jù)詞典中作為一個詞條加以定義,使得每一個圖形元素的名字都有一個確切的解釋。
首先說明各符號的代表的意義:
⊿=被定義為;
⊿+與;(如,x=a+b,表示x由a和b組成)
⊿[...|...]或;(如,x=[a,b],x=[a|b],表示x由a或由b組成)
⊿{...}重復;(如,x={a},表示x由0個或多個a組成)
如列舉用戶登錄模塊的定義如下:
用戶登錄模塊
◎用戶登錄的定義格式:
用戶名=[{字母},{數(shù)字}]
用戶=管理員
密碼=[{字母},{數(shù)字}]
用戶驗證表=用戶名+密碼
另一種方式是以E-R圖來描述數(shù)據(jù)之間的關聯(lián).
如系統(tǒng)用戶表的E-R圖如下:
系統(tǒng)用戶表E-R圖
第六章系統(tǒng)的設計
6.1系統(tǒng)流程圖
6.2數(shù)據(jù)庫的設計
通過對該系統(tǒng)的研究,將系統(tǒng)數(shù)據(jù)Employeemanage分為以下幾個表.DepartList,Edulevel,Employees,JobList,LeavelList,LeavelStatus,LeavelType,MarrageStatus,OperatorList,Plitics,TitalList等幾個表.各表的具體設計結(jié)構如下:
DepartList表
Edulevel表:
Employees表:
JobList表:
LeavelList表:
LeavelStatus表
LeavelType表:
MarrageStatus表:
OperatorList表
Plitics表
TitalList表
6.3系統(tǒng)主界面的設計
其系統(tǒng)主界面設計運行效果圖如下:
6.4登錄窗體的設計
其運行效果圖如下:
其具體的設計如下:
新建一個窗體.在窗體上放上二個label控件,一個TextBox控件,一個Combo1控件,二個CommandButton控件.其屬性的設置比較簡單,請參照上面的窗體中的文字顯視.我們具體分析一下確定按鈕的源碼,如下:
PrivateSubcmdOK_Click()
DimstrSqlAsString
strSql="Oper_ID="&"''''"&dcmbOperName.BoundText&"''''"
IfNot(rctOperatorList.EOFAndrctOperatorList.BOF)Then
rctOperatorList.Find(strSql)
IfNot(rctOperatorList.EOFOrrctOperatorList.BOF)Then
IfTrim(rctOperatorList.Fields("Oper_Pass"))=Trim(txtOperPass.Text)Then
OperaterName=Trim(dcmbOperName.Text)''''記錄當前用戶
frmMain.Show''''顯示主窗體
UnloadMe
ExitSub
Else
logintestCount=logintestCount+1
IflogintestCount>=3Then
MsgBox"您已經(jīng)登錄三次都失敗,系統(tǒng)關閉",vbInformation+vbOKOnly,"非法用戶"
UnloadMe
ExitSub
Else
txtOperPass.SetFocus
EndIf
EndIf
Else
logintestCount=logintestCount+1
IflogintestCount>=3Then
MsgBox"您已經(jīng)登錄三次都失敗,系統(tǒng)關閉",vbInformation+vbOKOnly,"非法用戶"
UnloadMe
ExitSub
Else
txtOperPass.SetFocus
EndIf
EndIf
Else
MsgBox"數(shù)據(jù)庫中沒有操作用戶數(shù)據(jù)",vbCritical+vbOKOnly,"系統(tǒng)錯誤"
UnloadMe
ExitSub
EndIf
EndSub
6.5各主要模塊的設計
基礎設置模塊的設計
1.基礎單元設置
其窗體的命令按鈕源碼實現(xiàn)如下:
增加按鈕的源碼:
PrivateSubtblTitel_ButtonClick(ByValButtonAsMSComctlLib.Button)
SelectCaseButton.Key
Case"add"
flexTitel.Row=flexTitel.Rows-1''''移到最后一行
flexTitel.Col=0''''稱到最后一行的第一列
flexTitel.RowSel=flexTitel.Rows-1''''選定一行
flexTitel.ColSel=flexTitel.Cols-1''''選定所有列
IfflexTitel.Rows>7Then
flexTitel.TopRow=flexTitel.Rows-7
EndIf
tblTitel.Buttons("delete").Enabled=False
tblTitel.Buttons("add").Enabled=False
rctTitelList.AddNew
flexTitel.Enabled=False
txtTitelId.SetFocus
保存按鈕的源碼如下:
PrivateSubIniGrid(ByValflexGridAsMSHFlexGrid)
flexGrid.Clear
WithflexGrid
.Cols=3
.Rows=2
.FixedCols=0
.FixedRows=1
.SelectionMode=flexSelectionByRow
.TextMatrix(0,1)="編號"
SelectCase.Name
Case"flexDepart"
.TextMatrix(0,2)="部門名稱"
Case"flexEdu"
.TextMatrix(0,2)="學歷名稱"
Case"flexJob"
.TextMatrix(0,2)="職務名稱"
Case"flexTitel"
.TextMatrix(0,2)="職稱名稱"
Case"flexPli"
.TextMatrix(0,2)="政治面貌"
Case"flexLt"
.TextMatrix(0,2)="請假類型"
Case"flexLs"
.TextMatrix(0,2)="銷假標志"
Case"flexMs"
.TextMatrix(0,2)="婚姻狀況"
EndSelect
.ScrollBars=flexScrollBarVertical
.GridLines=flexGridNone
.GridLinesFixed=flexGridNone
''''.AllowBigSelection=True
.AllowUserResizing=flexResizeNone.ColWidth(0)=1
.ColWidth(1)=1000
.ColWidth(2)=5410
.ColAlignment(1)=3
.ColAlignment(2)=0
.ColAlignmentFixed(1)=3
.FillStyle=flexFillSingle
.ScrollTrack=True
.Row=1
.Col=0
.RowSel=1
.ColSel=.Cols-1EndWith
EndSub
PrivateSubshowdata(ByValRecordsetAsADODB.Recordset,ByValflexGridAsMSHFlexGrid)
DimiAsInteger
DimjAsInteger
IfRecordset.RecordCount>0Then
Recordset.MoveFirst
WithflexGrid.Row=1
WhileNotRecordset.EOF
.Rows=.Rows+1
Fori=1ToRecordset.Fields.Count
.Col=i
If(.RowMod2)=0Then
.CellBackColor=&HF4D3A6
Else
.CellBackColor=vbWhite
EndIf
.Text=Recordset.Fields(i-1)Nexti
.Row=.Row+1
Recordset.MoveNext
Wend
''''.Col=1.Row=1
.Col=0
.RowSel=1
.ColSel=.Cols-1
''''.Row=1EndWith
EndIf
EndSub
PrivateSubIniGridstyle()
EndSub
PrivateSubGetRecordIdName(ByValflexAsMSHFlexGrid,lngRecordIdAsVariant,strRecordNameAsString)
Ifflex.Row<>0Then
Ifflex.TextMatrix(flex.Row,1)<>EmptyThen
lngRecordId=flex.TextMatrix(flex.Row,1)
strRecordName=flex.TextMatrix(flex.Row,2)
Else
lngRecordId=-1
strRecordName=Empty
EndIf
EndIf
EndSub
PrivateSubPicture1_Click()
EndSub
PrivateFunctionSavetoRecords(ByValrctSaveAsADODB.Recordset,ByValfirstField_valueAsVariant,ByValsecondField_valueAsString)AsBoolean
OnErrorGoToSave_Error
rctSave.Fields(0).Value=firstField_value
rctSave.Fields(1).Value=secondField_value
rctSave.Update
SavetoRecords=True
ExitFunction
Save_Error:
IfErr.Number<>0Then
rctSave.CancelUpdate
SavetoRecords=False
MsgBox"錯誤代碼:"&Err.Number&vbCrLf&_
"錯誤描述:"&Err.Description,vbCritical+vbOKOnly,"保存記錄失敗"
Else
SavetoRecords=True
EndIf
EndFunction
刪除按鈕的代碼描述:
PublicFunctionRecordDelete(ByValrstDeleteAsADODB.Recordset,ByValstrOptionAsLong)AsBoolean
If(rstDelete.EOF=True)Or(rstDelete.BOF=True)Then
RecordDelete=False
ExitFunction
EndIf
OnErrorGoToDelete_error
rstDelete.DeletestrOption
rstDelete.Update
RecordDelete=True
rstDelete.Update
Delete_error:
IfErr.Number<>0Then
rstDelete.CancelUpdate
RecordDelete=False
MsgBox"錯誤代碼:"&Err.Number&vbCrLf&_
"錯誤描述:"&Err.Description,vbCritical+vbOKOnly,"刪除錯誤"
Else
RecordDelete=True
rstDelete.Update
EndIf
EndFunction
操作員管理窗體運行如下:
其工具欄銨鈕的設計參考基礎單元設置
6.5.2員工管理模塊的設計
其員工管理窗體的運行界面如下:
增加記錄源碼分析如下:
PrivateSubtblEmployees_ButtonClick(ByValButtonAsMSComctlLib.Button)
SelectCaseButton.Key
Case"add"
''''rctEmployees.AddNew
IfflexEmployees.Rows>2Then
flexEmployees.Row=flexEmployees.Rows-1
flexEmployees.Col=0
flexEmployees.RowSel=flexEmployees.Rows-1
flexEmployees.ColSel=flexEmployees.Cols-1
IfflexEmployees.Rows>15Then
flexEmployees.TopRow=flexEmployees.Rows-15
EndIf
EndIf
frmEmpAdd.Caption="新增記錄"
frmEmpAdd.cmdPrevious.Visible=False
frmEmpAdd.cmdNext.Visible=False
frmEmpAdd.cmdAdd.Visible=False
frmEmpAdd.ShowvbModal
Case"delete"
IfstrEmpFirstFieldValue<>EmptyThen
IfMsgBox("您確定要刪除此條記錄嗎?",vbQuestion+vbYesNo,"刪除記錄")=vbYesThen
IffrmUnit.RecordDelete(rctEmployees,adAffectCurrent)=TrueThen
frmEmployees.flexEmployees.Redraw=False
CallIniGrid(flexEmployees)
Callshowdata(rctEmployees,flexEmployees)
frmEmployees.flexEmployees.Redraw=True
EndIf
EndIf
EndIf
Case"modify"
IfstrEmpFirstFieldValue<>EmptyThen
frmEmpAdd.Caption="修改記錄"
CallfrmEmpAdd.IniFromAdd(rctEmployees)
frmEmpAdd.cmdAdd.Visible=False
frmEmpAdd.cmdCancel.Visible=False
frmEmpAdd.ShowvbModal
EndIf
Case"exit"
UnloadMe
EndSelect
EndSub
打印按鈕的源碼如下:
PrivateSubtlbPrint_ButtonClick(ByValButtonAsMSComctlLib.Button)
IfExcuteSql(rctQueryEmployeesWithID,"select*fromQueryEmployeesWithID")=TrueThen
rctQueryEmployeesWithID.Filter=rctEmployees.Filter
SetdrptEmployees.DataSource=rctQueryEmployeesWithID
EndIf
IfrctQueryEmployeesWithID.RecordCount<=0Then
MsgBox"沒有合適的記錄",vbInformation+vbOKOnly,"打印信息"
ExitSub
EndIf
SelectCaseButton.Key
Case"Preview"
drptEmployees.ShowvbModal
Case"print"
OnErrorGoToError_on_print
drptEmployees.PrintReportFalse''''不顯示窗口
ExitSub
Error_on_print:
MsgBox"錯誤代碼:"&Err.Number&_
"錯誤描述:"&Err.Description,vbCritical+vbOKOnly,"打印錯誤"
EndSelect
EndSub
員工查詢窗運行如下:
其中查詢按鈕的源碼分析如下:
PrivateSubcmdOK_Click()
SelectCasestbQuery.Tab
Case0
IfcmbQueryItem.ListIndex<>3And_
cmbQueryItem.ListIndex<>4And_
cmbQueryItem.ListIndex<>5And_
cmbQueryItem.ListIndex<>6And_
cmbQueryItem.ListIndex<>7Then
IfTrim(txtQueryValue.Text)=EmptyThen
MsgBox"查詢內(nèi)容不能為空",vbInformation+vbOKOnly,"查詢數(shù)據(jù)"
ExitSub
Else
FieldValue=Trim(txtQueryValue.Text)
IfcmbQueryItem.ListIndex=2Then
IfTrim(txtQueryValue.Text)="男"Then
FieldValue=1
Else
IfTrim(txtQueryValue.Text)="女"Then
FieldValue=0
Else
MsgBox"輸入錯誤!",vbCritical+vbOKOnly,"查詢數(shù)據(jù)"
ExitSub
EndIf
EndIf
strFilter=FieldName&"="&FieldValue
Else
IfchkLike.Value=1ThenstrFilter=FieldName&"like"&"''''"&"%"&FieldValue&"%"&"''''"
Else
strFilter=FieldName&"="&"''''"&FieldValue&"''''"
EndIf
EndIf
EndIf''''endifTrim(txtQueryValue.Text)=Empty
Else
FieldValue=dcmbItemValue.BoundText
IfcmbQueryItem.ListIndex=7Then
strFilter=FieldName&"="&FieldValue
Else
strFilter=FieldName&"="&"''''"&FieldValue&"''''"
EndIf
EndIf
Case1
Operater=Combo1.List(Combo1.ListIndex)
strFilter=FieldName&""&Operater&""&"''''"&dtpDateValue.Value&"''''"
EndSelect
''''MsgBoxstrFilter
rctEmployees.Filter=strFilter
frmEmployees.flexEmployees.Redraw=False
CallfrmEmployees.IniGrid(frmEmployees.flexEmployees)
CallfrmEmployees.showdata(rctEmployees,frmEmployees.flexEmployees)
frmEmployees.flexEmployees.Redraw=True
EndSub
6.5.3請假管理模塊的設計
其中請假管理中的修改記錄窗體運行如下:
其中保存按鈕的源碼如下:
PrivateSubcmdSave_Click()
DimEmp_IDAsVariant
DimEmp_NameAsVariant
DimEmp_SexAsVariant
DimDepart_IDAsVariant
DimJob_IDAsVariant
DimTitel_IDAsVariant
DimE_IDAsVariant
DimP_IDAsVariant
DimMS_IDAsVariant
DimEmp_ID_cordAsVariant
DimEmp_birthdayAsVariant
DimEmp_Attend_timeAsVariant
DimEmp_Join_timeAsVariant
DimEmp_mobile_numAsVariant
DimEmp_Tel_numAsVariant
DimEmp_AddressAsVariant
DimEmp_MemoAsVariant
DimEmp_name_charAsVariant
DimvtempdataAsString
IftxtEmpID.Text=EmptyThen
MsgBox"工作證號不能為空!",vbInformation,"數(shù)據(jù)不完整"
txtEmpID.SetFocus
ExitSub
Else
IftxtEmpName.Text=EmptyThen
MsgBox"員工姓名不能為空!",vbInformation,"數(shù)據(jù)不完整"
txtEmpName.SetFocus
ExitSub
Else
IfLeft(mskEmpBirth.Text,1)<>""Then
IfInStr(mskEmpBirth.Text,"")>0Then
MsgBox"日期格式填寫不完整!",vbInformation,"數(shù)據(jù)不完整"
mskEmpBirth.SetFocus
ExitSub
Else
Emp_birthday=CDate(mskEmpBirth.Text)
EndIf
EndIf
IfLeft(mskEmpAttendTime.Text,1)<>""Then
IfInStr(mskEmpAttendTime.Text,"")>0Then
MsgBox"日期格式填寫不完整!",vbInformation,"數(shù)據(jù)不完整"
mskEmpAttendTime.SetFocus
ExitSub
Else
IfLeft(mskEmpBirth.Text,1)<>""Then
IfCDate(mskEmpAttendTime.Text)<=CDate(mskEmpBirth.Text)Then
MsgBox"員工參加工作日期不能小于或等于員工的出生日期",vbInformation,"輸入日期錯誤"
mskEmpAttendTime.SetFocus
ExitSub
Else
Emp_Attend_time=CDate(mskEmpBirth.Text)
EndIf
EndIf
EndIf
EndIf
IfLeft(mskJOinTime.Text,1)<>""Then
IfInStr(mskJOinTime.Text,"")>0Then
MsgBox"日期格式填寫不完整!",vbInformation,"數(shù)據(jù)不完整"
mskJOinTime.SetFocus
ExitSub
Else
IfLeft(mskEmpBirth.Text,1)<>""Then
IfCDate(mskJOinTime.Text)<=CDate(mskEmpBirth.Text)Then
MsgBox"員工加入本單位日期不能小于或等于員工的出生日期",vbInformation,"輸入日期錯誤"
mskJOinTime.SetFocus
ExitSub
EndIf
EndIf
IfLeft(mskEmpAttendTime.Text,1)<>""Then
IfCDate(mskJOinTime.Text)<CDate(mskEmpAttendTime.Text)Then
MsgBox"員工加入本單位日期不能小于員工的參加工作日期",vbInformation,"輸入日期錯誤"
mskJOinTime.SetFocus
ExitSub
EndIf
EndIf
Emp_Join_time=CDate(mskJOinTime.Text)
EndIf
EndIf
EndIf
EndIf
IftxtEmpChr.Text=EmptyThen
MsgBox"員工字首拼音十分重要,不能為空!",vbInformation,"數(shù)據(jù)不完整"
txtEmpChr.SetFocus
ExitSub
EndIf
IftxtEmp_ID_cord.Text<>EmptyAndLen(txtEmp_ID_cord.Text)<15Then
MsgBox"身份證號必須是大于或等于15位,小于18位!",vbInformation,"無效的身份證號"
txtEmp_ID_cord.SetFocus
ExitSub
EndIf
Emp_ID=Trim(txtEmpID.Text)
Emp_Name=Trim(txtEmpName.Text)
Emp_Sex=cmbEmpSex.ListIndex
IfTrim(txtEmp_ID_cord.Text)<>EmptyThen
Emp_ID_cord=Trim(txtEmp_ID_cord.Text)
EndIf
IfTrim(txtEmpMobil.Text)<>EmptyThen
Emp_mobile_num=Trim(txtEmpMobil.Text)
EndIf
IfTrim(txtEmpTel.Text)<>EmptyThen
Emp_Tel_num=Trim(txtEmpTel.Text)
EndIf
IfTrim(txtEmpAddr.Text)<>EmptyThen
Emp_Address=Trim(txtEmpAddr.Text)
EndIf
IfTrim(txtEmpMemo.Text)<>EmptyThen
Emp_Memo=Trim(txtEmpMemo.Text)
EndIf
Emp_name_char=Trim(txtEmpChr.Text)
IfTrim(cmbDepartID.Text)<>EmptyThen
vtempdata=Trim(cmbDepartID.Text)
Depart_ID=frmEmployees.RecordSetFindItem(rctDepartList,"Depart_Name",vtempdata,0)
EndIf
IfTrim(cmbEmpMs.Text)<>EmptyThen
vtempdata=Trim(cmbEmpMs.Text)
MS_ID=frmEmployees.RecordSetFindItem(rctMarriageStatus,"MS_Name",vtempdata,0)
EndIf
IfTrim(cmbEmpPs.Text)<>EmptyThen
vtempdata=Trim(cmbEmpPs.Text)
P_ID=Trim(frmEmployees.RecordSetFindItem(rctPlitics,"P_Name",vtempdata,0))
EndIf
IfTrim(cmbEmpEdu.Text)<>EmptyThen
vtempdata=Trim(cmbEmpEdu.Text)
E_ID=Trim(frmEmployees.RecordSetFindItem(rctEdulevel,"E_Name",vtempdata,0))
EndIf
IfTrim(cmbEmpJob.Text)<>EmptyThen
vtempdata=Trim(cmbEmpJob.Text)
Job_ID=Trim(frmEmployees.RecordSetFindItem(rctJobList,"Job_Name",vtempdata,0))
EndIf
IfTrim(cmbEmpTitel.Text)<>EmptyThen
vtempdata=Trim(cmbEmpTitel.Text)
Titel_ID=Trim(frmEmployees.RecordSetFindItem(rctTitelList,"Titel_Name",vtempdata,0))
EndIf
''''下面是寫入數(shù)據(jù)庫
''''MsgBox"noerror"
IffrmEmpAdd.Caption="新增記錄"Then
rctEmployees.AddNew
EndIf
IfSaveEmployeesRecords(rctEmployees,Emp_ID,Emp_Name,Emp_Sex,Depart_ID,Job_ID,Titel_ID,E_ID,P_ID,MS_ID,Emp_ID_cord,Emp_birthday,Emp_Attend_time,Emp_Join_time,Emp_mobile_num,Emp_Tel_num,Emp_Address,Emp_Memo,Emp_name_char)=TrueThen
IffrmEmpAdd.Caption="新增記錄"Then
CallfrmEmpAddClear
EndIf
''''frmEmployees.flexEmployees.Redraw=False
''''CallfrmEmployees.IniGrid(frmEmployees.flexEmployees)
''''CallfrmEmployees.showdata(rctEmployees,frmEmployees.flexEmployees)
''''frmEmployees.flexEmployees.Redraw=True
MsgBox"保存記錄成功",vbInformation,"保存記錄"
EndIf
EndSub
請假查詢窗體運行如下:
窗體源碼如下:
PrivateSubmnuLeavelQuery_Click()
frmLeavel.tblEmployees.Buttons("add").Visible=False
frmLeavel.tblEmployees.Buttons("delete").Visible=False
frmLeavel.tblEmployees.Buttons("modify").Visible=False
frmLeavel.tlbPrint.Left=30
frmLeavel.tlbExit.Left=frmLeavel.tlbPrint.Width
frmLeavel.Caption="請假查詢"
frmLeavel.ShowvbModal,Me
EndSub
6.5.4幫助管理模塊的設計
該模塊不涉及到代碼的編寫故不作描述
第七章主菜單的設計與系統(tǒng)的編譯發(fā)行
1系統(tǒng)主菜單的設計
在實際的系統(tǒng)設計中,菜單可分為兩種類型,即下拉式菜單和彈出式菜單,下拉式菜單系統(tǒng)中,一般有一個主菜單,其中包括若干個選擇項.主菜單單的每一項又可下拉出下一級子菜單.這樣用一個個的窗口的形式彈出在屏幕上,它是通過菜單編輯器建立,其步驟如下:
1)選取要建立菜單的窗體
2)從“工具”菜單中,選取“菜單編輯器”建立如下圖所示的系統(tǒng)主菜單:
可以看出菜單系統(tǒng)的建立比較直觀,因此不作重點描述
一個典型的數(shù)據(jù)庫應用程序由數(shù)據(jù)結(jié)構,操作界面,查詢選項和報表打印等組成。在設計應用程序時,應仔細考慮每個組件提供的功能以及與其他組件之間的關系。設計好的功能模塊制作完畢后,單擊全編譯執(zhí)行在確認無誤后,單擊文件菜單下的生成工程得到一個.EXE的可執(zhí)行程序.到此一個完整的系統(tǒng)設計完成.
結(jié)論
在剛剛開始學習數(shù)據(jù)庫的時候,對很多細節(jié)很沒有概念。特別是對窗體的作用還有過程的概念的掌握,理解不準確。通過老師的幫助才慢慢的有了一點體會。對書本的學習完成以后,開始著手對數(shù)據(jù)庫系統(tǒng)開始制作,開始對系統(tǒng)的需求分析不足,造成多次重做。在對表單的制作過程中,對窗體的尺寸的把握,對各個控件尺寸的把握是比較困難的,各個控件在表單中的布局也非常重要。在本系統(tǒng)中,程序主界面和登陸界面的制作是比較困難的。表單制作完成后就是對控件編程,其中要注意程序編寫時的細節(jié),格式,命令的拼寫,運用的合理性等等都要進行分析。
總的來說,做完一個數(shù)據(jù)庫的收獲不僅僅是技術上的,對事情的宏觀的控制有了更深的看法。
致謝
感謝老師在設計中的指導和關懷,并且感謝所有同學對我的支持。
參考文獻
參考文獻:
1、馬力VisualBasic6.0簡明教程機械工業(yè)出版社2001年8月
2、劉韜駱娟何旭洪VisualBasic6.0數(shù)據(jù)庫系統(tǒng)開發(fā)實例導航人民郵電出版社2004.4月
3、程序員雜志2002年合訂本電子工業(yè)出版社
4、王小平,曹立明.遺傳算法-理論、應用與軟件實現(xiàn).西安:西安交通大學出版社,
版權聲明:本文內(nèi)容由互聯(lián)網(wǎng)用戶自發(fā)貢獻,該文觀點僅代表作者本人。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如發(fā)現(xiàn)本站有涉嫌抄襲侵權/違法違規(guī)的內(nèi)容, 請發(fā)送郵件至 yyfangchan@163.com (舉報時請帶上具體的網(wǎng)址) 舉報,一經(jīng)查實,本站將立刻刪除