學生信息管理系統(tǒng)的設計與實現(xiàn)報告_第1頁
學生信息管理系統(tǒng)的設計與實現(xiàn)報告_第2頁
學生信息管理系統(tǒng)的設計與實現(xiàn)報告_第3頁
學生信息管理系統(tǒng)的設計與實現(xiàn)報告_第4頁
學生信息管理系統(tǒng)的設計與實現(xiàn)報告_第5頁
免費預覽已結(jié)束,剩余21頁可下載查看

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

軟件工程課程設計學生信息管理系統(tǒng)的設計與實現(xiàn)目錄1引言 錯誤!未定義書簽。1.1背景 錯誤!未定義書簽。1.2目標 錯誤!未定義書簽。2需求分析 錯誤! 未定義書簽。2.1系統(tǒng)需求 錯誤!未定義書簽。性能要求 錯誤!未定義書簽。運行環(huán)境 錯誤!未定義書簽。功能需求 錯誤! 未定義書簽。2.3業(yè)務流程圖 錯誤!未定義書簽。3總體設計 錯誤!未定義書簽。3.1基本設計概念和處理流程 錯誤!未定義書簽。3.2系統(tǒng)數(shù)據(jù)流程圖 錯誤!未定義書簽。3.3系統(tǒng)層次模塊圖 錯誤!未定義書簽。3.4模塊設計 錯誤!未定義書簽。4數(shù)據(jù)庫設計 錯誤!未定義書簽。4.1數(shù)據(jù)庫的邏輯設計 錯誤!未定義書簽。4.2數(shù)據(jù)庫的配置 錯誤!未定義書簽。5詳細設計 錯誤!未定義書簽。5.1.新生管理子系統(tǒng) 錯誤!未定義書簽。5.2畢業(yè)生管理子模塊 錯誤!未定義書簽。5.3教學評價打分 錯誤!未定義書簽。5.4學生成績網(wǎng)上查詢 錯誤!未定義書簽。6系統(tǒng)維護和改進 錯誤!未定義書簽。6.1運行維護 錯誤!未定義書簽。6.1.1運行模塊組合 錯誤!未定義書簽。運行控制 錯誤!未定義書簽。運行時間 錯誤!未定義書簽。人工處理過程 錯誤!未定義書簽。6.2系統(tǒng)的改進與提高 錯誤!未定義書簽。軟件工程課程設計軟件工程課程設計學生信息管理系統(tǒng)的設計和實現(xiàn)1引言^l.1冃^景學生信息管理系統(tǒng)是為了適應現(xiàn)代化學校管理的需要,加快推進高校數(shù)字化校園建設、充分利用校園網(wǎng),利用網(wǎng)絡、多媒體等計算機應用技術(shù)和手段,提高辦公效率、改善質(zhì)量的高效管理信息系統(tǒng)。學生信息管理系統(tǒng)是系科綜合管理信息系統(tǒng)的重要組成部分, 進行學生基本信息、擴充信息、成績信息、在校的其它各種信息的集中電子化處理, 實現(xiàn)主要系務業(yè)務流程的計算機管理,實現(xiàn)系科學生管理工作的自動化管理和公用信息在校園網(wǎng)上自動發(fā)布。本文檔為“學生信息管理系統(tǒng)的設計和實現(xiàn)” 的說明書,主要用于為實現(xiàn)系統(tǒng)的功能而進行的系統(tǒng)詳細設計說明,詳細系統(tǒng)各軟件組成模塊的實現(xiàn)流程、功能、接口、編譯、測試要點等內(nèi)容,便于對系統(tǒng)的編碼進行指導和約束。本文檔供項目組全體成員及項目組領(lǐng)導,單元測試人員閱讀。1.2目標實現(xiàn)學生信息資料的集中化電子化處理;實現(xiàn)學生成績的電子化處理;實現(xiàn)普通用戶的前臺多媒體自助查詢功能,公用信息在校園網(wǎng)上自動發(fā)布;實現(xiàn)學生管理工作制度化、標準化、規(guī)范化;實現(xiàn)學生管理的其它必要的管理功能。建立關(guān)于學生數(shù)據(jù)比較全面詳細的數(shù)據(jù)庫。2需求分析2.1系統(tǒng)需求性能要求時間特性要求查詢服務部分:用戶通過多媒體電腦提交命令到返回不超過 5秒鐘。數(shù)據(jù)管理部分:提交一筆錄入到結(jié)果返回不超過 5秒鐘。排課對資源不能滿足排課要求時應首先予以提示,不能出現(xiàn)死循環(huán)無限等待。可擴充性要求各種字典數(shù)據(jù)的編碼要盡可能采用行業(yè)標準, 自行編碼也應合乎規(guī)范,征得相關(guān)業(yè)務部門認可;數(shù)據(jù)庫的設計應考慮可擴充性,以適應今后學校發(fā)展和系統(tǒng)升級的需要。運行環(huán)境2.121 軟件環(huán)境學生管理系統(tǒng)的設計與運行基于采用 C/S網(wǎng)絡應用環(huán)境運行于校園網(wǎng)上。 后臺操作系統(tǒng)為MicrosoftWindows2000,數(shù)據(jù)庫為MicrosoftSQLServer2000 ;Web服務器運行環(huán)境為WindowsNTServer(SP6),瀏覽器為IE4.0以上版本。數(shù)據(jù)查詢服務部分采用B/S網(wǎng)絡應用環(huán)境。硬件環(huán)境服務器端包括一臺標準服務器(也可用性能較好的普通 PC服務器,數(shù)據(jù)庫服務器、WEB服務器也可運行在同一臺服務器上 )。PC服務器要求CPU:PIII600MHZ以上,內(nèi)存容量大于或等于512M,硬盤容量大于或等于20G??蛻舳税ǘ嗝襟w電腦、 PC客戶機,要求多媒體電腦和 PC客戶機與上述PC服務器物理上連接暢通;系科業(yè)務工作站桌面到校園網(wǎng)帶寬要求至少為 10M,保證連接暢快,最好有100M帶寬。2.2功能需求進行學生基本信息、擴充信息、成績信息、在校的其它各種信息的集中電子化處理,實現(xiàn)主要系務業(yè)務流程的計算機管理,實現(xiàn)系科學生管理工作的自動化管理和公用信息在校園網(wǎng)上自動發(fā)布。整個涉及的工作主要包括:新生錄取報到處理、在校生基本管理、學生成績處理與查詢、學生社團組織管理、畢業(yè)生管理等方面,由此整個系統(tǒng)可劃分為如下子系統(tǒng) /功能模塊:新生報到管理相關(guān)業(yè)務(系學生工作助理、輔導員等);在校生基本管理相關(guān)業(yè)務(系輔導員、班主任等);學生成績匯總與查詢相關(guān)業(yè)務(相關(guān)教師、教務干事);黨團組織管理相關(guān)業(yè)務(學生工作助理、輔導員等);畢業(yè)生信息管理相關(guān)業(yè)務(系主任、學生工作助理、輔導員、教務干事等 )校友信息管理相關(guān)業(yè)務(系主任等)。2.3業(yè)務流程圖本系統(tǒng)主要業(yè)務在學生管理辦公室進行, 但也有部分業(yè)務在校園內(nèi)其他部門進行 (如查詢等),或在校園外遠程進行(如網(wǎng)上公開信息發(fā)布、信息查詢等) ,所以本系統(tǒng)應是一個分布式、規(guī)模可變的系統(tǒng)。數(shù)據(jù)集中在一個數(shù)據(jù)庫服務器上, 處理可能分布到應用程序的各層上,借助于校園網(wǎng),各業(yè)務人員無障礙地實現(xiàn)分工協(xié)作, 公共完成目標任務。根據(jù)系統(tǒng)總體目標及技術(shù)成熟型、一般企業(yè)流行的體系結(jié)構(gòu),學生管理系統(tǒng)采用分層體系結(jié)構(gòu), 具體劃分為三層:表現(xiàn)層、業(yè)務層和數(shù)據(jù)層,如下圖所示:

