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

下載本文檔

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

文檔簡介

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

2、是方便學(xué)校管理。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ù)庫的接口。兩層架構(gòu)模式的各層功能:</p><p><b>  2、主要模塊</b></p&g

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

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

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

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

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

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

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

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

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

12、些實體包含各種具體信息,通過相互之間的作用形成數(shù)據(jù)之間的流動。本系統(tǒng)設(shè)計的實體有:學(xué)生實體、教師實體、課程實體和班級實體。</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ù)庫的表間關(guān)系</p><p><b>  5、流程分析</b></p><p><b>  學(xué)生登錄流程圖:</b></p><p><b>  管理員登錄流程圖:</b><

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

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

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

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

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

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

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

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

22、ST-teacher用來記錄教師信息</p><p> ?。?)班級表ST-class用來記錄班級信息</p><p>  (5)課程表ST-course用來記錄課程信息,該表和下面的表都是中間表,對應(yīng)E-R圖中的多對多關(guān)系,即一個學(xué)生選多門課程,一門課程被多個學(xué)生選。</p><p> ?。?)教師課表ST-teacher-course,中間表實現(xiàn)多對多關(guā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ù)庫相應(yīng)的表中查詢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>  //關(guān)閉連接</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:該調(diào)用是 ASP.NET Web 窗體設(shè)計器所必需的。</p><p>  InitializeComponent();</p><p>  base.OnInit(e);</p><p><b>  }</b></p><p&g

32、t;  /// <summary></p><p>  /// 設(shè)計器支持所需的方法 - 不要使用代碼編輯器修改</p><p>  /// 此方法的內(nèi)容。</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>  學(xué)生選課管理后臺源代碼</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="選課總?cè)藬?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>  }//關(guān)閉連接</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>  設(shè)計工具簡介</b></p><p><b>  ASP技術(shù)</b></p><p>  由于系統(tǒng)的操作界面都是Web頁面形式,而且需要對各種用戶的具體請求進行動態(tài)處理并返回結(jié)果,所以采用動態(tài)網(wǎng)頁技術(shù)。目前動態(tài)網(wǎng)頁技術(shù)有很多,本設(shè)計采用ASP技術(shù)。 Microsoft Activ

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

溫馨提示

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

評論

0/150

提交評論