

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p><b> 摘 要</b></p><p> 本文通過(guò)分析瀏覽器/服務(wù)器結(jié)構(gòu)的特點(diǎn)并結(jié)合選課的實(shí)際情況,提出了基于瀏覽器/服務(wù)器結(jié)構(gòu)網(wǎng)上選課系統(tǒng)的基本設(shè)計(jì)思想,簡(jiǎn)要介紹了系統(tǒng)各功能模塊及數(shù)據(jù)庫(kù)的設(shè)計(jì),著重討論了用 ASP.NET技術(shù)和SQL Server 2000開(kāi)發(fā)網(wǎng)上選課系統(tǒng)時(shí)的數(shù)據(jù)庫(kù)訪(fǎng)問(wèn)技術(shù)和動(dòng)態(tài)網(wǎng)頁(yè)制作技術(shù),并給出了部分實(shí)現(xiàn)代碼。通過(guò)該系統(tǒng),使學(xué)生可以方便地
2、在校園網(wǎng)上進(jìn)行網(wǎng)上選課。該B/S結(jié)構(gòu)的系統(tǒng)在Windows XP系統(tǒng)和VS2005.NET平臺(tái)下開(kāi)發(fā)完成,使用C#作為ASP.NET的開(kāi)發(fā)語(yǔ)言,SQL Server 2000作為數(shù)據(jù)庫(kù)。系統(tǒng)有較高的安全性和較好的性能。其中連接數(shù)據(jù)庫(kù)的字符串可以隨時(shí)在web.config里修改,并經(jīng)過(guò)編碼加密,增加了靈活性,保護(hù)了數(shù)據(jù)庫(kù)的安全。代碼盡量使用存儲(chǔ)過(guò)程和盡量減少數(shù)據(jù)庫(kù)連接的打開(kāi)時(shí)間等手段來(lái)提高性能。</p><p>
3、 本文中主要介紹了學(xué)生選課系統(tǒng)中的學(xué)生選課界面即對(duì)數(shù)據(jù)庫(kù)的查詢(xún)添加功能,并且附上了部分代碼。</p><p><b> 摘 要1</b></p><p><b> 1.需求分析3</b></p><p> 2.系統(tǒng)功能與設(shè)計(jì)3</p><p> 2.1 系統(tǒng)分析3</p&
4、gt;<p> 2.2 用戶(hù)所具有的功能3</p><p> 2.3 系統(tǒng)總體設(shè)計(jì)4</p><p> 2.4 數(shù)據(jù)庫(kù)的設(shè)計(jì)5</p><p> 2.5 各個(gè)表的實(shí)現(xiàn)5</p><p><b> 3系統(tǒng)界面說(shuō)明6</b></p><p> 3.1 系統(tǒng)登錄界面
5、6</p><p> 3.2.查看必修課程列表頁(yè)面8</p><p> 3.3.查看選修課程列表頁(yè)面9</p><p> 3.4.查看已選課程頁(yè)面11</p><p><b> 總 結(jié)13</b></p><p><b> 參考文獻(xiàn)14</b>&l
6、t;/p><p><b> 1 需求分析</b></p><p> 隨著在校大學(xué)生人數(shù)的不斷增加,教務(wù)系統(tǒng)的數(shù)據(jù)量也不斷的上漲。以往的選課方法是隨堂報(bào)名。這種方法雖然直接,但是造成選課的盲目性和教務(wù)處處理數(shù)據(jù)的繁重性。為了減輕教務(wù)處工作,以及每個(gè)學(xué)生更好的選擇自己所喜歡的科目。針對(duì)學(xué)生選課這一環(huán)節(jié),本系統(tǒng)從學(xué)生網(wǎng)上自主選課以及教師的課程發(fā)布兩個(gè)大方面進(jìn)行了設(shè)計(jì),基本
7、實(shí)現(xiàn)了學(xué)生的在線(xiàn)信息查詢(xún)、選課功能以及教師對(duì)課程信息發(fā)布的管理等功能。</p><p><b> 2 系統(tǒng)詳細(xì)設(shè)計(jì)</b></p><p><b> 2.1 系統(tǒng)分析</b></p><p> 在本系統(tǒng)中,有三類(lèi)用戶(hù):系統(tǒng)管理員,教師和學(xué)生。三種不同的用戶(hù)所具有的操作權(quán)限以及操作內(nèi)容均不一樣。我負(fù)責(zé)的是學(xué)生這一部分&
8、lt;/p><p> 本選課系統(tǒng)給予教師很大的自主權(quán),系統(tǒng)管理員只負(fù)責(zé)向系統(tǒng)中添加學(xué)生和教師的個(gè)人信息以及教學(xué)樓教室信息。系統(tǒng)管理員不參與開(kāi)設(shè)課程、選擇課程等,一切均由教師、學(xué)生等錄網(wǎng)站自行完成。系統(tǒng)管理員設(shè)置一個(gè)選課時(shí)間段,在到達(dá)時(shí)間段以前,教師可以開(kāi)設(shè)課程;到達(dá)時(shí)間段以后,學(xué)生可以登陸網(wǎng)站選擇課程。</p><p> 對(duì)于學(xué)生用戶(hù),每個(gè)學(xué)生除了必須選擇必修課程外,至少還要選擇兩門(mén)選修課
9、程,學(xué)生可以對(duì)自己選課信息鎖定,以免不小心被修改。當(dāng)時(shí)候超過(guò)選課時(shí)段后,系統(tǒng)自動(dòng)鎖定學(xué)生的選課課程。系統(tǒng)可以根據(jù)學(xué)生的選課信息,生成一份學(xué)生自己的課表。課程結(jié)束后學(xué)生可登錄網(wǎng)站查詢(xún)成績(jī)與學(xué)分。</p><p> 根據(jù)上面的要求,從操作功能上可以分為兩個(gè)類(lèi):一個(gè)是通用操作,主要實(shí)現(xiàn)用戶(hù)的登錄注銷(xiāo)和修改密碼等;另一種是為不同用戶(hù)定制不同操作</p><p> 2.2 用戶(hù)所具有的功能<
10、;/p><p> 我主要負(fù)責(zé)學(xué)生用戶(hù)界面的設(shè)計(jì):</p><p> 顯示和修改個(gè)人信息:學(xué)生登錄系統(tǒng)后,可以查看和修改學(xué)生的個(gè)人信息,如姓名,性別,電話(huà)等。</p><p> 查看必修課程:學(xué)生登錄后,可以查看所有的必修課程。查看該課程的信息,上課時(shí)間地點(diǎn),開(kāi)課教師信息等。</p><p> 選擇選修課程:學(xué)生登錄系統(tǒng)后,在所有選修課程中
11、可以選擇至少兩門(mén)選修課程。同時(shí)可以查看相關(guān)信息。</p><p> 鎖定選課信息:學(xué)生登錄系統(tǒng),確定了所選課程后,可以鎖定自己的選課信息,以防被別人或則自己不小心修改。</p><p> 查看最終選課信息:學(xué)生登錄系統(tǒng)后,可列出已選擇的課程,若選課信息未被鎖定,則可以退選,若所選課程少于兩門(mén),系統(tǒng)會(huì)提示選擇的課程少于兩門(mén)。</p><p> 查看學(xué)分和成績(jī):課
12、程結(jié)束后,學(xué)生登錄系統(tǒng)可查看自己學(xué)習(xí)課程的成績(jī)和已獲的學(xué)分。</p><p> 2.3 系統(tǒng)總體設(shè)計(jì)</p><p> 根據(jù)系統(tǒng)的系統(tǒng)功能分析,可以劃分以下幾個(gè)模塊,如圖1所示</p><p><b> 圖1 系統(tǒng)總體設(shè)計(jì)</b></p><p> 2.4 數(shù)據(jù)庫(kù)的設(shè)計(jì)</p><p>
13、 本系統(tǒng)的數(shù)據(jù)庫(kù)實(shí)體主要有“學(xué)生”、“教師”、“教學(xué)樓”、“教室”、“課程”等。其中“教師”與“課程”存在“開(kāi)設(shè)”聯(lián)系,并且一個(gè)教師可以開(kāi)設(shè)N門(mén)課程,即“教師”與“課程”之間是一對(duì)多的關(guān)系。同樣“教學(xué)樓”與“教室”也存在一對(duì)多的關(guān)系。一個(gè)學(xué)生可以學(xué)習(xí)N門(mén)課程,一門(mén)課程可以有M個(gè)學(xué)生學(xué)習(xí),即“學(xué)生”與“課程”之間是多對(duì)多的關(guān)系。同樣“課程”與“教室”之間也是多對(duì)多的關(guān)系。整個(gè)數(shù)據(jù)庫(kù)可以用一個(gè)E-R圖表示,如圖2所示:</p>
14、<p> 圖2 數(shù)據(jù)庫(kù)的設(shè)計(jì)圖</p><p> 2.5 各個(gè)表的實(shí)現(xiàn)</p><p> (1)Student表。Student表用來(lái)存儲(chǔ)學(xué)生的個(gè)人信息,使用學(xué)號(hào)作為主鍵,如圖3:</p><p><b> 圖3</b></p><p> ?。?)Course表。Course表用來(lái)存儲(chǔ)課程信息,Cou
15、rse表以課程編號(hào)為主鍵,設(shè)置課程編號(hào)自動(dòng)增加1(通過(guò)建表的時(shí)候?qū)傩粤性O(shè)置“標(biāo)識(shí)”,并設(shè)置“標(biāo)識(shí)遞增量”為1)。表中開(kāi)課教師Id為外鍵,所有“TId”的值必須是Teacher表中的“TId”值。設(shè)置外鍵關(guān)系可以通過(guò)在建立表的窗口中單擊右鍵,在右鍵菜單中選擇“關(guān)系”,在彈出的對(duì)話(huà)框中設(shè)置外鍵關(guān)系。如圖4:</p><p><b> 圖4</b></p><p>
16、(3)SC表。SC表用于存儲(chǔ)學(xué)生的選課信息,在SC表中學(xué)號(hào)和課程編號(hào)是主鍵,同時(shí)也是外鍵。如圖5:</p><p><b> 圖5</b></p><p><b> 3系統(tǒng)界面說(shuō)明</b></p><p> 下面是在線(xiàn)選課系統(tǒng)的預(yù)覽,此處簡(jiǎn)單介紹本系統(tǒng)的部分功能。</p><p> 3.1
17、 系統(tǒng)登錄界面</p><p><b> 圖6 系統(tǒng)登錄界面</b></p><p> 在用戶(hù)名和密碼處輸入用戶(hù)名和密碼,在“用戶(hù)類(lèi)型”下拉列表框中選擇“學(xué)生”,單擊“登錄”按鈕,登錄選課系統(tǒng)。</p><p><b> 主要代碼如下:</b></p><p> private void b
18、tnLogin_Click(object sender, System.EventArgs e)</p><p> {int type = Int32.Parse(ddlType.SelectedItem.Value);</p><p> string user = txtUser.Text.Trim();</p><p> string inputkey =
19、 txtKey.Text.Trim();</p><p> string key = "";</p><p> string sql = "";</p><p> DataSet ds;</p><p> switch( type )</p><p><b>
20、 {</b></p><p> case 1://學(xué)生</p><p> //驗(yàn)證學(xué)生身份代碼 </p><p><b> break;</b></p><p> case 2://教師</p><p><b> br
21、eak;</b></p><p> case 3://系統(tǒng)管理員</p><p><b> break;</b></p><p><b> default;</b></p><p><b> break;</b></p><p>
22、;<b> }</b></p><p><b> }</b></p><p> 3.2 查看必修課程列表頁(yè)面 </p><p><b> 圖7 查看比修課程</b></p><p> 登錄成功后,進(jìn)入學(xué)生主頁(yè),點(diǎn)擊“必修課程”鏈接,得到所有必修課程的列表,在列表中可以
23、看到所有必修課程及課程的簡(jiǎn)單信息,如授課教師姓名、課程所占學(xué)分等。</p><p> 在列表中可以點(diǎn)課程名稱(chēng),如“計(jì)算機(jī)應(yīng)用基礎(chǔ)”鏈接,查看課程詳細(xì)信息;點(diǎn)教師姓名,如“李萍”鏈接,查看教師的詳細(xì)信息;點(diǎn)擊“查看上課時(shí)間地點(diǎn)”鏈接,查看對(duì)應(yīng)課程的上課時(shí)間和地點(diǎn)。</p><p> 在頁(yè)面加載的時(shí)候從數(shù)據(jù)庫(kù)讀取所有必修課信息,代碼如下:</p><p> str
24、ing sql = "select Course.*,TName from Course,Teacher where CType like '必修' and Course.TId like Teacher.TId";//查詢(xún)處所有必修課程信息</p><p> DataSet ds = Db.ExecuteSelectSql(sql);</p><p>
25、; if ( ds != null && ds.Tables.Count > 0 )</p><p><b> {</b></p><p> dgCourse.DataSource = ds.Tables[0];</p><p> dgCourse.DataBind();//將查詢(xún)結(jié)果綁定到DataGrid中<
26、;/p><p><b> }</b></p><p> 3.3.查看選修課程列表頁(yè)面</p><p><b> 圖8 查看選修課程</b></p><p> 單擊“選修課程”鏈接,查看所有選修課程列表,在列表中給出了比必修課程更多的信息,比如多了對(duì)應(yīng)選修課程的前導(dǎo)課程、最大人數(shù)、當(dāng)前已選人數(shù)等,
27、對(duì)每個(gè)選修課程均有一個(gè)“選修該課程”的按鈕,單擊此按鈕方可選擇對(duì)應(yīng)課程。</p><p> 主要代碼如下: </p><p> string sql = "select x.*,TName,(select CName from Course as y where y.CId = x.CPreCId) as CPreCName from Course as x,Teach
28、er where x.CType like '選修' and x.TId like Teacher.TId";</p><p> //查詢(xún)?cè)搶W(xué)生已選修的課程</p><p> DataSet ds = Db.ExecuteSelectSql(sql);</p><p> if ( ds != null && ds.Ta
29、bles.Count > 0 )</p><p><b> {</b></p><p> dgCourse.DataSource = ds.Tables[0];</p><p> dgCourse.DataBind();</p><p> for ( int i = 0; i < ds.Tables[
30、0].Rows.Count; i++ )</p><p> {sql = "select count(*) from SC where CId = "+ds.Tables[0].Rows[i]["CId"].ToString();</p><p> DataSet ds1 = Db.ExecuteSelectSql(sql);</p>
31、<p> if ( ds1 != null && ds1.Tables.Count > 0 && ds1.Tables[0].Rows.Count > 0 )</p><p> dgCourse.Items[i].Cells[6].Text = ds1.Tables[0].Rows[0][0].ToString();</p><p&
32、gt;<b> }</b></p><p><b> }</b></p><p> bool locked= bool.Parse(Session["Locked"].ToString());</p><p> if ( ! locked )</p><p><b&
33、gt; {</b></p><p> lbLock.Text = "您尚未鎖定選課信息!";</p><p><b> }</b></p><p><b> else</b></p><p><b> {</b></p>
34、<p> lbLock.Text = "選課信息已被鎖定!";</p><p> dgCourse.Columns[9].Visible = false;</p><p><b> }</b></p><p> 3.4.查看選課時(shí)間頁(yè)面</p><p><b> 圖9 查
35、看選課時(shí)間</b></p><p> 查看選課時(shí)間代碼如下:</p><p> DateTime dtStart,dtEnd;</p><p><b> try</b></p><p><b> {</b></p><p> dtStart = Date
36、Time.Parse(txttimeStart.Text);</p><p> dtEnd = DateTime.Parse(txtTimeEnd.Text);</p><p><b> }</b></p><p><b> catch</b></p><p><b> {<
37、/b></p><p> Response.Write(MyUtility.Alert("輸入錯(cuò)誤"));</p><p><b> return;</b></p><p><b> }</b></p><p> StreamWriter sw = new Stre
38、amWriter("http://localhost/sc/login.aspx",false);</p><p> sw.WriteLine(dtStart.ToString());//寫(xiě)入開(kāi)始時(shí)間</p><p> sw.WriteLine(dtEnd.ToString());//寫(xiě)入結(jié)束時(shí)間</p><p> sw.Close();&
39、lt;/p><p> lbTime.Text = "選課時(shí)間為:"+dtStart.ToString()+"到"+dtEnd.ToString();</p><p><b> 總 結(jié)</b></p><p> 經(jīng)過(guò)一段時(shí)間的學(xué)習(xí)與實(shí)踐,我選擇的課題學(xué)生選課系統(tǒng)基本完成。其功能基本符合網(wǎng)絡(luò)上的用戶(hù)要
40、求,能夠在線(xiàn)選課,在線(xiàn)添加課程,在線(xiàn)查詢(xún)課程等。雖然由于自己知識(shí)上的不足,有些地方有少許錯(cuò)誤和容錯(cuò)性能比較低,但是還是可以基本完成選課系統(tǒng)應(yīng)有的功能。</p><p> 通過(guò)這次設(shè)計(jì)過(guò)程我得到了很多的寶貴經(jīng)驗(yàn),讓我遇到困難時(shí)能夠及時(shí)的發(fā)現(xiàn)并且想辦法去解決,而不是向以往一樣只是在那發(fā)呆,不知所措。通過(guò)這次設(shè)計(jì)我學(xué)會(huì)的不僅是知識(shí),還有遇見(jiàn)困難時(shí)要冷靜沉著,想想原因和為什么不知道怎么解決。相信下次做這方面的設(shè)計(jì)時(shí),我
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫(kù)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 數(shù)據(jù)庫(kù)選課管理系統(tǒng)課程設(shè)計(jì)
- 數(shù)據(jù)庫(kù)課程設(shè)計(jì)---學(xué)生選課系統(tǒng)
- 數(shù)據(jù)庫(kù)課程設(shè)計(jì)(實(shí)驗(yàn)選課系統(tǒng))
- 學(xué)生選課系統(tǒng)數(shù)據(jù)庫(kù)課程設(shè)計(jì)
- 數(shù)據(jù)庫(kù)課程設(shè)計(jì)--學(xué)生選課管理系統(tǒng)
- 數(shù)據(jù)庫(kù)課程設(shè)計(jì)---學(xué)生選課管理系統(tǒng)
- 數(shù)據(jù)庫(kù)課程設(shè)計(jì)--學(xué)生選課管理系統(tǒng)
- sqlserver數(shù)據(jù)庫(kù)課程設(shè)計(jì)--選課管理系統(tǒng)
- 數(shù)據(jù)庫(kù)課程設(shè)計(jì)學(xué)生選課管理系統(tǒng)
- 數(shù)據(jù)庫(kù)課程設(shè)計(jì)----學(xué)生選課管理系統(tǒng)
- 數(shù)據(jù)庫(kù)課程設(shè)計(jì)---學(xué)生選課管理系統(tǒng)
- 數(shù)據(jù)庫(kù)課程設(shè)計(jì)--學(xué)生選課成績(jī)管理系統(tǒng)
- sql數(shù)據(jù)庫(kù)課程設(shè)計(jì) 學(xué)生選課
- 《數(shù)據(jù)庫(kù)技術(shù)》課程設(shè)計(jì)--學(xué)生選課管理系統(tǒng)設(shè)計(jì)
- 數(shù)據(jù)庫(kù)課程設(shè)計(jì)--高校學(xué)生選課管理系統(tǒng)
- 學(xué)生選課信息系統(tǒng)數(shù)據(jù)庫(kù)課程設(shè)計(jì)報(bào)告
- 數(shù)據(jù)庫(kù)課程設(shè)計(jì)--學(xué)生選課信息管理系統(tǒng)
- 數(shù)據(jù)庫(kù)課程設(shè)計(jì)--bbs系統(tǒng)數(shù)據(jù)庫(kù)設(shè)計(jì)
- 數(shù)據(jù)庫(kù)課程設(shè)計(jì)---數(shù)據(jù)庫(kù)
- 數(shù)據(jù)庫(kù)課程設(shè)計(jì)--快餐訂餐系統(tǒng)數(shù)據(jù)庫(kù)設(shè)計(jì)
評(píng)論
0/150
提交評(píng)論