c_學生成績管理系統(tǒng)課程設計報告_第1頁
已閱讀1頁,還剩23頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、<p><b>  XXXXXX學院</b></p><p><b>  C#課程考查</b></p><p>  項目題目: 學生成績信息管理系統(tǒng) </p><p>  專業(yè)班級: </p><p>  學生姓名:

2、 </p><p>  XX 年 XX 月 XX 日</p><p><b>  目錄</b></p><p><b>  摘  要1</b></p><p><b>  第一章 緒 論2</b></p><p>  1.1 設計目的2&

3、lt;/p><p>  1.2 開發(fā)工具選擇2</p><p>  1.3 開發(fā)環(huán)境2</p><p>  1.4 本報告的主要內(nèi)容2</p><p>  第二章 需求分析3</p><p>  2.1系統(tǒng)需求簡介3</p><p>  2.1.1系統(tǒng)目標3</p><

4、;p>  2.1.2功能需求分析3</p><p>  2.1.3性能需求分析3</p><p>  第三章 總體設計4</p><p><b>  3.1設計概述4</b></p><p>  3.2系統(tǒng)總體結構及功能模塊劃分4</p><p>  3.2.1學生信息查詢模塊4

5、</p><p>  3.2.2學生信息管理模塊5</p><p>  3.3系統(tǒng)數(shù)據(jù)庫概念結構設計5</p><p>  3.3.1系統(tǒng)E-R圖5</p><p>  3.3.2系統(tǒng)數(shù)據(jù)庫的設計6</p><p>  3.4安全保密設計7</p><p>  3.4.1用戶登錄安全性

6、7</p><p>  第四章 詳細設計8</p><p><b>  4.1概述8</b></p><p>  4.2系統(tǒng)程序流程圖8</p><p>  4.3系統(tǒng)主要功能模塊簡介9</p><p>  4.3.1系統(tǒng)登錄9</p><p>  4.3.2學

7、生信息查詢模塊9</p><p>  4.3.3學生信息管理模塊10</p><p>  4.3.4音樂播放器12</p><p>  第五章 主要功能模塊代碼15</p><p>  5.1 公共類代碼設計15</p><p>  5.2 登錄界面代碼設計16</p><p>  

8、5.3 查詢模塊代碼設計17</p><p>  5.4 添加模塊代碼設計18</p><p>  5.5 更新模塊代碼設計19</p><p>  5.6 刪除模塊代碼設計19</p><p>  5.7 圖片顯示代碼設計19</p><p>  5.8 播放器打開代碼設計20</p>&l

9、t;p>  第六章 課程設計心得22</p><p>  C#學生成績管理系統(tǒng)</p><p><b>  摘  要</b></p><p>  本文描述的是基于Windows環(huán)境的學生信息管理系統(tǒng),主要功能模塊包括:學生信查詢,學生信息管理,學生成績錄入,主要工具Microsoft Visual Studio 2010 設計窗體, S

10、QL server2008建立數(shù)據(jù)庫,實現(xiàn)學校信息管理的各個功能。</p><p>  本篇報告介紹一個學生信息管理系統(tǒng)的從分析到設計最后到開發(fā)的全過程為,給出了學生信息管理系統(tǒng)的設計和技術實現(xiàn)的過程,特別在細節(jié)上分析功能和函數(shù)的實現(xiàn)思想。涉及到學生信息管理的基本功能在本報告中都有相應的描述。</p><p><b>  緒 論</b></p><

11、p><b>  1.1 設計目的</b></p><p>  本課程設計的目的是使學生能熟練掌握簡單的簡單Windows窗體應用程序的設計和ADO.net的應用,希望通過本次課程設計鍛煉學生使用C#語言解決實際問題的能力。</p><p>  1.2 開發(fā)工具選擇</p><p>  本系統(tǒng)后臺數(shù)據(jù)庫采用Microsoft SQL Ser

