




已閱讀5頁,還剩8頁未讀, 繼續(xù)免費(fèi)閱讀
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
河南理工大學(xué)計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院課程設(shè)計(jì)報(bào)告200 7 200 8 學(xué)年第 二 學(xué)期課程名稱 數(shù)據(jù)庫課程設(shè)計(jì) 設(shè)計(jì)題目 學(xué)生成績管理系統(tǒng) 學(xué)生姓名 0 學(xué) 號 專業(yè)班級 指導(dǎo)教師 申自浩 2008 年 7 月 1 日1 問題描述 1.1 背景 1)某大學(xué)有學(xué)生若干萬名,每個(gè)學(xué)生每學(xué)期必須學(xué)習(xí)若干門課程。 2)每個(gè)學(xué)生有學(xué)號、姓名、性別、班級、出生日期等基本信息。 3)每門課程有課程號,課程名稱、任課教師、學(xué)分等信息。 4)學(xué)校需要對每個(gè)學(xué)生的基本信息、所學(xué)課程、成績進(jìn)行統(tǒng)一管理,以便于對信息進(jìn)行查詢、瀏覽和修改。1.2 數(shù)據(jù)需求 學(xué)生成績管理系統(tǒng)主要用于學(xué)生成績信息管理,據(jù)分析學(xué)生成績管理系統(tǒng)的數(shù)據(jù)表可濃縮為:學(xué)生基本信息表、課程基本信息表和學(xué)生成績信息表。根據(jù)學(xué)校的情況,可按下面的步驟來分析:(1) 確定學(xué)生所在的院系、所學(xué)的專業(yè)以及所在的班級。(2) 確定學(xué)生所在班級的課程以及該課程學(xué)生的成績;另外還需要知道學(xué)生所在班級、學(xué)號和學(xué)期。(3) 分析學(xué)生的基本信息,如姓名、性別、出生年月、家庭住址、聯(lián)系電話。(4) 用戶信息分析,通常包括用戶名和密碼。2 解決方案 ( 或數(shù)據(jù)庫系統(tǒng)設(shè)計(jì) ) 性別2.1 E-R 模型設(shè)計(jì) 課程學(xué)生班級學(xué)號出生日期姓名查詢成績?nèi)握n教師課程號課程名稱學(xué)分成績 根據(jù)ER圖,將其轉(zhuǎn)化為如下數(shù)據(jù)實(shí)體,數(shù)據(jù)庫:學(xué)生成績管理系統(tǒng).dbc,包括如下的表和視圖:1) 學(xué)生登記表學(xué)生表.dbf。字段名稱 字段類型 字段寬度xh 字符型 10xm 字符型 6xb 字符型 2csrq 日期型 8bj 字符型 42) 課程登記表課程表.dbf。 字段名稱 字段類型 字段寬度kch 字符型 2kcm 字符型 10js 字符型 10xf 字符型 103) 成績登記表成績表.dbf字段名稱 字段類型 字段寬度xh 字符型 10kch 字符型 2cj 數(shù)值型 34) 借書視圖(lyxview)。為了進(jìn)行瀏覽總表的需要,需要設(shè)計(jì)了一個(gè)總表瀏覽視圖,該視圖從學(xué)生表.dbf等3個(gè)表中提取了10個(gè)字段的數(shù)據(jù):學(xué)生表.xh學(xué)生表.xm學(xué)生表.xb學(xué)生表.csrq學(xué)生表.bj課程表.kch課程表.kcm課程表.js課程表.xf成績表.cj其視圖關(guān)系可由以下SQL語句定義:SELECT 學(xué)生表.*, 課程表.*, 成績表.cj; FROM 學(xué)生成績管理系統(tǒng)!學(xué)生表, 學(xué)生成績管理系統(tǒng)!課程表,; 學(xué)生成績管理系統(tǒng)!成績表; WHERE 學(xué)生表.xh = 成績表.xh; AND 課程表.kch = 成績表.kch所建數(shù)據(jù)庫如下圖所示:2.2 數(shù)據(jù)表 本系統(tǒng)需要使用的數(shù)據(jù)如下:3 系統(tǒng)實(shí)現(xiàn) 3.1 開發(fā)環(huán)境 本系統(tǒng)由SQL語言編寫,在Visual Foxpro 6.0軟件環(huán)境下可以正常運(yùn)行3.2 系統(tǒng)流程圖 系統(tǒng)流程圖模塊主要由劉龍洋同學(xué)設(shè)計(jì),而系統(tǒng)的功能設(shè)計(jì)主要由李江濱同學(xué)完成,我主要負(fù)責(zé)程序主要功能界面的設(shè)計(jì),下面是部分流程圖:開始用戶登陸界面總表瀏覽成績報(bào)表課程報(bào)表學(xué)生報(bào)表版權(quán)所有查詢維護(hù)表記錄瀏覽成績?yōu)g覽課程瀏覽學(xué)生更改口令系統(tǒng)維護(hù)瀏覽查詢報(bào)表幫助、3.3 程序主要功能界面 1、登錄界面的設(shè)計(jì):第一步:在表單上單擊鼠標(biāo)右鍵,并在彈出菜單中選擇“數(shù)據(jù)環(huán)境”項(xiàng),打開數(shù)據(jù)環(huán)境設(shè)計(jì)器,添加數(shù)據(jù)表mm.dbf;第二步:創(chuàng)建表單并保存為“登錄”;第三步:添加lable1,并設(shè)置其caption屬性為“歡迎使用學(xué)生成績管理系統(tǒng)!”;第四步:添加lable2和text1并設(shè)置相關(guān)屬性;第五步:添加timer控件,并設(shè)置其Enabled屬性為“真”,用于設(shè)計(jì)窗口動畫。登錄界面如下圖所示: 2、修改密碼表單的設(shè)計(jì):第一步:在表單上單擊鼠標(biāo)右鍵,并在彈出菜單中選擇“數(shù)據(jù)環(huán)境”項(xiàng),打開數(shù)據(jù)環(huán)境設(shè)計(jì)器,添加數(shù)據(jù)表mm.dbf;第二步:創(chuàng)建表單并保存為“修改密碼”;第三步:添加label1 、label2、 label3,并設(shè)置其caption屬性分別為“請輸入舊密碼”、“請輸入新密碼”、“請確認(rèn)新密碼”;第四步:添加text1、 text2、 text3,并設(shè)置相關(guān)屬性;第五步:添加command1和command2,并設(shè)置其caption屬性分別為“確認(rèn)”和“取消”; 修改密碼表單如下圖:3、學(xué)生基本信息維護(hù)表單的設(shè)計(jì):第一步:創(chuàng)建表單,并保存為學(xué)生表.scx;第二步:添加lable1lable5,其caption的屬性如下圖所示 ;第三步: 添加文本框text1text5,并設(shè)置相關(guān)屬性;第四步:添加“院系”、“專業(yè)”、“班級”和“學(xué)期”列表框;第五步:添加類,并設(shè)置相關(guān)屬性,用于增添和修改學(xué)生基本信息;第六步:添加文本框text6,并設(shè)置相關(guān)屬性;第七步:添加command1command10,并設(shè)置相關(guān)屬性;第八步:添加“返回”按鈕,其功能是關(guān)閉此界面;第九步:執(zhí)行運(yùn)行命令,并進(jìn)行測試。4、課程信息維護(hù)表單的設(shè)計(jì):第一步:創(chuàng)建表單,并保存為課程表.scx;第二步:添加lable1lable4,其caption的屬性如下圖所示 ;第三步: 添加文本框text1text4,并設(shè)置相關(guān)屬性;第四步:添加類,并設(shè)置相關(guān)屬性,用于增添和修改課程基本信息;第五步:添加command1command10,并設(shè)置相關(guān)屬性5、學(xué)生成績信息維護(hù)表單的設(shè)計(jì):第一步:創(chuàng)建表單,并保存為成績表.scx;第二步:添加lable1lable3,其caption的屬性如下圖所示 ;第三步: 添加文本框text1text3,并設(shè)置相關(guān)屬性;第四步:添加類,并設(shè)置相關(guān)屬性,用于增添和修改學(xué)生成績基本信息;第五步:添加command1command10,并設(shè)置相關(guān)屬性;第六步:執(zhí)行運(yùn)行命令,并進(jìn)行測試 6、瀏覽學(xué)生表單的設(shè)計(jì):第一步:創(chuàng)建表單,并保存為“瀏覽學(xué)生.scx”;第二步:使用組合框生成器來生成編輯組合框,其操作步驟是:首先選擇要編輯的組合框,然后單擊鼠標(biāo)右鍵,在彈出的快捷菜單中選擇 “生成器”菜單項(xiàng),屏幕上彈出組合框生成器窗體,設(shè)置數(shù)據(jù)環(huán)境為“學(xué)生表.dbf”。第三步: 添加label1和列表框,并設(shè)置相關(guān)屬性;第四步:添加command1,并設(shè)置其caption屬性為“查找”。7、瀏覽成績表單的設(shè)計(jì):第一步:創(chuàng)建表單,并保存為“瀏覽成績.scx”;第二步:使用組合框生成器來生成編輯組合框,其操作步驟是:首先選擇要編輯的組合框,然后單擊鼠標(biāo)右鍵,在彈出的快捷菜單中選擇 “生成器”菜單項(xiàng),屏幕上彈出組合框生成器窗體,設(shè)置數(shù)據(jù)環(huán)境為“成績表.dbf”。第三步: 添加label1和列表框,并設(shè)置相關(guān)屬性;第四步:添加command1,并設(shè)置其caption屬性為“查找”。運(yùn)行界面如下: 8、查詢成績表單的設(shè)計(jì):第一步:創(chuàng)建表單,并保存為“查詢成績.scx”;第二步:使用組合框生成器來生成編輯組合框,其操作步驟是:首先選擇要編輯的組合框,然后單擊鼠標(biāo)右鍵,在彈出的快捷菜單中選擇 “生成器”菜單項(xiàng),屏幕上彈出組合框生成器窗體,設(shè)置數(shù)據(jù)環(huán)境為“成績表.dbf”。第三步: 添加label1,并設(shè)置其caption屬性為“瀏覽學(xué)生成績”;第四步:添加command1、command2,并設(shè)置其caption屬性為“查詢”和“退出”。 運(yùn)行界面如下: 9、學(xué)生表報(bào)表的設(shè)計(jì):學(xué)生表報(bào)表的設(shè)計(jì)過程說明如下:報(bào)表數(shù)據(jù)源 學(xué)生表.dbf,該表已在前面做了說明。報(bào)表分組條件 學(xué)生表.bj報(bào)表排序條件 學(xué)生表.xh該報(bào)表由向?qū)С绦蛏桑浜筮M(jìn)行了一些格式美化的調(diào)整修改工作,關(guān)鍵問題是要先定義好作為數(shù)據(jù)源的表文件,運(yùn)行界面如下:10、課程表報(bào)表的設(shè)計(jì):學(xué)生表報(bào)表的設(shè)計(jì)過程說明如下:報(bào)表數(shù)據(jù)源 課程表.dbf,該表已在前面做了說明。報(bào)表排序條件 課程表.kch該報(bào)表由向?qū)С绦蛏?,其后進(jìn)行了一些格式美化的調(diào)整修改工作,關(guān)鍵問題是要先定義好作為數(shù)據(jù)源的表文件,運(yùn)行界面如下: 11、成績表報(bào)表的設(shè)計(jì):成績表報(bào)表的設(shè)計(jì)過程說明如下:報(bào)表數(shù)據(jù)源 成績表.dbf,該表已在前面做了說明。報(bào)表分組條件 成績表.kcm報(bào)表排序條件 學(xué)生表.xh該報(bào)表由向?qū)С绦蛏?,其后進(jìn)行了一些格式美化的調(diào)整修改工作,關(guān)鍵問題是要先定義好作為數(shù)據(jù)源的表文件,運(yùn)行界面如下:12、幫助表單的設(shè)計(jì):第一步:創(chuàng)建表單,并保存為 版權(quán).scx;第二步:添加lable1lable3,其caption的屬性如下圖所示 ;第三步: 設(shè)置其picture屬性,選擇背景圖片。 運(yùn)行界面如下:3.4程序調(diào)試情況 本系統(tǒng)在設(shè)計(jì)好之后,初次調(diào)試過程中一直出現(xiàn)編譯不成功的現(xiàn)象,系統(tǒng)總是顯示你所編譯的目標(biāo)文件不存在,找不到你所編譯的目標(biāo)文件路徑,后來通過查資料才知道,Visual Foxpro 6.0軟件在對程序編譯的時(shí)候默認(rèn)路徑為D盤,隨后我們將原vf軟件裝入D盤,才編譯成功。編譯成功之后生成可執(zhí)行文件的過程如下:第一步:在“項(xiàng)目管理器”中設(shè)計(jì)完成相應(yīng)的數(shù)據(jù)庫、數(shù)據(jù)表、各種應(yīng)用界面、菜單以及主控程序“主程序.prg”,并將“主程序.prg”設(shè)置為主文件;第二步:生成可執(zhí)行文件。在項(xiàng)目管理器中 執(zhí)行“連編可執(zhí)行文件”創(chuàng)建可執(zhí)行文件(.exe),單擊“確定”按鈕后系統(tǒng)打開“另存為”對話框。將文件另存為“學(xué)生成績管理系統(tǒng)”,然后單擊“保存”按鈕,系統(tǒng)將自動對項(xiàng)目中的所有程序進(jìn)行編譯。3.5 結(jié)論 在本次課程設(shè)計(jì)中,我主要負(fù)責(zé)學(xué)生成績管理系統(tǒng)的界面設(shè)計(jì)。界面設(shè)計(jì)非常重要,它是一套系統(tǒng)展現(xiàn)在使用者沒面前的最終東西,它的好壞將直接影響到使用者對本套系統(tǒng)的認(rèn)可,良好的仕途效果與平面設(shè)計(jì),以及好的布局能給人留下深刻的印象。在設(shè)計(jì)過程中碰到了好多問題,但最終在同學(xué)和老師的幫助下都得到了解決,在設(shè)計(jì)學(xué)生成績管理界面時(shí),我學(xué)會了好多在課本上學(xué)不到的東西,通過本次課程設(shè)計(jì)我也能將課本上的知識融會貫通,提到很好的輔助學(xué)習(xí)效果。 結(jié)束語 通過做課程設(shè)計(jì),我確實(shí)學(xué)到了相當(dāng)多的東西。眼高手低是同學(xué)們的通病,有些事情看起來很同意,但做起來并不是如此。在做本次數(shù)據(jù)庫課程設(shè)計(jì)之前,我已經(jīng)將課本上的東西熟練掌握,自認(rèn)為做一個(gè)很簡單的課程設(shè)計(jì)應(yīng)該很容易,然而真正操作起來卻遇到了很多的麻煩。首先,在開始做課程設(shè)計(jì)時(shí)對整個(gè)模塊的把握不夠好,以至于浪費(fèi)了好多時(shí)間而沒能按想象中的順利完成。其次,在編寫各個(gè)模塊的程序代碼時(shí),真正感覺到了難度相當(dāng)大,每次編寫出來的代碼都需要經(jīng)過好幾次修改才能順利運(yùn)行,而且在編寫代碼時(shí)常常會遇到一些很難解決的問題。但是我總相信一句話“只要堅(jiān)持,一千次失敗過后,被會有一次閃亮的成功,凡事不能一蹴而就,對待學(xué)問、對待科研更是如此”,在做完這次課程設(shè)計(jì)之后,我也體會到了一種成功的喜悅。同時(shí)這次課程設(shè)計(jì)也讓我查到了許多在數(shù)據(jù)庫學(xué)習(xí)中的漏洞,我也通過這次的實(shí)踐機(jī)會完善了自己的知識,起到了很好的查缺補(bǔ)漏的效果。參考文獻(xiàn)1、關(guān)系數(shù)據(jù)庫原理與系統(tǒng),宋瀚濤,梁允榮,北京理工大學(xué)出版社,19922、數(shù)據(jù)庫系統(tǒng)設(shè)計(jì)及其應(yīng)用案例分析,劉秋生,東南大學(xué)出版社,20053、數(shù)據(jù)庫系統(tǒng)概論(第3版),王珊,高等教育出版社,20024、SQL Server數(shù)據(jù)庫原理及應(yīng)用教程,張麗,王強(qiáng),清華大學(xué)出版社,20035、visual foxpro應(yīng)用于開發(fā)案例教程,徐謖, 清華大學(xué)出版社20056、Visual FoxPro 6.0數(shù)據(jù)庫原理與應(yīng)用,胡曉燕, 西安電子科技大學(xué)出版社7、Visual FoxPro 6.0程序設(shè)計(jì)教程,劉瑞新, 文成林 機(jī)械工業(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=學(xué)生成績管理系統(tǒng)_screen.caption=xtbt_screen.icon=linux.icodo form 學(xué)生成績管理系統(tǒng).scxread eventsreturn2.查詢成績clear*set exact off*set defa to D:vf作業(yè)open database 學(xué)生成績管理系統(tǒng).dbcpublic skcmskcm=thisform.pageframe1.page1.text1.textselect 學(xué)生表.xh,學(xué)生表.xm,學(xué)生表.xb,學(xué)生表.csrq,學(xué)生表.bj,課程表.kcm,課程表.js,課程表.xf,成績表.cj from 學(xué)生表 join 成績表 join 課程表;on 課程表.kch=成績表.kch on 學(xué)生表.xh=成績表.xh where 成績表.xh = skcmrelease thisformclear*set defa to D:vf作業(yè)open database 學(xué)生成績管理系統(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(密碼錯(cuò)誤,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(密碼錯(cuò)誤,48,警告)endifendifrele thisformclose all5.瀏覽close allopen database 學(xué)生成績管理系統(tǒng).dbcselect * from lyxviewselect xh as 學(xué)號,xm as 姓名,xb as 性別,bj as 班級,csrq as 出生日期,kch as 課程號,kcm as 課程名,xf as 學(xué)分,js as 教師,cj as 成績 from lyxviewclear*set defa to D:vf作業(yè)open database 學(xué)生成績管理系統(tǒng).dbcpublic skcmskcm=thisform.pageframe1.page2.text1.textselect * from lyxview where kcm=skcmclear*set defa to D:vf作業(yè)open database 學(xué)生成績管理系統(tǒng).dbcpublic skcmskcm=bo1.valuethisform.refresh()select * from lyxview where bj=skcm6、查找按班級名查找學(xué)生:clear*set defa to D:vf作業(yè)open database data學(xué)生成績管理系統(tǒng).dbcpublic skcmskcm=thisform.pageframe1.page2.text1.textselect 學(xué)生表.xh,學(xué)生表.xm,學(xué)生表.xb,學(xué)生表.csrq,學(xué)生表.bj,課程表.kcm,課程表.js,課程表.xf,成績表.cj from 學(xué)生表 join 成績表 join 課程表;on 課程表.kch=成績表.kch on 學(xué)生表.xh=成績表.xh where 學(xué)生表.bj=skcm*clear*set defa to D:vf作業(yè)open database 學(xué)生成績管理系統(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學(xué)生成績管理系統(tǒng).dbcpublic skcmskcm=thisform.pageframe1.page2.text1.textselect 學(xué)生表.xh,學(xué)生表.xm,學(xué)生表.xb,學(xué)生表.csrq,學(xué)生表.bj,課程表.kcm,課程表.js,課程表.xf,成績表.cj from 學(xué)生表 join
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025-2030中國高速公路運(yùn)營服務(wù)行業(yè)發(fā)展分析及發(fā)展前景與投資研究報(bào)告
- 新質(zhì)生產(chǎn)力轉(zhuǎn)型
- 2025-2030國內(nèi)鋁行業(yè)市場發(fā)展分析及發(fā)展前景與投資機(jī)會研究報(bào)告
- 第三冊人音版音樂教學(xué)設(shè)計(jì)
- 2025-2030商務(wù)外包行業(yè)市場發(fā)展現(xiàn)狀分析及競爭格局與投資價(jià)值研究報(bào)告
- 2025-2030中國設(shè)置醫(yī)療機(jī)構(gòu)行業(yè)市場發(fā)展分析及發(fā)展趨勢與投資前景研究報(bào)告
- 2025-2030中國藥品行業(yè)發(fā)展分析及發(fā)展趨勢預(yù)測與投資風(fēng)險(xiǎn)研究報(bào)告
- 2025-2030中國紅外感應(yīng)器行業(yè)市場發(fā)展現(xiàn)狀及競爭格局與投資前景研究報(bào)告
- 2025年中學(xué)教師資格考試《綜合素質(zhì)》教育教學(xué)能力提升同步訓(xùn)練試題(含答案)
- 2025年心理咨詢師基礎(chǔ)理論知識測試卷:心理咨詢心理咨詢師心理測量與心理健康評估試題
- 售后人員規(guī)劃總結(jié)
- 智能家庭影院系統(tǒng)行業(yè)市場突圍建議書
- UL498標(biāo)準(zhǔn)中文版-2019插頭插座UL標(biāo)準(zhǔn)中文版
- 【MOOC】頸肩腰腿痛中醫(yī)防治-暨南大學(xué) 中國大學(xué)慕課MOOC答案
- 2024年中國酸奶酪市場調(diào)查研究報(bào)告
- 中國華能集團(tuán)公司《電力安全工作規(guī)程》(電氣部分)
- 湖北省襄陽市襄州區(qū)2025屆初三(生物試題理)4月第一次綜合練習(xí)試卷含解析
- 2023年延邊大學(xué)工作人員招聘考試真題
- DL∕T 5003-2017 電力系統(tǒng)調(diào)度自動化設(shè)計(jì)規(guī)程
- 投標(biāo)承諾函格式(具有履行合同所必需的設(shè)備和專業(yè)技術(shù)能力)
- DL∕T 515-2018 電站彎管 標(biāo)準(zhǔn)
評論
0/150
提交評論