C#學生信息管理系統課程設計(NET)_第1頁
C#學生信息管理系統課程設計(NET)_第2頁
C#學生信息管理系統課程設計(NET)_第3頁
C#學生信息管理系統課程設計(NET)_第4頁
C#學生信息管理系統課程設計(NET)_第5頁
已閱讀5頁,還剩34頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

1、學生管理系統 摘要:現在高校的學生信息的管理趨向于復雜化和多元化,隨著計算機的廣泛應用,越來越多的高校均采用了計算機化的管理模式。查詢、修改、錄入、刪除等基本操作都采用了計算機的數據庫技術。比起以前使用卡片的方法有了很大的進步,方便管理,易于更新,極大的方便了學生信息的管理工作。學生信息管理系統是典型的信息管理系統(MIS),其開發主要包括后臺數據庫的建立和維護以及前端應用程序的開發兩個方面。對于前者要求建立起數據一致性和完整性強、數據安全性好的庫。而對于后者則要求應用程序功能完備,易使用等特點。 關鍵詞:學生信息;數據庫; 系統維護1引言1.1介紹本課題的目的和意義學生信息管理系統是一個教育

2、單位不可缺少的部分,它的內容對于學校的決策者和管理者來說都至關重要,所以學生管理系統應該能夠為用戶提供充足的信息和快捷的查詢手段1.2課題目的及意義1.2.1開發一個學生管理系統意義計算機已經成為我們學習和工作的得力助手:今天,計算機的價格已經十分低廉,性能有了長足的進步。它已經被應用于許多領域,計算機之所以如此流行的原因主要有以下幾個方面: 首先,計算機可以代替人工進行許多繁雜的勞動;其次,計算機可以節省許多資源; 第三,計算機可以大大的提高人們的工作效率; 第四,計算機可以使敏感文檔更加安全,等等。為了解決傳統學生信息的管理正面臨著的這些問題,我所設計的學生信息管理系統軟件也就應運而生了。

3、1.2.2 使用計算機管理學生信息的意義由于我國有些學校學生信息的管理水平比較低,只停留在紙介質的水準上,這樣的機制很明顯地已不能適應時代的發展要求,它浪費了過多的人力及物力,還存在一些先天缺陷。在信息時代,這種傳統的管理方法被以計算機為基礎的信息管理方法取代已是大勢所趨。 歸納起來,學生信息管理系統做到一下功能比較合民意: 首先,可以存儲歷屆的學生信息,安全、高效; 其次,系統可操作性強,能夠節省人力,最好只需一到二名信息錄入員; 再次,查找信息速度快、效率高,可以檢索有條件信息; 再其次,為將來學校實現網絡化教育做準備。1.3 主要設計功能本程序需要具備以下功能:可以對學生信息進行操作,比

4、如修改、添加等;可以對學生信息進行查詢;系統管理具體包括添加、刪除用戶,修改用戶信息等。2系統概述2.1系統設計背景隨著學校規模的不斷擴大,學生數量急劇增加,有關學生的各種信息也成倍增加。面對龐大的信息量,就需要有學生信息管理系統來提高學生管理工作的效率。通過這樣的系統,可以做到信息的規范管理、科學統計和快速的查詢,從而減少管理方面的工作量。2.2系統的功能簡介本系統主要分成四個部分:學生信息管理 ,成績管理,及用戶管理。2.2.1學生信息管理為每位在校學生就其中學號、性別、姓名、出生日期、出生地、備案,而且以中考成績作為分班的依據,可以對學生信息進行添加,刪除,修改。2.2.2成績管理每個學

5、期組織期末考試,并對每個學生的各門成績進行登記、匯總、排名。涉及的主要數據是每個班每個學期一張成績單,內容是學生的學號、姓名及成績,在該管理中主要完成成績的瀏覽、查詢、分數的計算、打印的功能,而且成績作為學生學習狀況的主要依據和教師教學質量考核的主要依據之一。2.2.3用戶管理該模塊的主要功能是實現對用戶的各種權限管理工作,添加新用戶、修改用戶密碼、修改用戶注冊信息、刪除用戶帳號等功能,從而方便于對用戶的管理。3系統的分析及設計3.1需求分析3.1.1功能需求通過調查,要求系統需要有以下功能: 由于操作人員的計算機知識普遍較差,要求有良好的人機界面; 由于該系統的使用對象多,要求有較好的權限管

