VF學生成績管理系統(tǒng)課程設計.doc_第1頁
VF學生成績管理系統(tǒng)課程設計.doc_第2頁
VF學生成績管理系統(tǒng)課程設計.doc_第3頁
VF學生成績管理系統(tǒng)課程設計.doc_第4頁
VF學生成績管理系統(tǒng)課程設計.doc_第5頁
已閱讀5頁,還剩8頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

河南理工大學計算機科學與技術學院課程設計報告200 7 200 8 學年第 二 學期課程名稱 數(shù)據(jù)庫課程設計 設計題目 學生成績管理系統(tǒng) 學生姓名 0 學 號 專業(yè)班級 指導教師 申自浩 2008 年 7 月 1 日1 問題描述 1.1 背景 1)某大學有學生若干萬名,每個學生每學期必須學習若干門課程。 2)每個學生有學號、姓名、性別、班級、出生日期等基本信息。 3)每門課程有課程號,課程名稱、任課教師、學分等信息。 4)學校需要對每個學生的基本信息、所學課程、成績進行統(tǒng)一管理,以便于對信息進行查詢、瀏覽和修改。1.2 數(shù)據(jù)需求 學生成績管理系統(tǒng)主要用于學生成績信息管理,據(jù)分析學生成績管理系統(tǒng)的數(shù)據(jù)表可濃縮為:學生基本信息表、課程基本信息表和學生成績信息表。根據(jù)學校的情況,可按下面的步驟來分析:(1) 確定學生所在的院系、所學的專業(yè)以及所在的班級。(2) 確定學生所在班級的課程以及該課程學生的成績;另外還需要知道學生所在班級、學號和學期。(3) 分析學生的基本信息,如姓名、性別、出生年月、家庭住址、聯(lián)系電話。(4) 用戶信息分析,通常包括用戶名和密碼。2 解決方案 ( 或數(shù)據(jù)庫系統(tǒng)設計 ) 性別2.1 E-R 模型設計 課程學生班級學號出生日期姓名查詢成績任課教師課程號課程名稱學分成績 根據(jù)ER圖,將其轉化為如下數(shù)據(jù)實體,數(shù)據(jù)庫:學生成績管理系統(tǒng).dbc,包括如下的表和視圖:1) 學生登記表學生表.dbf。字段名稱 字段類型 字段寬度xh 字符型 10xm 字符型 6xb 字符型 2csrq 日期型 8bj 字符型 42) 課程登記表課程表.dbf。 字段名稱 字段類型 字段寬度kch 字符型 2kcm 字符型 10js 字符型 10xf 字符型 103) 成績登記表成績表.dbf字段名稱 字段類型 字段寬度xh 字符型 10kch 字符型 2cj 數(shù)值型 34) 借書視圖(lyxview)。為了進行瀏覽總表的需要,需要設計了一個總表瀏覽視圖,該視圖從學生表.dbf等3個表中提取了10個字段的數(shù)據(jù):學生表.xh學生表.xm學生表.xb學生表.csrq學生表.bj課程表.kch課程表.kcm課程表.js課程表.xf成績表.cj其視圖關系可由以下SQL語句定義:SELECT 學生表.*, 課程表.*, 成績表.cj; FROM 學生成績管理系統(tǒng)!學生表, 學生成績管理系統(tǒng)!課程表,; 學生成績管理系統(tǒng)!成績表; WHERE 學生表.xh = 成績表.xh; AND 課程表.kch = 成績表.kch所建數(shù)據(jù)庫如下圖所示:2.2 數(shù)據(jù)表 本系統(tǒng)需要使用的數(shù)據(jù)如下:3 系統(tǒng)實現(xiàn) 3.1 開發(fā)環(huán)境 本系統(tǒng)由SQL語言編寫,在Visual Foxpro 6.0軟件環(huán)境下可以正常運行3.2 系統(tǒng)流程圖 系統(tǒng)流程圖模塊主要由劉龍洋同學設計,而系統(tǒng)的功能設計主要由李江濱同學完成,我主要負責程序主要功能界面的設計,下面是部分流程圖:開始用戶登陸界面總表瀏覽成績報表課程報表學生報表版權所有查詢維護表記錄瀏覽成績?yōu)g覽課程瀏覽學生更改口令系統(tǒng)維護瀏覽查詢報表幫助、3.3 程序主要功能界面 1、登錄界面的設計:第一步:在表單上單擊鼠標右鍵,并在彈出菜單中選擇“數(shù)據(jù)環(huán)境”項,打開數(shù)據(jù)環(huán)境設計器,添加數(shù)據(jù)表mm.dbf;第二步:創(chuàng)建表單并保存為“登錄”;第三步:添加lable1,并設置其caption屬性為“歡迎使用學生成績管理系統(tǒng)!”;第四步:添加lable2和text1并設置相關屬性;第五步:添加timer控件,并設置其Enabled屬性為“真”,用于設計窗口動畫。登錄界面如下圖所示: 2、修改密碼表單的設計:第一步:在表單上單擊鼠標右鍵,并在彈出菜單中選擇“數(shù)據(jù)環(huán)境”項,打開數(shù)據(jù)環(huán)境設計器,添加數(shù)據(jù)表mm.dbf;第二步:創(chuàng)建表單并保存為“修改密碼”;第三步:添加label1 、label2、 label3,并設置其caption屬性分別為“請輸入舊密碼”、“請輸入新密碼”、“請確認新密碼”;第四步:添加text1、 text2、 text3,并設置相關屬性;第五步:添加command1和command2,并設置其caption屬性分別為“確認”和“取消”; 修改密碼表單如下圖:3、學生基本信息維護表單的設計:第一步:創(chuàng)建表單,并保存為學生表.scx;第二步:添加lable1lable5,其caption的屬性如下圖所示 ;第三步: 添加文本框text1text5,并設置相關屬性;第四步:添加“院系”、“專業(yè)”、“班級”和“學期”列表框;第五步:添加類,并設置相關屬性,用于增添和修改學生基本信息;第六步:添加文本框text6,并設置相關屬性;第七步:添加command1command10,并設置相關屬性;第八步:添加“返回”按鈕,其功能是關閉此界面;第九步:執(zhí)行運行命令,并進行測試。4、課程信息維護表單的設計:第一步:創(chuàng)建表單,并保存為課程表.scx;第二步:添加lable1lable4,其caption的屬性如下圖所示 ;第三步: 添加文本框text1text4,并設置相關屬性;第四步:添加類,并設置相關屬性,用于增添和修改課程基本信息;第五步:添加command1command10,并設置相關屬性5、學生成績信息維護表單的設計:第一步:創(chuàng)建表單,并保存為成績表.scx;第二步:添加lable1lable3,其caption的屬性如下圖所示 ;第三步: 添加文本框text1text3,并設置相關屬性;第四步:添加類,并設置相關屬性,用于增添和修改學生成績基本信息;第五步:添加command1command10,并設置相關屬性;第六步:執(zhí)行運行命令,并進行測試 6、瀏覽學生表單的設計:第一步:創(chuàng)建表單,并保存為“瀏覽學生.scx”;第二步:使用組合框生成器來生成編輯組合框,其操作步驟是:首先選擇要編輯的組合框,然后單擊鼠標右鍵,在彈出的快捷菜單中選擇 “生成器”菜單項,屏幕上彈出組合框生成器窗體,設置數(shù)據(jù)環(huán)境為“學生表.dbf”。第三步: 添加label1和列表框,并設置相關屬性;第四步:添加command1,并設置其caption屬性為“查找”。7、瀏覽成績表單的設計:第一步:創(chuàng)建表單,并保存為“瀏覽成績.scx”;第二步:使用組合框生成器來生成編輯組合框,其操作步驟是:首先選擇要編輯的組合框,然后單擊鼠標右鍵,在彈出的快捷菜單中選擇 “生成器”菜單項,屏幕上彈出組合框生成器窗體,設置數(shù)據(jù)環(huán)境為“成績表.dbf”。第三步: 添加label1和列表框,并設置相關屬性;第四步:添加command1,并設置其caption屬性為“查找”。運行界面如下: 8、查詢成績表單的設計:第一步:創(chuàng)建表單,并保存為“查詢成績.scx”;第二步:使用組合框生成器來生成編輯組合框,其操作步驟是:首先選擇要編輯的組合框,然后單擊鼠標右鍵,在彈出的快捷菜單中選擇 “生成器”菜單項,屏幕上彈出組合框生成器窗體,設置數(shù)據(jù)環(huán)境為“成績表.dbf”。第三步: 添加label1,并設置其caption屬性為“瀏覽學生成績”;第四步:添加command1、command2,并設置其caption屬性為“查詢”和“退出”。 運行界面如下: 9、學生表報表的設計:學生表報表的設計過程說明如下:報表數(shù)據(jù)源 學生表.dbf,該表已在前面做了說明。報表分組條件 學生表.bj報表排序條件 學生表.xh該報表由向導程序生成,其后進行了一些格式美化的調整修改工作,關鍵問題是要先定義好作為數(shù)據(jù)源的表文件,運行界面如下:10、課程表報表的設計:學生表報表的設計過程說明如下:報表數(shù)據(jù)源 課程表.dbf,該表已在前面做了說明。報表排序條件 課程表.kch該報表由向導程序生成,其后進行了一些格式美化的調整修改工作,關鍵問題是要先定義好作為數(shù)據(jù)源的表文件,運行界面如下: 11、成績表報表的設計:成績表報表的設計過程說明如下:報表數(shù)據(jù)源 成績表.dbf,該表已在前面做了說明。報表分組條件 成績表.kcm報表排序條件 學生表.xh該報表由向導程序生成,其后進行了一些格式美化的調整修改工作,關鍵問題是要先定義好作為數(shù)據(jù)源的表文件,運行界面如下:12、幫助表單的設計:第一步:創(chuàng)建表單,并保存為 版權.scx;第二步:添加lable1lable3,其caption的屬性如下圖所示 ;第三步: 設置其picture屬性,選擇背景圖片。 運行界面如下:3.4程序調試情況 本系統(tǒng)在設計好之后,初次調試過程中一直出現(xiàn)編譯不成功的現(xiàn)象,系統(tǒng)總是顯示你所編譯的目標文件不存在,找不到你所編譯的目標文件路徑,后來通過查資料才知道,Visual Foxpro 6.0軟件在對程序編譯的時候默認路徑為D盤,隨后我們將原vf軟件裝入D盤,才編譯成功。編譯成功之后生成可執(zhí)行文件的過程如下:第一步:在“項目管理器”中設計完成相應的數(shù)據(jù)庫、數(shù)據(jù)表、各種應用界面、菜單以及主控程序“主程序.prg”,并將“主程序.prg”設置為主文件;第二步:生成可執(zhí)行文件。在項目管理器中 執(zhí)行“連編可執(zhí)行文件”創(chuàng)建可執(zhí)行文件(.exe),單擊“確定”按鈕后系統(tǒng)打開“另存為”對話框。將文件另存為“學生成績管理系統(tǒng)”,然后單擊“保存”按鈕,系統(tǒng)將自動對項目中的所有程序進行編譯。3.5 結論 在本次課程設計中,我主要負責學生成績管理系統(tǒng)的界面設計。界面設計非常重要,它是一套系統(tǒng)展現(xiàn)在使用者沒面前的最終東西,它的好壞將直接影響到使用者對本套系統(tǒng)的認可,良好的仕途效果與平面設計,以及好的布局能給人留下深刻的印象。在設計過程中碰到了好多問題,但最終在同學和老師的幫助下都得到了解決,在設計學生成績管理界面時,我學會了好多在課本上學不到的東西,通過本次課程設計我也能將課本上的知識融會貫通,提到很好的輔助學習效果。 結束語 通過做課程設計,我確實學到了相當多的東西。眼高手低是同學們的通病,有些事情看起來很同意,但做起來并不是如此。在做本次數(shù)據(jù)庫課程設計之前,我已經(jīng)將課本上的東西熟練掌握,自認為做一個很簡單的課程設計應該很容易,然而真正操作起來卻遇到了很多的麻煩。首先,在開始做課程設計時對整個模塊的把握不夠好,以至于浪費了好多時間而沒能按想象中的順利完成。其次,在編寫各個模塊的程序代碼時,真正感覺到了難度相當大,每次編寫出來的代碼都需要經(jīng)過好幾次修改才能順利運行,而且在編寫代碼時常常會遇到一些很難解決的問題。但是我總相信一句話“只要堅持,一千次失敗過后,被會有一次閃亮的成功,凡事不能一蹴而就,對待學問、對待科研更是如此”,在做完這次課程設計之后,我也體會到了一種成功的喜悅。同時這次課程設計也讓我查到了許多在數(shù)據(jù)庫學習中的漏洞,我也通過這次的實踐機會完善了自己的知識,起到了很好的查缺補漏的效果。參考文獻1、關系數(shù)據(jù)庫原理與系統(tǒng),宋瀚濤,梁允榮,北京理工大學出版社,19922、數(shù)據(jù)庫系統(tǒng)設計及其應用案例分析,劉秋生,東南大學出版社,20053、數(shù)據(jù)庫系統(tǒng)概論(第3版),王珊,高等教育出版社,20024、SQL Server數(shù)據(jù)庫原理及應用教程,張麗,王強,清華大學出版社,20035、visual foxpro應用于開發(fā)案例教程,徐謖, 清華大學出版社20056、Visual FoxPro 6.0數(shù)據(jù)庫原理與應用,胡曉燕, 西安電子科技大學出版社7、Visual FoxPro 6.0程序設計教程,劉瑞新, 文成林 機械工業(yè)出版社附錄:源代碼清單 1、主程序clear allclose allset sysm offset sysm toset noti offset stat bar offset pale offset bell onset esca onset keyc to windset carr onset conf onset exac on /offset near onset ansi offset dele onset opti onset talk offset safety off*set defa to D:vf作業(yè)public xtbtxtbt=學生成績管理系統(tǒng)_screen.caption=xtbt_screen.icon=linux.icodo form 學生成績管理系統(tǒng).scxread eventsreturn2.查詢成績clear*set exact off*set defa to D:vf作業(yè)open database 學生成績管理系統(tǒng).dbcpublic skcmskcm=thisform.pageframe1.page1.text1.textselect 學生表.xh,學生表.xm,學生表.xb,學生表.csrq,學生表.bj,課程表.kcm,課程表.js,課程表.xf,成績表.cj from 學生表 join 成績表 join 課程表;on 課程表.kch=成績表.kch on 學生表.xh=成績表.xh where 成績表.xh = skcmrelease thisformclear*set defa to D:vf作業(yè)open database 學生成績管理系統(tǒng).dbcpublic skcmskcm=thisform.pageframe1.page2.text1.textselect * from lyxview where kch=skcmrelease thisform3.登陸clear*set defa to D:vf作業(yè)use mm.dbf exclloca all for alltrim(mm)=alltrim(thisform.Text1.text)if .not.eof()messagebox(登陸成功!)do 主菜單.MPRdo form 背景.scxrele thisformelsemessagebox(密碼錯誤,48,警告)endifquit4、修改密碼clearclose alluse mm.dbf exclif thisform.text2.text!=thisform.text3.Textmessagebox(兩次密碼輸入不同,48,警告)else loca all for alltrim(Mm)=alltrim(thisform.Text1.text)if .not.eof() replace Mm with thisform.text2.text messagebox(密碼修改成功,64,恭喜)else messagebox(密碼錯誤,48,警告)endifendifrele thisformclose all5.瀏覽close allopen database 學生成績管理系統(tǒng).dbcselect * from lyxviewselect xh as 學號,xm as 姓名,xb as 性別,bj as 班級,csrq as 出生日期,kch as 課程號,kcm as 課程名,xf as 學分,js as 教師,cj as 成績 from lyxviewclear*set defa to D:vf作業(yè)open database 學生成績管理系統(tǒng).dbcpublic skcmskcm=thisform.pageframe1.page2.text1.textselect * from lyxview where kcm=skcmclear*set defa to D:vf作業(yè)open database 學生成績管理系統(tǒng).dbcpublic skcmskcm=bo1.valuethisform.refresh()select * from lyxview where bj=skcm6、查找按班級名查找學生:clear*set defa to D:vf作業(yè)open database data學生成績管理系統(tǒng).dbcpublic skcmskcm=thisform.pageframe1.page2.text1.textselect 學生表.xh,學生表.xm,學生表.xb,學生表.csrq,學生表.bj,課程表.kcm,課程表.js,課程表.xf,成績表.cj from 學生表 join 成績表 join 課程表;on 課程表.kch=成績表.kch on 學生表.xh=成績表.xh where 學生表.bj=skcm*clear*set defa to D:vf作業(yè)open database 學生成績管理系統(tǒng).dbcpublic skcmskcm=thisform.pageframe1.page2.text1.textselect * from lyxview where bj=skcm*skcm=bo1.value*按課程名查找課程:clear*set defa to D:vf作業(yè)open database data學生成績管理系統(tǒng).dbcpublic skcmskcm=thisform.pageframe1.page2.text1.textselect 學生表.xh,學生表.xm,學生表.xb,學生表.csrq,學生表.bj,課程表.kcm,課程表.js,課程表.xf,成績表.cj from 學生表 join

溫馨提示

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

評論

0/150

提交評論