畢業論文設計-學生成績管理系統的開發與設計論文_第1頁
畢業論文設計-學生成績管理系統的開發與設計論文_第2頁
畢業論文設計-學生成績管理系統的開發與設計論文_第3頁
畢業論文設計-學生成績管理系統的開發與設計論文_第4頁
畢業論文設計-學生成績管理系統的開發與設計論文_第5頁
已閱讀5頁,還剩32頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

沈陽理工大學課程實踐(論文)PAGEPAGE22摘要如今高校在日常管理當中,學生成績管理是其中非常重要的一環。目前一些高校的學生規模大,課程類別多且校區分散,因此學生成績管理系統在高校管理中更具有實際應用意義。隨著科技的發展,大多數機構都開始使用計算機數據庫來進行日常管理。而幾乎所有的高校都使用計算機數據庫進行管理,這樣大大減少了學校教務工作者對學生成績管理的工作量。本課程設計要求用VisualFoxPro6.0設計一個學生成績的數據庫管理系統,數據庫中要求包含學生的基本信息,專業基本信息,課程基本信息以及學生所學課程的考試成績,方便學生進行成績查詢。通過本次課程設計,綜合運用數據庫管理知識,加強學生動手操作能力,學以致用。本文主要包括七部分。其中第一部分是前言,主要是介紹本次課程設計的背景以及選題說明;第二部分主要對系統進行分析,包括系統的需求分析和運行環境分析;第三部分主要對系統進行設計,其中包括系統的數據庫設計和模塊詳細設計等內容;第四部分是系統功能的實現;第五部分是數據操作,簡單對數據庫的數據進行操作;第六部分是系統的實施運行與維護;最后一個部分是結論,對本次課程設計進行簡要的總結。關鍵字:VisualFoxPro;管理系統;系統設計;運行維護;數據庫目錄摘要 I1前言 11.1作業背景 11.2選題說明 11.3工作業績 11.3.1個人主要工作 11.3.2主要收獲 11.3.3自我評定 22系統分析 32.1需求分析 32.1.1系統概述 32.1.2功能需求 32.2運行環境分析 42.2.1硬件運行環境 42.2.2軟件運行環境 43系統設計 53.1數據庫設計 53.1.1概念設計 53.1.2 E-R概念模型 63.1.3關系設計 73.1.4數據字典 73.2數據表設計 93.3模塊設計 103.3.1界面設計 103.3.2查詢模塊設計 174功能實現 224.1系統流程 224.2系統功能實現 224.2.1界面功能實現 224.2.2系統操作界面功能實現 245數據操作 265.1插入 265.2查詢 265.3自定義函數 276系統運行與維護 296.1系統運行 296.1.1運行方法 296.1.2存在問題 296.1.3主要代碼實現 306.2系統維護 31結論 33參考文獻 34學生成績管理系統的開發與設計1前言1.1作業背景本文根據《數據庫應用》課程要求而做。利用學生上課所學的有關數據庫的知識,建立一個數據庫系統,具有查詢功能,包括數據的輸入與輸出。除此之外還要有簡單的管理功能,如增加、修改、刪除等等。1.2選題說明先如今隨著計算機的發展,多數機構選擇利用計算機進行信息化管理,而且目前高校的學生規模大,課程類別繁多,因此如何合理、有效、快速的對學生的成績進行管理是很重要的,也是大多數學校教務部門關心的話題。所以建立一個學生成績管理系統,對高校的管理是至關重要的,因此,我們本次課程設計選擇建立一個學生成績管理系統,便于高校對學生成績的有效管理。1.3工作業績1.3.1個人主要工作針對本次課程設計中,我們四個人組成一個小組,共同建立一個學生成績管理系統。在這次課程設計中,我主要做系統的設計工作。針對本次課程設計的要求,建立一個小型系統,一個系統的建立離不開設計。在對系統進行設計之前,首先對系統進行簡單的分析,分析其需求環境以及運行環境,并畫出它們的E—R圖,直觀看出他們之間的關系,然后根據分析結果對系統進行設計。設計工作主要從兩方面進行:總體與詳細設計。1.3.2主要收獲通過本次課程設計,使我更多地了解了數據庫原理與應用這門課程,對其中內容有了更多的了解,要建立一個完整的管理系統,就必須明白這個系統所包含的基本內容、處理一些怎樣的信息等。最主要的是畫出他們的E—R圖,便可直觀的看出他們關系。我想通過這次課程設計可以更好的將所學知識運用到實際中去,也讓我對數據庫知識有了更深的認識和了解。在這次實踐設計過程中,我懂得了如何將所學的理論知識運用到實際中去,使得所學的知識能夠融會貫通。1.3.3自我評定□優□良□中□及格□不及格2系統分析2.1需求分析在學校的信息化管理中,學生相關信息的管理是一個重點。其中對學生成績進行有效的管理是學校教務部門對學生信息管理的一個重要環節。傳統的手工方式效率低下,重復工作很多,并且很難保證正確性。本次系統設計的目的是加強對學生信息的管理,減輕教務部門的勞動強度,保證信息處理的高效進行。2.1.1系統概述學生成績管理系統可以為學校里各院系的教務管理部門提供學生相關信息管理基本功能,特別是對學生成績進行管理,從而幫助教務部門通過電子化的管理方式,提高工作效率,盡可能節約人力、物力、財力,符合信息化管理的潮流。這些管理包括:(1)學生基本信息管理,包括增加、修改、刪除管理;(2)專業信息管理,包括增加、修改、刪除管理;(3)課程信息管理,包括增加、修改、刪除管理;(4)成績管理,包括學生成績的增加、修改、刪除管理;(5)打印管理,對現有數據庫信息進行打印。2.1.2功能需求本系統的功能需求有如下幾個方面:(1)用戶登錄管理:使用戶名和密碼進行管理。(2)數據添加功能:對于學生基本信息、專業信息、課程信息、學生成績信息,可以在系統中實現數據的添加工作。(3)數據查詢功能:對于學生基本信息、專業信息、課程信息、學生成績信息,可以在系統中實現數據的查詢工作。(4)數據修改功能:對于學生基本信息、專業信息、課程信息、學生成績信息,可以在系統中實現數據的修改工作。(5)數據刪除功能:對于學生基本信息、專業信息、課程信息、學生成績信息,可以在系統中實現數據的刪除工作。(6)打印功能:對于學生基本信息、專業信息、課程信息、學生成績信息,可以在系統中實現數據的打印工作。2.2運行環境分析本系統是采用VisualFoxPro6.0進行開發,故本系統的軟硬件運行環境與VisualFoxPro6.0相同。2.2.1硬件運行環境處理器:486處理器以上,推薦使用Pentium或更高檔處理器的PC兼容機。內存:32MB以上的內存。硬盤空間:1GB以上。顯卡:SVGA顯示適配器。2.2.2軟件運行環境操作系統:Windows/98/ME/2000/XP。不推薦使用WindowsVista及Windows7,不確定VisualFoxPro6.0在上述兩個系統中的穩定性及兼容性。操作軟件:VisualFoxPro6.03系統設計3.1數據庫設計3.1.1概念設計按照用戶的觀點來對數據和信息建模。從前一章需求分析中可以歸納出了4個實體,其分別為:學生信息、專業信息、成績信息、課程信息。其屬性以下進行說明。1、學生基本信息:學號、姓名、性別、專業代號、系名。在E-R圖中學生實體應如圖3-1所示學生基本信息實體學生基本信息實體姓名學號系名性別專業代號圖3-1學生基本信息E-R圖2、課程信息:課程名、課程號、學時、學號。E-R圖中課程實體如圖3-2s所示課程信息實體課程信息實體課程名課程號學時學分圖3-2課程信息實體3、專業信息:專業代號、專業名稱、學制。E-R圖中專業信息如圖3-3所示專業信息實體專業信息實體專業代號專業名稱學制圖3-3專業信息實體4、成績信息:學號、課程代號、成績。E-R圖如3-4所示成績信息成績信息課程代號學號成績圖3-4成績信息實體E-R概念模型系統綜合E-R圖如圖3-5所示學生學生課程學號姓名性別專業代號系名學分學時課程名課程號查詢成績成績圖3-5系統E-R圖3.1.3關系設計依據需求分析結果,學生成績管理系統的主要模塊包括:用戶登錄模塊、數據添加管理模塊、數據查詢管理模塊、數據修改管理模塊、數據打印模塊等5個功能模塊,系統關系結構圖如圖3-6所示用戶登錄用戶登錄數據添加管理數據添加管理學生成績管理系統數據查詢管理學生成績管理系統數據查詢管理數據修改管理數據修改管理打印管理打印管理圖3-6系統模塊結構圖3.1.4數據字典1、用戶信息表用戶登錄系統的信息如表3-1所示表3-1用戶信息表字段字段名類型寬度小數位索引Nulls1用戶名C100升序否2密碼C200

