C學生信息管理系統(tǒng)_第1頁
C學生信息管理系統(tǒng)_第2頁
C學生信息管理系統(tǒng)_第3頁
C學生信息管理系統(tǒng)_第4頁
C學生信息管理系統(tǒng)_第5頁
已閱讀5頁,還剩17頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、洛陽理工學院課程設(shè)計報告課程名稱高級語言C#課程設(shè)計設(shè)計題目學生信息治理系統(tǒng)專業(yè)計算機科學與技術(shù)班級B130506學號姓名張葵完成日期課程設(shè)計任務(wù)書設(shè)計題目:學生信息治理系統(tǒng)教務(wù)員可以輸入學生、教師、班級、課程信息,一個班級只屬于一 個專業(yè),一個學生只屬于一個班級.教務(wù)員負責輸入每個專業(yè)、每個班 級需要學習哪些課程,指定課程的任課教師.一個教師可以教授多個班 的多門課程.教師可以查看學習該課程的學生名單.課程結(jié)束后,教師可以錄入 課程成績.課程分兩類,必修課和選修課.學生可以選修課程,每學期幾門.學生可以查看自己各門課程的成績.學生還可以進行評教,給老師打分.系統(tǒng)治理員可以輸入教室信息,并結(jié)合

2、班級、課程、教室信息實現(xiàn) 自動排課.指導教師:張文學2021年12月27日成績:課程設(shè)計評語指導教師:2021年12月31日目錄第 1 章 需求和可行性分析需求分析學生 信息 管 理系 統(tǒng)是 一個 教育 單位 不可缺 少 的部 分 ,它的 內(nèi)容 對于 學校的決策者和治理者來說都至關(guān)重要.學校的治理人員可以通過電 腦對學生信息進行有效的治理,預防了以往人工治理的復雜和耗時費 力的勞動,也大大的能夠減少治理人員的工作量,可以有效的節(jié)約學 校的開支.功能需求作為一個學生的信息治理系統(tǒng),必須要有治理人員能夠進行對學生的信息進 行有效的治理,因此,系統(tǒng)必須預留一個治理員的登錄窗口和登錄之后所能進行 的操

3、作,在學生信息治理系統(tǒng)中,治理員具有最高的權(quán)限,可以對學生、老師、 班級、專業(yè)等等進行添加、刪除、修改個查詢.除了擁有治理員之外,還應(yīng)該擁有教務(wù)處對學生進行治理,例如:對學生課程,成績等等具有一定的權(quán)限.此外,還應(yīng)該有老師的一個權(quán)限,老師在帶完一門課之后可以對學生進行一個成績錄入 和平時布置作業(yè)的功能.最后是學生自己擁有的功能,學生在測試結(jié)束后可以利 用系統(tǒng)登錄自己的賬戶對成績進行查詢.在學生信息治理系統(tǒng)中,要明確各類用戶所能擁有的最高權(quán)限,如果一旦權(quán) 限的問題搞錯以后,整個系統(tǒng)就會變得沒有價值.例如:學生只有對成績的查詢 功能,而不能對成績擁有修改和刪除以及插入的功能.老師只能夠?qū)W生進行成

4、 績的錄入和平時布置作業(yè),而不能刪除學生的個人信息等權(quán)限.要設(shè)立不同的異常機制,這樣不會由于用戶的錯誤的操作而使得系統(tǒng)瞬時奔 潰.我們要在代碼中設(shè)置不同的異常拋出機制,這樣就可以使得用戶在進行了錯 誤的或者違反規(guī)那么的操作之后,系統(tǒng)不會出現(xiàn)忽然的停止運轉(zhuǎn).可行性分析隨著計算機語言和數(shù)據(jù)效勞的不斷開展,使得許多的現(xiàn)實問題都可以利用計 算機來幫助人類實現(xiàn)輕巧,方便的治理.在教育上,學生是一個龐大的群體,因 此技術(shù)人員早早就開始想方法解決這個問題,因此,目前對于學生信息的治理各 種語言都能夠編寫出一套完整的、可用的學生信息治理系統(tǒng).技術(shù)可行性在這套系統(tǒng)的開發(fā)中,采用的是開發(fā)語言是C#,軟件是Visi

5、o Studio2021 ,C#是微軟對問題的解決方案.C#是一種最新的、面向?qū)ο蟮木幊陶Z言.它使得程 序員可以快速地編寫各種基于 Microsoft 平臺的應(yīng)用程序, Microsoft .NET 提供 了一系列的工具和效勞來最大程度地開發(fā)利用計算與通訊領(lǐng)域.正是由于C#面向?qū)ο蟮淖吭皆O(shè)計,使它成為構(gòu)建各類組件的理想之選-無論 是高級的商業(yè)對象還是系統(tǒng)級的應(yīng)用程序.使用簡單的C#語言結(jié)構(gòu),這些組件可以方便的轉(zhuǎn)化為 XML 網(wǎng)絡(luò)效勞,從而使它們可以由任何語言在任何操作系統(tǒng)上通 過 Internet 進行調(diào)用.最重要的是,C#使得C+程序員可以高效的開發(fā)程序,而絕不損失C/C+原有的強大的功能.