6、理; 原始數據修改簡單方便,支持多條件修改 方便的數據查詢,支持多條件查詢; 在相應的權限下,刪除數據方便簡單,數據穩定性好; 數據計算自動完成,盡量減少人工干預;3.1.2性能需求分析(1)硬件環境CPU:Pentium4 C2.4D內存:256M硬盤:80G顯示器:17寸(2)軟件環境Windows XP系統/ Windows 7Microsoft Visual Studio 2008SQL Server2005IIS 6.03.2總體設計3.2.1可行性分析經過調查、研究、分析、計算,在學生信息管理中的應用已經條件成熟,我們將從以下幾個方面總結系統開發的可行性,具體情況如下:技術可行性以

7、Windows為操作系統,運用SQL SERVER2005的數據庫技術,開發以Windows XP/ Windows 7為用戶的操作平臺,界面友善、功能齊全的學生信息管理系統。新系統的運行硬件環境PC機,當用戶使用系統時,通過正確的口令進入系統,進行數據庫的維護操作和運用。經濟可行性一方面,新系統中友好的人機界面和更強勁的功能支持,會使教務人員的工作進一步提高,從而節省人力、物力,進而提高經濟效益;另一方面系統開發成本低,現有PC機即可提供該系統開發工作需要的所有硬件設備環境,至于人員主要以現有教師為指導,學生為主體進行完成。操作可行性操作上是對IE瀏覽器的引用,該瀏覽器的使用,主要憑借使用瀏

8、覽操作技術即可完成數據錄入、報表打印,方便簡單。使用前只要對用戶進行簡單的說明或閱讀幫助文件即可使用該系統。在對現有系統和現狀認真調查分析的基礎上,明確了學生信息管理工作本身存在的問題和建立管理信息系統的初步要求,進一步研究確定新系統的目標如下:1、按照管理信息系統的原理和方法,采用成熟的信息技術和手段,支持中學學生管理的全過程,加強成績表中信息資源的管理和應用,提高教務工作的效率。2、針對現代計算機廣泛應用的情況以及數據的封閉性,學生信息管理系統基于Windows系統研制、設計和開發。3、考慮經費等的原因,新系統使用PC機和現有其他打印設備以節省資金、降低成本。3.2.2功能分析根據系統分析

9、的結果,按照結構化的系統設計方法,學生信息管理系統從功能上可以做出如下系統的劃分:系統功能結構圖3.2.3數據流圖分析數據流圖是在對系統分析調查的基礎上,以系統的科學性、管理的合理性、技術的可行性角度出發,將信息處理功能和彼此之間的聯系自頂向下、逐層分解,從邏輯上精確地描述應具有的數據加工功能、數據輸入、數據輸出、數據存儲及數據的來源和去向。學生信息管理系統經過劃分出各子系統及其各自的功能,以及相互聯系,繪制出數據流圖如下:學生信息管理系統管理員用戶圖3-1頂層數據流圖管理員1.檢查合法性3.系統維護4.學生信息管理用戶系統管理員2.顯示系統主要功能圖3-2第0層數據流圖1.2檢查登錄名1.3

10、檢查密碼1.1檢查登錄系統管理員登錄名,密碼圖3-3第一層數據流圖2.1顯示系統主要功能2.2顯示學生基本信息2.3修改學生基本信息2.5刪除學生基本信息2.6查詢學生成績2.4添加學生基本信息2.7學生成績錄入學生信息表學生信息表學生成績表圖3-4第一層數據流圖2.3.1修改學生2.3.2檢查學生信息合法性學生信息表2.3.3修改學生信息檢查成功圖3-5第二層數據流圖(修改學生信息)2.4.1添加學生2.4.2檢查學生信息合法性學生信息表2.4.3添加學生信息檢查成功圖3-6第二層數據流圖(添加學生信息)2.5.1刪除學生2.5.2檢查學生信息合法性學生信息表2.5.3刪除學生信息檢查成功圖

