《軟件工程》課程設計--學生管理系統(tǒng)_第1頁
已閱讀1頁,還剩21頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、<p>  《軟件工程》課程設計</p><p><b>  學生管理系統(tǒng)</b></p><p><b>  系統(tǒng)概述:</b></p><p><b>  1、架構分析</b></p><p>  學生管理是學校管理中不可少的一部分。而基于B/S架構的學生管理系統(tǒng)

2、是方便學校管理。Web展示層的每個頁面都可以直接對數(shù)據(jù)庫進行訪問,而不用過多的實現(xiàn)數(shù)據(jù)庫連接和操作接口。數(shù)據(jù)庫是系統(tǒng)的最底層。數(shù)據(jù)訪問模塊包含在Web展示層中。Web展示層通過數(shù)據(jù)庫訪問模塊訪問數(shù)據(jù)庫。數(shù)據(jù)庫訪問模塊一般封裝數(shù)據(jù)庫的查詢、添加、更新、刪除等操作,同時還為Web展示層提供訪問數(shù)據(jù)庫的接口。兩層架構模式的各層功能:</p><p><b>  2、主要模塊</b></p&g

3、t;<p>  本系統(tǒng)包括5個模塊:用戶管理模塊、班級管理模塊、課程管理模塊、選課管理模塊和成績管理模塊。</p><p> ?。?)、用戶管理模塊:主要功能是對用戶屬性和權限進行管理,是系統(tǒng)的基礎模塊。由管理員添加的用戶默認密碼和用戶名稱相同,修改密碼只能由本人或在數(shù)據(jù)庫中修改完成。</p><p> ?。?)、課程管理模塊:管理員具有對課程的增加、刪除和修改權限。課程分為

4、基礎課、專業(yè)課和選修課3種類型。課程管理模塊制約選課模塊。管理員在課程管理中添加課程信息后,學生才能進行選課。分配課程主要是制定該課程的任課教師和授課班級(基礎課才需要指定班級)。</p><p> ?。?)、選課管理模塊:主要功能是刪除和統(tǒng)計選課信息,既可對選修課程進行管理,也可統(tǒng)計選修課人數(shù),并根據(jù)學生選課時間決定最終選修此課的學生。</p><p>  (4)、成績管理模塊:管理員可

5、以錄入和統(tǒng)計學生成績;學生可以自己查詢自己課程的名稱、學分、成績。當學生成績不及格時,將無法獲得本課程的學分。</p><p><b>  3、主要負責模塊:</b></p><p>  甄邊梓:主體框架設計、學生數(shù)據(jù)庫管理模塊、選課管理模塊、成績管理模塊</p><p>  張彩娟:登錄權限驗證、數(shù)據(jù)庫與ASP.NET的連接、用戶管理模塊、課

6、程管理模塊</p><p><b>  系統(tǒng)設計</b></p><p><b>  2.1系統(tǒng)需求分析</b></p><p>  在該系統(tǒng)中主要對學生的基本信息、學生成績等進行管理,系統(tǒng)主要功能如下:</p><p>  學生信息管理:用來管理學生基本信息,包括查詢、添加、修改和刪除。學生基本信

7、息包括:學號、姓名、性別、出生年月、籍貫、班級、學院。</p><p>  課程信息管理:一門課程有一個上課班級,也可能有幾個上課班級,因此課程信息里的授課教師是不確定的。課程信息管理包括:瀏覽、查詢、添加、修改和刪除。</p><p>  成績信息管理:用來管理學生成績,包括瀏覽、查詢、添加、修改和刪除。成績基本信息包括自動編號、學生學號、上課班級號、課程成績、</p>&

8、lt;p>  權限管理:對于不同層次的使用者應該開放不同的權限。</p><p>  管理者:維護學生基本信息,管理院系、課程、成績各種數(shù)據(jù)。</p><p>  教師:可以錄入學生成績信息,查詢學生基本和成績統(tǒng)計信息。</p><p>  學生:可以查詢學生成績信息和成績統(tǒng)計信息。</p><p>  2.2數(shù)據(jù)庫需求分析:</

9、p><p>  學生管理系統(tǒng)的要求是要準確快捷的管理學生信息。學生隸屬班級,班級又由教師指導;學生需要有課程、成績、學分,而這些又都要靠教師或者管理人員來完成添加。由此總結出如下需求信息:用戶分為管理員用戶、教師用戶和學生用戶。其中,管理員和教師用戶是屬于相同權限等級的用戶。一個班級里有多個學生,班級組成院系。一個學生有多門課,一門課對應多個學生。一位教師指導多個班級。一位教師可以教授多門課程,一門課程可以有多個教師

