基于CBuilder的高校學(xué)生管理系統(tǒng)軟件開發(fā)
-
資源ID:253597633
資源大?。?span id="mzebxcnn0" class="font-tahoma">2.66MB
全文頁數(shù):49頁
- 資源格式: DOC
下載積分:10積分
快捷下載

會員登錄下載
微信登錄下載
微信掃一掃登錄
友情提示
2、PDF文件下載后,可能會被瀏覽器默認(rèn)打開,此種情況可以點擊瀏覽器菜單,保存網(wǎng)頁到桌面,就可以正常下載了。
3、本站不支持迅雷下載,請使用電腦自帶的IE瀏覽器,或者360瀏覽器、谷歌瀏覽器下載即可。
4、本站資源下載后的文檔和圖紙-無水印,預(yù)覽文檔經(jīng)過壓縮,下載后原文更清晰。
5、試題試卷類文檔,如果標(biāo)題沒有明確說明有答案則都視為沒有答案,請知曉。
|
基于CBuilder的高校學(xué)生管理系統(tǒng)軟件開發(fā)
安徽工程科技學(xué)院畢業(yè)設(shè)計(論文)
引 言
學(xué)生管理是高校管理的重要組成部分,對于學(xué)校和政府教育管理單位來說都至關(guān)重要,所以學(xué)生管理系統(tǒng)應(yīng)該能夠為用戶提供充足的信息和快捷的查詢手段。但是一直以來高校都使用人工的方式管理學(xué)生學(xué)籍、檔案、成績等,這種管理方式效率低、保密性差,不利于查找更新和維護(hù)。使用計算機(jī)對學(xué)生信息進(jìn)行管理,能夠極大地提高學(xué)生管理的效率,節(jié)約教育經(jīng)費,這也是適應(yīng)學(xué)校信息化建設(shè)發(fā)展趨勢的重要因素。
當(dāng)今的時代,計算機(jī)科學(xué)的迅速發(fā)展和計算機(jī)應(yīng)用領(lǐng)域的不斷擴(kuò)大,市場上出現(xiàn)了
許多性能好,功能齊全,應(yīng)用面廣,兼容性強的應(yīng)用軟件,他們在企業(yè)管理,辦公自動化等方面發(fā)揮了巨大的作用。具體到高等學(xué)校學(xué)生管理工作,數(shù)字化與網(wǎng)絡(luò)技術(shù)無疑是達(dá)到現(xiàn)代化管理水平的必由之路。它不僅可以簡化學(xué)校傳統(tǒng)的管理模式,使學(xué)校各部門管理人員能夠方便地利用學(xué)生管理信息對學(xué)生檔案、獎學(xué)金等工作進(jìn)行全面管理,更重要的是可以使學(xué)生管理規(guī)范化、制度化、數(shù)字信息化,提高管理水平、降低管理成本、減輕工作強度、提高工作效率,使學(xué)校以高效率運轉(zhuǎn)。
現(xiàn)在市場上已經(jīng)有其他編程語言編寫的高校學(xué)生管理系統(tǒng),這給我這次的設(shè)計提供了很多資料。高校學(xué)生管理系統(tǒng)要實現(xiàn)的目標(biāo)是為學(xué)校提供全面的學(xué)生管理解決方案,鑒于學(xué)生管理職能執(zhí)行部門的單一性以及系統(tǒng)安全性的考慮,目前建設(shè)單機(jī)環(huán)境的學(xué)生管理系統(tǒng),比較適應(yīng)當(dāng)前的實際需要。系統(tǒng)需要實現(xiàn)的目標(biāo)如下:
l 提高學(xué)生管理效率,節(jié)約管理成本,增強學(xué)生管理的安全性。
l 滿足學(xué)校學(xué)生管理職能的基本要求。
l 滿足學(xué)校領(lǐng)導(dǎo)、教育管理單位、學(xué)生管理人員、教師和學(xué)生的不同層次和不同方面的需要。
l 能夠?qū)崿F(xiàn)方便的擴(kuò)展,滿足學(xué)校發(fā)展的需要。
l 提供方便靈活的數(shù)據(jù)查詢功能,滿足繁雜,多樣的數(shù)據(jù)查詢需求。
l 為學(xué)校將來的整體信息化建設(shè)提供必要的支持。
總之,通過該系統(tǒng)的建設(shè)來提高高校的學(xué)生管理效率,使得學(xué)校的發(fā)展能夠適應(yīng)
當(dāng)前的教育信息化建設(shè)的總體發(fā)展趨勢。
第1章 C++ Builder 6.0簡介
1.1 ++ Builder6.0的可視化開發(fā)環(huán)境
可視化程序設(shè)計是一種全新的程序設(shè)計方法,全面采用面向?qū)ο蟮某绦蛟O(shè)計技術(shù),使用事件驅(qū)動機(jī)制進(jìn)行程序設(shè)計。利用可視化開發(fā)工具可以快速、高效地開發(fā)應(yīng)用程序??梢暬拈_發(fā)工具很多,如Microsoft公司推出的Visual Studio軟件系列,Inprise公司的Delphi、C++ Builder系列等。
Borland C++ Builder是Inprise(Borland)公司推出的基于C++語言的快速應(yīng)用程序開發(fā)(rapid application development,RAD)工具。C++ Builder充分利用已經(jīng)發(fā)展成熟的Delphi的可視化組件庫(visual component library,VCL),吸收Borland C++優(yōu)秀編譯器的諸多優(yōu)點,結(jié)合先進(jìn)的基于組件的程序設(shè)計技術(shù),已成為一個非常成熟的可視化應(yīng)用程序開發(fā)工具,可以快速、高效地開發(fā)基于Windows環(huán)境的各類程序,尤其在數(shù)據(jù)庫和網(wǎng)絡(luò)方面,C++ Builder更是一個十分理想的軟件開發(fā)平臺。 它的最新版本C++ Builder 6.0加入了許多新功能,包括用于創(chuàng)建Web服務(wù)應(yīng)用程序的新一代Web開發(fā)技術(shù)WebSnap,以及可用于實現(xiàn)不同平臺上的應(yīng)用程序互操作性的SOAP/WebService技術(shù)。利用它可以實現(xiàn)用最小的代碼開發(fā)量編寫出高效率的32位Windows應(yīng)用程序和Internet應(yīng)用程序。
一般用戶的應(yīng)用程序是由應(yīng)用程序界面和數(shù)據(jù)處理兩部分組成,如在Windows應(yīng)用程序中單擊窗體中的菜單或按鈕來執(zhí)行某一個命令或完成某一個操作。這種基于窗體的應(yīng)用程序運用C++ Builder 6.0這樣的可視化開發(fā)工具后,用戶界面的設(shè)計過程就如同“搭積木”一樣,只需根據(jù)需要在窗體上放置各種組件,并根據(jù)需要改變它們的位置(或外觀),程序員不必編寫大量的代碼來實現(xiàn)界面功能,因而可以把主要精力集中在關(guān)鍵代碼的設(shè)計上。
C++ Builder 6.0的集成開發(fā)環(huán)境(IDE)使程序員可以利用一組窗體、菜單和其他組件,并使用可視化的方式(WYSIWYG——what you see is what you get,所見即所得)來設(shè)計應(yīng)用程序的界面,將代碼和事件與界面中的某一元素建立聯(lián)系,并對整個應(yīng)用程序進(jìn)行調(diào)試。
C++ Builder 6.0啟動后的集成開發(fā)環(huán)境IDE主界面及其組成如圖1-1所示,它由主窗體、窗體設(shè)計器、對象查看器、代碼編輯器、代碼瀏覽器、對象瀏覽器等幾個部分構(gòu)成。利用C++ Builder 6.0的集成開發(fā)環(huán)境IDE可以創(chuàng)建多種應(yīng)用程序。要創(chuàng)建一個應(yīng)用程序,先選擇File|New|Other …,打開如圖1-2所示的New Items對話框。該對話框有11個選項卡,每個選項卡都提供不同的工程或可以用IDE生成的對象。
利用C++ Builder 6.0開發(fā)應(yīng)用程序與使用傳統(tǒng)的高級語言開發(fā)應(yīng)用程序的步驟完全不同,它充分體現(xiàn)面向?qū)ο蟪绦蛟O(shè)計的特征。其基本過程如下:
1) 設(shè)計應(yīng)用程序界面。
2) 設(shè)置組件的屬性。
3) 編寫(事件)代碼。
4) 調(diào)試運行程序。
1.2 C++ Builder6.0的工程概述
一個C++ Builder 6.0應(yīng)用程序往往由多個相關(guān)的文件構(gòu)成。為了便于對這些文件進(jìn)行有效的管理,C++ Builder 6.0使用了稱為“工程”的特殊文件來管理應(yīng)用程序的所有不同的文件。當(dāng)一套應(yīng)用程序開發(fā)完成后,便可以對工程進(jìn)行編譯以創(chuàng)建一個可執(zhí)行的文件。一個完整的工程往往包括:
1) 跟蹤所有文件的工程文件(.bpr)。
2) 單元文件。在C++ Builder 6.0中,任何.c、.bpr、.h或.hpp文件都稱為Unit單元。
3) 窗體文件(.frm)。保存窗體中的組件及設(shè)置的屬性。
4) 資源文件(.res)。
圖1-1 C++ Builder 6.0的IDE主界面
圖1-2 New Items對話框
工程文件是與該工程有關(guān)的全部文件的清單,每次保存工程時,這些信息都要隨之被更新。當(dāng)創(chuàng)建文件或在工程中添加、刪除文件時,C++ Builder 6.0便會在工程管理器窗口中反映出所發(fā)生的變化,該窗口中包含此工程中當(dāng)前文件的列表,如圖1-3所示。
圖1-3 工程管理器窗口
面向?qū)ο蟮某绦蛟O(shè)計方法與編程技術(shù)不同于標(biāo)準(zhǔn)的過程化程序設(shè)計。程序設(shè)計人員在進(jìn)行面向?qū)ο蟮某绦蛟O(shè)計時,不再是單純地從代碼的第一行一直編到最后一行,而是考慮如何創(chuàng)建對象以及利用對象來簡化程序設(shè)計,從而提高代碼的可重用性。
對象可以是應(yīng)用程序中一個自包含組件,一方面具有私有的功能供自己使用;另一方面又提供公用的功能,供其他用戶使用。對象包含數(shù)據(jù)及其代碼,這比傳統(tǒng)編寫代碼的方法更容易維護(hù)。
在C++ Builder 6.0中,應(yīng)用面向?qū)ο蟮某绦蛟O(shè)計OOP(object-oriented programming)方法,把程序代碼和數(shù)據(jù)封裝起來視為一個對象,大部分對象都是可視的。程序員在設(shè)計程序時只需用現(xiàn)有組件根據(jù)界面設(shè)計的要求,直接在屏幕上“畫”出窗口、菜單、按鈕、滾動條等不同類型的對象,并依次為這些對象設(shè)置屬性。程序員的編程工作僅限于編寫相關(guān)對象要完成的功能代碼,因而程序設(shè)計的效率可大大提高。
第2章 緒 論
2.1 背景
隨著計算機(jī)技術(shù)的發(fā)展,計算機(jī)已得到越來越廣泛的應(yīng)用。為進(jìn)一步加快教育信息化的建設(shè)步伐,推動全國教育管理信息化工作向規(guī)范化和健康化方向發(fā)展,教育部于2002年9月正式發(fā)布《教育管理信息化標(biāo)準(zhǔn)(第一部分:學(xué)校管理信息標(biāo)準(zhǔn))》(教發(fā)[2002] 27號)。要求各級教育行政部門、各級各類學(xué)校遵照執(zhí)行。該標(biāo)準(zhǔn)的發(fā)布實施,為教育管理信息資源的交流與共享打下堅實的基礎(chǔ)。對于高校而言,外部網(wǎng)絡(luò)連接,實現(xiàn)與INTERNET連接,提供本校的信息服務(wù),融入世界信息潮流。利用現(xiàn)代化的手段建立本校的管理信息系統(tǒng),實現(xiàn)管理的科學(xué)化、現(xiàn)代化是提高教學(xué)質(zhì)量和管理水平的發(fā)展趨勢。隨著管理信息系統(tǒng)的相對完善,學(xué)校管理信息化建設(shè)的重要性與效益逐漸體現(xiàn),因此,開發(fā)建設(shè)高校的學(xué)生管理信息系統(tǒng)是本文研究的課題。
高校開發(fā)學(xué)生管理系統(tǒng),大部分是由學(xué)生處提出需求,委托電腦公司進(jìn)行開發(fā)。這種模式要求學(xué)生管理工作人員能提出詳細(xì)的需求,因為公司系統(tǒng)開發(fā)人員一般都不了解學(xué)生管理的具體管理流程。在實際操作中,這種模式暴露出比較大的弊端。開發(fā)學(xué)生管理信息系統(tǒng)不是一件簡單的事情,即便是開發(fā)學(xué)生管理系統(tǒng)中的一個項目,也需要對學(xué)生管理業(yè)務(wù)有相當(dāng)深入的了解,而且后續(xù)維護(hù)工作非常瑣碎。但在實際生活中,委托方和開發(fā)方往往都低估了這項工作的復(fù)雜性。一方面,學(xué)生管理的工作人員很少受過專業(yè)統(tǒng)一的全面業(yè)務(wù)培訓(xùn),一般只能提出一些部分的、零碎的、基于取代手工操作愿望的需求,無法一次性提供完整的、高層次的需求方案,開發(fā)公司照此開發(fā)出來的系統(tǒng)在實際工作中必然是漏洞百出,于是不斷修改,不斷打補丁,久而久之,開發(fā)公司不勝其煩,拒絕維護(hù),于是系統(tǒng)癱瘓。這種個案在早期的高校學(xué)生管理工作嘗試中十分常見,有些學(xué)校甚至因為此事留下的陰影而拒絕相信所有的學(xué)生管理系統(tǒng)。
當(dāng)前市場上的學(xué)生管理軟件質(zhì)量參差不齊,高校一定要克服貪便宜、能用就行的思想,應(yīng)該引進(jìn)成熟、先進(jìn)的學(xué)生信息管理系統(tǒng)不僅可以實現(xiàn)學(xué)生工作的信息化管理,還可以帶動人員素質(zhì)甚至整個學(xué)校信息化建設(shè)水平的大幅提高。
國內(nèi)高校的學(xué)生管理信息系統(tǒng)發(fā)展不平衡。目前在學(xué)生管理信息系統(tǒng)方面同時并存三種模式。第一種模式是單機(jī)管理模式,在一些學(xué)校里,計算機(jī)網(wǎng)絡(luò)還沒有建立起來,計算機(jī)之間不能進(jìn)行數(shù)據(jù)交換和信息共享,這些學(xué)校仍然停留在面向部門的單項事務(wù)處理的水平上,這種狀況決定他們的系統(tǒng)經(jīng)常出現(xiàn)數(shù)據(jù)不一致,容易發(fā)生數(shù)據(jù)丟失、系統(tǒng)感染病毒等問題;第二種模式是局域網(wǎng)管理模式,可以開展網(wǎng)絡(luò)上的工作。比如建立局域網(wǎng)上的學(xué)生管理信息系統(tǒng),數(shù)據(jù)集中在部門服務(wù)器上,為學(xué)生處本部門的管理人員提供數(shù)據(jù)共享,這種方式對于部門內(nèi)部的管理工作起到了促進(jìn)作用,解決了部門內(nèi)部的數(shù)據(jù)冗余和不一致的問題,但是應(yīng)用軟件都在工作站上完成,工作站負(fù)擔(dān)過重,服務(wù)器只是實現(xiàn)文件的存儲、數(shù)據(jù)存儲和打印共享,網(wǎng)絡(luò)利用率較低。校內(nèi)很多單位都有自己的局域網(wǎng),遇到需要了解學(xué)生處掌握的信息時,就向?qū)W生處要求提供,學(xué)生處也只能根據(jù)要求把自己部門的信息整理出來,再傳送到需求部門,這樣不能實現(xiàn)不同單位間的數(shù)據(jù)共享,更不能實現(xiàn)信息資源的合理流動;第三種模式是覆蓋全校的學(xué)生管理信息系統(tǒng),這個學(xué)生信息系統(tǒng)以學(xué)生處管理系統(tǒng)為基礎(chǔ),滿足校內(nèi)外對學(xué)生信息共享和利用的要求,并為各級領(lǐng)導(dǎo)提供有效的輔助決策服務(wù)。
本文介紹的高校學(xué)生管理信息系統(tǒng)是基于Borland C++ Builder6.0的系統(tǒng)。數(shù)據(jù)庫技術(shù)是現(xiàn)代高校管理自動化的重要而關(guān)鍵的環(huán)節(jié),在日益信息化、辦公電腦化的今天發(fā)揮著越來越重要的作用。管理信息系統(tǒng)的開發(fā)呈現(xiàn)了一種“人機(jī)系統(tǒng)”,它以特定的模式支持一個組織內(nèi)各級組織機(jī)構(gòu)之間的通訊,對信息資源進(jìn)行綜合開發(fā)、管理和利用,實現(xiàn)對該組織的有效管理。
高校學(xué)生管理系統(tǒng)將計算機(jī)用于現(xiàn)代化管理,在高校學(xué)生處進(jìn)行關(guān)于高校學(xué)生信息的處理,完成了許多功能,如信息錄入、常規(guī)查詢等。本文通過對高校學(xué)生管理信息系統(tǒng)的分析與設(shè)計,介紹了該系統(tǒng)的設(shè)計思想、設(shè)計方法和開發(fā)的步驟及成果。
本文對于高校學(xué)生管理信息系統(tǒng)的開發(fā)過程進(jìn)行了系統(tǒng)的論述。首先進(jìn)行系統(tǒng)分析,明確系統(tǒng)需求和系統(tǒng)的可行性;對數(shù)據(jù)庫進(jìn)行了設(shè)計,論述了該系統(tǒng)數(shù)據(jù)庫的結(jié)構(gòu)和數(shù)據(jù)庫安全性措施;根據(jù)模塊化原理,按照功能將系統(tǒng)分為了幾大功能模塊,并對各部分功能進(jìn)行了分析。
2.2 管理系統(tǒng)目標(biāo)
系統(tǒng)目標(biāo)充分體現(xiàn)學(xué)校的戰(zhàn)略目標(biāo)、發(fā)展方向和基本特點,直接為學(xué)校管理服務(wù),隨著計算機(jī)的發(fā)展及網(wǎng)絡(luò)技術(shù)的應(yīng)用,當(dāng)今社會正快速向信息化社會前進(jìn),信息自動化的作用也越來越大。而在日常生活中信息技術(shù)的不斷溶入,在技術(shù)越來越先進(jìn)的同時,學(xué)生信息管理應(yīng)該從以前繁瑣的事務(wù)中解放出來。隨著學(xué)校對大學(xué)生招生規(guī)模的不斷擴(kuò)大,高校學(xué)生的數(shù)量急劇增加,有關(guān)學(xué)生的各種信息量也成倍增長。面對龐大的信息量,就需要有學(xué)生信息管理系統(tǒng)來提高學(xué)生管理工作的效率。通過這樣的系統(tǒng),可以方便地查詢、統(tǒng)計和修改學(xué)生的基本情況、老師情況、課程情況和成績,實現(xiàn)信息的規(guī)范管理,各權(quán)限部門可以通過管理系統(tǒng)進(jìn)行科學(xué)統(tǒng)計和快速查詢,從而減少管理方面的工作量,同時避免由于人為因素造成數(shù)據(jù)遺漏和誤報等。
同時各項基本功能密切相關(guān),可以分期一次實現(xiàn)。需要指出的是,新系統(tǒng)目標(biāo)不可能在總體規(guī)劃階段就提得非常具體,它還將在開發(fā)過程中逐步明確和定量化。本系統(tǒng)的目標(biāo)如下:
(1)支持日常業(yè)務(wù)運作,為學(xué)校各部門之間建立全校共享數(shù)據(jù)庫的信息渠道,很多學(xué)生管理系統(tǒng)的運行平臺是局域網(wǎng),操作系統(tǒng)是落后的DOS,數(shù)據(jù)庫是Fox系列的、數(shù)據(jù)沒有共享性那種落后的系統(tǒng)。而本系統(tǒng)基于C++ Builder的數(shù)據(jù)庫采用真正的關(guān)系數(shù)據(jù)庫(如Sybase, SQLServer)開發(fā)的系統(tǒng)。有良好的數(shù)據(jù)備份功能,數(shù)據(jù)是學(xué)生管理的核心,備份是日常必須進(jìn)行的重要工作,數(shù)據(jù)備份方便快捷。這些系統(tǒng)的數(shù)據(jù)更安全,更易于共享,最重要的是讀者可在任何聯(lián)網(wǎng)的地方得到學(xué)生管理的信息。
(2)集中管理業(yè)務(wù)數(shù)據(jù),支持管理預(yù)測與決策。系統(tǒng)功能全面,除了常規(guī)的等功能模塊外,系統(tǒng)還具備數(shù)據(jù)轉(zhuǎn)換功能,即能夠批量轉(zhuǎn)入和轉(zhuǎn)出符合其他要求格式的數(shù)據(jù)。這項功能的具備與否關(guān)系到能否將數(shù)據(jù)與上級單位報表要求數(shù)據(jù)的一致性,較直觀地為決策者提供參考。
(3)有良好的可擴(kuò)充性(系統(tǒng)配置靈活,支持用戶未來信息化進(jìn)程的發(fā)展)。該系統(tǒng)具有選擇性和擴(kuò)展性,是模塊化設(shè)計的,可根據(jù)用戶的需求進(jìn)行選擇。學(xué)生管理工作的規(guī)模一般不大,有些模塊可以不要,或者目前暫時不要,留待以后擴(kuò)展。這樣可以節(jié)約資金,又留有余地。學(xué)生管理系統(tǒng)一般可以先選擇信息錄入、常規(guī)查詢、系統(tǒng)管理等必備模塊,以后如果需要,再增加增強功能模塊。
(4)漢字圖形用戶界面,人機(jī)對話友好,操作方便。進(jìn)行計算機(jī)系統(tǒng)管理后,高校學(xué)生管理工作人員的素質(zhì)也提高了,能否易于操作方便管理人員應(yīng)用也是關(guān)系全局的大問題。
(5)響應(yīng)速度合理,安全性較高,網(wǎng)絡(luò)運行穩(wěn)定。系統(tǒng)易于維護(hù),能通過internet遠(yuǎn)程實時維護(hù)。不出故障的系統(tǒng)是沒有的,關(guān)鍵是在出了故障時能迅速排除。
(6)系統(tǒng)建設(shè)費用較低。
2.3 管理信息系統(tǒng)范圍
參考高等教育信息管理的經(jīng)驗與成果,本論文所述學(xué)生管理系統(tǒng)擬對各院(系)辦實現(xiàn)統(tǒng)一的學(xué)生信息瀏覽、成績管理,與財務(wù)處的學(xué)生收費系統(tǒng)、就業(yè)辦公室的學(xué)生就業(yè)管理系統(tǒng)等實現(xiàn)學(xué)生基本信息的共享,并通過網(wǎng)絡(luò)為學(xué)生處網(wǎng)站訪問者提供全面及時的信息和數(shù)據(jù),如學(xué)生的信息查詢、成績單核實等。
系統(tǒng)的核心是數(shù)據(jù)庫中各個表聯(lián)系,每一個表的修改都將聯(lián)動的影響其它的表,當(dāng)完成對數(shù)據(jù)的操作時系統(tǒng)會自動地完成數(shù)據(jù)庫的修改。查詢功能也是系統(tǒng)的核心之一,查詢方法即有單條件查詢和多條件查詢,也有精確查詢和模糊查詢,不僅有靜態(tài)的條件查詢,也有動態(tài)生成的條件查詢,其目的都是為了方便用戶使用,本系統(tǒng)為了簡便,只采用但條件的查詢方式。系統(tǒng)有完整的用戶添加、刪除和密碼修改功能。例如:檢索迅速、查找方便、可靠性高、存儲量大、保密性好、壽命長、成本低等。這些優(yōu)點能夠極大地提高學(xué)生信息管理的效率,也是高校的科學(xué)化、正規(guī)化管理,與世界接軌的重要條件。
第3章 系統(tǒng)設(shè)計分析
系統(tǒng)設(shè)計分析包括系統(tǒng)需求分析和系統(tǒng)功能分析兩個部分。
3.1 系統(tǒng)需求分析
系統(tǒng)需求分析主要任務(wù)是調(diào)查現(xiàn)行系統(tǒng)存在的問題,弄清用戶對系統(tǒng)的要求,提
出可行的方案,為管理層決策提供依據(jù)。
3.1.1 現(xiàn)行業(yè)務(wù)描述
隨著時代的進(jìn)步,社會生產(chǎn)力高速發(fā)展,新技術(shù)層出不窮信息量急劇膨脹,整個人
類社會己成為信息化的社會,人們對信息和數(shù)據(jù)的利用和處理己經(jīng)進(jìn)入自動化、網(wǎng)絡(luò)化
和社會化的階段。如在查找情報資料、處理銀行帳目、倉庫管理、科研生產(chǎn)等方面,無
不需要利用大量的信息資源。因此,如何有效地進(jìn)行數(shù)據(jù)信息的管理和利用,已經(jīng)成為
人們普遍關(guān)注的課題。
信息在不同的領(lǐng)域里有著不同的概念,在管理科學(xué)領(lǐng)域中,通常認(rèn)為信息是經(jīng)過加
工處理后的一種數(shù)據(jù)形式,是一種有次序的符號排列,它是系統(tǒng)傳輸和處理的對象。處在信息時代的今天,信息的作用越來越為人們所重視。制定工作計劃,研究投資策略,都離不開對信息的充分利用。管理信息系統(tǒng)(Management Information System,縮寫MIS)是一種“人機(jī)系統(tǒng)”,它以特定的模式支持一個組織內(nèi)各級組織機(jī)構(gòu)之間的通訊,對信息資源進(jìn)行綜合開發(fā)、管理和利用,實現(xiàn)對該組織的有效管理。它通過對數(shù)據(jù)的加工處理,及時為管理與決策分析提供信息。其特點有:
(1) 數(shù)據(jù)全部存儲于計算機(jī)系統(tǒng)中;
(2) 用戶使用簡單、操作方便、查詢速度快;
(3) 有極好的人-機(jī)對話功能;
(4) 能直接從計算機(jī)系統(tǒng)中提供決策所需的參考信息;
(5) 管理信息系統(tǒng)基本框架如圖3-1。
反 饋
提供的信息
數(shù)據(jù)庫信息
原始數(shù)據(jù)
信息處理
圖3-1 管理信息系統(tǒng)基本框架圖
在計算機(jī)上建立學(xué)生信息庫,可以實現(xiàn)快速錄入、整理、查找、補充、刪減等功能,并可將學(xué)生圖片存于電腦檔案之中,集成學(xué)生考勤、學(xué)生家庭關(guān)系和學(xué)生成績庫功能,在進(jìn)入系統(tǒng)之前有密碼進(jìn)行身份驗證,保證了系統(tǒng)的機(jī)密性,為高校提高工作效率的,提高人員效率,決策,和監(jiān)控學(xué)生情況提供了一個有力的工具。
隨著科學(xué)技術(shù)的不斷提高,計算機(jī)科學(xué)日漸成熟,其強大的功能已為人們深刻認(rèn)識,它已進(jìn)入人類社會的各個領(lǐng)域并發(fā)揮著越來越重要的作用。作為計算機(jī)應(yīng)用的一部分,使用計算機(jī)對學(xué)生信息進(jìn)行管理,具有手工管理所無法比擬的優(yōu)點。例如:檢索迅速、查找方便、可靠性高、存儲量大、保密性好、壽命長、成本低等,這些優(yōu)點能夠極大地提高學(xué)生管理的效率,也是科學(xué)化、正規(guī)化管理的重要條件。
3.1.2 組織結(jié)構(gòu)
高校的典型組織結(jié)構(gòu)如圖3-2 所示,其中高校學(xué)生工作總體規(guī)劃由學(xué)生處人員在學(xué)生信息管理系統(tǒng)中完成對運行學(xué)生管理所需的基本數(shù)據(jù)的維護(hù),包括這些信息的增加、修改及對各項信息的變動都將在這里進(jìn)行操作。
新的學(xué)年,學(xué)生處人員首先加入新生年級信息,然后編排專業(yè)班級,新生入學(xué)后由各院系管理員對來校學(xué)生進(jìn)行基本的信息錄入再上傳學(xué)生處,由學(xué)生處管理人員在學(xué)生管理系統(tǒng)中完成新高校學(xué)生信息的維護(hù)。
具體職能分工如下:
(1) 分管校長與學(xué)生處處長:主要主管全面的學(xué)生工作,制定管理計劃。
(2) 學(xué)生處信息處理人員:負(fù)責(zé)全校學(xué)生的學(xué)籍檔案和管理工作,建立新生的學(xué)籍檔案。對學(xué)籍變動的檔案進(jìn)行維護(hù),填加學(xué)生獎勵、懲處信息、助學(xué)貸款和學(xué)費上交情況,負(fù)責(zé)對這些數(shù)據(jù)進(jìn)行分析、匯總,最后得出各種報表工作。
(3) 各系部學(xué)生管理人員:對學(xué)生名單和成績庫中的學(xué)生信息進(jìn)行更新,將成績輸入計算機(jī),同時還負(fù)責(zé)將信息傳送學(xué)生處的工作。
(4)教師和學(xué)生:對以上錄入的信息可以根據(jù)自己的權(quán)限進(jìn)行信息查詢。
本課題的主要內(nèi)容是高校學(xué)生管理系統(tǒng)。高校學(xué)生管理工作是一個十分繁重的工作,高校學(xué)生的管理同樣十分繁重。在學(xué)生日常管理工作中,必須處理大量的信息。而人工進(jìn)行信息地收集、處理、匯總、統(tǒng)計、報表、存檔工作又相當(dāng)繁瑣和復(fù)雜。通過對高校學(xué)生日常業(yè)務(wù)工作內(nèi)容和信息的分析,高校學(xué)生管理系統(tǒng)的主要功能可以得到確定。
3.1.3 業(yè)務(wù)流程分析
在本系統(tǒng)的業(yè)務(wù)流程分析中,采用的工具是業(yè)務(wù)流程圖,這是一種表明系統(tǒng)內(nèi)各單位、人員之間業(yè)務(wù)關(guān)系、作業(yè)順序和管理信息流動的流程圖,它可以幫助分析人員找出業(yè)務(wù)流程中的不合理之處。
業(yè)務(wù)流程:本系統(tǒng)業(yè)務(wù)流程分析如圖3-3所示。
3.2 系統(tǒng)功能分析
開發(fā)本系統(tǒng)的總體任務(wù)是實現(xiàn)學(xué)生信息的系統(tǒng)化、規(guī)范化、科學(xué)化和自動化。系統(tǒng)功能分析是在系統(tǒng)開發(fā)的總體任務(wù)的基礎(chǔ)上完成的。基于系統(tǒng)需求分析,該系統(tǒng)需要實現(xiàn)以下功能:
1.根據(jù)用戶的需求,新系統(tǒng)應(yīng)實現(xiàn)如下功能:
(1)功能選擇模塊:進(jìn)入主界面后可以進(jìn)行功能的選擇。
(2)進(jìn)行學(xué)生信息記錄編輯;
(3)進(jìn)行學(xué)生信息記錄查詢;
(4)退出系統(tǒng)模塊:退出系統(tǒng)返回WIDNOWS界面。
2.使用要求:
(1)用戶將從系統(tǒng)中獲得學(xué)生基本信息,如學(xué)生的姓名、學(xué)籍編號、宿舍號碼、家長姓名、宿舍電話、所在院系、所在班級等。
(2)用戶要完成查詢、添加、修改、刪除、瀏覽等處理功能,故需要建立上述功能。
(3)安全性、協(xié)調(diào)性和完整性。當(dāng)用戶添加學(xué)號時,要保證學(xué)號不能重復(fù),同樣其他的號碼也不能重復(fù)各個模塊中的相同信息號碼要一致。
教
師
學(xué)
生
教
師
學(xué)
生
學(xué)
生
教
師
各
院
系
各
院
系
各
院
系
后勤部門
學(xué)生處
校 長
行政部門
教研部門
圖3-2 高校組織結(jié)構(gòu)圖
在軟、硬件方面對系統(tǒng)的需求,軟件要求易學(xué),容易掌握,可以簡單方便的管理各種信息。
硬件的配置要求不能太高,這樣可以很快的適應(yīng)當(dāng)前的學(xué)校情況。
根據(jù)需求分析,本系統(tǒng)結(jié)構(gòu)采用當(dāng)前流行的C/S結(jié)構(gòu),也就是客戶端/服務(wù)器模式,該模式的主要形式是系統(tǒng)的管理人員以及使用者在客戶端對服務(wù)器端的數(shù)據(jù)庫進(jìn)行各種操作,操作的結(jié)果又由服務(wù)器端的數(shù)據(jù)庫發(fā)送回給客戶端顯示出來,客戶端和數(shù)據(jù)庫服務(wù)器可以在同一臺計算機(jī)上安裝,也可以在出于聯(lián)網(wǎng)狀態(tài)的不同機(jī)器上安裝,形式比較自由,安裝比較方便。該模式同時具有開發(fā)時間短,成本較低,而且數(shù)據(jù)量的傳輸快等優(yōu)點。
學(xué) 生 管 理
學(xué) 生
檔 案
成 績
學(xué) 籍
課 程
檔 案 登 記
成 績 登 記
學(xué) 籍 管 理
課 程 登 記
檔案信息
成績表
學(xué)生數(shù)字
統(tǒng)計表
課程表
用戶表
管理員
用 戶 管 理
各中信息輸入
圖3-3 業(yè)務(wù)流程圖
(3)根據(jù)需求分析的結(jié)果,本系統(tǒng)主要以下四個子模塊:
1)學(xué)生信息管理模塊:高校學(xué)生信息基本信息模塊能隨時對學(xué)生的基本情況進(jìn)行添加、刪除、修改,包括學(xué)生的姓名、學(xué)籍編號、宿舍號碼、家長姓名、年齡、宿舍電話、所在院系、專業(yè)、所在班級。還包括學(xué)生事務(wù)管理:貸款管理、學(xué)籍異動處理、出國登記、結(jié)婚申請、違紀(jì)和處分、保險事務(wù)、黨團(tuán)員管理。系統(tǒng)支持學(xué)生工作管理部門和工作人員、全校學(xué)生、勤工助學(xué)用人單位發(fā)送和接收有關(guān)信息,開展在線的業(yè)務(wù)處理,支持按權(quán)限管理的查詢功能,工作人員通過此模塊來管理學(xué)生信息。包括瀏覽、查詢、添加、修改和刪除功能。在進(jìn)行學(xué)生信息的添加時,系統(tǒng)會自動檢測所添加的學(xué)生信息中學(xué)生號碼在學(xué)生表里是否己經(jīng)存在,如果不存在,系統(tǒng)會提示用戶學(xué)生學(xué)號輸入有誤,同時檢驗所添加的學(xué)生號在學(xué)生表中是否己經(jīng)存在;如果存在,會提示用戶該學(xué)生已經(jīng)存在。在進(jìn)行學(xué)生信息的刪除時,要首先彈出提示窗口讓用戶確認(rèn)是否刪除,只有在用戶確認(rèn)后才能夠進(jìn)行學(xué)生管理信息的刪除。在進(jìn)行學(xué)生信息的修改時,不準(zhǔn)用戶修改學(xué)號,因為學(xué)號作為數(shù)據(jù)庫中學(xué)生表的主鍵是不同學(xué)生的唯一標(biāo)識,不準(zhǔn)修改學(xué)號可以防止不經(jīng)意將學(xué)號改錯;如果確實要修改學(xué)生號,可以通過數(shù)據(jù)庫管理員來實現(xiàn),也可以先將錯誤學(xué)號信息刪除,再添加正確的學(xué)生信息,這樣在刪除時會彈出提示窗口讓用戶確認(rèn)是否刪除,給用戶以提示,防止以外錯誤。
2)學(xué)籍信息管理模塊:該學(xué)生學(xué)籍管理模塊能隨時對學(xué)生的學(xué)籍基本情況進(jìn)行添加、刪除、修改,包括學(xué)生的學(xué)生姓名、學(xué)生編號、學(xué)籍異動情況、學(xué)生注冊信息、軍訓(xùn)時間、軍訓(xùn)是否合格、獎學(xué)金金額、獲得獎學(xué)金課程等。還可以根據(jù)學(xué)生的學(xué)號或姓名進(jìn)行學(xué)生學(xué)籍情況及畢業(yè)情況的查詢,包括新生信息管理、新生分班、學(xué)生信息管理。新生信息管理可以根據(jù)實際情況輸入新生信息,主要管理的信息有姓名、性別、出生日期、籍貫,民族、政治面貌、招生類別、總分等,然后學(xué)??砂凑瞻嗉壴O(shè)置情況,對新生以自動分班或手動分班的方式進(jìn)行分班,分班完畢后可將新生詳細(xì)信息錄入到學(xué)籍庫中。
3)成績信息管理模塊:輸入成績信息,并可以對成績信息進(jìn)行添加、查詢、修改、刪除。還可以用關(guān)鍵字查詢并調(diào)出數(shù)據(jù)庫里的學(xué)生基本成績信息的修改、刪除等。該學(xué)生成績管理模塊能隨時對學(xué)生的成績情況進(jìn)行統(tǒng)計,可以查詢統(tǒng)計任一分?jǐn)?shù)段的學(xué)生人數(shù),以及這些學(xué)生的基本情況,如課程、班級、年級等.能讓任教老師隨時把握教學(xué)的效果和考試的失分比例。包括與每次考試相關(guān)的成績信息錄入、修改、瀏覽、查詢等功能,其有成績管理功能操作權(quán)限的網(wǎng)絡(luò)用戶可輸入、輸出與成績相關(guān)的信息,如可打印輸出學(xué)籍卡片、單科成績、學(xué)期成績,也可按指定條件(如學(xué)號、名次)進(jìn)行排序后打印輸出。不同權(quán)限的網(wǎng)絡(luò)用戶只能對系統(tǒng)分配功能權(quán)限進(jìn)行操作,若網(wǎng)絡(luò)用戶是學(xué)生按照系統(tǒng)默認(rèn)的權(quán)限設(shè)置只能瀏覽成績信息,而不能對信息做出修改。輸出查詢的學(xué)生成績信息工作人員通過此模塊來查詢成績信息,包括按學(xué)號查詢和按課程號查詢,即可以查詢某個學(xué)生的成績情況,也可以查詢所開設(shè)的某門課程的成績情況,輸入學(xué)號,通過DATAGRID控件可以獲得該生所選的各門課程及成績,并同時顯示共計課程門數(shù)、該生平均分和不及格門數(shù);輸入課程號,仍然通過DATAGRID控件可以獲得選該課程的所有學(xué)生及成績,并同時顯示共計學(xué)生人數(shù)、該課程平均分和不及格人數(shù)。
4)課程信息管理模塊:工作人員通過此模塊來管理課程信息,包括瀏覽、查詢、添加、修改和刪除功能。在進(jìn)行課程信息的添加時,系統(tǒng)會自動檢測所添加的課程信息號碼在課程表里是否已經(jīng)存在,如果存在,會提示用戶該專業(yè)在課程表中己經(jīng)存在。在進(jìn)行課程信息刪除時,要首先彈出提示窗口讓用戶確認(rèn)是否刪除,只有在用戶確認(rèn)后才能夠進(jìn)行課程信息的刪除。在進(jìn)行課程信息的修改時,不準(zhǔn)用戶修改課程號。輸入課程的基本信息,并可以對課程信息進(jìn)行添加、修改、刪除及課程設(shè)置。課程設(shè)置能夠?qū)Ω髂昙壍恼n程進(jìn)行分類。劃分學(xué)期所學(xué)的課程。
3.3 現(xiàn)行系統(tǒng)存在的主要問題
手工運作的學(xué)校管理系統(tǒng),可以支持向各部門提供查詢服務(wù)功能,但是,存在以下薄弱環(huán)節(jié):
(1)手工作業(yè)量大,數(shù)據(jù)傳遞不及時,對數(shù)據(jù)的統(tǒng)計和計算運程中易發(fā)生差錯,工作效率較低。
(2)流程管理不夠嚴(yán)密。
(3)不能滿足管理要求(例如不能提供學(xué)生實時狀況統(tǒng)計等信息)。
(4)提供的資料或手工書寫,或自定義表格,并且格式也不統(tǒng)一。
(5)信息的查詢也不方便。
現(xiàn)行系統(tǒng)的上述弱點,實質(zhì)上反映學(xué)校在信息管理的過程中,對信息的產(chǎn)生、傳
輸、加工與挖掘分析利用方面存在不足,不能滿足學(xué)校管理與業(yè)務(wù)發(fā)展的要求,也對學(xué)
校形象造成不利的影響。這也正是提出新系統(tǒng)的直接原因。
第4章 系統(tǒng)實現(xiàn)
本系統(tǒng)將建立學(xué)生信息處理界面,即數(shù)據(jù)處理窗體,在該窗體中,可以增加、編輯、刪除記錄和使用單一條件查詢數(shù)據(jù)。我們還將制作一個系統(tǒng)的啟動封面,系統(tǒng)啟動封面將控制進(jìn)入或退出系統(tǒng),另外系統(tǒng)封面對于系統(tǒng)的修飾作用也是極好的,其系統(tǒng)封面如
圖4-1所示:
圖4-1 系統(tǒng)封面的效果
4.1 “學(xué)生信息數(shù)據(jù)表”的結(jié)構(gòu)定義
在創(chuàng)建該系統(tǒng)之前,我們將創(chuàng)建一個“學(xué)生信息數(shù)據(jù)表”。該表反映了學(xué)生的基本信息,其結(jié)構(gòu)定義如表4-1所示。
創(chuàng)建學(xué)生信息數(shù)據(jù)表結(jié)構(gòu)的方法是運用Borland C++ Builder數(shù)據(jù)庫桌面工具,創(chuàng)建步驟如下:
1) 在操作系統(tǒng)中選擇“程序”菜單,出現(xiàn)Borland C++ Builder的數(shù)據(jù)庫桌面程序菜單,如圖4-2所示。
圖4-2 數(shù)據(jù)庫桌面程序
表 4-1 “學(xué)生信息數(shù)據(jù)表”結(jié)構(gòu)
字段名稱
字段類型
字段大小
索引
學(xué)生編號
I
默認(rèn)
*
學(xué)生姓名
A
18
學(xué)生性別
A
2
出生日期
D
默認(rèn)
所在院系
A
20
專業(yè)名稱
A
30
所在年級
A
16
所在班級
A
8
籍 貫
A
30
家長姓名
A
16
宿舍號碼
A
20
宿舍電話
A
20
備 注
D
30
2)單擊Database Desktop菜單,即啟動數(shù)據(jù)庫桌面程序,出現(xiàn)數(shù)據(jù)庫桌面程序的主控界面,如圖4-3所示。
圖4-3 數(shù)據(jù)庫桌面程序主控界面
3)在數(shù)據(jù)庫桌面主窗體中依次單擊File|New|Table菜單,出現(xiàn)一個選擇數(shù)據(jù)表類型的界面,如圖4-4所示。建議采用默認(rèn)的Paradox7數(shù)據(jù)表類型。
圖4-4 數(shù)據(jù)表類型選擇
4)單擊OK按鈕,即出現(xiàn)數(shù)據(jù)表結(jié)構(gòu)定義界面,如圖4-5所示。
圖4-5 數(shù)據(jù)表結(jié)構(gòu)定義界面
按照表4-1結(jié)構(gòu)定義創(chuàng)建其數(shù)據(jù)表如圖4-6所示。
圖4-6 數(shù)據(jù)表結(jié)構(gòu)定義內(nèi)容
同樣,在數(shù)據(jù)表創(chuàng)建完之后,需要保存該數(shù)據(jù)表,單擊下方的Save as…將其保存在自己的文件夾里,數(shù)據(jù)表文件為“學(xué)生信息數(shù)據(jù)表”。這個表將是我們在后面的工程中需要運用的數(shù)據(jù)表。為了在后面的工程制作中可以直接顯示窗體的數(shù)據(jù)效果,我們在創(chuàng)建完數(shù)據(jù)表之后打開數(shù)據(jù)表并進(jìn)行數(shù)據(jù)編輯,錄入一些演示的數(shù)據(jù)。
4.2 創(chuàng)建新的工程并制作系統(tǒng)封面
在前面我們已經(jīng)創(chuàng)建了一個學(xué)生信息數(shù)據(jù)表,它就是我們即將創(chuàng)建的學(xué)生信息系統(tǒng)的數(shù)據(jù)源文件,現(xiàn)在我們就著手進(jìn)行工程的創(chuàng)建。在C++ Builder 6.0中創(chuàng)建新的工程有兩種方式,一是直接啟動C++ Builder 6.0,它會自動創(chuàng)建一個新的工程;另外一個方式就是用菜單命令方式創(chuàng)建新的工程,用菜單創(chuàng)建一個新的工程的步驟如下:
在C++ Builder 6.0主菜單中單擊File|New|Application菜單;則出現(xiàn)一個新的C++ Builder 的工程,該工程僅包含一個空的窗體FORM1,如圖4-7所示。
圖4-7 新工程創(chuàng)建
現(xiàn)在我們將利用新工程的空白窗體制作一個系統(tǒng)封面,系統(tǒng)封面就是一個系統(tǒng)啟動封面。系統(tǒng)封面可以設(shè)計成由計時器控制,在設(shè)定的時間間隔內(nèi),系統(tǒng)封面顯示達(dá)到或超過設(shè)定的顯示時間,顯然封面會自動釋放。系統(tǒng)封面也可以由人工控制,即由用戶確定是否繼續(xù)還是退出。在本系統(tǒng)中,制作的系統(tǒng)封面就是由人工控制的系統(tǒng)封面,用戶可以通過輸入用戶名和密碼,然后單擊“Enter”按鈕來進(jìn)入系統(tǒng),創(chuàng)建過程如下:
(1)在窗體Form1中放入一個標(biāo)簽控件,用于標(biāo)識窗體,說明其系統(tǒng)的功能,將其CAPTION屬性設(shè)置為“高校學(xué)生管理系統(tǒng)”,并設(shè)置相關(guān)的字體字號及屬性。
(2)在窗體中放入兩個標(biāo)簽控件,其標(biāo)題CAPTION屬性分別設(shè)置為“用戶名”、“密碼”,同樣設(shè)置相關(guān)的字體字號和顏色。
(3)在窗體中放入兩個編輯控件,其NAME屬性分別設(shè)置為“EditUseName”、“EditPassword”,后者的PasswordChar屬性設(shè)置為#。
(4)在窗體中放入另外兩個按鈕控件,其標(biāo)題CAPTION屬性分別設(shè)置為“Enter”、“Exit”,同樣設(shè)置相關(guān)的字體字號和顏色。其NAME屬性設(shè)置為“ButtonOK”、“ButtonCancel”。
(5)在窗體中放入一個圖片控件,并為圖片控件引入一個恰當(dāng)?shù)膱D片文件以修飾窗體,其封面窗體Form1的布局如圖4-1所示。
其中“Enter”標(biāo)簽控件用于進(jìn)入主窗體,而“Exit”標(biāo)簽用于退出系統(tǒng)。關(guān)于這兩個標(biāo)簽的過程代碼在后面的相關(guān)內(nèi)容中進(jìn)行編制。
將工程命名并保存在指定的位置。其工程文件名為“StudentProject”。在保存工程文件名時,還需將窗體即單元文件命名并保存,如封面窗體的單元文件命名保存為“StudentUnit1”。
4.3 制作應(yīng)用系統(tǒng)主控界面
一個應(yīng)用系統(tǒng)主界面用于控制整個系統(tǒng)的每一個功能模塊,通過它可以執(zhí)行各種各樣的模塊程序。在此處,我們制作系統(tǒng)主界面的步驟如下:
(1)在工程中增加一個新的窗體Form2,并命名保存它的單元文件,其單元文件為“StudentUnit2”。
(2)在Form2中放入一個按鈕控件用于關(guān)閉Form2,標(biāo)題屬性設(shè)置為“返回”。即用于關(guān)閉主控界面并返回系統(tǒng)啟動界面。
(3)在Form2中放入一個面板控件Panel1,設(shè)置它的凹凸屬性。
(4)在面板控件中再放入兩個單選按鈕控件,分別設(shè)置它們的標(biāo)題為“記錄編輯”和“記錄查詢”。
(5)在主窗體中再放入一個標(biāo)簽控件,設(shè)置其標(biāo)題CAPTION屬性為“高校學(xué)生管理系統(tǒng)主窗體”,并設(shè)置其字體、字號和顏色。
最后,其窗體布局如圖4-8所示。
4.3.1 聲明主窗體并進(jìn)行調(diào)用
在Borland C++ Builder應(yīng)用程序設(shè)計中窗體是作為資源進(jìn)行管理與識別的,一個新的資源一經(jīng)創(chuàng)建,就需要為它進(jìn)行聲明,只有通過聲明的對象才能是系統(tǒng)可識別的資源。因為我們需要用系統(tǒng)封面窗體Form1來對系統(tǒng)主窗體Form2進(jìn)行調(diào)用,所以需要在系統(tǒng)封面的單元文件中對新的窗體進(jìn)行聲明,其聲明過程如下:
//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop
#include "studengUnit1.h"
#開始聲明
#include "studengUnit2.h"
#結(jié)束聲明
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
在新的窗體被聲明之后,就可以用系統(tǒng)封面中的用戶登錄輸入用戶名和密碼(均為2003020233),點擊“Enter”調(diào)用Form2,“Enter”調(diào)用Form2的過程代碼如下:
//--------------------------------------------------------------------------
void __fastcall TForm1:: Button1Click (TObject *Sender)
{
if(EditPassword->Text==2003020233)
{Form2->ShowModal();}
else
{ShowMessage("密碼不對,請重新輸入!");}}
//------------------------------------------------------------
圖4-8 系統(tǒng)主窗體布局
在系統(tǒng)封面窗體中還有一個“Exit”按鈕用于退出整個系統(tǒng),其過程代碼如下:
//---------------------------------------------------------------------------
void __fastcall TForm1:: Button2Click (TObject *Sender)
{
Close();
}
//--------------------------------------------------------------------
4.3.2 編譯運行工程并檢驗程序的執(zhí)行
在制作完系統(tǒng)封面和主窗體后,我們來編譯并檢驗以提高工作效率。通過系統(tǒng)封面對主控界面的調(diào)用效果如圖4-9所示。
4.4 制作記錄編輯窗體
記錄編輯界面就是對“高校學(xué)生管理系統(tǒng)”中的學(xué)生信息進(jìn)行記錄編輯的界面,我們將在該界面中完成學(xué)生記錄編輯的“記錄增加”、“記錄刪除”、“記錄刷新”、“記錄查詢”等功能。
4.4.1 窗體增加與控件布局
學(xué)生數(shù)據(jù)處理在系統(tǒng)中是一個重要功能,因此,我們用一個專門的窗體來實現(xiàn),以便在系統(tǒng)運行時進(jìn)行學(xué)生信息管理。制作學(xué)生管理的數(shù)據(jù)處理界面首先應(yīng)該增加一個新的窗體,然后再對窗體逐步完善,其步驟如下:
(1)在工程中增加一個新的窗體Form3,將該單元命名并保存為StudentUnit3.
圖4-9 主控界面調(diào)用效果
(2)在Form3中放入兩個分組框控件GroupBox1、GroupBox2,它們用于將窗體分隔成兩個區(qū)域,一個是數(shù)據(jù)編輯區(qū)域,一個是數(shù)據(jù)操作區(qū)域。
(3)將窗體的標(biāo)題CAPTION修改為“學(xué)生信息編輯處理窗體”。
(4)在窗體中依次加入9個命令按鈕控件,其標(biāo)題屬性分別設(shè)置為“添加記錄”、“刪除記錄”、“刷新記錄”、“查詢記錄”、“結(jié)束操作”、“第一條”、“下一條”、“前一條”、“最后一條”。
(5)在窗體的數(shù)據(jù)編輯區(qū)放入12個數(shù)據(jù)編輯控件DBEdit1、DBEdit2、DBEdit3、DBEdit4、DBEdit5、DBEdit6、DBEdit7、DBEdit8、DBEdit9、DBEdit10、DBEdit11、DBEdit12。
(6)相應(yīng)地在12個編輯控件上放或旁邊放入12個標(biāo)簽控件Label1、Label2、Label3、 Label4、 Label5、Label6、Label7、Label8、Label9、Label10、Label11、Label12,其標(biāo)簽的標(biāo)題CAPTION設(shè)置見圖4-11所示。
(7)在窗體數(shù)據(jù)編輯區(qū)放入一個備注型數(shù)據(jù)控件DBMemo1,在其旁邊放入一個標(biāo)簽控件Label13用于標(biāo)識;其窗體布局如圖4-10所示。
4.4.2 數(shù)據(jù)控件放置與數(shù)據(jù)連接
在窗體Form3中,我們已經(jīng)為它構(gòu)筑了一個框架,但一個數(shù)據(jù)編輯窗體需要的是對數(shù)據(jù)表或數(shù)據(jù)集中的數(shù)據(jù)進(jìn)行編輯或進(jìn)行相關(guān)的操作,如添加記錄、刪除記錄、刷新記錄等。因此,我們需要在窗體中引入數(shù)據(jù)控件,如數(shù)據(jù)表控件、數(shù)據(jù)源控件和數(shù)據(jù)編輯控件等,為此需要做如下操作:
(1)在窗體中放入一個數(shù)據(jù)表控件Table1,它是專門用于連接我們創(chuàng)建的數(shù)據(jù)表文件的。設(shè)置數(shù)據(jù)表控件Table1的TableName屬性為“學(xué)生信息數(shù)據(jù)表.db”,這樣便將數(shù)據(jù)表文件連接起來了。
圖4-10 窗體Form3的布局
(2)雙擊數(shù)據(jù)表控件,出現(xiàn)一個數(shù)據(jù)字段引入的界面,如圖4-11所示。
(3)單擊鼠標(biāo)右鍵,出現(xiàn)一個快捷菜單即字段編輯菜單,如圖4-12所示。
(4)在快捷菜單中單擊Add all fields菜單,即引入數(shù)據(jù)表文件的全部字段,如圖4-13所示。
(5)在窗體中放入一個數(shù)據(jù)源控件Datasource1,設(shè)置它的Dataset屬性為Table1,其屬性如圖4-14所示。
(6)最后激活數(shù)據(jù)表控件,即設(shè)置Table1控件的Active屬性為True。
(7)對12個數(shù)據(jù)編輯控件和一個備注型控件進(jìn)行數(shù)據(jù)源連接和數(shù)據(jù)字段連接,其連接方法參考后面的內(nèi)容。這樣,學(xué)生信息處理窗體的數(shù)據(jù)源和數(shù)據(jù)便連接創(chuàng)建完成,此時數(shù)據(jù)窗體的一些數(shù)據(jù)控件處于激活狀態(tài),其狀態(tài)如圖4-15所示。
在前面我們已經(jīng)在窗體中放入了一切所需要的控件,并用數(shù)據(jù)表控件Table1和數(shù)據(jù)源控件Datasource1引入了數(shù)據(jù)窗體所需要的數(shù)據(jù)源。
系統(tǒng)運行時,用戶是通過數(shù)據(jù)編輯控件來進(jìn)行數(shù)據(jù)編寫的。在窗體中,我們放置了12個數(shù)據(jù)編輯控件和一個備注型數(shù)據(jù)控件,這些控件均需要與數(shù)據(jù)源控件進(jìn)行連接并與相關(guān)的字段進(jìn)行連接,那么它們是如何進(jìn)行連接的呢?面臨13個數(shù)據(jù)控件,我們不可能
圖4-11 數(shù)據(jù)表控件字段編輯器 圖4-12 字段編輯 圖4-13 引入字段
圖4-14 數(shù)據(jù)源控件Datasource1屬性設(shè)置
一個一個重復(fù)地介紹,我們僅以數(shù)據(jù)編輯控件DBEdit1為例來說明它與數(shù)據(jù)源和數(shù)據(jù)字段之間的連接,其他的數(shù)據(jù)編輯控件便可以參照進(jìn)行配置。
(8)用鼠標(biāo)選中DBEdit1,在對象監(jiān)視器中設(shè)置它的數(shù)據(jù)源屬性DataSource為“Datasource1”,設(shè)置它的DataField屬性為“所在院系”,則第一個編輯控件就與數(shù)據(jù)源和數(shù)據(jù)集中的字段連接起來了。其屬性設(shè)置如圖4-16所示。
其他的數(shù)據(jù)控件的屬性設(shè)置可以完全按DBEdit1的屬性設(shè)置一樣進(jìn)行,只不過所選擇的字段不同而已,最后我們列出全部數(shù)據(jù)編輯控件的屬性以供我們制作系統(tǒng)時使用,其屬性如表4-2所示。
4.4.3 聲明并調(diào)用窗體Form3
在前面我們已經(jīng)在Form1的單元文件中聲明了窗體Form2,因為Form2是通過Form1進(jìn)行調(diào)用的,但現(xiàn)在Form3需要通過Form2進(jìn)行調(diào)用,因此需要在Form2的單元文件中聲明Form3,其聲明如下:
圖4-15 數(shù)據(jù)編輯控件的激活狀態(tài)
圖4-16 編輯控件DBEdit1屬性設(shè)置
//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop
表4-2 編輯框?qū)傩栽O(shè)置
對象名稱
屬性項名
屬性設(shè)置內(nèi)容
DBEdit1
DataSource
DataSource1
DataField
所在院系
DBEdit2
DataSource
DataSource1
DataField
專業(yè)名稱
DBEdit3
DataSource
DataSource1
DataField
所在年級
DBEdit4
DataSource
DataSource1
DataField
所在班級
DBEdit5
DataSource
DataSource1
DataField
學(xué)生編號
DBEdit6
DataSource
DataSource1
DataField
學(xué)生姓名
DBEdit7
DataSource
DataSource1
DataField
學(xué)生性別
DBEdit8
DataSource
DataSource1
DataField
出生日期
DBEdit9
DataSource
DataSource1
DataField
籍貫
DBEdit10
DataSource
DataSource1
DataField
家長姓名
DBEdit11
DataSource
DataSource1
DataField
宿舍號碼
DBEdit12
DataSource
DataSource1
DataField
宿舍電話
DBEdit13
DataSource
DataSource1
DataField
備注
#include "studentUnit2.h"
#開始聲明
#include "studentUnit3.h"
#結(jié)束聲明
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm2 *Form2;
//--------------------------------------------------------------
經(jīng)過聲明后的窗體Form3就可以通過相關(guān)的過程進(jìn)行調(diào)用了,調(diào)用Form3的執(zhí)行行為對象是通過Form2中的單選按鈕“記錄編輯”進(jìn)行的,因此我們需要為該單選按鈕編輯過程代碼,該過程代碼用于調(diào)用Form3。其過程代碼如下:
//---------------------------------------------------------------------------
void __fastcall TForm2::RadioButton1Click(TObject *Sender)
{
Form3->ShowModal();
}
//---------------------------------------------------------------------------
編譯并運行工程,然后檢驗數(shù)據(jù)處理窗體的調(diào)用,其運行效果如圖4-17所示。
圖4-17 數(shù)據(jù)編輯的調(diào)用效果
在上述編輯窗體中,盡管編輯控件已經(jīng)處于編輯狀態(tài),用戶可以進(jìn)行數(shù)據(jù)編輯了,但它還不能有效地響應(yīng)任何數(shù)據(jù)記錄的操作,如不能對任何數(shù)據(jù)進(jìn)行增加、刪除、瀏覽或查詢等,因為我們還未對相關(guān)的對象編制過程代碼。因此,接下來,我們需要為相關(guān)的命令按鈕編制過程代碼,以實現(xiàn)數(shù)據(jù)編輯和相關(guān)的數(shù)據(jù)操作。
4.4.4 為Form3中的命令按鈕編制過程代碼
下面,我們需要為Form3中的命令按鈕編制過程代碼,以對數(shù)據(jù)集中的記錄進(jìn)行操作。我們分別列出相關(guān)控件的過程代碼如下:
1.“添加記錄”命令按鈕的過程代碼
//---------------------------------------------------------------------------
void __fastcall TForm3::Button1Click(TObject *Sender)
{
Table1->Append();
}
//---------------------------------------------------------------------------
2.“刪除記錄”命令按鈕的過程代碼
//---------------------------------------------------------------------------
void __fastcall TForm3::Button2Click(TObject *Sender)
{
Table1->Delete();
}
//---------------------------------------------------------------------------
3.“刷新記錄”命令按鈕的過程代碼
//---------------------------------------------------------------------------
void __fastcall TForm3::Button3Click(TObject *Sender)
{
Table1->Refresh();
}
//---------------------------------------------------------
4.“查詢記錄”命令按鈕的過程代碼
//---------------------------------------------------------------------------
void __fastcall TForm3::Button4Click(TObject *Sender)
{
Form4->ShowModal();
}
//----------------------------------------------------------------