12、ver 數(shù)據(jù)庫,該數(shù)據(jù)庫系統(tǒng)在安全性、準確性和運行速度方面有絕對的優(yōu)勢,并且處理數(shù)據(jù)量大,效率高;前臺采用Microsoft 公司的Visual Studio 2010作為主要開發(fā)工具,可與SQL Server 2008數(shù)據(jù)庫無縫鏈接。</p><p><b>  1.3 開發(fā)環(huán)境</b></p><p>  系統(tǒng)開發(fā)平臺:Microsoft Visual Studi

13、o2010</p><p><b>  系統(tǒng)開發(fā)語言:C#</b></p><p>  數(shù)據(jù)庫管理軟件:SQL Server 2008</p><p>  1.4 本報告的主要內(nèi)容</p><p>  本報告詳細的介紹了學生信息管理系統(tǒng)的開發(fā)過程,主要涉及到的工作如下:系統(tǒng)的需求分析、系統(tǒng)的總體設計、系統(tǒng)的概念設計、系統(tǒng)

14、各模塊的詳細設計、系統(tǒng)運行與測試。</p><p><b>  需求分析</b></p><p><b>  2.1系統(tǒng)需求簡介</b></p><p><b>  2.1.1系統(tǒng)目標</b></p><p>  根據(jù)查詢條件實現(xiàn)學生信息的查詢</p><p

15、>  學生選課信息查詢、成績信息的查詢</p><p>  學生信息、課程信息、成績信息的增加、刪除、修改</p><p>  對基本信息完成增加、刪除、修改時,需注意表與表之間的關聯(lián)</p><p>  2.1.2功能需求分析</p><p>  本系統(tǒng)的功能需求分析如下:</p><p>  學生信息查詢:學

16、生可以根據(jù)學號、姓名、專業(yè)進行查詢.</p><p>  學生信息管理:主要是用于學生信息更新、插入、刪除;</p><p>  學生成績錄入:用于學生成績管理,錄入學生成績,也可以更新;</p><p>  2.1.3性能需求分析</p><p>  登錄、用戶界面需求:簡潔、易懂、易用、友好的用戶界面。</p><p&

17、gt;  安全保密性需求:只有憑借用戶名和密碼登陸系統(tǒng),才能進行信息的管理等。</p><p><b>  總體設計</b></p><p><b>  3.1設計概述</b></p><p>  根據(jù)需求把整個系統(tǒng)分化成不同的模塊,每個模塊完成一個特定的子功能。把這些模塊結合起來組成一個整體。逐一實現(xiàn)各個功能;</

18、p><p>  3.2系統(tǒng)總體結構及功能模塊劃分</p><p>  經(jīng)過對系統(tǒng)的需求分析,學生信息管理系統(tǒng)主要劃分為三個部分:學生信息查詢,學生信息管理,學生成績錄入三個功能模塊。如圖3.2.1 系統(tǒng)的總體結構。</p><p>  圖3.2.1 系統(tǒng)的總體結構</p><p>  3.2.1學生信息查詢模塊</p><p

19、>  學生信息查詢:學生可以根據(jù)姓名、性別進行查詢。如圖3.2.2學生信息查詢模塊結構。</p><p>  圖3.2.2 學生信息管理模塊結構</p><p>  3.2.2學生信息管理模塊</p><p>  學生信息管理:主要是用于學生信息更新、插入、刪除,如圖3.2.3學生管理模塊結構。</p><p>  圖3.2.3 學生

20、信息管理模塊結構</p><p>  3.3系統(tǒng)數(shù)據(jù)庫概念結構設計</p><p>  根據(jù)對數(shù)據(jù)項與數(shù)據(jù)結構的分析,設計出能夠滿足系統(tǒng)需求的各種實體,及它們之間的關系,為后面的邏輯結構設計打下基礎。</p><p>  3.3.1系統(tǒng)E-R圖</p><p>  系統(tǒng)E-R圖可以將各個實體之間的關系顯示出來,將各個實體間的屬性依賴表示明白。