6、由于這種繼承關(guān)系,C#與C/C+具有極大的相似性,熟悉類似語言的開發(fā)者可以很快的轉(zhuǎn)向 C#.數(shù)據(jù)庫采用的是SQL Server2021R2,這個SQL數(shù)據(jù)庫版本是微軟公司推出的 針對微軟用戶的一種關(guān)系型數(shù)據(jù)庫,語言簡單,實用.與 Visio Studio 2021 結(jié) 合相對簡單實用.經(jīng)濟可行性現(xiàn)在隨著互聯(lián)網(wǎng)絡(luò)、計算機技術(shù)的開展,數(shù)字城市成為當前熱點話題.同時 在國家政策給予大力支持的條件下,這些技術(shù)熱點給社會產(chǎn)生了極大的影響,不 僅給生活、學習和治理帶來了新的體驗,同時也帶動了經(jīng)濟的增長.學生治理系統(tǒng)使用比擬簡單的 C#語言開發(fā),而且目前中國的學校和教育機構(gòu) 眾多,許多的地方都需要用到這套學

7、生信息治理系統(tǒng),因此學生信息治理系統(tǒng)具 有廣闊的市場前景和開展動力.第 2 章 系統(tǒng)設(shè)計概述整體設(shè)計概述這套學生信息治理系統(tǒng)旨在為用戶提供更加有效的、方便的和快捷的學生的 治理系統(tǒng).本套系統(tǒng)在結(jié)構(gòu)上由數(shù)據(jù)庫和高級語言兩局部組成,數(shù)據(jù)庫局部負責 此套系統(tǒng)所要用到的所有的數(shù)據(jù)庫的表的創(chuàng)立和所用到的存儲過程的創(chuàng)立.C#部分是具體的設(shè)計 UI 界面和具體的邏輯實現(xiàn),用戶可以通過在自己電腦上點擊 UI 上的控件進行操作.設(shè)計流程圖1整體設(shè)計思路圖設(shè)計思路這套學生信息治理系統(tǒng)是由數(shù)據(jù)庫和業(yè)務(wù)邏輯層和UI層三局部構(gòu)成,用戶在UI層上進行操作,數(shù)據(jù)通過業(yè)務(wù)邏輯層數(shù)據(jù)傳至數(shù)據(jù)庫,對數(shù)據(jù)庫中的數(shù)據(jù)進行 修改,在用

8、戶需要用到數(shù)據(jù)庫中的數(shù)據(jù)時,數(shù)據(jù)會從數(shù)據(jù)庫中提出經(jīng)過業(yè)務(wù)邏輯 層上傳至UI層,以供用戶查閱和進行其他的操作. 業(yè)務(wù)邏輯層主要負責的工作就 是將UI傳來的數(shù)據(jù)進行分析,并且做出判斷,然后根據(jù)判斷出的結(jié)果進行對數(shù)據(jù) 庫的訪問.數(shù)據(jù)庫的主要任務(wù)就是為系統(tǒng)提供數(shù)據(jù)的存儲.功能模塊介紹以下會對本套系統(tǒng)中的主要模塊做一個簡單的介紹與分析學生信息模塊學生模塊的主要功能是對自己的成績能夠有效的進行查詢和能夠?qū)處熥龀?有效的評價在學期末.每個學生只能夠?qū)ψ约旱某煽冞M行有效的查詢,在登錄自己的賬戶之后,其 他的同學的成績是不可見的,這樣也是起到了一種隱私的保護作用,而且學生在 登錄自己的賬戶之后沒有成績修改和添

9、加以及刪除的功能.圖2學生用戶登錄教師模塊教師在使用該系統(tǒng)時,主要的任務(wù)是向?qū)W生下達作業(yè)任務(wù)和在期末測試結(jié)束 之后給給學生錄入成績,使得學生能夠通過自己的賬戶登錄該系統(tǒng)之后能夠看到 自己的成績.在錄入成績之后不能對學生的成績進行修改.叱Lacher沁w'尸引卡屮1課琨:計算機科學與申杳看名單錄入成績學號姓名班級號課程容制卜B13050620張葵B130506計算機科學與.39513050625李飛B13O60&計算機科寧與圖3教師用戶登錄教務(wù)員模塊教務(wù)員使用該套系統(tǒng)的主要目的是對教室進行治理, 的具體課程情況對班級進行排課.以及能夠根據(jù)各個班級口- a-cm idec_hQY;

