版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、數(shù)據(jù)庫原理課程設(shè)計(jì)任務(wù)書題目: 高校學(xué)生信息管理系統(tǒng) 學(xué)生姓名: 學(xué) 號(hào): 班 級(jí): 題目類型: 軟件工程(R) 指導(dǎo)教師: 一、數(shù)據(jù)庫課程設(shè)計(jì)題目簡(jiǎn)介該設(shè)計(jì)要求學(xué)生以蘭州理工大學(xué)學(xué)生檔案管理業(yè)務(wù)為背景,設(shè)計(jì)、開發(fā)一套“高校學(xué)生信息管理系統(tǒng)”軟件。通過該題目的設(shè)計(jì)、開發(fā),使學(xué)生初步得到數(shù)據(jù)庫開發(fā)的訓(xùn)練,全面培養(yǎng)軟件開發(fā)過程中的分析、設(shè)計(jì)、編碼、測(cè)試及文檔規(guī)范書寫的能力,得到軟件開發(fā)的綜合訓(xùn)練,提高解決實(shí)際問題的能力。二、數(shù)據(jù)庫課程設(shè)計(jì)的任務(wù)1、查閱文獻(xiàn)資料,一般在10篇以上;2、以客戶關(guān)系管理系統(tǒng)為背景,通過調(diào)研、分析現(xiàn)有的管理模式和已有的管理軟件,建立系統(tǒng)模型;3、完成軟件結(jié)構(gòu)設(shè)計(jì)、數(shù)據(jù)庫設(shè)
2、計(jì)和算法設(shè)計(jì);4、完成客戶關(guān)系管理系統(tǒng)的軟件開發(fā)和測(cè)試工作。5、撰寫設(shè)計(jì)說明書;6、做好答辯工作。三、數(shù)據(jù)庫課程設(shè)計(jì)的主要內(nèi)容、功能及技術(shù)指標(biāo)1、系統(tǒng)功能的基本要求:(1)整個(gè)系統(tǒng)由學(xué)生基本信息管理子系統(tǒng)、學(xué)生獎(jiǎng)勵(lì)懲罰信息管理子系統(tǒng)、學(xué)生畢業(yè)工作信息管理子系統(tǒng)等組成;(2)系統(tǒng)要實(shí)現(xiàn)基本信息錄入、修改、查詢等功能;2、數(shù)據(jù)庫要求:(在數(shù)據(jù)庫中至少應(yīng)該包含下列數(shù)據(jù)表)(1)學(xué)生基本表。包括的數(shù)據(jù)項(xiàng)有:學(xué)號(hào)、姓名、性別、民族、出生年月、籍貫、培養(yǎng)方式、政治面貌、所在院系、專業(yè)、家庭住址、通訊地址、郵政編碼、聯(lián)系人、聯(lián)系電話等。(2)獎(jiǎng)勵(lì)懲罰信息表。包括的數(shù)據(jù)項(xiàng)有:獎(jiǎng)勵(lì)、懲罰名稱、原因、各種評(píng)價(jià)等。
3、(3)畢業(yè)工作信息表。包括的數(shù)據(jù)項(xiàng)有:畢業(yè)情況、畢業(yè)去向、檔案派遣地、戶口派遣地等。3、其它要求:(1)系統(tǒng)要實(shí)現(xiàn)滿足多種條件的統(tǒng)計(jì)分析功能,有些統(tǒng)計(jì)數(shù)據(jù)要采用圖表的格式呈現(xiàn);(2)系統(tǒng)要有一定的安全控制策略;(3)系統(tǒng)要采用實(shí)際數(shù)據(jù)進(jìn)行測(cè)試。四、數(shù)據(jù)庫課程設(shè)計(jì)提交的成果1. 課程設(shè)計(jì)說明書一份, A4打印稿,正文部分要求不少于20 頁,所有英文字體采用Arial。正文及目錄格式參考(畢業(yè)設(shè)計(jì)論文格式要求)正文內(nèi)容包括:(1) 需求分析; (2) 數(shù)據(jù)庫概念結(jié)構(gòu)設(shè)計(jì); (3) 數(shù)據(jù)庫邏輯結(jié)構(gòu)設(shè)計(jì); (4) 數(shù)據(jù)流圖及程序結(jié)構(gòu)框圖; (5) 程序源代碼及其說明; (6) 總結(jié);(7) 參考文獻(xiàn)。
4、2. 刻制光盤一張,把完成的所有電子文檔(設(shè)計(jì)說明書文檔、打包后可運(yùn)行程序及源程序)一并交由指導(dǎo)老師處。注:文檔目錄按照如下統(tǒng)一命名規(guī)則建立,“課設(shè)題目名稱/學(xué)號(hào)姓名/”,比如“公司人事管理系統(tǒng)/12730101周歡歡/”。五、主要參考文獻(xiàn)1 王珊著 數(shù)據(jù)庫系統(tǒng)概論(第四版). 高等教育出版社, 2002.32 劉金嶺等著 數(shù)據(jù)庫原理及應(yīng)用實(shí)驗(yàn)與課程設(shè)計(jì)指導(dǎo),清華大學(xué)出版社出版,2010.63 錢雪忠等著 數(shù)據(jù)庫原理及技術(shù)課程設(shè)計(jì)(全新正版),清華大學(xué)出版社出版,2009.24 周屹著 數(shù)據(jù)庫原理及開發(fā)應(yīng)用實(shí)驗(yàn)與課程設(shè)計(jì)指導(dǎo), 清華大學(xué)出版社出版,2008.125 李春葆等著 Visual B
5、asic數(shù)據(jù)庫系統(tǒng)設(shè)計(jì)與開發(fā),清華大學(xué)出版社出版,2003.86 唐紅亮著 SQL Server數(shù)據(jù)庫設(shè)計(jì)與系統(tǒng)開發(fā)教程,清華大學(xué)出版社出版,2007.107 丁忠俊著 數(shù)據(jù)庫系統(tǒng)原理及應(yīng)用,清華大學(xué)出版社出版,2012.48 李曉峰等著 數(shù)據(jù)庫系統(tǒng)原理及應(yīng)用,水利水電出版社,2011.29 萬常選著 數(shù)據(jù)庫系統(tǒng)原理與設(shè)計(jì)(第2版),清華大學(xué)出版社出版,2012.910 馮健華等著 數(shù)據(jù)庫系統(tǒng)設(shè)計(jì)與原理(第2版),清華大學(xué)出版社出版,2012.811(美)羅摩克里希納,格爾基著,周立棟譯 數(shù)據(jù)庫管理系統(tǒng)原理與設(shè)計(jì)(第3版),清華大學(xué)出版社出版,2004.312(美)西爾伯沙茨等著,楊冬青等譯
6、數(shù)據(jù)庫系統(tǒng)概念(原書第6版本科教學(xué)版),機(jī)械工業(yè)出版社,2013.113Access 2010數(shù)據(jù)庫應(yīng)用從入門到精通何先軍編,中國鐵道出版社,2013.1014數(shù)據(jù)庫系統(tǒng)概念、設(shè)計(jì)及應(yīng)用印 辛赫(Singh.S.K)著 何玉潔,王曉波,車?yán)?,等譯.機(jī)械工業(yè)出版社,2010.1六、各階段時(shí)間安排(共2周)周次日期內(nèi)容地點(diǎn)第1周星期一分組、選題、收集與整理資料教室星期二數(shù)據(jù)庫分析與設(shè)計(jì)教室星期三星期五用戶界面設(shè)計(jì)及系統(tǒng)功能實(shí)現(xiàn)教室第2周星期一星期二用戶界面設(shè)計(jì)及系統(tǒng)功能實(shí)現(xiàn)教室星期三測(cè)試程序上機(jī)演示教室星期四撰寫課程設(shè)計(jì)說明書教室星期五答辯教室2015年12月30日摘 要目前,我國的大中專院校的學(xué)
7、生信息管理水平普遍不高。在當(dāng)今的信息時(shí)代,傳統(tǒng)的管理方法必然要被以計(jì)算機(jī)為基礎(chǔ)的信息管理系統(tǒng)所代替,而且目前很多重點(diǎn)院校都已經(jīng)有了自己的教務(wù)管理系統(tǒng)。已有的大都比較偏向?qū)W生檔案管理,學(xué)籍管理等,而本案例則把重點(diǎn)放在信息管理上,從整體上進(jìn)行分析設(shè)計(jì),這對(duì)于其他類似的管理系統(tǒng)的設(shè)計(jì)有很高的參考意義。采用學(xué)生信息管理系統(tǒng)進(jìn)行C#程序開發(fā),將C#程序中的所有概念和技術(shù)應(yīng)用到學(xué)生信息管理系統(tǒng)的開發(fā)當(dāng)中,按照軟件工程的思想來進(jìn)行網(wǎng)站開發(fā)。分別進(jìn)行學(xué)生信息管理系統(tǒng)需求分析、學(xué)生信息管理系統(tǒng)數(shù)據(jù)庫設(shè)計(jì)、學(xué)生信息管理系統(tǒng)主菜單設(shè)計(jì)、學(xué)生信息管理系統(tǒng)中類的應(yīng)用、學(xué)生信息管理系統(tǒng)數(shù)據(jù)訪問方法、學(xué)生信息管理系統(tǒng)窗體和
8、事件應(yīng)用和學(xué)生信息管理系統(tǒng)應(yīng)用部署等幾個(gè)模塊來完成。關(guān)鍵詞:C#;數(shù)據(jù)庫;信息管理;管理系統(tǒng) 目 錄1系統(tǒng)簡(jiǎn)介1.1設(shè)計(jì)思想1.2可行性分析1.3小組分工2需求分析2.1需求調(diào)查2.2數(shù)據(jù)流程圖2.3數(shù)據(jù)字典3概念結(jié)構(gòu)設(shè)計(jì)3.1系統(tǒng)E-R圖3.2表/字段分析4邏輯結(jié)構(gòu)設(shè)計(jì)4.1模塊分析4.2數(shù)據(jù)訪問方法5物理結(jié)構(gòu)設(shè)計(jì)5.1模塊任務(wù)5.2模塊實(shí)施6系統(tǒng)主要查詢功能及SQL語句7系統(tǒng)實(shí)現(xiàn) 7.1系統(tǒng)功能模塊圖7.2部分程序代碼7.3系統(tǒng)運(yùn)行截圖8設(shè)計(jì)小結(jié)8.1心得與體會(huì)8.2存在的問題及建議參考文獻(xiàn)致 謝源代碼1系統(tǒng)簡(jiǎn)介1.1設(shè)計(jì)思想 1.掌握C#的主要語法和Microsoft Visual st
9、udio 2008開發(fā)環(huán)境。2.通過C#語言編寫學(xué)生信息管理系統(tǒng)從而牢固掌握C#程序設(shè)計(jì)。3.通過編寫程序?qū)崿F(xiàn)學(xué)生信息管理系統(tǒng)進(jìn)一步掌握.NET架構(gòu),加深對(duì)C#的熟練與認(rèn)識(shí)。4.程序界面美觀。1.2可行性分析1.技術(shù)可行性:本系統(tǒng)采用Windows7及其以上版本作為操作平臺(tái)。數(shù)據(jù)庫管理系統(tǒng)選用SQL,該數(shù)據(jù)庫管理系統(tǒng),提供數(shù)據(jù)庫之間的數(shù)據(jù)復(fù)制功能,可代替現(xiàn)有系統(tǒng)單據(jù)數(shù)據(jù)的手工傳遞工作,降低出錯(cuò)率,提高數(shù)據(jù)的可用性。本系統(tǒng)的應(yīng)用程序開發(fā)平臺(tái)選用Microsoft Visual studio 2008。2經(jīng)濟(jì)可行性:采用前臺(tái)學(xué)籍信息管理系統(tǒng)可取代原系統(tǒng)的單手工傳遞工作,減少人工開支,節(jié)省資金,并且
10、可大大提高信息量的取得,縮短信息處理周期提高學(xué)生信息的利用率,使教學(xué)質(zhì)量更上一個(gè)臺(tái)階。3營運(yùn)可行性:本系統(tǒng)操作簡(jiǎn)單,易于理解,只需通過簡(jiǎn)單培訓(xùn),上手較快,學(xué)校學(xué)籍管理處的教職員以及相關(guān)教師均能進(jìn)行操作,營運(yùn)環(huán)境要求低。面對(duì)于系統(tǒng)設(shè)計(jì)還應(yīng)該以“標(biāo)準(zhǔn)性、安全性、高效性、保密性、可維護(hù)性”為標(biāo)準(zhǔn),在著眼于當(dāng)前實(shí)用的基礎(chǔ)上,為將來系統(tǒng)的擴(kuò)展,升級(jí)留有余地。軟件的開發(fā)應(yīng)能在較長(zhǎng)時(shí)間內(nèi)滿足學(xué)校的發(fā)展需要。標(biāo)準(zhǔn)性:系統(tǒng)編寫與運(yùn)行必須符合標(biāo)準(zhǔn),既可以保證系統(tǒng)運(yùn)行又可以在此標(biāo)準(zhǔn)上每一項(xiàng)功能運(yùn)行??煽啃裕河捎趯W(xué)籍信息的重要性,系統(tǒng)必須穩(wěn)定可靠,從而避免或減少數(shù)據(jù)損失。安全性:通過系統(tǒng)權(quán)限控制使用者,從而確保使用者
11、無法操作與其無關(guān)的數(shù)據(jù)。高效性:由于學(xué)校學(xué)生信息每次處理信息量較大,系統(tǒng)對(duì)信息處理能力響應(yīng)能力都應(yīng)是快捷有效的。可維護(hù)性:采用結(jié)構(gòu)化模塊設(shè)計(jì),便于開發(fā)與維護(hù),也有利于情況隨時(shí)修復(fù)處理。1.3小組分工本小組2個(gè)人共同完成學(xué)生信息管理系統(tǒng),具體分工如下:1.組長(zhǎng)杜政毅主要負(fù)責(zé)代碼的編寫和調(diào)試;2.組員曹冠平負(fù)責(zé)建立數(shù)據(jù)庫和文檔編寫。2. 需求分析2.1范圍本指南用于指導(dǎo)軟件開發(fā)者為學(xué)生信息管理系統(tǒng)的開發(fā)過程,通過規(guī)范軟件項(xiàng)目承擔(dān)軟件的開發(fā)過程達(dá)到提高軟件質(zhì)量,降低維護(hù)成本的目的。開發(fā)者應(yīng)根據(jù)本指南進(jìn)行軟件開發(fā)和編制軟件開發(fā)文檔。本指南是對(duì)軟件項(xiàng)目承擔(dān)單位的基本要求。在進(jìn)行具體軟件開發(fā)時(shí),開發(fā)者可根
12、據(jù)實(shí)際情況采編寫。2.2信息需求 我們將管理體制和建立各種管理規(guī)范與開發(fā)信息系統(tǒng)有機(jī)地結(jié)合起來,通過幾個(gè)功能模塊進(jìn)行統(tǒng)一管理,要求管理系統(tǒng)滿足以下幾個(gè)方面的要求: 從用戶角度來看,系統(tǒng)首先應(yīng)該能夠提供便捷與強(qiáng)大的信息查詢功能;對(duì)于學(xué)校的全體教師而言,他們應(yīng)該能夠?qū)ο到y(tǒng)的不同部分有各自不同的權(quán)限。 具有較強(qiáng)的靈活性及可擴(kuò)展性,能夠存儲(chǔ)一定數(shù)量的學(xué)生信息,并方便有效地進(jìn)行相應(yīng)的數(shù)據(jù)操作和管理。這主要包括:學(xué)生信息的錄入、刪除及修改,各種信息的單條件查詢和多條件的組合查詢,以及學(xué)生各科信息的多關(guān)鍵字檢索查詢。 具有較高的安全性,系統(tǒng)登錄有各自的安全賬戶。系統(tǒng)管理員可添加用戶信息,更改用戶信息和刪除用
13、戶信息,同時(shí)可以針對(duì)其他的信息具有所有的權(quán)限;任課教師可以錄入信息;學(xué)生只能對(duì)所有的信息具有查詢的功能,不具有修改、刪除和錄入的權(quán)限。系統(tǒng)能夠提供數(shù)據(jù)信息授權(quán)訪問,防止隨意刪改等。2.3總體功能要求學(xué)生信息管理系統(tǒng)的用戶主要有兩類:學(xué)生用戶、管理員用戶。學(xué)生信息管理系統(tǒng)主要分為四種模塊:錄入模塊、刪除模塊、修改模塊、查找模塊。逐步對(duì)各個(gè)模塊的代碼書寫,實(shí)現(xiàn)多種功能,讓用戶快速而便捷地使用學(xué)生信息管理系統(tǒng)。用戶可以錄入學(xué)生信息,輸入學(xué)生的學(xué)號(hào)從而刪除學(xué)生信息、查找學(xué)生信息、修改學(xué)生信息。 1.功能模塊總圖(圖2.1)。圖2.1 功能模塊總圖2.學(xué)生用戶主要具備的功能需求:(1)學(xué)生只是利用此系統(tǒng)
14、進(jìn)行與自己有關(guān)的信息查詢、輸入等;(2)瀏覽個(gè)人基本信息,具體內(nèi)容包括姓名、學(xué)號(hào)、民族、出生日期、籍貫、所在班級(jí)、備注等;(3)瀏覽課程信息,具體內(nèi)容包括課程名、課程類型、學(xué)時(shí)、學(xué)分和課程具體描述;(4)學(xué)生利用此系統(tǒng)選修課程、在選課過程中,可查詢待選課程基本信息;(5)瀏覽個(gè)人選課情況。3.管理員用戶主要具備的功能需求:(1)管理員權(quán)限最大,可以對(duì)學(xué)生、班級(jí)、課程情況進(jìn)行統(tǒng)一的管理,細(xì)分如下:(2)添加、修改、刪除管理員;(3)有關(guān)學(xué)生信息的瀏覽,包括學(xué)生姓名、性別、民族、出生日期、入學(xué)時(shí)間、所在班級(jí)、籍貫和備注信息;(4)學(xué)生信息的添加、修改和刪除;(5)學(xué)?;菊n程的瀏覽,包括課程名、課
15、程類型、學(xué)時(shí)、學(xué)分和課程具體描述;(6)學(xué)?;菊n程的添加、修改和刪除;(7)學(xué)生成績(jī)信息的瀏覽與統(tǒng)計(jì),可按成績(jī)具體范圍對(duì)成績(jī)進(jìn)行統(tǒng)計(jì);(8)學(xué)生成績(jī)信息的添加、修改和刪除;(9)學(xué)生選課信息的管理,包括修改與刪除;(10)學(xué)生選課人數(shù)的統(tǒng)計(jì)。2.4運(yùn)行環(huán)境1.硬件平臺(tái):普通電腦;2.操作系統(tǒng):Windows7以上版本;3.支撐環(huán)境和版本:主程序采用C#語言編寫,數(shù)據(jù)庫支持access與SQL sever;2.5 數(shù)據(jù)定義1.用戶信息數(shù)據(jù)表(Users):用戶名:User_id;用戶密碼:User_password;用戶類型:User_power.2. 學(xué)生信息數(shù)據(jù)表(Student):學(xué)生學(xué)
16、號(hào):Student_id;學(xué)生姓名:Student_name;學(xué)生性別:Student_sex;學(xué)生民族:Student_nation;學(xué)生出生日期:Student_birthday;學(xué)生入學(xué)時(shí)間:Student_time;學(xué)生所在班級(jí):Student_class;學(xué)生住址:Student_home;備注: Student_else.3. 課程信息數(shù)據(jù)表(Course):課程號(hào):Course_id;課程名:Course_name;課程學(xué)分:Course_credit;課程學(xué)時(shí):Course_period;課程描述:Course_describe.4. 學(xué)生選課記錄數(shù)據(jù)表(Student_Cou
17、rse):學(xué)生選課記錄ID:ID;學(xué)生成績(jī):Student_grade;年度學(xué)期:Course_year.3數(shù)據(jù)庫設(shè)計(jì)3.1系統(tǒng)E-R圖1. 學(xué)生管理系統(tǒng)實(shí)體間關(guān)系E-R圖(圖3.1)圖3.1 學(xué)生管理系統(tǒng)實(shí)體間關(guān)系2. 學(xué)生管理系統(tǒng)用戶信息實(shí)體(圖3.2)圖3.2 學(xué)生管理系統(tǒng)用戶信息實(shí)體圖3. 學(xué)生管理系統(tǒng)學(xué)生信息實(shí)體(圖3.3)圖3.3學(xué)生管理系統(tǒng)學(xué)生信息實(shí)體 4. 學(xué)生管理系統(tǒng)課程信息實(shí)體(圖3.4)圖3.4學(xué)生管理系統(tǒng)課程信息實(shí)體5. 學(xué)生管理系統(tǒng)學(xué)生-課程信息實(shí)體(圖3.5)圖3.5學(xué)生管理系統(tǒng)學(xué)生-課程信息實(shí)體3.2表/字段分析1.用戶信息數(shù)據(jù)表(Users):2. 學(xué)生信息數(shù)據(jù)
18、表(Student):3. 課程信息數(shù)據(jù)表(Course):4. 學(xué)生選課記錄數(shù)據(jù)表(Student_Course):4.程序設(shè)計(jì)模塊學(xué)生信息管理系統(tǒng)是一個(gè)典型的數(shù)據(jù)庫應(yīng)用程序,由用戶管理、課程管理、選課管理和成績(jī)管理四大模塊組成;這四大模塊針對(duì)管理員和學(xué)生角色其功能也不一樣。4.1模塊分析1.用戶管理模塊:該模塊的主要任務(wù)是管理員對(duì)系統(tǒng)的使用權(quán)限進(jìn)行設(shè)定,從而來管理管理員與學(xué)生的系統(tǒng)登錄權(quán)限。其模塊圖如圖4.1所示:圖4.1 用戶登錄模塊圖2.課程管理模塊:該模塊的使用角色為管理員,管理員對(duì)課程進(jìn)行管理;如添加、修改、刪除課程。其模塊圖如圖4.2所示:圖4.2 課程管理模塊圖3.選課管理模塊
19、:該模塊的角色為管理員和學(xué)生。學(xué)生可以進(jìn)行合理的選課、退選課,管理員則通過此模塊查看學(xué)生選課信息。其模塊圖如圖4.3所示:圖4.3 選課模塊圖4.成績(jī)管理模塊:該模塊的角色為管理員,管理員通過此模塊進(jìn)行合理的成績(jī)添加。4.2數(shù)據(jù)訪問方法1.模塊任務(wù)創(chuàng)建學(xué)生信息管理系統(tǒng)中的各個(gè)操作類。2.模塊指標(biāo)創(chuàng)建學(xué)生信息管理系統(tǒng)的操作類:DataAccess類、StudentInfoOperation類、和UserInfoOperation類。針對(duì)數(shù)據(jù)表中的數(shù)據(jù)信息進(jìn)行實(shí)體類的定義之后,需要針對(duì)這些數(shù)據(jù)表中的內(nèi)容,定義針對(duì)數(shù)據(jù)的增、刪、改和查等數(shù)據(jù)訪問操作類。3.模塊實(shí)施(1)數(shù)據(jù)訪問類DataAccess
20、.cs類的訪問修飾符設(shè)為public,設(shè)置為公開的,這樣才可以被其他類訪問。但是在定義DataAccess.cs類之前,需要引用命名空間,如下所示:usingSystem.Data;usingSystem.Data.SqlClient;DataAccess.cs類主要是實(shí)現(xiàn)數(shù)據(jù)庫連接及對(duì)SQL命令的執(zhí)行。publicclassDataAccess首先在DataAccess.cs類中定義靜態(tài)連接字符串ConnectionString,其代碼如下所示:publicstaticstringConnectionString=datasource=.;database=SSCGGL;integrated
21、security=true;publicboolExecuteSQL(stringsql)publicSqlDataReaderGetReader(stringsql)publicDataSetGetDataSet(stringsql,stringtablename)publicintGetCount(stringsql)publicboolCheckAdmin(stringstrname,stringstrpwd)(2)學(xué)生操作類StudentInfoOperation.cs類的訪問修飾符設(shè)為public,設(shè)置為公開的,這樣才可以被其他類訪問。StudentInfoOperation.cs類
22、主要是實(shí)現(xiàn)對(duì)學(xué)生信息的操作,針對(duì)數(shù)據(jù)庫中的StudentInfo表進(jìn)行增刪改查操作。定義StudentInfoOperation.cs類的形式如下所示:publicclassStudentInfoOperation在該類中,定義的方法都是需要調(diào)用數(shù)據(jù)訪問類DataAccess.cs中的方法,因此需要首先實(shí)例化數(shù)據(jù)訪問類DataAccess類的對(duì)象。定義的代碼如下所示:privatestaticDataAccessdataAccess=newDataAccess();publicstaticboolinsertStudentInfo(StudentInfoDatastudentInfoData)
23、publicstaticboolupdateStudentInfo(StudentInfoDatastudentInfoData)publicstaticbooldeleteStudentInfo(stringsno)publicstaticDataSetgetStudentInfo(StudentInfoDatastudentInfoData)(3)用戶操作類UserInfoOperation.cs類的訪問修飾符設(shè)為public,設(shè)置為公開的,這樣才可以被其他類訪問。UserInfoOperation.cs類主要是實(shí)現(xiàn)對(duì)用戶信息的操作,針對(duì)數(shù)據(jù)庫中的UserInfo表進(jìn)行增刪改查操作。定義U
24、serInfoOperation.cs類的形式如下所示:PublicclassUserInfoOperation在該類中,定義的方法都是需要調(diào)用數(shù)據(jù)訪問類DataAccess.cs中的方法,因此需要首先實(shí)例化數(shù)據(jù)訪問類DataAccess類的對(duì)象。定義的代碼如下所示:privatestaticDataAccessdataAccess=newDataAccess();publicstaticboolinsertUserInfo(UserInfoDatadata)publicstaticboolupdateUserInfo(UserInfoDatadata)publicstaticbooldele
25、teUserInfo(stringuserid)publicstaticDataSetgetUserInfo(UserInfoDatadata)publicstaticDataSetgetUserInfoAll(UserInfoDatadata)5窗體和事件應(yīng)用5.1模塊任務(wù)1.創(chuàng)建學(xué)生信息管理系統(tǒng)中的各個(gè)窗體2.實(shí)現(xiàn)對(duì)用戶、學(xué)生信息的增刪改查功能創(chuàng)建學(xué)生信息管理系統(tǒng)的窗體:Longin.cs登錄窗體、Form3.cs主窗體、AddGrade.cs添加學(xué)生成績(jī)窗體、Form7.cs課程信息查詢窗體、Form8.cs用戶修改密碼窗體、Form1.cs學(xué)生查詢窗體、Form9.cs用戶注冊(cè)窗體。3
26、.模塊的提出窗體是進(jìn)行用戶體驗(yàn)的最好方式,當(dāng)用戶使用學(xué)生信息管理系統(tǒng)的時(shí)候,窗體是用戶直接使用的界面,因此需要設(shè)計(jì)合理并便于用戶操作。5.2模塊實(shí)施1.Longin.cs登錄窗體Longin.cs窗體是用戶進(jìn)行登錄所使用的窗體,主要包含Label標(biāo)簽、TextBox文本框和Button按鈕。用戶輸入用戶名和密碼之后,點(diǎn)擊“登錄”按鈕,可以驗(yàn)證用戶身份的合理性,用戶身份有效可以登錄到主界面中。如圖5.1所示。圖5.1學(xué)生信息管理系統(tǒng)的主界面2. Form3.cs主窗體Form3.cs窗體為主窗體,窗體上包含了所有模塊的菜單項(xiàng),但是系統(tǒng)根據(jù)用戶的權(quán)限,來設(shè)置菜單項(xiàng)中的哪些模塊是可以使用的,哪些模塊
27、是不可以使用的。首先在Form3.cs主窗體主界面的構(gòu)造函數(shù)中,進(jìn)行用戶權(quán)限的判斷,如果是學(xué)生或者教師登錄,那么只允許部分模塊進(jìn)行操作,只有管理員可以所有模塊都進(jìn)行操作。首先創(chuàng)建UserInfoData用戶實(shí)體類的對(duì)象data,并且將Form3.cs窗體中用戶登錄的名字賦值給data對(duì)象的Userid屬性,創(chuàng)建數(shù)據(jù)集ds來獲取UserInfoOperation用戶操作類中的getUserInfoAll()方法中用戶記錄。如果用戶記錄不為空,那么獲取該用戶的Userlevel字段的值,該值如果為學(xué)生或者教師,那么部分模塊的Enabled屬性設(shè)置為false,讓這些模塊不可用。如果為管理員,那么默
28、認(rèn)的所有的模塊都是可用的,也就是所有模塊菜單的Enabled屬性的初值均為true。如圖5.2所示。圖5.2學(xué)生信息顯示界面3.AddGrade.cs添加學(xué)生成績(jī)窗體AddGrade.cs窗體主要是用來添加學(xué)生的成績(jī),輸入學(xué)號(hào)、姓名、性別、出生日期、家庭住址、家庭電話和所在班級(jí),點(diǎn)擊“保存”按鈕即可錄入或者修改學(xué)生信息記錄,點(diǎn)擊“取消”按鈕,退出學(xué)生信息添加窗體。如圖5.3所示。圖5.3AddGrade.cs窗體4.Form7.cs課程信息查詢窗體Form7.cs窗體主要是實(shí)現(xiàn)登錄用戶的課程信息查詢。使用該窗體可以查詢某一學(xué)科的各種信息。如圖5.4所示。圖5.4Form7.cs窗體5. For
29、m8.cs用戶修改密碼窗體Form8.cs窗體主要是實(shí)現(xiàn)用戶修改密碼的功能。該窗體中,可以通過輸入用戶名和原密碼,然后輸入新密碼和確認(rèn)新密碼,來修改用戶的登錄密碼。如圖5.5所示。圖5.5Form8.cs窗體6.Form1.cs學(xué)生查詢窗體Form1.cs窗體主要是實(shí)現(xiàn)學(xué)生信息查詢功能。該窗體中,可以通過學(xué)生學(xué)號(hào)、學(xué)生姓名、性別或班級(jí)信息進(jìn)行查詢,窗體中有一個(gè)DataGridView控件,當(dāng)查詢出結(jié)果后,可以選中控件中的一條記錄,進(jìn)行刪除或者修改操作。如圖5.6所示。圖5.6Form1.cs窗體 7. Form9.cs用戶注冊(cè)窗體Form9.cs窗體主要是實(shí)現(xiàn)用戶信息查詢功能。該窗體中,可以通
30、過用戶名或者用戶類型進(jìn)行查詢,窗體中有一個(gè)DataGridView控件,當(dāng)查詢出結(jié)果后,可以選中控件中的一條記錄,進(jìn)行刪除或者修改操作。如圖5.7所示。圖5.7 Form9.cs窗體總 結(jié)在進(jìn)行本次課程設(shè)計(jì)時(shí),我遇到了很多困難和學(xué)習(xí)到了很多知識(shí)。下面我將主要總結(jié)我所遇到的困難,及自己的解決方法。以及自己學(xué)到的知識(shí)點(diǎn)。開始著手在C#中建立與SQL數(shù)據(jù)庫連接時(shí),連接數(shù)據(jù)庫時(shí)在連接句前加上字符相對(duì)于單一的連接語句更容易連接得上。在對(duì)DataAdapter數(shù)據(jù)集中數(shù)據(jù)表的行數(shù)據(jù)、列名進(jìn)行修改時(shí),可以通過數(shù)據(jù)集中表的行二維數(shù)組dataset.Tablest.Rowsij.ToString()來實(shí)現(xiàn),其中
31、i為行標(biāo),j為列標(biāo)。在對(duì)數(shù)據(jù)行數(shù)進(jìn)行讀取時(shí),可采用dataset.Tablest.Rows.Count來實(shí)現(xiàn)。學(xué)生在從第一個(gè)登錄界面窗體登錄學(xué)號(hào)進(jìn)入信息查看界面窗體時(shí),要保證學(xué)號(hào)信息能準(zhǔn)確無誤的傳輸?shù)叫畔⒉榭唇缑娲绑w才可以在信息查看窗體中查看該學(xué)生的個(gè)人信息。開始時(shí)我只是在信息窗體Form8中實(shí)例化Form1對(duì)象,結(jié)果無法獲取Form1窗口中的textBox1.Text中的學(xué)生學(xué)號(hào)信息。經(jīng)過進(jìn)一步查找資料,我明白了在信息窗體Form8中調(diào)用Form1中的屬性或函數(shù),與在Form1中調(diào)用Form8中的屬性或函數(shù)不一樣。窗體Form1下,其中的屬性和函數(shù)都有確定的值或表達(dá)式,直接調(diào)用Form8將值
32、傳進(jìn)去可行,因?yàn)榇藭r(shí)Form1中的數(shù)據(jù)存在;而在Form8窗體中調(diào)用Form1窗體中的函數(shù)和屬性,則Form1窗體已經(jīng)關(guān)閉,改窗體中的textBox1.Text也就無值了,獲取該窗體中textBox1.Text中的學(xué)生學(xué)號(hào)信息也就無法實(shí)現(xiàn)。通過編寫代碼,使我很熟練的可以運(yùn)用C#中的數(shù)據(jù)集Dataset、Connection對(duì)象、Command對(duì)象、DataResder對(duì)象和DataAdapter對(duì)象。并對(duì)SQL的select、insert、delete、update熟練掌握。參考文獻(xiàn)1 張海潘. 軟件工程導(dǎo)論(第四版)M. 清華大學(xué)出版社, 2003.122 薩師煊, 王珊. 數(shù)據(jù)庫系統(tǒng)概論M
33、. 高等教育出版社, 2002.33 陳承歡, 彭勇. 管理信息系統(tǒng)基礎(chǔ)與開發(fā)技術(shù)M. 人民郵電出版社, 20054 劉云生, 盧正鼎, 盧炎生. 數(shù)據(jù)庫系統(tǒng)概論M. 華中科技大學(xué)出版社, 2002 5 鄭人杰, 殷人昆, 陶永雷. 實(shí)用軟件工程M. 清華大學(xué)出版社, 19976 唐政,房大偉.C#項(xiàng)目開發(fā)全程實(shí)錄M.清華大學(xué)出版社,2008.67 黃銳軍.C#程序設(shè)計(jì)項(xiàng)目實(shí)訓(xùn)教程M.化學(xué)工業(yè)出版社,2010.28 呂高旭.Visual C#范例精要解析M.清華大學(xué)出版社,2008.1致 謝時(shí)間如白駒過隙轉(zhuǎn)瞬即逝,不經(jīng)意間兩周的時(shí)間已經(jīng)過去。但是這短短的兩周時(shí)間里我感受到了最真誠的青春,最純真
34、的歲月,最美麗的大學(xué)生活。我們的動(dòng)手能力得到提升。感謝朱老師對(duì)我們的幫助。使我們不但豐富了知識(shí),更使我們提高了動(dòng)手能力。您對(duì)我們孜孜不倦的教導(dǎo)讓我順利的完成了這次課程設(shè)計(jì)。 在這次的課程設(shè)計(jì)中我運(yùn)用了我在課堂上所學(xué)到的文化知識(shí)和技能,讓我重新認(rèn)識(shí)到編程的樂趣。在此,我再次感謝朱老師的幫助和教導(dǎo)跟小伙伴的協(xié)作。源代碼1.AddGrade.Cs窗體using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.L
35、inq;using System.Text;using System.Threading.Tasks;using System.Windows.Forms;namespace WindowsFormsApplication2 public partial class AddGrade : Form public AddGrade() InitializeComponent(); private void student_CourseBindingNavigatorSaveItem_Click(object sender, EventArgs e) this.Validate(); this.s
36、tudent_CourseBindingSource.EndEdit(); this.tableAdapterManager.UpdateAll(this.學(xué)生信息管理系統(tǒng)DataSet); private void AddGrade_Load(object sender, EventArgs e) / TODO: 這行代碼將數(shù)據(jù)加載到表“學(xué)生信息管理系統(tǒng)DataSet.Student_Course”中。您可以根據(jù)需要移動(dòng)或刪除它。 this.student_CourseTableAdapter.Fill(this.學(xué)生信息管理系統(tǒng)DataSet.Student_Course); privat
37、e void label1_Click(object sender, EventArgs e) this.Hide(); new serchStudent().Show(); private void student_CourseDataGridView_CellContentClick(object sender, DataGridViewCellEventArgs e) 2.學(xué)生個(gè)人信息窗體using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using Sys
38、tem.Drawing;using System.Linq;using System.Text;using System.Threading.Tasks;using System.Windows.Forms;namespace WindowsFormsApplication2 public partial class Form1 : Form public Form1() InitializeComponent(); private void studentBindingNavigatorSaveItem_Click(object sender, EventArgs e) this.Valid
39、ate(); this.studentBindingSource.EndEdit(); this.tableAdapterManager.UpdateAll(this.學(xué)生信息管理系統(tǒng)DataSet); private void Form1_Load(object sender, EventArgs e) / TODO: 這行代碼將數(shù)據(jù)加載到表“學(xué)生信息管理系統(tǒng)DataSet.Student”中。您可以根據(jù)需要移動(dòng)或刪除它。 this.studentTableAdapter.Fill(this.學(xué)生信息管理系統(tǒng)DataSet.Student); 3.Form3.cs窗體using System
40、;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Threading.Tasks;using System.Windows.Forms;namespace WindowsFormsApplication2 public partial class Form3 : Form public string sno; public Form3(string
41、 sno) this.sno = sno; InitializeComponent(); private void Form3_Load(object sender, EventArgs e) private void button1_Click(object sender, EventArgs e) this.Hide(); Form1 form1 = new Form1(); form1.Show(); private void button2_Click(object sender, EventArgs e) this.Hide(); Form5 form5 = new Form5();
42、 form5.Show(); private void button3_Click(object sender, EventArgs e) this.Hide(); Form6 form6 = new Form6(); form6.Show(); private void button4_Click(object sender, EventArgs e) this.Hide(); Form7 form7 = new Form7(); form7.Show(); private void button5_Click(object sender, EventArgs e) this.Hide();
43、 Form8 xiugai = new Form8(sno); xiugai.Show(); private void button6_Click(object sender, EventArgs e) System.Environment.Exit(0); this.Close(); 4.課程信息窗體using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text
44、;using System.Threading.Tasks;using System.Windows.Forms;namespace WindowsFormsApplication2 public partial class Form5 : Form public Form5() InitializeComponent(); private void courseBindingNavigatorSaveItem_Click(object sender, EventArgs e) this.Validate(); this.courseBindingSource.EndEdit(); this.
45、tableAdapterManager.UpdateAll(this.學(xué)生信息管理系統(tǒng)DataSet); private void Form5_Load(object sender, EventArgs e) / TODO: 這行代碼將數(shù)據(jù)加載到表“學(xué)生信息管理系統(tǒng)DataSet.Course”中。您可以根據(jù)需要移動(dòng)或刪除它。 this.courseTableAdapter.Fill(this.學(xué)生信息管理系統(tǒng)DataSet.Course); private void button1_Click(object sender, EventArgs e) this.Close(); 5.成績(jī)信息窗
46、體using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Data.SqlClient;using System.Drawing;using System.Linq;using System.Text;using System.Threading.Tasks;using System.Windows.Forms;namespace WindowsFormsApplication2 public partial class Form6 : Fo
47、rm public Form6() InitializeComponent(); private void Form6_Load(object sender, EventArgs e) DataTable table= SqlHelPer.ExecuteDataTable(SELECT Course_name FROM Course); foreach (DataRow row in table.Rows) foreach(DataColumn col in table.Columns) comboBox1.Items.Add(rowcol); private void button2_Cli
48、ck(object sender, EventArgs e) string StudentID = textBox2.Text; string CourseName = comboBox1.Text; string CourseID = null; DataTable table1 =SqlHelPer.ExecuteDataTable(select Course_id from Course where Course_name=name,new SqlParameter(name,CourseName); DataRow row1=table1.Rows0; CourseID = (string)row10; DataT
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- it公司辭職報(bào)告范文
- 2025年貴陽貨運(yùn)從業(yè)資格證試題答題器app
- 2025贛州市商品房買賣合同空白
- 上海現(xiàn)代化工職業(yè)學(xué)院《大學(xué)化學(xué)A》2023-2024學(xué)年第一學(xué)期期末試卷
- 上海外國語大學(xué)賢達(dá)經(jīng)濟(jì)人文學(xué)院《社會(huì)化媒體營銷》2023-2024學(xué)年第一學(xué)期期末試卷
- 上海外國語大學(xué)賢達(dá)經(jīng)濟(jì)人文學(xué)院《空間三維建模與仿真》2023-2024學(xué)年第一學(xué)期期末試卷
- 2025擋墻承包合同
- 上海思博職業(yè)技術(shù)學(xué)院《光電材料》2023-2024學(xué)年第一學(xué)期期末試卷
- 課題申報(bào)書:構(gòu)建“四三”學(xué)校德育模式的實(shí)踐研究
- 課題申報(bào)書:工業(yè)智能化驅(qū)動(dòng)企業(yè)出口韌性提升的機(jī)制及穩(wěn)外貿(mào)效應(yīng)研究
- 工業(yè)物聯(lián)網(wǎng)(IIoT)行業(yè)發(fā)展全景調(diào)研與投資趨勢(shì)預(yù)測(cè)研究報(bào)告
- 金融數(shù)據(jù)分析-以Python為工具 課件 一、金融數(shù)據(jù)分析概覽
- 佛山市、三水區(qū)2022-2023學(xué)年七年級(jí)上學(xué)期期末地理試題【帶答案】
- 2024屆湖北高三元月調(diào)考數(shù)學(xué)試卷含答案
- DL∕T 1476-2023電力安全工器具預(yù)防性試驗(yàn)規(guī)程
- 西方園林史智慧樹知到期末考試答案章節(jié)答案2024年內(nèi)蒙古農(nóng)業(yè)大學(xué)
- 學(xué)年上學(xué)期期末職業(yè)高中高二年級(jí)數(shù)學(xué)練習(xí)試卷2
- 工程部設(shè)計(jì)部崗位職責(zé)
- 華為MA5800配置及調(diào)試手冊(cè)
- 學(xué)校后備干部培養(yǎng)選拔實(shí)施方案
- (高清版)TDT 1018-2008 建設(shè)用地節(jié)約集約利用評(píng)價(jià)規(guī)程
評(píng)論
0/150
提交評(píng)論