21、如圖3.3.1系統(tǒng)E-R圖結構。</p><p>  圖3.3.1系統(tǒng)E-R圖結構</p><p>  3.3.2系統(tǒng)數(shù)據(jù)庫的設計</p><p>  綜合以上分析,要實現(xiàn)上面的所有功能模塊,主要設計表如下: </p><p>  表3.3.1 用戶表(usedata)</p><p>  表3.3.4學生表(S)

22、</p><p><b>  3.4安全保密設計</b></p><p>  3.4.1用戶登錄安全性</p><p>  系統(tǒng)設計了登錄界面,每個合法用戶有用戶名及一個密碼,只有當用戶輸入正確的用戶名及密碼組合后才能夠對學生信息進行操作。</p><p><b>  詳細設計</b></p&

23、gt;<p><b>  4.1概述</b></p><p>  詳細設計階段的根本目標是確定應該怎樣具體的實現(xiàn)所要求的系統(tǒng),也就是說,經(jīng)過這個階段的設計工作,應該得出目標系統(tǒng)的精確描述,從而在編碼階段可以把這個描述直接翻譯成用某種程序設計語言書寫的程序。</p><p>  4.2系統(tǒng)程序流程圖</p><p>  程序流程圖又

24、稱為程序框圖,它是歷史悠久使用最廣泛的描述軟件設計的方法。它可將整個程序的總體流程清楚明白的顯示出來。如圖4.2.1系統(tǒng)總流程圖結構。</p><p>  圖4.2.1系統(tǒng)總體流程圖</p><p>  4.3系統(tǒng)主要功能模塊簡介</p><p><b>  4.3.1系統(tǒng)登錄</b></p><p>  用戶憑借用戶名

25、及密碼登錄,成功登錄后可對學生信息進行操作。用戶界面如圖4.3.1 用戶登錄界面所示。</p><p>  圖4.3.1 用戶登錄界面</p><p>  4.3.2學生信息查詢模塊</p><p>  學生信息查詢:在程序主界面(如圖4.3.2 程序主界面)學生可以根據(jù)學號、姓名進行查詢。學生也可以只用一種條件進行信息查詢,也可以多個條件查詢。單擊記錄任一單元格

26、可顯示學生的更詳細信息(如圖4.3.3 詳細信息窗口)。</p><p>  圖4.3.2 程序主界面</p><p>  圖4.3.3 詳細信息窗口</p><p>  4.3.3學生信息管理模塊</p><p>  學生信息管理:通過右擊程序主界面的相應記錄彈出的上下文菜單(如圖4.3.4 上下文菜單)可對當前選定學生信息進行詳細信息查詢

27、(如圖4.3.3 詳細信息窗口)、修改信息(如圖4.3.5 修改信息窗口)、刪除信息(如圖 4.3.6 刪除信息提示)。更新時如果輸入的學號不存在,可選擇是否添加學生信息。通過程序主界面的新建信息記錄可添加學生信息(如圖 4.3.7 添加信息窗口)、條件篩選(如圖4.3.8),可按性別查詢和學生姓名查詢。</p><p>  圖4.3.4 上下文菜單</p><p>  圖4.3.5 修改

28、信息窗口</p><p>  圖4.3.6 刪除信息提示</p><p>  圖4.3.7 添加信息窗口</p><p><b>  圖4.3.8 查詢</b></p><p>  4.3.4音樂播放器</p><p>  音樂播放:當用戶登錄成功,進入主窗口之后,會很明顯的看到一個播放器,如圖4

29、.3.9所示,在播放器的下面有三個按鈕,可以實現(xiàn)打開(圖4.3.10),播放/暫停,和默認音樂.</p><p><b>  圖4.3.9</b></p><p><b>  圖4.3.10</b></p><p>  歌詞流動顯示:進入主界面后可以看到右邊有一塊區(qū)域(圖4.3.11),這里便是顯示歌詞的.當打開的音樂搜索

30、不到歌詞的話,會顯示(圖4.3.12)讓用戶自己去下載歌詞.</p><p><b>  圖4.3.11</b></p><p><b>  圖4.3.12</b></p><p><b>  主要功能模塊代碼</b></p><p>  5.1 公共類代碼設計</p&g