10、O回專業(yè);辭1-班級;JlQSQl¥慄程:勒帀:專業(yè)名班級號課程名課時數(shù)_學分計算機B130506計聲機科學與.644計算機B13050664&計算機913J5W322計算機B130506643¥圖4教務(wù)員登錄治理員是此套系統(tǒng)的擁有最高的權(quán)限,他可以添加學生、老師和教務(wù)員的信 息,以及進行修改和刪除等等.圖5治理員登錄第3章 數(shù)據(jù)庫的搭建和實現(xiàn)數(shù)據(jù)庫設(shè)計概述數(shù)據(jù)庫在現(xiàn)代的系統(tǒng)的開發(fā)中,起到了非常重要的作用.數(shù)據(jù)庫可以對數(shù)據(jù) 起到一種長期保存的效果,而且可以利用終端隨時隨地的通過網(wǎng)絡(luò)來訪問效勞器, 進而訪問數(shù)據(jù)庫,找到自己想要的數(shù)據(jù)和信息.E-R圖的設(shè)計ER圖在設(shè)計數(shù)

11、據(jù)圖的時候起到了非常關(guān)鍵的作用, 可以從ER圖中清楚的看到 各個對象之間的關(guān)系和它具有的屬性,因此,在創(chuàng)立數(shù)據(jù)庫的時候會更加的方便 和得心應(yīng)手.圖6學生的ER圖圖7教師的ER圖圖8教務(wù)員ER圖圖11課程ER圖圖12成績ER圖數(shù)據(jù)庫表的創(chuàng)立數(shù)據(jù)庫中的數(shù)據(jù)都是通過表來進行存儲的,因此,要將數(shù)據(jù)存儲到數(shù)據(jù)庫中, 必須將表的結(jié)構(gòu)進行合理化的設(shè)計,ER圖為表的創(chuàng)立提供了良好的理論支撐,現(xiàn) 在在建表的時候要考慮的是數(shù)據(jù)的存儲大小,我們現(xiàn)在采用可以變換大小的 varchar ()類型進行存儲,這樣不會導致內(nèi)存的無故浪費.圖13整體表的創(chuàng)立學生表中主要是學生的一些屬性,例如學生的學號,姓名,年齡和性別等等,

12、在學生治理系統(tǒng)中,學號作為該表的主鍵,設(shè)計如下:圖14學生表的創(chuàng)立教師表的創(chuàng)立教師表中也是教師的一些屬性,例如教工號、姓名和教室名等等,教工號為主鍵, 設(shè)計如下:圖 15 教師表的創(chuàng)立課程表的創(chuàng)立在課程表中,屬性是關(guān)于課程的一些信息,例如課程號、課程名和該課程的 學時和學分.課程號是主鍵 , 設(shè)計如下:圖 16 課程表的創(chuàng)立在創(chuàng)立完學生表和課程表之后,需要一個成績表來顯示學生的成績信息,成 績要與學生個人和課程能夠匹配上,在這里,需要設(shè)置學號和課程號為主鍵,而 學生表中的學號和課程表中的課程號都是外鍵,設(shè)計如下: 圖 17 成績表的創(chuàng)立存儲過程的創(chuàng)立在使用數(shù)據(jù)庫的時候有時候不是一個表所能完成的

13、一項任務(wù),我們往往會采 用存儲過程進行多表的結(jié)合使用,例如:要查詢某個專業(yè)下的某個年級的某個班 的一位同學的信息并且把這些信息顯示出來,這樣就會涉及到專業(yè)表、年級表、 班級表和學生表.因此,在這個時候我們需要將多表進行結(jié)合使用,這里就會使 用到存儲過程. 在本套系統(tǒng)中, 我采用了幾個存儲過程來對學生的信息進行治理 圖 18 整體的存儲過程分配班級存儲過程在分配班級的時候要用到班級和專業(yè)兩個表,因此要通過這兩個表進行分配, 從而確定某一個班是屬于哪一個專業(yè),代碼如下:USE student_adminGOSET ANSI_NULLS ONGOSET QUOTED_IDENTIFIER ONGOA

14、LTER PROCEDURE dbo.CLASS_CHOOSEpro varchar(20), cla varchar(20)asselect professional. 專 業(yè) 名 ,class. 班 級 號 ,course. 課 程 名 ,course. 課時數(shù) ,course. 學分from professional,course,classwhere professional. 專業(yè)號 = class. 專業(yè)號 and professional. 專業(yè)名 = pro and class. 班級號 = cla班級信息的存儲過程查詢某一個班級信息的功能,這個功能函數(shù)既可以在數(shù)據(jù)庫中用存儲過

