




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、05計專學生管理系統詳細設計說明書一、 系統規劃說明書在此次大作業之間,我們班級并沒有一套完善的學生管理系統。一直以來,班級管理工作主要是簡單的WORD文檔的使用和ACESS數據庫的應用。其操作方法簡單但功能很不完善,簡明性和實用性都較差。因此,我們第四小組決定利用此次大作業的機會,開發一套專門用于班級管理工作的數據庫系統。經過仔細研究分析,我們決定將系統分為三大菜單部分。分別為學生人事檔案管理,學生成績查詢,后臺操作管理三部分。為了便于指導員和學校領導對班級情況的了解管理,其中主要側重點在學生人事檔案管理方面。在學生人事檔案管理又分為學生人事維護打印和查詢打印兩個分支。學生成績菜單具有查詢打
2、印功能。系統管理分為操作員管理,密碼管理,數據備份等部分。三大菜單部分緊密結合聯系,共分為兩個數據庫,第一個數據庫包括學生管理維護表和成績查詢表,第二個數據庫包括系統管理表。如下圖所示(圖1)(圖1)二、 系統說明書05計專學生管理系統基于FOXPRO 6.0中文版開發。FOXPRO在數據庫開發方面具有方面,實用,簡單,直接等優點。同時其也具有一定的局限性。本系統主要面向班級指導員和班級學生開發使用,因此主要側重于系統的使用性和方便性。同時在安全性方面,我們也十分重視。特別是操作員級別的劃分等密碼管理,我們都做了仔細的分析研究。(一)、系統界面的設計,我們主要是本著實用簡便的原則設計制作。在系
3、統界面被打開時,會播放一段歡迎曲,界面包括本系統的系統名稱,設計人員和所在小組。下面是系統的首界面(圖2):(圖2)系統界面中有登陸系統按鈕,系統使用人員可以點擊進入密碼驗證頁,如果在一分鐘內用戶沒有點擊此按鈕,系統會自動跳到密碼驗證頁。此程序的實現代碼會在詳細設計書中說明。(二)、密碼驗證作為系統最基本的安全管理步驟。用戶如果不輸入合法的用戶名和密碼,系統是不能進入的。當用戶輸入合法的用戶名和密碼時,系統管理會自動判斷此用戶是什么級別的用戶,具有什么權限,使用戶的操作具有合法性。密碼驗證頁包括操作員姓名和密碼兩個部分。具體的代碼實現也將在詳細設計書說明。下面是密碼登陸頁的圖示(圖3):(圖3
4、)當操作員的名稱和密碼均正確的時候,系統便會進入系統使用主菜單。主菜單共分為三個分菜單項:學生信息管理,學生成績管理,系統管理。如圖(4)在學生信息管理中分為學生信息維護和學生信息查詢兩個菜單項,在學生成績管理中含有學生成績查詢打印菜單項,在系統管理中分為:操作員管理、口令設置、權限管理、系統日志、數據備份、數據恢復、 退出系統七項。下面為本系統的使用數據流程圖:三、 詳細設計說明書根據系統規劃和需要分析,把系統劃分為學生信息管理,學生成績查詢,系統管理三個模塊。本系統用到的主要有以下文件:主控程序main.prg、啟動界面(封面)face.scx、系統登錄界面(口令驗證窗口)pass.scx
5、、,主菜單main_menu.mpr。程序的調用關系如下:主控程序main.prg中調用界面表單face.scx,封面中調用“口令驗證窗口”表單pass.scx,口令正確則調用系統菜單main_menu.mpr。各菜單項調用相對應的表單。(一)、主控程序main.prg的代碼實現為:CLEAR &清屏CLEAR ALL &從內存中釋放所有的內存變量CLOSE ALL &關閉各種類型的文件SET ESCAPE OFF &禁止運行的程序和命令在按 Esc 鍵后被中斷SET SAFETY OFF &指定在改寫已有文件時不顯示對話框SET DELETE ON &使用范圍子句處理記錄的命令忽略標有刪除標
6、記的記錄SET SYSMENU OFF &在程序執行期間廢止 Visual FoxPro 主菜單欄RELEASE WINDOW 常用 &關閉常用工具欄SET CENTURY ON &年份以四位顯示SET DATE TO ymd &日期格式為年、月、日SET MARK TO - &指定日期分隔字符SET HOURS TO 24 &指定為 24-小時時間格式_SCREEN.Visible=.t._SCREEN.Caption=05計專學生管理系統 &系統窗口標題_SCREEN.Icon=.dod.ico &系統標題欄圖標*判斷顯示器當前分辨率_SCREEN.Width=SYSMETRIC(1) _
7、SCREEN.Height=SYSMETRIC(2)*根據分辨率不同,為系統設置不同的背景圖片IF SYSMETRIC(1)=1024 _SCREEN.Picture=.imgbj.jpgELSE _SCREEN.Picture=.imgbj.jpgENDIFDO FORM .face.scx &調用登錄界面表單On ShutDown do OnShutdown &退出系統時調用函數onshutdown() READ EVENTS &建立事件循環 On ShutDown &釋放當前的On ShutDown命令*按菜單的“關閉”按鈕退出時,出現的提示框FUNCTION OnShutdown()
8、sel=MESSAGEBOX(真的要退出嗎?,4+32+256,提示)IF sel=6 *SELECT 0 *USE .dbsystemLOG *GO BOTTOM *REPLACE 離開時間 WITH DATETIME() &退出系統時記錄操作員退出時間 CLOSE ALL CLEAR EVENTS &退出事件循環 QUIT &結束當前 Visual FoxPro 工作期,并將控制權返回給操作系統ENDIFENDFUNC(二)、在運行主程序后,系統調用登陸界面表單(圖4)主要事件代碼:FORM1的INIT事件代碼:SET BELL ONSET BELL TO .MUSICwelcome.wa
9、v,2?CHR(7)FORM1的UNLOAD事件代碼:SET BELL TO MUSICSILENT.WAV,2?CHR(7)此兩項功能分別為在打開表單時調用的音樂文件和關閉表單時調用的音樂文件。Command1的mouseup事件代碼:LPARAMETERS nButton, nShift, nXCoord, nYCoordrelease thisformDO FORM .mainpass.scxTimer1的timer事件代碼:release thisformDO FORM .mainpass.scxTimer2的timer事件代碼:為了實現五角星的閃動:IF THISFORM.label
10、5.visible thisform.label5.visible=.f. else thisform.label5.visible=.t.endifTimer3的timer事件代碼:為了實現五角星的閃動:IF THISFORM.label5.visible thisform.label5.visible=.t. else thisform.label5.visible=.t.endifTimer4的timer事件代碼:為了實現五角星的閃動:IF THISFORM.label5.visible thisform.label5.visible=.t else thisform.label5.vi
11、sible=.t.endif同時在每個五角星的顏色也做了設置。(三)系統登陸表單設計界面用戶在文本框輸入操作員及口令,若正確則調用系統主界面(菜單)。允許輸入三次,若三次均不正確剛自動退出系統。若用戶輸入的操作員姓名及口令正確,要完成下列工作:(1) 設置一個全局變量operat,用于記錄登陸系統的操作員姓名,系統中有3個地方要用到操作員的姓名和代號:一是進入主界面后在標題欄顯示的操作員姓名;二是操作員在系統管理模塊的口令設置中更改自己的口令,系統要知道是哪個操作員;三是退出系統時系統日志中要記錄操作員的退出時間。(2) 在系統日志表log.dbf中增加一條記錄,并同時記錄此操作員的登錄系統的
12、時間。(3) 從權限表menuright.dbf中讀出此操作員對應各菜單項的權限,并賦值給數組。(4) 調用菜單文件,顯示系統主界面。事件代碼:Form1的init事件代碼:SET EXACT ON &精確比較PUBLIC ARRAY rr18 &數組用于實現菜單項權限PUBLIC i &i用于記錄用戶名及口令輸入次數PUBLIC operat &operat用于保存操作員姓名 i=0THISFORM.Text1.Setfocus“確定”按鈕(COMMAND1)CLICK事件代碼:*判斷密碼是否正確i=i+1SELECT operatorLOCATE FOR 操作員姓名=ALLTRIM(THI
13、SFORM.Text1.Value)DO CASE CASE i=3 AND FOUND() AND THISFORM.Text2.Value=operator.口令 &輸入次數未超過3次且用戶名正確、口令正確 operat=THISFORM.Text1.Value INSERT INTO log(操作員代號,操作員姓名,登錄時間) VALUES(operator.操作員代號,operator.操作員姓名,DATETIME() _SCREEN.Caption=05計專學生管理系統+SPACE(40)+DTOC(DATE()+SPACE(40)+操作員:+operat SELECT 權限 FRO
14、M menuright INTO ARRAY rr WHERE 操作員代號=operator.操作員代號 ORDER BY 菜單項編號 RELEASE THISFORM DO .mainmain_menu.mpr CASE i=3 AND FOUND() AND THISFORM.Text2.Value!=operator.口令 &輸入次數未超過3次且用戶名正確、口令不正確 MESSAGEBOX(密碼錯誤,請重輸!,警告) THISFORM.Text2.Value= THISFORM.Text2.Setfocus CASE i3 &輸入次數超過3次 MESSAGEBOX(禁止進入系統!,警告)
15、 THISFORM.ReleaseENDCASE 退出按鈕(COMMAND2)CLICK事件代碼:RELEASE THISFORMCLEAR EVENTS(四)系統菜單設計1、 學生信息管理系統的菜單在應用系統中,各個了模塊是通過菜單組織在一起的。通過對人事工資管理系統功能模塊的設計,可以交系統劃分為3大模塊:學生信息管理、學生成績查詢、系統管理,具體的菜單設計見下表:學生信息管理學生成績管理系統管理學生信息維護學生成績查詢操作員管理口令設置學生信息查詢權限管理系統日志數據備份數據恢復退出系統2、 在菜單設計器中實現權限設置在菜單項設計器中,通過提示選項對話框設置菜單項的跳過條件可以實現用戶權
16、限。每個操作員對每個菜單項有兩種權限:0或1。“0”表示此操作員對該菜單項沒有操作權,系統運行后,該菜單項為灰色。不能打開對應的表單,“1”代表該操作員對該菜單項具有操作權,系統運行后,該菜單項可用,鼠標單擊菜單項能打開對應的表單。操作員對各菜單項的權限保存在表文件menuright.dbf中,在登錄系統時讀出該操作員對應各菜單項的權限,并賦值給一個數組RR。本系統共10個菜單項,所以定義的數組也包含10個元素。3、 學生信息維護表單包換下列功能:數據錄入、修改、刪除、查詢、瀏覽、保存、打印等。本表單左邊是瀏覽窗口,便于用戶瀏覽數據;右邊是編輯窗口,主要用于輸入修改數據。4、 在表單數據環境中
17、添加表:rsb.dbf、cjb、dbf。學生人事表和成績表的結構請打開數據庫表查看。在表單數據環境的BRFOREOPENTABLES事件中添加代碼:this.cursor1.exclusive=.t.5、 事件代碼:FORM1的INIT事件代碼:THISFORM.COMMANDGROUP1.CMDTOP.ENABLED=.F.THISFORM.COMMANDGROUP1.CMDPREV.ENABLED=.F.THISFORM.COMMANDGROUP1.CMDNEXT.ENABLED=.T.THISFORM.COMMANDGROUP1.CMDBOTTOM.ENABLED=.T.THISFORM
18、.COMMANDGROUP1.CMDADD.ENABLED=.T.THISFORM.COMMANDGROUP1.CMDEDIT.ENABLED=.T.THISFORM.COMMANDGROUP1.CMDDELETE.ENABLED=.T.THISFORM.COMMANDGROUP1.CMDFIND.ENABLED=.T.THISFORM.COMMANDGROUP1.CMDPRINT.ENABLED=.T.THISFORM.COMMANDGROUP1.CMDEXIT.ENABLED=.T.THISFORM.TEXT1.READONLY=.T.THISFORM.TEXT2.READONLY=.T.
19、THISFORM.OPTIONGROUP1.ENABLED=.F.THISFORM.TEXT3.READONLY=.T.THISFORM.TEXT4.READONLY=.T.THISFORM.TEXT5.READONLY=.T.THISFORM.TEXT6.READONLY=.T.THISFORM.CHECK1.READONLY=.T.THISFORM.EDIT1.READONLY=.T.THISFORM.GRID1.READONLY=.T.THISFORM.COMMAND1.visible=.T.THISFORM.LABEL11.visible=.F.THISFORM.TEXT7.visib
20、le=.F.FORM1的CLICK事件代碼:THISFORM.LABEL11.visible=.F.THISFORM.TEXT7.visible=.F. GRID1的afterrowclochange事件代碼:LPARAMETERS nColIndexthis.setall(dynamicbackcolor,IIF(This.activerowrecno(),rgb(255,255,255),rgb(0,255,0),column)select rsbthisform.refresh 此代碼實現不現顏色顯示選中的GRID對象的行及列。“第一個“按鈕的CLICK事件代碼:select rsbgo
21、 mandgroup1.cmdtop.enabled=.mandgroup1.cmdprev.enabled=.f.if not eof()mandgroup1.cmdnext.enabled=.mandgroup1.cmdbottom.enabled=.t.endifthisform.refresh“前一個“按鈕的CLICK事件代碼:select rsbskip -1if bof()go mandgroup1.cmdtop.enabled=.f.this
22、mandgroup1.cmdprev.enabled=.f.endifif not eof()mandgroup1.cmdnext.enabled=.mandgroup1.cmdbottom.enabled=.t.endifthisform.refresh“下一個“按鈕的CLICK事件代碼:select rsbskipif eof()go mandgroup1.cmdnext.enabled=.mandgroup1.cmdbottom.enabled=.f.end
23、ifif not bof()mandgroup1.cmdtop.enabled=.mandgroup1.cmdprev.enabled=.t.endifthisform.refresh“最后一個“按鈕的CLICK事件代碼:select rsbgo mandgroup1.cmdnext.enabled=.mandgroup1.cmdbottom.enabled=.f.if not bof()mandgroup1.cmdtop.enabled=.t.thisf
24、mandgroup1.cmdprev.enabled=.t.endifthisform.refresh“增加“按鈕的CLICK事件代碼:if this.caption=增加this.caption=保存THISFORM.COMMANDGROUP1.CMDTOP.ENABLED=.F.THISFORM.COMMANDGROUP1.CMDPREV.ENABLED=.F.THISFORM.COMMANDGROUP1.CMDNEXT.ENABLED=.F.THISFORM.COMMANDGROUP1.CMDBOTTOM.ENABLED=.F.THISFORM.COMMANDGROUP1.
25、CMDADD.ENABLED=.T.THISFORM.COMMANDGROUP1.CMDEDIT.ENABLED=.F.THISFORM.COMMANDGROUP1.CMDDELETE.ENABLED=.F.THISFORM.COMMANDGROUP1.CMDFIND.ENABLED=.F.THISFORM.COMMANDGROUP1.CMDPRINT.ENABLED=.F.THISFORM.COMMANDGROUP1.CMDEXIT.ENABLED=.F.THISFORM.TEXT1.READONLY=.F.THISFORM.TEXT2.READONLY=.F.THISFORM.OPTION
26、GROUP1.ENABLED=.T.THISFORM.TEXT3.READONLY=.F.THISFORM.TEXT4.READONLY=.F.THISFORM.TEXT5.READONLY=.F.THISFORM.TEXT6.READONLY=.F.THISFORM.CHECK1.READONLY=.F.THISFORM.EDIT1.READONLY=.F.THISFORM.COMMAND1.VISIBLE=.F.SELECT RSBAPPEND BLANKGO BOTTOMTHISFORM.TEXT1.SETFOCUS()THISFORM.REFRESHELSETHIS.CAPTION=增
27、加THISFORM.COMMANDGROUP1.CMDTOP.ENABLED=.t.THISFORM.COMMANDGROUP1.CMDPREV.ENABLED=.t.THISFORM.COMMANDGROUP1.CMDNEXT.ENABLED=.t.THISFORM.COMMANDGROUP1.CMDBOTTOM.ENABLED=.t.THISFORM.COMMANDGROUP1.CMDADD.ENABLED=.t.THISFORM.COMMANDGROUP1.CMDEDIT.ENABLED=.t.THISFORM.COMMANDGROUP1.CMDDELETE.ENABLED=.t.THI
28、SFORM.COMMANDGROUP1.CMDFIND.ENABLED=.t.THISFORM.COMMANDGROUP1.CMDPRINT.ENABLED=.t.THISFORM.COMMANDGROUP1.CMDEXIT.ENABLED=.t.THISFORM.TEXT1.READONLY=.t.THISFORM.TEXT2.READONLY=.t.THISFORM.OPTIONGROUP1.ENABLED=.f.THISFORM.TEXT3.READONLY=.t.THISFORM.TEXT4.READONLY=.t.THISFORM.TEXT5.READONLY=.t.THISFORM
29、.TEXT6.READONLY=.t.THISFORM.CHECK1.READONLY=.t.THISFORM.EDIT1.READONLY=.mand1.visible=.t.endif“刪除“按鈕的CLICK事件代碼:SELECT RSBXH=RSB.學號sel=messagebox(該記錄學號為:+XH+chr(13)+真的要刪除嗎?,4+32+256,提示)if sel=6deleteendif“查找“按鈕的CLICK事件代碼:thisform.label11.visible=.t.thisform.text7.visible=.t.thisform.tex
30、t7.value=thisform.text7.setfocus()“打印“按鈕的CLICK事件代碼:report form .menu1rsb_bb1.frx preview for rsb.學號=alltrim(thisform.text1.value)“退出“按鈕的CLICK事件代碼:select rsbpackthisform.release“TEXT7”的valid事件代碼為:select rsbset filter to 學號=alltrim(thisform.text7.value) or 學生姓名=alltrim(thisform.text7.value)locate for
31、學號=alltrim(thisform.text7.value) or 學生姓名=alltrim(thisform.text7.value)thisform.refreshset filter to6、運行界面:(如圖5)(圖5)7、學生信息查詢菜單的設計學生人事信息的查詢是基于RSB.dbf表,菜單提供學號,姓名,全體查詢。分別利用不同的命令代碼方式實現查詢打印功能。功能是便于指導員和老師,學生用戶的檢索查詢。各事件的代碼如下:FORM1的INIT事件代碼:*輸入編號、姓名提示標簽及文本框THISFORM.Label2.Visible=.F.THISFORM.Text1.Visible=.F
32、.THISFORM.Text1.Setfocus()*輸入起始日期、截止日期提示標簽及文本框不可見THISFORM.Label4.Visible=.F.THISFORM.Label5.Visible=.F.THISFORM.Text2.Visible=.F.THISFORM.Text3.Visible=.F.THISFORM.Command4.Visible=.F.*表格數據不可修改THISFORM.Grid1.Readonly=.T.Optiongroup1的CLICK事件代碼:*選定查詢類別后,設置各控件是否可見DO CASE CASE THIS.Value=1 &按學號查詢 THISFO
33、RM.Label2.Visible=.T. THISFORM.Text1.Visible=.T. THISFORM.Label4.Visible=.F. THISFORM.Label5.Visible=.F.THISFORM.Text2.Visible=.F.THISFORM.Text3.Visible=.F.THISFORM.Command4.Visible=.F. THISFORM.Label2.Caption=請輸入要查詢的學號: THISFORM.Text1.Value= THISFORM.Text1.Setfocus CASE THIS.Value=2 &按姓名查詢 THISFORM
34、.Label2.Visible=.T. THISFORM.Text1.Visible=.T. THISFORM.Label4.Visible=.F.THISFORM.Label5.Visible=.F.THISFORM.Text2.Visible=.F.THISFORM.Text3.Visible=.F.THISFORM.Command4.Visible=.F. THISFORM.Label2.Caption=請輸入學生姓名: THISFORM.Text1.Value= THISFORM.Text1.Setfocus() CASE THIS.Value=3 &按出生日期查詢 THISFORM.
35、Label2.Visible=.F. THISFORM.Text1.Visible=.F. THISFORM.Label4.Visible=.T. THISFORM.Label5.Visible=.T. THISFORM.Text2.Visible=.T. THISFORM.Text3.Visible=.T. THISFORM.Command4.Visible=.T. THISFORM.Text2.Setfocus CASE THIS.Value=4 &顯示全體記錄 THISFORM.Label2.Visible=.F. THISFORM.Text1.Visible=.F. THISFORM.Label4.Visible=.F.THISFORM.Label5.Visible=.F.THISFORM.Text2.Visible=.F.THISFORM.Text3.Visible=.F.THISFORM.Command4.Visible=.F. SET FILTER TO GO TOP THISFORM.Grid1.RefreshENDCASEGRID1的數據連接連接RSB表。一一對應該對應的數據項,COMMAND4(查詢)的CLICK事件代碼:*按輸入的日期條件在表格中顯示查
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 礦石浮選工藝優化-石墨滑石選礦考核試卷
- 畜禽繁殖力與遺傳改良研究考核試卷
- 紡織材料與纖維的研究與發展考核試卷
- 電腦系統優化與提速技巧考核試卷
- 筆的制造生產計劃編制與執行考核試卷
- 嘉興南湖學院《Python數據分析與應用》2023-2024學年第二學期期末試卷
- 昆明理工大學津橋學院《CAD制圖》2023-2024學年第二學期期末試卷
- 咸陽市2025年三年級數學第二學期期末學業水平測試試題含解析
- 日照職業技術學院《國際商務創業策劃案例分析》2023-2024學年第二學期期末試卷
- 寧德市周寧縣2024-2025學年數學四年級第二學期期末考試試題含解析
- 2024心理健康服務規范
- 《高績效團隊》課件
- 2024年廣東省汕頭市龍湖區中考語文一模試卷
- 中輻放射性藥物貯存及銷售項目環評資料環境影響
- (人教2024版)數學五年級上冊第6單元《多邊形的面積》大單元教學課件
- 行政事業單位內部控制制度之合同管理制度
- 大學生心理健康與發展學習通超星期末考試答案章節答案2024年
- 《平行四邊形》全章復習教學設計
- (新版)高級考評員職業技能鑒定考試題庫(含答案)
- 2025年高考語文第一輪復習:高考文言文閱讀挖空練習高考語文文言文備考總復習(全國)
- 2024秋期國家開放大學《公共政策概論》一平臺在線形考(形考任務1至4)試題及答案
評論
0/150
提交評論