圖2-3.1業(yè)務流程圖表現(xiàn)層:用戶和系統(tǒng)進行交互地層次。通過鍵盤、顯示器、鼠標、打印機等進行人工交互。提供校園網(wǎng)內(nèi)/外任何時間地點的訪問支持(校園內(nèi)借助于校園網(wǎng);校園外借助于撥號上網(wǎng))。應用基于網(wǎng)頁的解決方案:即所謂的“瘦客戶機”解決方案。應用則借助于免費的瀏覽器如InternetExplore、NetScape等,僅需設計服務器端網(wǎng)頁文件,勿需設計專用的前臺的應用程序。本解決方案主要應用于速度要求不高的簡單場合,如一般的公共查詢等?;诰W(wǎng)絡的EXE解決方案:即所謂的“胖客戶機”解決方案。編寫前臺源程序,編譯成目標代碼(EXE)文件。本方案是本系統(tǒng)的主要解決方案,完成各種數(shù)據(jù)管理、數(shù)據(jù)處理以及速度要求高的特殊查詢。工作平臺選用 WIN9X,開發(fā)工具選用Inprise公司的Delphi以及Microsoft公司的VisualFoxpro等。業(yè)務層:即事務邏輯層或中間層, 完成事物處理規(guī)則和業(yè)務流程約束數(shù)據(jù)的處理??紤]到本系統(tǒng)問題的規(guī)模以及復雜程度、 難度等,本系統(tǒng)業(yè)務層應用MicrosoftIIS、FTP等完成業(yè)務層的功能。更新修改等觸發(fā)器定義等。更多的數(shù)來完成數(shù)據(jù)層功能,應用數(shù)據(jù)層:即數(shù)據(jù)資源管理層,本層完成數(shù)據(jù)資源等的插入、刪除、更新修改等觸發(fā)器定義等。更多的數(shù)來完成數(shù)據(jù)層功能,應用數(shù)據(jù)存儲管理工作,還包括定義各種存儲過程、數(shù)據(jù)約束等控制、據(jù)處理工作在“胖/瘦客戶機”上進行。在本系統(tǒng)中采用 RDBMSMicrosoftSQLServe來實現(xiàn)。