15、程實現(xiàn)也可以在C#中通過語言的邏輯來實現(xiàn),在這套系統(tǒng)中,我采用的是利用在數(shù)據(jù) 庫中建立了一般班級信息的存儲過程來實現(xiàn)的,在C艸通過調(diào)用該存儲過程,然后向其中傳遞一個參數(shù)就可以實現(xiàn).代碼如下:USE student_adminGOSET ANSI_NULLS ONGOSET QUOTED_IDENTIFIER ONGOALTER procedure dbo.class_messageclassno varchar(20)asselect 班級號,專業(yè)名,班主任,班長, 人數(shù)from classwhere 班級號 = classno學生課程的存儲過程學生的課程信息不僅僅包含了學生類,而且還包含了課

16、程類,我們需要將這 兩個表進行有效的結(jié)合進行使用,在這套系統(tǒng)中我采用的是利用在數(shù)據(jù)庫中建立 一個學生課程的存儲過程來顯示學生的課程信息,預留一個輸入?yún)?shù)學生的學 號,可以利用學號就可以查詢到該學生的課程信息.代碼如下:USE student_adminGOSET ANSI_NULLS ONGOSET QUOTED_IDENTIFIER ONGOALTER procedure dbo.student_coursecourseno varchar(20)asselect student.學號,student.姓名,student.班級號,course.課程名 ,grade. 分數(shù)from stud

17、ent,course,gradewhere student. 學號 = grade. 學號 and course. 課程號 = grade. 課程號 and 課程名 = courseno 在學生治理系統(tǒng)中,非常重要的一環(huán)就是學生可以查看自己的成績,在這套 系統(tǒng)中,采用的也是在數(shù)據(jù)庫中建立一個關(guān)于學生的存儲過程,是根據(jù)學號進行 查詢的,在C#中,調(diào)用該存儲過程,輸入一個學號的參數(shù),便可以查詢該學生的 成績信息,預防查詢了其他人成績,起到隱私保護的作用.代碼如下:USE student_adminGOSET ANSI_NULLS ONGOSET QUOTED_IDENTIFIER ONGOALTE

18、R procedure dbo.student_gradestudent_id varchar(20)asselect student.學號,student. 姓名,course.課程名,grade.分數(shù), choose. 選課名 ,grade. 選修分數(shù) from student,course,grade,choosewhere student. 學號 = grade. 學號 and choose. 選課號 = grade. 選課號 and student. 學號 = student_id第4章C#高級語言的實現(xiàn)概述在數(shù)據(jù)庫進行完設(shè)計之后,就要使用C#這種高級語言將他真正的能夠和用戶產(chǎn)生聯(lián)系

19、,用戶接觸到的是 UI層面,因此我們的任務(wù)就是通過 UI層進行數(shù)據(jù)傳 遞到業(yè)務(wù)邏輯層然后進行數(shù)據(jù)的轉(zhuǎn)化和業(yè)務(wù)邏輯的實現(xiàn).數(shù)據(jù)庫的連接在本套系統(tǒng)中,連接數(shù)據(jù)庫我采用的是利用數(shù)據(jù)源來連接數(shù)據(jù)庫,這樣就可 以將連接數(shù)據(jù)庫的字符串和commo都封裝在數(shù)據(jù)源中,為每個表都創(chuàng)立好數(shù)據(jù)源 和數(shù)據(jù)適配器,這樣可以減少代碼量,而且也會使得程序變得簡潔明了,在使用 一個數(shù)據(jù)庫中的某一個表的時候只需要創(chuàng)立一個該表的數(shù)據(jù)適配器和一個共有的 dataset即可.關(guān)系圖如下:M器二常當C *-比圏Ijns圖19數(shù)據(jù)源圖示開始界面的設(shè)計開始界面主要是讓用戶選擇自己的身份類型進行系統(tǒng)的登錄.如果用戶選擇 的是系統(tǒng)治理員的登錄

20、方式,系統(tǒng)會自動的進行頁面的跳轉(zhuǎn),跳轉(zhuǎn)到系統(tǒng)治理員 的登錄界面.圖 20 登錄類型選擇系統(tǒng)治理員登錄功能和界面登錄界面主要是讓用戶輸入賬號和密碼進行登錄,界面的風格是一致的,只 是通過調(diào)用不同的數(shù)據(jù)庫的信息進行不同的登錄.圖 21 登錄界面用戶在輸入賬號和密碼的時候,系統(tǒng)會調(diào)用數(shù)據(jù)中的相應(yīng)的表進行查看是否 與表中的數(shù)據(jù)匹配,如果匹配那么能夠登錄成功,否那么不成功.如果登錄成功,該 賬號和密碼會被記錄到本地的文件中進行存儲,以此到達下次登錄時的快捷和方 便,代碼如下:private void button1_Click(object sender, EventArgs e)oString();pass = row12.ToString();catch (Exception ex)5if (name =oString();= datarow11.ToString();= datarow12.ToString();= datarow13.ToString();= datarow14.ToString()

溫馨提示

  • 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

提交評論