31、t;<p>  namespace MyHelper</p><p><b>  {</b></p><p>  class SqlHelper</p><p><b>  {</b></p><p>  public static readonly string connstr =

32、</p><p>  ConfigurationManager.ConnectionStrings["dbconnstr"].ConnectionString;</p><p>  public static int ExecuteNonQuery(string cmdText,</p><p>  params SqlParameter[] p

33、arameters)</p><p><b>  {</b></p><p>  using (SqlConnection conn = new SqlConnection(connstr))</p><p><b>  {</b></p><p>  conn.Open();</p>

34、<p>  using (SqlCommand cmd = conn.CreateCommand())</p><p><b>  {</b></p><p>  cmd.CommandText = cmdText;</p><p>  cmd.Parameters.AddRange(parameters);</p>

35、<p>  return cmd.ExecuteNonQuery();</p><p><b>  }</b></p><p><b>  }</b></p><p><b>  }</b></p><p>  public static object Execute

36、Scalar(string cmdText,</p><p>  params SqlParameter[] parameters)</p><p><b>  {</b></p><p>  using (SqlConnection conn = new SqlConnection(connstr))</p><p>

37、<b>  {</b></p><p>  conn.Open();</p><p>  using (SqlCommand cmd = conn.CreateCommand())</p><p><b>  {</b></p><p>  cmd.CommandText = cmdText;<

38、;/p><p>  cmd.Parameters.AddRange(parameters);</p><p>  return cmd.ExecuteScalar();</p><p><b>  }</b></p><p><b>  }</b></p><p><b&g

39、t;  }</b></p><p>  public static DataTable ExecuteDataTable(string cmdText,</p><p>  params SqlParameter[] parameters)</p><p><b>  {</b></p><p>  usin

40、g (SqlConnection conn = new SqlConnection(connstr))</p><p><b>  {</b></p><p>  conn.Open();</p><p>  using (SqlCommand cmd = conn.CreateCommand())</p><p>&l

41、t;b>  {</b></p><p>  cmd.CommandText = cmdText;</p><p>  cmd.Parameters.AddRange(parameters);</p><p>  using (SqlDataAdapter adapter = new SqlDataAdapter(cmd))</p>&

42、lt;p><b>  {</b></p><p>  DataTable dt = new DataTable();</p><p>  adapter.Fill(dt);</p><p>  return dt;</p><p><b>  }</b></p><p>

43、;<b>  }</b></p><p><b>  }</b></p><p><b>  }</b></p><p>  public static SqlDataReader ExecuteDataReader(string cmdText,</p><p>  para

44、ms SqlParameter[] parameters)</p><p><b>  {</b></p><p>  SqlConnection conn = new SqlConnection(connstr);</p><p>  conn.Open();</p><p>  using (SqlCommand c

45、md = conn.CreateCommand())</p><p><b>  {</b></p><p>  cmd.CommandText = cmdText;</p><p>  cmd.Parameters.AddRange(parameters);</p><p>  return cmd.ExecuteRe

46、ader(CommandBehavior.CloseConnection);</p><p><b>  }</b></p><p><b>  }</b></p><p><b>  }</b></p><p><b>  }</b></p>

47、<p>  5.2 登錄界面代碼設計</p><p>  private void login_Click(object sender, EventArgs e)</p><p>  {//用戶名及密碼組合判斷</p><p>  if (username.Text.ToString().Trim() != "" &&

48、; password.Text.ToString().Trim() != "")</p><p><b>  {</b></p><p>  if (txtUserName.Text == "Ewi" || txtUserName.Text == "強強")</p><p><b

49、>  {</b></p><p>  if (txtPsw.Text == "111")</p><p><b>  {</b></p><p>  MessageBox.Show("登錄成功!", "提示?", MessageBoxButtons.OK, Messa

50、geBoxIcon.Information);</p><p>  DialogResult = DialogResult.OK;</p><p><b>  }</b></p><p><b>  else</b></p><p><b>  {</b></p>

51、<p>  MessageBox.Show("密碼錯誤,您還有" + i + "次機會...");</p><p><b>  i--;</b></p><p><b>  }</b></p><p><b>  }</b></p>&

52、lt;p><b>  else</b></p><p><b>  {</b></p><p>  MessageBox.Show("親,沒有此用戶名");</p><p><b>  }</b></p><p><b>  }</b&