10、來教授。經(jīng)過對上述系統(tǒng)功能的分析和需求總結,設計如下所示的數(shù)據(jù)項:</p><p>  用戶信息:用戶ID、用戶名、密碼、權限。</p><p>  班級信息:班級ID、名稱、所屬院系、班主任.</p><p>  學生信息:學生ID、姓名、性別、民族、生日、入學時間、班級、籍貫和備注。</p><p>  教師信息:教師ID、姓名、所屬院系

11、。</p><p>  課程信息:課程ID、名稱、學時、學分、類型及描述。</p><p><b>  總體設計</b></p><p><b>  1、實體及其屬性圖</b></p><p>  由上面的數(shù)據(jù)項可以設計出能夠滿足用戶需求的各種實體以及它們之間的關系,為后面的邏輯結構設計打下基礎。這

12、些實體包含各種具體信息,通過相互之間的作用形成數(shù)據(jù)之間的流動。本系統(tǒng)設計的實體有:學生實體、教師實體、課程實體和班級實體。</p><p><b>  2、功能模塊圖</b></p><p><b>  3、數(shù)據(jù)流圖</b></p><p><b>  頂層數(shù)據(jù)流:</b></p>&l

13、t;p><b>  總體ER圖:</b></p><p>  4、數(shù)據(jù)庫的表間關系</p><p><b>  5、流程分析</b></p><p><b>  學生登錄流程圖:</b></p><p><b>  管理員登錄流程圖:</b><

14、/p><p><b>  6、用例圖</b></p><p><b>  7、測試用例</b></p><p>  用戶登錄模塊的測試:輸入信息不正確,系統(tǒng)會提示重新輸入。當輸入信息正確后,會自動進入學生管理模塊。</p><p>  測試學生登錄:此模塊中可以查看個人信息、課程信息、成績查詢、修改密碼

15、、選課瀏覽。</p><p>  選課管理模塊的測試:</p><p>  成績管理模塊的測試:</p><p><b>  課程設計的感想:</b></p><p>  1、所學:通過一周課程設計,學到了很多知識,能夠基于對話框應用程序將數(shù)據(jù)庫和ASP.NET連接。將以前學到的零星知識通過系統(tǒng)設計融會貫通:在ASP.N

16、ET中建立面向對象的前臺設計,對控件的靈活使用、控件的動態(tài)構建及與數(shù)據(jù)表關聯(lián)的數(shù)據(jù)方法,討論了復雜SQL語句的構造方法。對數(shù)據(jù)庫表的建立、還原、附加、分離數(shù)據(jù)庫、在IIS搭建站點和站點的運行。使用本系統(tǒng)對學生成績進行信息管理和成績測評,在查找、可靠性、存儲量等方面有著手工管理無法比擬的優(yōu)點。這些優(yōu)點能夠極大地提高學校對學生成績管理和測評的效率。根據(jù)“軟件工程”的思想,分析學生管理系統(tǒng)的構建需求,系統(tǒng)概念結構設計。數(shù)據(jù)庫邏輯設計及總體框架

17、結構。采用ASP,Access數(shù)據(jù)庫等技術,構建了一個基于Web的在線考試系統(tǒng)。具有一定的使用價值。</p><p>  2、所想:學習培養(yǎng)的是一種能力,不僅要學以致用,還要力爭舉一反三。求知道路上沒有捷徑,勤奮和好學是遨游的翅膀。遇到問題要思考原因還要動手解決,惰性和知難而退是最大的絆腳石。在設計過程中,遇到過很多問題,例如在系統(tǒng)中添加成員總是失敗,在尋求幫助是獲得了解決辦法,給每個表創(chuàng)建了存儲過程,存儲過程對

18、數(shù)據(jù)庫表的信息選擇、添加和更新帶來了優(yōu)化,可以加快操作數(shù)據(jù)庫的速度和效率。ST學生管理系統(tǒng)使用了五個存儲過程。設計雖然完成了,但我還要感謝我的老師李典尉,她以獨特的人格魅力感染和影響著我,以淵博的學識教育和引導著我,讓我認識到自身能力的不足,體會到學習的可貴;感謝我的合作伙伴,在困難中幫助我,讓我感受到友誼的珍貴和團隊的力量;感謝生活它給了我種種磨練使我成長、使我堅強,我才有那么多的體會。</p><p>  3