11、3-7第二層數據流圖(刪除學生信息)2.6.1查詢成績2.6.2檢查學生信息合法性學生成績表2.6.3顯示學生成績檢查成功圖3-8第二層數據流圖(查詢學生成績)Admins(管理員)管理員ID管理員密碼圖3-9Admins(管理員)表E-R圖Stucdents(學生表)學號姓名性別出生日期出生地專業圖3-10Students(學生)表E-R圖Score(成績表)學號姓名成績圖3-11Score(成績)表E-R圖4詳細設計4.1數據庫設計數據庫采用了Microsoft推出的SQL SERVER2005數據庫,能夠快速方便的和其他套件綜合使用。由于SQL SERVER2005具有顯著的簡易性和有效

12、性,大量的網絡數據庫系統都采用SQL SERVER2005作為后臺數據庫。使用SQL SERVER2005的好處還在于,為系統以后的擴展提供方便。本系統中所涉及到的主要實體共有五個數據表:User表:用戶ID,用戶密碼Students表:學號,姓名,性別,班級,出生地,出生日期Score表:學號,姓名,成績Course表:科目編號,科目名稱,開始時間,結束時間,學期Class表:編號,一期班名,二期班名,三期班名,入學時間各表的物理結構:User表:Students表:Score表:Course表:Class表:4.2系統模塊設計本界面的主要功能是為了對系統進行安全性管理,本系統的用戶名和密碼

13、保存在user表中,可以用user;123為用戶名和密碼來登陸本系統,其登錄界面如下:登錄頁面主要是根據用戶輸入的用戶名和密碼,去查找管理員表中是否存在這樣的合法的用戶,找到則登錄成功;未找到則提示用戶登錄錯誤。其系統流程圖如下所示:退 出開始用 戶 登 錄成功之路查詢信息管理自己和學生的信息錯誤重試 管理用戶普通用戶由于與數據庫鏈接是整個系統的關鍵,也是使用就經常的,把與數據庫鏈接的文件集成到DBOperater下的DBConnection.cs類中namespace DBOperater public class DBConnection private SqlConnection con

14、n; /定義一個連接對像 / <summary> / 購造方法中實例一個連接對象,本項目使用的是Microsoft SQL Server / </summary> public DBConnection() conn = new SqlConnection("Data Source=LENOVO-PC;Initial Catalog=StudentManageDB;Integrated Security=True"); / <summary> / 根據參數傳來的SQL語句,執行增、刪、改操作 / </summary> / &l

15、t;param name="strSql">要執行的SQL語句</param> public void ExecuteSqlNonQuery(string strSql) SqlCommand cmd = new SqlCommand(strSql,conn); try conn.Open(); cmd.ExecuteNonQuery(); catch (Exception ex) throw new Exception(ex.Message); finally conn.Close(); / <summary> / 根據參數傳來的SQL語句,

16、執行斷開式查詢操作 / </summary> / <param name="strSql">要執行的SQL語句</param> / <returns>返回DataTable類型的查詢結果</returns> public DataTable ExecuteSqlQuery(string strSql) DataTable dt = new DataTable(); SqlDataAdapter da = new SqlDataAdapter(strSql,conn); try da.Fill(dt); catch

17、(Exception ex) throw new Exception(ex.Message); return dt; / <summary> / 根據參數傳來的存儲過程名和存儲過程中用到的參數,執行增、刪、改操作 / </summary> / <param name="strProc">存儲過程名</param> / <param name="pars">存儲過程中用到的參數數組</param> public void ExecuteProcNonQuery(string strPr

18、oc,SqlParameter pars) SqlCommand cmd = new SqlCommand(strProc, conn); cmd.CommandType = CommandType.StoredProcedure; if (pars != null) /如果存儲過程中用到的參數數組不為空 foreach(SqlParameter par in pars) /則遍歷數組 cmd.Parameters.Add(par); /將所有的參數添加到SqlCommand對象的參數屬性中 try conn.Open(); cmd.ExecuteNonQuery(); catch (Exce

19、ption ex) throw new Exception(ex.Message); finally conn.Close(); / <summary> / 根據參數傳來的存儲過程名和存儲過程中用到的參數,執行斷開式查詢操作 / </summary> / <param name="strProc">存儲過程名</param> / <param name="pars">存儲過程中用到的參數</param> / <returns>返回DataTable類型的查詢結果</