53、gt;</p><p>  5.3 查詢模塊代碼設計</p><p>  QueryFrm query = new QueryFrm();</p><p>  if (query.ShowDialog() == DialogResult.OK) </p><p><b>  {</b></p><p&

54、gt;  DataTable dt = SqlHelper.ExecuteDataTable("select id as '編號',Name as '姓名',Sex as '性別',English as '英語',Chinese as '語文', Math as '數(shù)學' from T_Student where name = @n

55、ame",new SqlParameter("@name", query.Name));</p><p>  if (dt.Rows.Count>=1)</p><p><b>  {</b></p><p>  dataGridView1.DataSource = dt;</p><p&

56、gt;<b>  }</b></p><p><b>  else</b></p><p><b>  {</b></p><p>  MessageBox.Show("沒有找到您所查詢的結果,請重新查詢","提示",MessageBoxButtons.OK,M

57、essageBoxIcon.Information);</p><p><b>  }</b></p><p><b>  }</b></p><p>  5.4 添加模塊代碼設計</p><p>  if (txtName.Text.Trim() == "" ||</p&

58、gt;<p>  txtChi.Text.Trim() == "" ||</p><p>  txtEng.Text.Trim() == "" ||</p><p>  txtMath.Text.Trim() == ""</p><p><b>  )</b></p