19、、不足:由于能力有限,加上時間倉促,本系統(tǒng)出現(xiàn)一些不足。例如,系統(tǒng)只適合提供數(shù)據(jù)輸入,但沒有提供數(shù)據(jù)導入功能;系統(tǒng)對數(shù)據(jù)庫還原備份設計沒有采用交互性,采用自動備份和還原。</p><p><b>  參考文獻</b></p><p>  張樹亮、李超《ASP.NET2.0+SQL Server》清華大學出版社2006.9</p><p>  張

20、海蕃《軟件工程導論》清華大學出版社2009.10</p><p>  張玉平《ASP.NET+SQL組建動態(tài)網(wǎng)站》電子工業(yè)出版社2006.3</p><p><b>  附錄A</b></p><p><b>  用戶數(shù)據(jù)表結構</b></p><p>  (1)用戶表ST-users記錄用戶的用戶

21、名和密碼。用戶權限為1或0。1代表管理員權限,0代表學生權限。在頁面中顯示為“管理員”和“學生用戶”,具有管理員權限的用戶添加新的管理員時,默認密碼與添加的用戶名相同。之后用戶可以自行修改密碼。</p><p>  (2)學生表ST-student,用來記錄學生信息。此記錄的信息會詳細的顯示在學生登錄后的頁面上。此信息不允許學生自己修改,只能由管理員更改。</p><p> ?。?)教師表

22、ST-teacher用來記錄教師信息</p><p> ?。?)班級表ST-class用來記錄班級信息</p><p> ?。?)課程表ST-course用來記錄課程信息,該表和下面的表都是中間表,對應E-R圖中的多對多關系,即一個學生選多門課程,一門課程被多個學生選。</p><p> ?。?)教師課表ST-teacher-course,中間表實現(xiàn)多對多關系,即一

23、位教師教多門課,一門課被多名教師教。</p><p><b>  附錄B</b></p><p><b>  查看個人信息源代碼</b></p><p>  public class ST_query : System.Web.UI.Page</p><p><b>  {</b&g

24、t;</p><p>  protected System.Web.UI.WebControls.Repeater st_rp_information;</p><p>  private void Page_Load(object sender, System.EventArgs e)</p><p><b>  {</b></p>

25、;<p>  // 在此處放置用戶代碼以初始化頁面</p><p>  //獲取數(shù)據(jù)庫連接字符串</p><p>  string st_connstr= ConfigurationSettings.AppSettings["st_dbconn"];</p><p><b>  //建立連接</b></p

26、><p>  SqlConnection st_conn=new SqlConnection(st_connstr);</p><p>  string st_sqlstr="select * from ST_student where ST_Student_id=@id";</p><p>  SqlCommand st_comm=new Sql

27、Command(st_sqlstr,st_conn);</p><p>  st_comm.Parameters.Add(new SqlParameter("@id",SqlDbType.VarChar,50));</p><p>  //在數(shù)據(jù)庫相應的表中查詢session中的值</p><p>  st_comm.Parameters[&qu

28、ot;@id"].Value=Session["user_id"].ToString();</p><p><b>  //打開連接</b></p><p>  st_conn.Open();</p><p>  SqlDataReader st_dr=st_comm.ExecuteReader();</p&

29、gt;<p>  st_rp_information.DataSource=st_dr;</p><p><b>  //綁定到控件</b></p><p>  st_rp_information.DataBind();</p><p><b>  //關閉連接</b></p><p>

30、;  st_conn.Close();</p><p><b>  }</b></p><p>  #region Web Form Designer generated code</p><p>  override protected void OnInit(EventArgs e)</p><p><b>

31、;  {</b></p><p>  // CODEGEN:該調用是 ASP.NET Web 窗體設計器所必需的。</p><p>  InitializeComponent();</p><p>  base.OnInit(e);</p><p><b>  }</b></p><p&g

32、t;  /// <summary></p><p>  /// 設計器支持所需的方法 - 不要使用代碼編輯器修改</p><p>  /// 此方法的內容。</p><p>  /// </summary></p><p>  private void InitializeComponent()</p>

33、<p><b>  { </b></p><p>  this.st_rp_information.ItemCommand += new System.Web.UI.WebControls.RepeaterCommandEventHandler(this.st_rp_information_ItemCommand);</p><p>  this.Lo

34、ad += new System.EventHandler(this.Page_Load);</p><p><b>  }</b></p><p>  #endregion</p><p>  private void st_rp_information_ItemCommand(object source, System.Web.UI.Web

35、Controls.RepeaterCommandEventArgs e)</p><p><b>  {</b></p><p><b>  }</b></p><p><b>  }</b></p><p><b>  }</b></p>