20、returns> public DataTable ExecuteProcQuery(string strProc, SqlParameter pars) DataTable dt = new DataTable(); SqlDataAdapter da = new SqlDataAdapter(strProc, conn); da.SelectCommand.CommandType = CommandType.StoredProcedure; if (pars != null) /如果存儲過程中用到的參數數組不為空 foreach (SqlParameter par in pars)

21、/則遍歷數組 da.SelectCommand.Parameters.Add(par); /將所有的參數添加到SqlDataAdapter對象的參數屬性中 try da.Fill(dt); catch (Exception ex) throw new Exception(ex.Message); return dt; 驗證數據是否存在到數據訪問層(DAL)userDAO.cs中驗證/驗證用戶名和密碼是否正確 public Users isUsers(Users user) SqlParameter pars = new SqlParameter2new SqlParameter("u

22、serName",SqlDbType.VarChar,30), new SqlParameter("userPass",SqlDbType.VarChar,10) ; pars0.Value = user.UserName; pars1.Value = user.UserPass; DataTable dt=dbc.ExecuteProcQuery("proc_isUsers", pars); if (dt.Rows.Count!=0) user.UserId = Int32.Parse(dt.Rows0"userId".T

23、oString(); user.Picture = dt.Rows0"picture".ToString(); user.Status = Int32.Parse(dt.Rows0"status".ToString(); user.BackImage = dt.Rows0"backImage".ToString(); user.Powers = dt.Rows0"powers".ToString(); return user; else return null; 系統主界面:本模塊是本系統的主功能界面,在本界面上集

24、成了本系統的所有功能,共有個功能菜單,從而實現了本系統從信息管理、成績管理、頁面管理等系統的具體功能,同時,在系統管理模塊中可以完成對本系統的安全性管理。4.2.1學生信息模塊的設計添加學生信息:public void StudentAdd(Student stu) SqlParameter pars = new SqlParameter6new SqlParameter("studentNO",SqlDbType.VarChar,20), new SqlParameter("studentName",SqlDbType.VarChar,50), new

25、 SqlParameter("gender",SqlDbType.Char,2), new SqlParameter("birthday",SqlDbType.VarChar,30), new SqlParameter("classId",SqlDbType.Int,4), new SqlParameter("remark",SqlDbType.VarChar,256) ; pars0.Value = stu.StudentNO; pars1.Value = stu.StudentName; pars2.Value

26、 = stu.Gender; pars3.Value = stu.Birthday; pars4.Value = stu.ClassId; pars5.Value = stu.Remark; dbc.ExecuteProcNonQuery("proc_AddStudent", pars); 修改學生信息: /修改學生信息的方法 public void StudentUpdate(Student stu) SqlParameter pars = new SqlParameter7new SqlParameter("studentId",SqlDbType.

27、Int,4), new SqlParameter("studentNO",SqlDbType.VarChar,20), new SqlParameter("studentName",SqlDbType.VarChar,50), new SqlParameter("gender",SqlDbType.Char,2), new SqlParameter("birthday",SqlDbType.VarChar,30), new SqlParameter("classId",SqlDbType.Int

28、,4), new SqlParameter("remark",SqlDbType.VarChar,256) ; pars0.Value = stu.StudentId; pars1.Value = stu.StudentNO; pars2.Value = stu.StudentName; pars3.Value = stu.Gender; pars4.Value = stu.Birthday; pars5.Value = stu.ClassId; pars6.Value = stu.Remark; dbc.ExecuteProcNonQuery("proc_Upd

29、ateStudent", pars); 刪除學生信息: /刪除學生信息的方法 public void StudentDelete(Student stu) SqlParameter pars = new SqlParameter1new SqlParameter("studentId",SqlDbType.Int,4) ; pars0.Value = stu.StudentId; dbc.ExecuteProcNonQuery("proc_DelStudent", pars); 查詢學生信息: /查詢所有學生信息的方法 public DataT

30、able StudentSelectAll() return dbc.ExecuteProcQuery("proc_SelStudentAll", null); 4.2.2學生成績模塊設計添加成績:代碼如下: public void ScoreAdd(ScoreBean sco) SqlParameter pars = new SqlParameter6new SqlParameter("courseId",SqlDbType.Int,4), new SqlParameter("studentId",SqlDbType.Int,4),

31、 new SqlParameter("score",SqlDbType.Float), new SqlParameter("mode",SqlDbType.VarChar,20), new SqlParameter("examDate",SqlDbType.DateTime), new SqlParameter("className",SqlDbType.VarChar,20) ; pars0.Value = sco.CourseId; pars1.Value = sco.StudentId; pars2.Valu

32、e = sco.Score; pars3.Value = sco.Mode; pars4.Value = sco.ExamDate; pars5.Value=sco.ClassName; dbc.ExecuteProcNonQuery("proc_AddScore", pars); 成績修改:代碼如下: /修改成績信息的方法 public void ScoreUpdate(ScoreBean sco) SqlParameter pars = new SqlParameter5new SqlParameter("scoreId",SqlDbType.Int

33、,4), new SqlParameter("courseId",SqlDbType.Int,4), new SqlParameter("score",SqlDbType.Float), new SqlParameter("mode",SqlDbType.VarChar,20), new SqlParameter("examDate",SqlDbType.DateTime) ; pars0.Value = sco.ScoreId; pars1.Value = sco.CourseId; pars2.Value =

34、sco.Score; pars3.Value = sco.Mode; pars4.Value = sco.ExamDate; dbc.ExecuteProcNonQuery("proc_UpdateScore", pars); 成績查詢:/根據班級、科目、考試時間、考試類型,查詢一個班級的其中一次考試成績信息 public DataTable ScoreSelectOnce(ScoreBean sco) SqlParameter pars = new SqlParameter4new SqlParameter("courseId",SqlDbType.I

35、nt,4), new SqlParameter("className",SqlDbType.VarChar,20), new SqlParameter("examDate",SqlDbType.DateTime), new SqlParameter("mode",SqlDbType.VarChar,20) ; pars0.Value = sco.CourseId; pars1.Value = sco.ClassName; pars2.Value = sco.ExamDate; pars3.Value = sco.Mode; retur

36、n dbc.ExecuteProcQuery("proc_SelScoreOnce", pars); 4.2.3學生科目模塊:添加科目:/添加科目信息的方法 public void CourseAdd(Course course) SqlParameter pars = new SqlParameter3new SqlParameter("courseName",SqlDbType.VarChar,20), new SqlParameter("term",SqlDbType.Int), new SqlParameter("r

37、emark",SqlDbType.VarChar,256) ; pars0.Value = course.CourseName; pars1.Value = course.Term; pars2.Value = course.Remark; dbc.ExecuteProcNonQuery("proc_AddCourse", pars); /修改科目信息的方法 public void CourseUpdate(Course course) SqlParameter pars = new SqlParameter4new SqlParameter("cour

38、seId",SqlDbType.Int), new SqlParameter("courseName",SqlDbType.VarChar,20), new SqlParameter("term",SqlDbType.Int), new SqlParameter("remark",SqlDbType.VarChar,256) ; pars0.Value = course.CourseId; pars1.Value = course.CourseName; pars2.Value = course.Term; pars3.Va

39、lue = course.Remark; dbc.ExecuteProcNonQuery("proc_UpdateCourse", pars); /刪除科目信息的方法 public void CourseDelete(Course course) SqlParameter pars = new SqlParameter1 new SqlParameter("courseId", SqlDbType.Int) ; pars0.Value = course.CourseId; dbc.ExecuteProcNonQuery("proc_DelCou

40、rse", pars); 查詢科目: / 查詢科目信息 / </summary> / <returns></returns> public DataTable SelectCourse() return dbc.ExecuteProcQuery("proc_selCourse", null); /根據科目查詢 public DataTable SelectCourseByName(Course cou) SqlParameter pars = new SqlParameter1 new SqlParameter("name

溫馨提示

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

評論

0/150

提交評論