59、><p><b>  {</b></p><p>  MessageBox.Show("請將信息填寫完整", "警告?",</p><p>  MessageBoxButtons.OK, MessageBoxIcon.Information);</p><p><b>  r

60、eturn;</b></p><p><b>  }</b></p><p><b>  else</b></p><p><b>  {</b></p><p>  if (rbMale.Checked)</p><p><b>

61、  {</b></p><p>  SqlHelper.ExecuteNonQuery("insert into T_Student(name,sex,english,math,chinese) values(@name,@sex,@Eng,@Math,@Chi)", new SqlParameter("@name", txtName.Text),</p&

62、gt;<p>  new SqlParameter("@Eng", Convert.ToInt32(txtEng.Text)),</p><p>  new SqlParameter("@sex","男D"),</p><p>  new SqlParameter("@Chi", Convert.

63、ToInt32(txtChi.Text)),</p><p>  new SqlParameter("@Math", Convert.ToInt32(txtMath.Text)) </p><p><b>  );</b></p><p>&

64、lt;b>  }</b></p><p><b>  else</b></p><p><b>  {</b></p><p>  SqlHelper.ExecuteNonQuery("insert into T_Student(name,sex,english,math,chinese) va

65、lues(@name,@sex,@Eng,@Math,@Chi)", new SqlParameter("@name", txtName.Text),</p><p>  new SqlParameter("@Eng", txtEng.Text),</p><p>  new SqlParameter("@sex", &

66、quot;女?"),</p><p>  new SqlParameter("@Chi", txtChi.Text),</p><p>  new SqlParameter("@Math", txtMath.Text)</p><p><b>  );</b></p><p&

67、gt;<b>  }</b></p><p>  MessageBox.Show("添加成功?");</p><p>  DialogResult = DialogResult.OK;</p><p>  this.Close();</p><p>  5.5 更新模塊代碼設計</p>

68、<p>  void LoadDataGradView() </p><p><b>  {</b></p><p>  DataTable dt = SqlHelper.ExecuteDataTable("select id as '編號',Name as '姓名',Sex as '性別',Engl

69、ish as '英語',Chinese as '語文', Math as '數(shù)學' from T_Student");</p><p>  dataGridView1.DataSource = dt;</p><p>  dataGridView1.SelectionMode = DataGridViewSelectionMode.

70、FullRowSelect;</p><p><b>  }</b></p><p>  5.6 刪除模塊代碼設計</p><p>  DialogResult drCurr = MessageBox.Show("確定刪除?", "提示?...", MessageBoxButtons.OKCancel,

71、MessageBoxIcon.Question);</p><p>  if (DialogResult.OK == drCurr)</p><p><b>  {</b></p><p>  SqlHelper.ExecuteNonQuery("delete T_Student where id = @id", new S

72、qlParameter("@id",selectId));</p><p>  LoadDataGradView();</p><p><b>  }</b></p><p>  5.7 圖片顯示代碼設計</p><p>  void Get_Img(int id) </p><p

73、><b>  {</b></p><p>  byte[] imagebytes = null; </p><p>  SqlDataReader dr = SqlHelper.ExecuteDataReader("select * from T_Student where id="+id);</p><p>  wh

74、ile (dr.Read()) {</p><p><b>  try</b></p><p><b>  {</b></p><p>  imagebytes = (byte[])dr.GetValue(6);</p><p>  MemoryStream ms = new

75、MemoryStream(imagebytes); </p><p>  Bitmap bmpt = new Bitmap(ms); </p><p><b>  }</b></p><p>  catch(Exception)</p><p><b>  {</b&g

76、t;</p><p>  string strImgFile = Application.StartupPath;</p><p>  strImgFile = strImgFile.Substring(0, strImgFile.LastIndexOf("\\"));</p><p>  strImgFile = strImgFile.Subs

77、tring(0, strImgFile.LastIndexOf("\\"));</p><p>  strImgFile = strImgFile + @"\default.jpg";</p><p>  //MessageBox.Show(strImgFile);</p><p><b>  }</b>

78、</p><p><b>  }</b></p><p>  5.8 播放器打開代碼設計</p><p>  private void btnOpen_Click(object sender, EventArgs e)</p><p><b>  {</b></p><p>

79、  OpenFileDialog ofd = new OpenFileDialog();</p><p>  ofd.Filter = "*.mp3|*.mp3|*.wma|*.wma";</p><p>  if (ofd.ShowDialog() == DialogResult.OK)</p><p><b>  {</b&g

80、t;</p><p>  if (ofd.FileName.Trim().EndsWith(".mp3")||</p><p>  ofd.FileName.Trim().EndsWith(".wma"))</p><p><b>  {</b></p><p>  timer2.

81、Stop();</p><p><b>  }</b></p><p><b>  else</b></p><p><b>  {</b></p><p>  MessageBox.Show("本版本暫不支持此格式?");</p><p

82、><b>  }</b></p><p><b>  }</b></p><p><b>  }</b></p><p><b>  課程設計心得</b></p><p>  為期一周的課程設計結束了,在老師和同學的幫助下,我基本完成系統(tǒng)的設計。我按

83、照系統(tǒng)工程軟件設計的要求,從需求分析,概念設計,總體設計,詳細設計,系統(tǒng)測試等各個步驟,分步完成系統(tǒng)的各項任務,實現(xiàn)了系統(tǒng)中的學生信息查詢,學生信息更新,學生信息添加等模塊的功能。</p><p>  在這短短的五天里我收獲如下:</p><p>  1、鞏固和加深了對C#的理解,提高綜合運用本課程所學知識的能力。</p><p>  2、培養(yǎng)了我選用參考書,查閱手

84、冊及文獻資料的能力。培養(yǎng)獨立思考,深入研究,分析問題、解決問題的能力。</p><p>  3、通過實際編譯系統(tǒng)的分析設計、編程調試,掌握應用軟件的分析方法和工程設計方法。</p><p>  根據(jù)我在課程設計中遇到的問題,我將在以后的學習當中注意以下幾點:</p><p>  1、認真上好專業(yè)實驗課,多在實踐中鍛煉自己。</p><p> 

溫馨提示

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

評論

0/150

提交評論