36、<p>  學生選課管理后臺源代碼</p><p>  public void ST_BindGrid()</p><p><b>  {</b></p><p>  //查詢 sql語句字符串</p><p>  string st_sqlstr="select ST_student_course.

37、ST_ID,ST_student.ST_Student_id,ST_student.ST_Student_classid from ST_student_course,ST_student,ST_teacher_course where ST_student_course.ST_Course_id='"+st_ddl_course.SelectedItem.Value+"' and ST_studen

38、t_course.ST_Course_year=ST_teacher_course.ST_Course_year and ST_student_course.ST_Course_year='"+st_tbx_year.Text+"'and ST_teacher_course.ST_Teacher_id='"+st_ddl_teacher.SelectedItem.Value+&quo

39、t;'and ST_student_course.ST_Course_id=ST_teacher_course.ST_Course_i</p><p>  SqlDataAdapter st_da=new SqlDataAdapter(st_sqlstr,st_conn);</p><p>  //生成一個數(shù)據(jù)集的一個實例</p><p>  DataSet

40、 st_ds=new DataSet();//填充數(shù)據(jù)集</p><p>  st_da.Fill(st_ds);</p><p>  st_dtg_sort.DataSource=st_ds;//綁定到控件</p><p>  st_dtg_sort.DataBind();//查詢語句</p><p>  string strsq=&quo

41、t;select COUNT(*) from ST_student_course,ST_student,ST_teacher_course where ST_student_course.ST_Course_id='"+st_ddl_course.SelectedItem.Value+"' and ST_student_course.ST_Course_year=ST_teacher_course.S

42、T_Course_year and ST_student_course.ST_Course_year='"+st_tbx_year.Text+"'and ST_teacher_course.ST_Teacher_id='"+st_ddl_teacher.SelectedItem.Value+"'and ST_student_course.ST_Course_id=S

43、T_teacher_course.ST_Course_id and ST_student.ST_Student_id=ST_student_course.ST_Student_id";</p><p>  SqlCommand st_comm1=new SqlCommand(strsq,st_conn);//打開連接 st_conn.Open();</p><p&g

44、t;  SqlDataReader dr=st_comm1.ExecuteReader();</p><p>  if(dr.Read())</p><p><b>  {</b></p><p>  st_lbl_all.Text="選課總人數(shù)為:"+dr[0].ToString();</p><p&g

45、t;<b>  }</b></p><p><b>  else</b></p><p><b>  {</b></p><p>  st_lbl_all.Text="無人選此課";</p><p><b>  }//關閉連接</b>&

46、lt;/p><p>  st_conn.Close();</p><p><b>  }</b></p><p>  private void st_btn_exit_Click(object sender, System.EventArgs e)</p><p><b>  {</b></p&g

47、t;<p>  Response.Redirect("default.aspx");</p><p><b>  }</b></p><p><b>  }</b></p><p><b>  }</b></p><p>  附錄C

48、 </p><p><b>  設計工具簡介</b></p><p><b>  ASP技術</b></p><p>  由于系統(tǒng)的操作界面都是Web頁面形式,而且需要對各種用戶的具體請求進行動態(tài)處理并返回結果,所以采用動態(tài)網(wǎng)頁技術。目前動態(tài)網(wǎng)頁技術有很多,本設計采用ASP技術。 Microsoft Activ

49、e Server Pages 即我們所稱的ASP,其實是一套微軟開發(fā)的服務器端腳本環(huán)境。Active Server Page 是創(chuàng)建動態(tài)網(wǎng)頁的一個很好的工具,它起一種編程語言的作用,可以利用它編寫產(chǎn)生動態(tài)網(wǎng)頁的HTML程序代碼。因此,只要用戶瀏覽Web站點并請求一個ASP頁,Web服務器就可以處理相應的ASP代碼,生成HTML代碼,然后將它傳遞到用戶瀏覽器并顯示出網(wǎng)頁。ASP內含于IIS之中,通過ASP我們可以結合HTML網(wǎng)頁、ASP指

溫馨提示

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

評論

0/150

提交評論