否2、學生信息表:學生信息如表3-2所示表3-2學生信息表字段字段名類型寬度小數位索引Nulls1學號C10升序否2姓名C20否3性別C2否4專業代號C10否5系名C10否3、學生成績信息表:學生成績信息如表3-3所示表3-3學生成績信息表字段字段名類型寬度小數位索引Nulls1學號C10

升序否2課程代號C10

否3成績N31

否4、專業信息表:學生專業信息如表3-4所示表3-4專業信息表字段字段名類型寬度小數位索引Nulls1專業代號C10

否2專業名稱C20

否3學制N1

否5、課程信息表課程信息如表3-5所示表3-5課程信息表字段字段名類型寬度小數位索引Nulls1課程名C20升序否2課程號C4否3學時N2否4學分N2否3.2數據表設計數據表的設計是新建文件表,在表設計器中通過更改字段,實現表的設計。用戶信息表利用數據字典的字段名及類型對用戶信息表進行設計,操作步驟如圖3-7圖3-7用戶信息表學生信息表新建一個數據表命名為xs1,進入表設計器中,對數據字典中的字段進行設置的具體操作如圖3-8所示圖3-8學生信息表字段設置完成之后,進行數據輸入,具體內容如圖3-9所示圖3-9學生信息其余數據表,如課程信息表、成績信息表、專業信息表的具體操作與學生信息表的操作類似。均是建立新的數據表,在表設計其中段字段進行設置,然后輸入相關信息的內容。3.3模塊設計3.3.1界面設計界面設計應該尊簡潔美觀、方便易用的基本原則,具體設計如下。登錄界面設計登錄界面主要用于管理員進行登錄操作,界面中需要用用戶名和密碼進行登錄操作,登陸界面的效果如圖3-10所示圖3-10登陸界面在桌面雙擊成績管理系統.exe,系統自動進入主界面,顯示“歡迎使用學生成績管理系統”下方兩個按鍵分別為“進入”“退出”,單擊進入,系統自動進入登錄頁面,單擊退出系統自動關閉。command1進入clickusext.dbfifalltrim(thisform.text1.value)==alltrim(用戶名).and.alltrim(thisform.text2.value)==alltrim(密碼)use_screen.visible=.t.doformcaidan.scxthisform.releaseelsemessagebox("用戶名與密碼不對!","本系統通知您")endifcommand2退出clickquit2、主頁面設計充分考慮界面易于操作的系統需求,主窗口使用簡單和直觀的界面設計,提供主要的功能模塊入口。主界面設計的效果如圖3-11所示圖3-11主界面進入學生管理系統之后,出現6個命令按鈕,分別為系統初始化、學生信息輸入、成績輸入、專業信息輸入、打印及退出。command1系統初始化clickdoformcsh.scxcommand2學生信息輸入clickdoformxssr.scxcommand3成績輸入clickdoformcj.scxcommand4專業信息輸入clickdoformzysr.scxcommand5打印clickReportfromcjbb.frxcommand6退出clickquit3、系統工具設計(1)初始化界面初始化界面用于清空所有數據,界面設計如圖3-12所示圖3-12初始化界面command1初始化clicksele1usecjexcldeleallpacksele2usexsexcldeleallpacksele3usezydmexcldeleallpackclosedatamessagebox("操作完成","")(2)學生信息輸入界面學生信息輸入界面用來輸入學生的具體信息,包括學號姓名、性別、專業代號、系名。界面設計如圖3-13所示圖3-13學生信息輸入設計界面學生信息輸入界面xssr.scx是一個表單集,有兩個表單如上所示。前者用于增加、刪除和修改學生信息,后者可查詢學生信息。數據環境用的表文件是cj.dbfcommand1增加clickAPPENDBLANKgobottomthisform.txt學號.SetFocusthisform.txt學號.value=""thisform.txt姓名.value=""thisform.txt性別.value=""thisform.txt專業代號.value=""thisform.txt系名.value=""thisform.txt學號.readonly=.f.thisform.txt姓名.readonly=.f.thisform.txt性別.readonly=.f.thisform.txt專業代號.readonly=.f.thisform.txt系名.readonly=.f.mand_move1.new.enabled=.f.mand_move1.find.enabled=.f.mand_move1.f_next.enabled=.f.mand_move1.delete.enabled=.f.mand_move1.first.enabled=.f.mand_move1.previous.enabled=.f.mand_move1.next.enabled=.f.mand_move1.last.enabled=.f.mand_move1.edit.enabled=.f.mand_move1.save.enabled=.t.thisform.refreshcommand2查詢clickthisformset.form2.visible=.mand3查下一個clickcontinuethisform.refreshcommand4刪除clickdelepackthisform.refreshcommand5存盤clickrepl學號withalltrim(thisform.txt學號.value)repl姓名withalltrim(thisform.txt姓名.value)repl性別withalltrim(thisform.txt性別.value)repl專業代號withalltrim(thisform.txt專業代號.value)repl系名withalltrim(thisform.txt系名.value)thisform.txt學號.readonly=.t.thisform.txt姓名.readonly=.t.thisform.txt性別.readonly=.t.thisform.txt專業代號.readonly=.t.thisform.txt系名.readonly=.t.mand_move1.new.enabled=.t.mand_move1.find.enabled=.t.mand_move1.f_next.enabled=.t.mand_move1.delete.enabled=.t.mand_move1.first.enabled=.t.mand_move1.previous.enabled=.t.mand_move1.next.enabled=.t.mand_move1.last.enabled=.t.mand_move1.edit.enabled=.t.mand_move1.save.enabled=.f.thisform.refreshcommand6修改clickthisform.txt學號.readonly=.f.thisform.txt姓名.readonly=.f.thisform.txt性別.readonly=.f.thisform.txt專業代號.readonly=.f.thisform.txt系名.readonly=.f.mand_move1.new.enabled=.f.mand_move1.find.enabled=.f.mand_move1.f_next.enabled=.f.mand_move1.delete.enabled=.f.mand_move1.first.enabled=.f.mand_move1.previous.enabled=.f.mand_move1.next.enabled=.f.mand_move1.last.enabled=.f.mand_move1.edit.enabled=.f.“第一個”、“前一個”、“后一個”、“尾一個”click事件,通過設計類command_move實現。command7第一個clickgotopthisform.refreshcommand8前一個clickifbof()messagebox("已經是第一個記錄了!","系統")elseskip-1thisform.refreshendifcommand9后一個clickifeof()messagebox("已經是最后一個記錄了!","系統")elseskipthisform.refreshendifcommand10尾一個1click1gobottthisform.refresh(3)成績輸入界面成績輸入界面用來輸入學生的成績,界面輸入信息包括學號、課程代號、成績。界面設計如圖3-14所示圖3-14成績輸入設計界面成績輸入界面也是使用表單集,相關按鈕代碼同學生信息輸入大同小異,只是數據環境用的表文件不同,是cj.dbf(4)專業信息輸入界面專業信息輸入界面用來輸入學生所在專業的信息,具體是專業代號、專業名稱、學制。界面設計如圖3-15所示圖3-15專業信息設計界面專業信息界面也是使用表單集,相關按鈕代碼同學生信息輸入大同小異,只是數據環境用的表文件不同,是zydm.dbf。3.3.2查詢模塊設計在數據查詢模塊中,用戶可以選定學生信息表、課程信息表、專業信息表、成績信息表來進行數據的查詢。每一個表放到單獨的一個屬性界面中,用戶通過不同的頁面完成對四個不同表的數據的查詢操作。在項目中新建一個表單,首先設置表單的數據環境,在FORM1窗口中單擊鼠標右鍵,執行“數據環境”命令,添加表“學生”。向表單設計區域添加的控件屬性設置如表3-6所示表3-6控件屬性設置控件名稱屬性屬性值Txt性別controlsource“學生.性別”height20Left108maxlength2readonly.T.Top84width84name“Txt性別”Tx專業代號controlsource“學生.專業代號”height20Inputmask“####”Left108maxlength4readonly.T.Top132width120name“Txt專業代號”Cmd第一條Top228Left12height25width36caption“/<”name“Cmd第一條”Cmd上一條Top228Left48height25width36caption“<”name“Cmd上一條”Cmd下一條Top228Left84height25width36caption“>”name“Cmd下一條”Cmd最后Top228Left120height25width36caption“>/”name“Cmd最后”具體各模塊設計代碼如下:ifselect("學生")=0 messagebox("數據表學生不存在,請檢查后再試!",0+16,"警告")else select學生 locateforallt(thisform.Combo1.value)==allt(學號) iffound() mm=recno() thisform.Txt姓名.value=姓名 thisform.Txt性別.value=性別 thisform.Txt專業代號.value=專業代號 endifendifskipifeof()thisform.Cmd下一條.enabled=.F.thisform.Cmd上一條.enabled=.T.else skip-2ifbof()thisform.Cmd上一條.enabled=.F. thisform.Cmd下一條.enabled=.T. else thisform.Cmd下一條.enabled=.T. thisform.Cmd上一條.enabled=.T. endifendif第一條按鈕GOTOPthisform.Txt姓名.value=姓名 thisform.Txt性別.value=性別 thisform.Txt專業代號.value=專業代號 thisform.Combo1.value=學號 mm=recno()thisform.Cmd上一條.enabled=.F.thisform.Cmd下一條.enabled=.T.上一條按鈕if!bof()skip-1thisform.Txt姓名.value=姓名thisform.Txt性別.value=性別thisform.Txt專業代號.value=專業代號thisform.Combo1.value=學號mm=recno()elsethisform.Cmd上一條.enabled=.F.endififeof()thisform.Cmd下一條.enabled=.F.elsethisform.Cmd下一條.enabled=.T.endif下一條按鈕if!bof()skip-1thisform.Txt姓名.value=姓名thisform.Txt性別.value=性別thisform.Txt專業代號.value=專業代號thisform.Combo1.value=學號mm=recno()elsethisform.Cmd上一條.enabled=.F.endififeof()thisform.Cmd下一條.enabled=.F.elsethisform.Cmd下一條.enabled=.T.endif最后一條按鈕gobottomthisform.Txt姓名.value=姓名thisform.Txt性別.value=性別thisform.Txt專業代號.value=專業代號thisform.Combo1.value=學號mm=recno()thisform.Cmd下一條.enabled=.F.thisform.Cmd上一條.enabled=.T.退出按鈕thisform.release確定按鈕其他表單的設計過程與此類似。4功能實現4.1系統流程系統實現的流程圖如圖4-1所示開始用戶登錄系統界面維護瀏覽查詢幫助更新密碼開始用戶登錄系統界面維護瀏覽查詢幫助更新密碼維護表記錄版全所有學生信息表課程信息表專業信息表成績信息表4.2系統功能實現4.2.1界面功能實現1、登陸界面第一步:創建表單并保存為“jm.scx”;第二步:添加lable1,并設置其caption屬性為“歡迎使用學生成績管理系統”;lable2,設置其caption屬性為“用戶名”;lable3,設置其caption屬性為“密碼”;第三步:添加text1和text2并設置相關屬性;第四步:添加command1和command2并將其設置為“進入”和“退出”。登錄界面功能實現如圖4-2所示:圖4-2登陸界面使用通過用戶名與密碼進入該學生成績管理系統。如用戶名輸入10040102,密碼yao,成功進入系統。主界面第一步:創建表單并保存為“caidan.scx”;第二步:添加lable1,并設置其caption屬性為“學生成績管理系統”;lable2,設置其caption屬性為“輸入”;第三步:添加command1至command6并將其設置為“系統初始化”、“學生信息輸入”、“成績輸入”、“專業信息輸出入”、“打印”和“退出”。主界面功能實現如圖4-3圖4-3主界面4.2.2系統操作界面功能實現初始化初始化功能實現如圖4-4所示,用以刪除所有數據,恢復初始狀態。圖4-4初始化其他信息輸入界面如圖4-5所示的學生信息輸入界面,通過此界面可以對學生的基本信息進行增加、刪除和修改,同時還可以進行查詢功能,如輸入學號1004010201查詢王慧同學的所有相互的信息。圖4-5學生信息輸入界面專業信息輸入、成績輸入與此相仿,不做介紹。5數據操作5.1插入向成績表中添加insertintoscorevalues('101','01',88)insertintoscorevalues('101','02',85)insertintoscorevalues('102','02',80)insertintoscorevalues('101','03',88)insertintoscorevalues('102','02',85)insertintoscorevalues('102','03',80)insertintoscorevalues('103','01',83)insertintoscorevalues('103','02',85)insertintoscorevalues('103','03',90)insertintoscorevalues('104','01',60)查看記錄如圖5-1所示Select*fromscore圖5-1成績表添加記錄顯示5.2查詢(1)查詢成績大于學號為101的學生的課程為02的成績的所有列。select*fromscorewheredegree>(selectdegreefromscorewheresno='101'andcno='02')查詢結果如圖5-2所示圖5-2查詢結果顯示(2)查詢課程號01大于課程號02的最大值、并以分數降序排序的成績表中所有列select*fromscoreswhereo='01'ands.degree>=(selectmax(degree)fromscoreywhereo='02')orderbydegreedescgoselectmax(degree)as"02max"fromscorewherecno='02'查詢結果如圖5-3所示圖5-3查詢結果顯示5.3自定義函數(1)創建一個用戶自定義函數,輸出與指定的學生同班的學生個數createfunctionstudentcount(@snochar(5))returnsintbegindeclare@counterintselect@counter=count(*)fromstudentwhereclass=(selectclassfromstudentwheresno=@sno)return@counterend調用此自定義函數declare@aintset@a=dbo.studentcount('102')printconvert(char(3),@a)(2)創建一個用戶自定義函數,用于輸出同一個專業中的學生信息createfunctionstudentclass(@classchar(5))returnstablereturn(select*fromstudentwhereclass=@class)調用自定義函數(本例是輸出12班的學生信息)select*fromstudentclass('12')6系統運行與維護6.1系統運行首先建立一個項目文件,命名為xt.pjx,在項目文件中新建兩個數據庫分別命名為xscj.dbc,、xsxx.dbc,進行表單及數據表的建立,對其進行數據輸入,然后在項目管理器中運行。如圖6-1所示圖6-1學生成績項目管理器6.1.1運行方法在VFP6.0中打開“學生成績管理系統.pjx”,運行主程序,輸入正確的用戶名和密碼(均預設為yao和yao),然后就可以進入學生成績管理系統主界面,進行各種操作,詳見上文各表單文件。6.1.2存在問題表單單獨預覽可以,效果如上所示;但是在主程序中無法運行,我用的click代碼是“reportformcjbb.frx”,一直弄不明白。6.1.3主要代碼實現(1)主程序main.prgsettalkoffsetescaoffsetechooffsetdateansisetcentonsethourto24_screen.visible=.f.onshutdowndoshutdownsetnotifyoff

溫馨提示

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

評論

0/150

提交評論