圖2-3.2細化的系統(tǒng)結(jié)構(gòu)圖3總體設計3.1基本設計概念和處理流程本系統(tǒng)主要業(yè)務在學生管理辦公室進行, 但也有部分業(yè)務在校園內(nèi)其他部門進行 (如查詢等),或在校園外遠程進行(如網(wǎng)上公開信息發(fā)布、信息查詢等) ,所以本系統(tǒng)應是一個分布式、規(guī)??勺兊南到y(tǒng)。數(shù)據(jù)集中在一個數(shù)據(jù)庫服務器上, 處理可能分布到應用程序的各層上,借助于校園網(wǎng),各業(yè)務人員無障礙地實現(xiàn)分工協(xié)作,公共完成目標任務。3.2系統(tǒng)數(shù)據(jù)流程圖系統(tǒng)總體數(shù)據(jù)流見下圖:學生畢業(yè),數(shù)據(jù)轉(zhuǎn)存ScnorKt+Jilp,lli.p,'Ijvfti".囲噸用賦當前庫-—查詢箱果當前學期L-數(shù)據(jù)TcpflP.SSLTc砂.SSL數(shù)據(jù)燥作終諦TcpdP,SSL姿箭操作終端Tup學生畢業(yè),數(shù)據(jù)轉(zhuǎn)存ScnorKt+Jilp,lli.p,'Ijvfti".囲噸用賦當前庫-—查詢箱果當前學期L-數(shù)據(jù)TcpflP.SSLTc砂.SSL數(shù)據(jù)燥作終諦TcpdP,SSL姿箭操作終端Tup沖爹媒體查詢終端圖3.2-1系統(tǒng)數(shù)據(jù)流程圖系統(tǒng)中所有數(shù)據(jù)都存放在數(shù)據(jù)庫Server中,客戶機中要保存的數(shù)據(jù)必須上傳到 Server,交給Server來處理、保存。Server與各前臺終端是通過企業(yè)網(wǎng)總線通信的,主要機制是TCP/IP和HTTP協(xié)議,對用戶名和密碼的傳輸要采用 SSL或其它加密機制(默認為DES算法)。Server和后臺數(shù)據(jù)庫通過ADO、JDBC、T3協(xié)議(Weblogic默認的通信協(xié)議)進行通信,某些重要信息(如帳戶、密碼等)需要進行加密(DES)。3.3系統(tǒng)層次模塊圖整個學生管理系統(tǒng)的結(jié)構(gòu)可由以下圖示來表明:圖3.3-1系統(tǒng)層次模塊圖3.4模塊設計登陸數(shù)據(jù)庫:輸入數(shù)據(jù)庫服務器名 (ServerIP)、用戶賬號()UserlD、密碼(Password);以賬號DEP_Computer0密碼DEP_ComputerO登陸數(shù)據(jù)庫服務器,檢索系統(tǒng)權(quán)限表,根據(jù)權(quán)限設置相應功能模塊:無此用戶或禁止權(quán)限Enable:=False;瀏覽權(quán)限Enable:=True;修改UserID:=Dep_Computer1;修改PassWord:=11;修改權(quán)限Enable:=True;修改UserID:=Dep_Computer2;修改PassWord:=2;采用Win31下程序組、程序項的原理組織各執(zhí)行模塊:登陸服務器新生錄取數(shù)據(jù)、入學報道管理學生信息(在校)管理學生社團管理畢業(yè)生信息管理學生成績綜合查詢與統(tǒng)計各程序組、程序項的顯示分別可以是分層 /樹狀/大圖標/小圖標等方式;各程序項或菜單項的名稱命名為相應功能模塊的目標代碼文件名??蓤?zhí)行功能模塊的調(diào)用執(zhí)行: 通過程序項或菜單項名稱獲取可執(zhí)行目標代碼文件名,應用API函數(shù)CreateProcess開始執(zhí)行。i:=StartMenu.lndexOf(Menultem);j:=StartMenu.ltems[i].lndexOf(Menultem);caseStartMenu.ltems[i].ltems[j].Tagof1:allow:=' 禁止’;2:allow:=' 瀏覽’;3:allow:=' 修改’;end;ExecutableFileName:=軟件工程課程設計軟件工程課程設計軟件工程課程設計軟件工程課程設計 7 7Trim(StartMenu.ltems[i].ltems[j].Name)+'.exe'FillChar(Startuplnfo,Sizeof(Startuplnfo),#0);StartupInfo.cb:=Sizeof(StartupInfo);StartupInfo.dwFlags:=STARTF_USESHOWWINDOW;CreateProcess(PChar(ExecutableFileName),II5nil,nil,false,CREATE_NEW_CONSOLEorNORMAL_PRIORITY_CLASS,nil,'.\',StartupInfo,ProcessInfo);4數(shù)據(jù)庫設計4.1數(shù)據(jù)庫的邏輯設計1.數(shù)據(jù)流字典數(shù)據(jù)流名組成備注招生數(shù)據(jù)流詳細參見全國網(wǎng)上招生系統(tǒng)的導出數(shù)據(jù)表專業(yè)數(shù)據(jù)流專業(yè)代碼+專業(yè)名稱+所屬系科+學制+層次+備注學生基本信息數(shù)據(jù)流報考號+學號+姓名+性別+民族+政治面貌+籍貫+家庭通信地址+郵政編碼+豕長姓名+豕長聯(lián)系方式+考生類別+考生畢業(yè)類別+報考志愿一+報考志愿二+報考志愿三+幢號+寢室號+班級代碼+年級+傳呼+手機+電子郵箱+備注“學號”在新生時為預分學號,卜同咼考成績數(shù)據(jù)流詳細參見全國網(wǎng)上招生系統(tǒng)的導出數(shù)據(jù)表咼考體檢數(shù)據(jù)流詳細參見全國網(wǎng)上招生系統(tǒng)的導出數(shù)據(jù)表班級數(shù)據(jù)流班級代碼+班級名稱+系科+專業(yè)+層次+學制+年級+總?cè)藬?shù)+備注寢室數(shù)據(jù)流幢號+房間號+總床位數(shù)+有效床位數(shù)+電話號碼+至長+備注寢室安排數(shù)據(jù)流學號+姓名+性別+寢室數(shù)據(jù)流報到數(shù)據(jù)流學號+姓名+性別+簽到否+報到手續(xù)完成情況(組織關(guān)系、戶口、飯卡、體檢、繳費情況等 )+備注欠費數(shù)據(jù)流學號+姓名+性別+專業(yè)名稱+班級名稱+欠費數(shù)額+備注2.加工說明部分(1)加工名稱:招生數(shù)據(jù)轉(zhuǎn)入激發(fā)條件:招生工作完畢,新生數(shù)據(jù)下載到本地。加工邏輯:將新生基本數(shù)據(jù)、體檢信息和成績導入在籍學生數(shù)據(jù)庫中,并分配臨時學號。⑵加工名稱:新生編班::激發(fā)條件:新生數(shù)據(jù)基本入庫。加工邏輯:將新生按專業(yè)進行分班,分班結(jié)果寫回學生基本信息表中。(3)加工名稱:新生寢室安排激發(fā)條件:新生數(shù)據(jù)入庫加工邏輯:按學校分配的寢室可用資源,將新生分配到可用寢室里,提供手工修改功能,并將結(jié)果寫加數(shù)據(jù)庫。(4)加工名稱:新生報到處理激發(fā)條件:新生到校后,現(xiàn)場報到加工邏輯:將新生報到情況記錄在案,包括簽到、組織關(guān)系轉(zhuǎn)入否、戶口交辦否、體檢完成否、飯卡、收費(欠費)情況等;以備進行欠費統(tǒng)計和報到統(tǒng)計。(5) 加工名稱激發(fā)條件加工邏輯(5) 加工名稱激發(fā)條件加工邏輯(6) 加工名稱激發(fā)條件需要更新或查詢新生的欠費情況更新或查詢報到情況表,可以統(tǒng)計學生的欠費情況。新生錄取信息查詢統(tǒng)計性別、籍貫、民族、政治面貌、投檔志愿和成績。新生數(shù)據(jù)入庫后,需要查詢與統(tǒng)計新生的各種參數(shù),包括統(tǒng)計性別、籍貫、民族、政治面貌、投檔志愿和成績。4.2數(shù)據(jù)庫的配置整個系務涉及的業(yè)務工作主要包括:新生錄取報到處理、在校生基本管理、學生成績處理與查詢、學生社團組織管理、畢業(yè)生管理等方面,由此整個系統(tǒng)可劃分為如下子系統(tǒng) /功能模塊:新生報到管理相關(guān)業(yè)務(系學生工作助理、輔導員等);在校生基本管理相關(guān)業(yè)務(系輔導員、班主任等);學生成績匯總與查詢相關(guān)業(yè)務(相關(guān)教師、教務干事);畢業(yè)生信息管理相關(guān)業(yè)務(系主任、學生工作助理、輔導員、教務干事等 )5詳細設計5.1.新生管理子系統(tǒng)總體設計:新生管理子系統(tǒng)包含新生錄取信息的導入,新生預分學號,新生班級分配,新生寢室安排,新生報到管理,新生報到信息統(tǒng)計,新生欠費統(tǒng)計,新生分布信息,新生高考成績分布等。設計:F面給出設計方案與實現(xiàn)方法。預分學號二一班級編排寢室安排預處理查詢現(xiàn)場報到處理欠費查詢統(tǒng)計報到情況統(tǒng)計新生比例分布高考成績統(tǒng)計F面給出設計方案與實現(xiàn)方法。預分學號二一班級編排寢室安排預處理查詢現(xiàn)場報到處理欠費查詢統(tǒng)計報到情況統(tǒng)計新生比例分布高考成績統(tǒng)計功能:①完成對新錄取學生數(shù)據(jù)的導入完成對新生數(shù)據(jù)的報到預處理(初始化)實現(xiàn)新生報到現(xiàn)場完成,并統(tǒng)計報到情況統(tǒng)計新生的各種分布比例和成績分布設計:①總體設計:用 Delphi的PageCtrl控件來實現(xiàn)各項菜單功能②招生數(shù)據(jù)導入:可以通過選擇來指定全國網(wǎng)上錄取系統(tǒng)的導出數(shù)據(jù)所在路徑, 并根據(jù)使用手冊檢查25個.dbf文件是否存在,來決定是否允許導入;在導入時采用記錄的查重處理,所以,只能借助記錄集的循環(huán)來完成;其中,對政治面貌與民族表要單獨處理。主要實現(xiàn)文件檢查的代碼:functionCheckDBFile(varstrRst:String):boolean;vari,j:integer;blFound:boolean;beginarrstrFileName[0]:='t_tddw';arrstrFileName[1]:='t_jhk://……此處對表名賦值CheckDBFile:=False;blFound:=True;i:=0;strRst:='數(shù)據(jù)表';while(i<25)dobegin j:=DBFileListBox.1tems.IndexOf(arrstrFileName[i]+'.dbf);ifj=-1then〃某個文件未找到,返回“假”beginblFound:=False;strRst:=strRst+arrstrFileName[i]+'.dbf';end;i:=i+1;end;strRst:=strRst+'不存在!';ifblFoundthen //全部數(shù)據(jù)文件檢查正確CheckDBFile:=True;end;③學號預處理:將導入的數(shù)據(jù)從信息庫表到在校生表, 并根據(jù)考生的考號及其它信息填入其基本信息(如省份、入年年份等) ;基本處理思想是:根據(jù)考生年份(報考號前兩位)與當前系統(tǒng)數(shù)據(jù)庫的絕對學期時間, 篩選相應的考生信息,然后從這些信息中依次在學生基本信息表(JBXX2)中查詢是否重復,來決定是否寫入;如果寫入,則根據(jù)報考號(第 3、;:;:4位)的信息,寫入考生所在省份代碼。新生班級編排:將分配學號的新生編排到指定班級中。用兩個 DBGrid(可多選)分別將未分班學生和班級信息列出來, 通過手工選中一個或多個學生, 即可分配班級或從班級中取消分班。實現(xiàn)DBGrid多選并在數(shù)據(jù)庫中完成添加的代碼:withStuDBGrid.DataSource.DataSetdobeginfori:=0tointSelStuCnt-1dobeginGotoBookmark(pointer(StuDBGrid.SelectedRows.ltems[i]));strStuNo:=Fields[0].AsString;strSql:='Updatejbxx2setBJID='+””+strClasNo+””;strSql:=strSql+'WhereXH='+””+strStuNo+””;database.Execute(strSql);end;end;寢室分配與班級編排可類似處理。新生現(xiàn)場報到:對新生的報到程序進行計算機管理, 自動檢查該新生是否已到校, 是否已完成所有報到手續(xù),以及新生的欠費情況(只記載欠費,不記載繳費) ;并根據(jù)各項手續(xù)的完成,來確認新生的報到狀態(tài),為下一步查詢提供足夠信息。此處關(guān)鍵在于如何把數(shù)據(jù)表中“0”和“1”狀態(tài)標志以CheckBox的狀態(tài)輸出,代碼如下:讀出:ifADORegInfo.ActivethenbeginstrState:=ADOReglnfo.FieldByName('SFQD').AsString;ifstrState='1'then//是否簽到Reg1Check.Checked:=trueelseReg1Check.Checked:=false;strState:=ADOReglnfo.FieldByName('ZZGX').AsString;ifstrState='1'then//組織關(guān)系Reg2Check.Checked:=trueelseReg2Check.Checked:=false;strState:=ADOReglnfo.FieldByName('HKQY').AsString;ifstrState='1'then//戶口遷移Reg3Check.Checked:=trueelseReg3Check.Checked:=false;strState:=ADORegInfo.FieldByName('JCK').AsString;ifstrState='1'then//就餐卡軟件工程課程設計軟件工程課程設計軟件工程課程設計軟件工程課程設計 11Reg4Check.Checked:=trueelseReg4Check.Checked:=false;strState:=ADOReglnfo.FieldByName('TJ').AsString;ifstrState='1'then//體體檢Reg5Check.Checked:=trueelseReg5Check.Checked:=false;end;寫回數(shù)據(jù)庫:ADORegInfo.Edit;ifReg1Check.CheckedthenADORegInfo.FieldByName('SFQD').AsString:='1'elseADORegInfo.FieldByName('SFQD').AsString:='0';ifReg2Check.CheckedthenADORegInfo.FieldByName('ZZGX').AsString:='1'elseADORegInfo.FieldByName('ZZGX').AsString:='0';ifReg3Check.CheckedthenADORegInfo.FieldByName('HKQY').AsString:='1'elseADORegInfo.FieldByName('HKQY').AsString:='0';ifReg4Check.CheckedthenADORegInfo.FieldByName('JCK').AsString:='1'elseADORegInfo.FieldByName('JCK').AsString:='0';ifReg5Check.CheckedthenADORegInfo.FieldByName('TJ').AsString:='1'elseADORegInfo.FieldByName('TJ').AsString:='0';ADORegInfo.Post;欠費查詢可相應處理。報到情況統(tǒng)計:可以按性別、專業(yè)、班級、省份等統(tǒng)計學生的報到情況,并以柱狀圖和表格顯示;提供自由控制條件查詢未報到學生信息。統(tǒng)計功能實現(xiàn)代碼如下:CntBySexDBChar.Title.Text.Clear;//清除標題CntBySexDBChar.Title.Text.Add('新生報到情況(按班級統(tǒng)計)');CntBySexDBChar.Series[O].CIear;〃清除圖形strSql:=";;:;:CntStrGrid.RowCount:=ADOQFCntQuery.RecordCount+1;fori:=0to4do//設置StringGrid的標題beginCntStrGrid.Cols[i].CIear;CntStrGrid.Cols[i].Add(titleName[i]);end;i:=0;RegSexTLbl.Lines.Clear;//清空統(tǒng)計顯示whilenotADOQFCntQuery.EofdobeginintCntRegd[i]:=ADOQFCntQuery.FieldByName('ClassRegdCnt').Aslnteger;CntBySexDBChar.Series[O].Add(intCntTot[i],inttostr(i)+'應到',clBlue);CntBySexDBChar.Series[O].Add(intCntRegd[i],'到',clRed);strSql:=inttostr(i)+'['+trim(strClassName[i])+']報到比例:';strSql:=strSql+floattostr(trunc(intCntRegd[i]/intCnttot[i]*10000)/100)+'%'+#13;RegSexTLbl.Lines.Add(strSql);CntStrGrid.Rows[i+1].Add(inttostr(i+1));CntStrGrid.Rows[i+1].Add(strClassName[i]);CntStrGrid.Rows[i+1].Add(inttostr(intCntTot[i]));CntStrGrid.Rows[i+1].Add(inttostr(intCntRegd[i]));CntStrGrid.Rows[i+1].Add(floattostr(trunc(intCntRegd[i]/intCnttot[i]*10000)/100)+'%');i:=i+1;ADOQFCntQuery.Next;//下一個班end;新生分布情況統(tǒng)計: 從學生的擴展信息與高考資料中提取信息, 統(tǒng)計新生的各種分布情況,以餅狀圖和表格信息顯示出來。相應地,高考成績信息也可以按科目繪制出柱狀圖來反映分布情況, 對新生的整體情況有一個大概了解,以便有針對性地開展工作。成績統(tǒng)計的代碼如下:strSql:='SelectMax('+FieldName+')asMaxScore,Min('+FieldName+')asMinScore,AVG('+FieldName+')asAvgScore';strSql:=strSql+'Fromt_tdd,xs_base,xs_expendWheret_tdd.ksh=xs_expend.bkhandxs_expend.xh=xs_base.xh';strSql:=strSql+'andNj='+MidStr(CurrentXQSJ,1,4);ADOQFCntQuery.SQL.CIear;ADOQFCntQuery.SQL.Add(strSql);ADOQFCntQuery.Open;ifADOQFCntQuery.EofthenbeginShowMessage('對不起,未找到相關(guān)學生的成績!');abort;end;fori:=0to2dobeginCntScoreStrGrid.Cols[i].CIear;CntScoreStrGrid.Cols[i].Add(titleName[i]);end;CntScoreDBChart.Title.Text.Clear;CntScoreDBChart.Title.Text.Add('新生高考成績統(tǒng)計['+itemName+']');CntScoreDBChart.Series[0].CIear;maxScore:=ADOQFCntQuery.FieldByName('MaxScore').Aslnteger;minScore:=ADOQFCntQuery.FieldByName('MinScore').AsInteger;avgScore:=ADOQFCntQuery.FieldByName('AvgScore').Aslnteger;itemsCount:=trunc((maxScore-minScore)/5)+1;intCrntScore:=trunc(minScore/5)*5;i:=0;isWrite:=true;CntScoreStrGrid.RowCount:=itemsCount+4;intCrntCnt[i]:=ADOQFCntQuery.FieldByName('CrntCnt').AsInteger;strSql:=";if(isWrite)or(itemsCount<12)thenstrSql:=inttostr(intCrntScore-5)+'-';CntScoreDBChart.Series[0].Add(intCrntCnt[i],strSql,intColor[imod11]);CntScoreStrGrid.Rows[i+1].Add(inttostr(intCrntScore-5)+'-'+inttostr(intCrntScore));CntScoreStrGrid.Rows[i+1].Add(inttostr(intCrntCnt[i]));CntScoreStrGrid.Rows[i+1].Add(floattostr(trunc(intCrntCnt[i]/59*10000)/100)+'%');isWrite:=notisWrite;i:=i+1;end;CntScoreStrGrid.Rows[i+1].Add('最高分');CntScoreStrGrid.Rows[i+1].Add(inttostr(maxScore));CntScoreStrGrid.Rows[i+2].Add('最低分');CntScoreStrGrid.Rows[i+2].Add(inttostr(minScore));CntScoreStrGrid.Rows[i+3].Add('平均分');CntScoreStrGrid.Rows[i+3].Add(inttostr(avgScore));5.2畢業(yè)生管理子模塊13畢業(yè)職業(yè)生標類13畢業(yè)職業(yè)生標類別記檔:擇業(yè)意向處理功能:①編輯學生(班級)的學習狀態(tài)(在讀、畢業(yè)班、已畢業(yè)等)畢業(yè)班級學生(畢業(yè)生)綜合信息查詢職業(yè)類別與檔案材料基礎代碼的維護畢業(yè)生擇意向與就業(yè)去向的處理畢業(yè)生檔案材料與畢業(yè)經(jīng)費的管理畢業(yè)生證書的發(fā)放管理設計:總體設計:采用與新生管理統(tǒng)一的界面,用 PageCtrl來實現(xiàn)。畢業(yè)學生狀態(tài)設置:完成在校生到畢業(yè)班學生狀態(tài)的改變或畢業(yè)班學生向已畢業(yè)學生狀態(tài)的改變。實現(xiàn)是通過修改學生基本信息的狀態(tài)標志。修改學生狀態(tài)代碼如下://設置畢業(yè)班procedureTSelGraForm.addClassBtnClick(Sender:TObject);varstrSql,strCrntClasslD:String;beginif(ValClassListBox.ltems.Count<1)or(ValClassListBox.ltemlndex<0)thenabort;strCrntClasslD:=strValClasslD[ValClassListBox.ltemlndex];strSql:='Updatejbxx2setZT='+””+'畢業(yè)班'+””+'Wherebjid='+””+strCrntClasslD+””;MainForm.database.Execute(strSql);SelGraForm.FormShow(Sender);end;畢業(yè)生綜合信息查詢:查詢畢業(yè)生的綜合信息(成績除外,有單獨模塊提供查詢功能)按類分為若干頁顯示,提供打印功能。響應數(shù)據(jù)源控件的代碼:procedureTsrchForm.DSsrchStuDataChange(Sender:TObject;Field:TField);//查詢學生數(shù)據(jù)源數(shù)據(jù)改變beginsrchForm.RefreshBaselnfo();〃刷新基本信息srchForm.RefreshJCInfo(); 〃刷新獎懲信息srchForm.RefreshQTInfo(); //刷新干部信息等end;procedureTsrchForm.RefreshBaselnfo();〃刷新基本信息varstrSql,crntXH:String;//查詢語句與學號軟件工程課程設計軟件工程課程設計軟件工程課程設計軟件工程課程設計begincrntXH:=trim(ADOsrchStuQuery.FieldByName('學號').AsString);strSql:='SELECTXS_BASE.*,JBXX2.XM,JBXX2.XB,BJXX.BJMC,';strSql:=strSql+' XS_ZYB.ZYMC,XS_BJXX.CC,XS_BJXX.XZ,ZZMMB.ZZMM,MZB.MZ,JGB.JGMC,';strSql:=strSql+' SFB.SFMC,XS_EXPEND.CYM,XS_EXPEND.SG,XS_EXPEND.XX,XS_EXPEND.BYXX,';strSql:=strSql+' XS_EXPEND.TC,XS_EXPEND.EMAIL,XS_EXPEND.HOMEPAGE,XS_EXPEND.JKXX';strSql:=strSql+'FROMJBXX2INNERJOIN';strSql:=strSql+'BJXXONJBXX2.BJID=BJXX.BJIDLEFTOUTERJOIN';// 外連接班級擴展信息strSql:=strSql+'XS_BJXXONBJXX.BJID=XS_BJXX.BJIDLEFTOUTERJOIN';//外連接專業(yè)表strSql:=strSql+'XS_ZYBONBJXX.ZYID=XS_ZYB.ZYIDLEFTOUTERJOIN'; //外連接籍貫表strSql:=strSql+'SFBONXS_BASE.SYSF=SFB.SFIDLEFTOUTERJOIN';strSql:=strSql+'JGBONXS_BASE.JGID=JGB.JGID';strSql:=strSql+'Wherejbxx2.XH='+””+crntXH+””;ADOBaseQuery.SQL.Clear;ADOBaseQuery.SQL.Add(strSql);ADOBaseQuery.Open;end;基礎編碼維護: 直接維護職業(yè)類別表與檔案材料表。 通過ADOTable對象來實現(xiàn)與數(shù)據(jù)庫中表的聯(lián)系,直接讀取或編輯更新數(shù)據(jù)表。擇業(yè)意向登記與就業(yè)去向登記: 根據(jù)學生的擇業(yè)要求和志向, 登記其擅長的職業(yè)類別;按照畢業(yè)生的實際就業(yè)去向,登記畢業(yè)生的畢業(yè)單位、職務、 聯(lián)系方式等信息,以進行各種數(shù)據(jù)的統(tǒng)計和信息的交流。采用 DBGrid來顯示學生信息,而用數(shù)據(jù)庫控件來綁定就業(yè)詳細信息;用按鈕來實現(xiàn)數(shù)據(jù)的添加、修改和刪除。關(guān)鍵在于按鈕狀態(tài)(增、刪、改)的實現(xiàn):procedureTMainForm.RefreshStuJob();〃刷新就業(yè)信息varstrSql,strJobXH:String;beginstrJobXH:=trim(DBText10.Field.Text);〃取得學號ifstrJobXH=''then //為空,程序出錯,退出abort;strSql:='Selectxs_jyxx.*fromxs_jyxxWhereXH='+""+strJobXH+''";// 查詢是否已有該生就業(yè)信息ADOStuGraQuery.SQL.Clear;ADOStuGraQuery.SQL.Add(strSql);ADOStuGraQuery.Open;//控制權(quán)限ifEditTB.Downthen //處于編輯狀態(tài)

