狠狠操网,91中文字幕在线观看,精品久久香蕉国产线看观看亚洲,亚洲haose在线观看

畢業(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)查實,本站將立刻刪除