beginifnotADOStuGraQuery.Eofthen 〃有該生就業(yè)信息beginFirmDBEdit.Enabled:=true; //可編輯ProTypeLookup.Enabled:=true;PosDBEdit.Enabled:=true;TelDBEdit.Enabled:=true;EmailDBEdit.Enabled:=true;BZMemo.Enabled:=true;addJobBtn.Enabled:=false;delJobBtn.Enabled:=true; 〃刪除為有效confirmJobBtn.Enabled:=true; //確認編輯為有效endelse 〃無就業(yè)信息,可添加beginFirmDBEdit.Enabled:=false;ProTypeLookup.Enabled:=false;PosDBEdit.Enabled:=false;TelDBEdit.Enabled:=false;EmailDBEdit.Enabled:=false;BZMemo.Enabled:=false;addJobBtn.Enabled:=true; 〃添加為有效delJobBtn.Enabled:=false; 〃刪除無效confirmJobBtn.Enabled:=false; 〃確認無效end;end;//endofEditTB.Downend;//endofprocedure畢業(yè)生檔案材料管理: 登記畢業(yè)生的檔案材料信息, 并提供查詢,以確認該生是否具備正常的可畢業(yè)手續(xù)。代碼如下:procedureTMainForm.RefreshDocuStu();〃刷新檔案材料信息varstrSql,strCrntXH:String;beginstrSql:='Selectjbxx2.xhas學號,xmas姓名,xbas性別,';strSql:=strSql+'xs_daxx.DACLdmas檔案材料代碼,DACLMCas檔案材料名稱strSql:=strSql+'xs_daxx.BZas備注';strSql:=strSql+'fromjbxx2,xs_daxx,xs_damc';strSql:=strSql+'Wherejbxx2.xh=xs_daxx.xhandxs_daxx.dacldm=xs_damc.dacldm';strCrntXH:=trim(ADODStuQuery.FieldByName('學號').AsString);strSql:=strSql+'andxs_daxx.XH='+""+strCrntXH+"";ADODocuStuQuery.SQL.Clear;ADODocuStuQuery.SQL.Add(strSql);ADODocuStuQuery.Open;end;畢業(yè)經(jīng)費處理與檔案材料基本相同。畢業(yè)證書發(fā)放管理: 對畢業(yè)證和學位證的發(fā)放進行管理, 登記畢業(yè)證和學位證的發(fā)放情況,并對數(shù)據(jù)的完整性進行控制:畢業(yè)證發(fā)放日期如果不為空,則畢業(yè)證編號不能為空;學位證發(fā)放日期不為空, 則學位證編號不能為空; 若畢業(yè)證發(fā)放日期為空, 則必須說明證書未發(fā)放原因。進行數(shù)據(jù)完整性控制的代碼如下:procedureTMainForm.confirmCertiBtnClick(Sender:TObject);varstrBYZRQ,strBYZBH,strXWZRQ,strXWZBH:String;beginstrBYZRQ:=trim(BYZRQEdit.Text);//畢業(yè)證日期strBYZBH:=trim(BYZBHedit.Text);// 畢業(yè)證編號strXWZRQ:=trim(XWZRQEdit.Text);//學位證日期strXWZBH:=trim(XWZBHEdit.Text);// 學位證編號if(strBYZRQ=”)xor(strBYZBH=”)then //異或運算ifMessageDlg('畢業(yè)證頒發(fā)日期和畢業(yè)證編號不符 !'+#13+'要取消本次更新操作嗎?',mtWarning,[mbYes,mbNo],0)=mrYesthenbeginADOCertiQuery.CancelUpdates;//選擇取消MainForm.RefreshCertilnfo();abort;endelseabort;if(strBYZRQ=”)and(strBYZBH=”)and(strXWZRQ<>”)then//……處理學位證if(strBYZRQ=”)and(strBYZBH=”)and(strXWZRQ=”)and(strXWZBH=”)and(trim(YYEdit.Text)=”)then//未獲證ifMessageDlg('未獲得畢業(yè)證和[或]學位證的請寫明原因 !'+#13+'要取消本次更新操作嗎?',mtWarning,[mbYes,mbNo],0)=mrYesthenbeginADOCertiQuery.Ca

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論