畢業(yè)設計(論文) 學生成績管理系統(tǒng)的設計與實現(xiàn)
《畢業(yè)設計(論文) 學生成績管理系統(tǒng)的設計與實現(xiàn)》由會員分享,可在線閱讀,更多相關《畢業(yè)設計(論文) 學生成績管理系統(tǒng)的設計與實現(xiàn)(38頁珍藏版)》請在裝配圖網(wǎng)上搜索。
1、畢業(yè)設計(論文) 目錄 前言 2 第1章ASP 技術 3 技術簡介 3 的內(nèi)置對象及語法實現(xiàn) 4 第2章 SQL語言 7 語言簡介 7 2.2 基本查詢、插入、修改 7 第3章 概述 9 3.1 開發(fā)工具的選用 9 第4章 設計構思 11 總體設計 11 功能模塊(主) 12 總結 38 參考文獻 38 致謝 38 學生成績管理系統(tǒng)的設計與實現(xiàn) 前言 學生成績管理系統(tǒng)是一個教育單位不可缺少的部分,它的內(nèi)容對于學校的決策者和管理者來說都至關重要,所以學籍管理系統(tǒng)應該能夠為用戶提供充足的信息和快捷的查詢手段。但一直以來人們使
2、用傳統(tǒng)人工的方式管理學籍檔案,這種管理方式存在著許多缺點,如:效率低、保密性差,另外時間一長,將產(chǎn)生大量的文件和數(shù)據(jù),這對于查找、更新和維護都帶來了困難。隨著科學技術的不斷提高,計算機科學日漸成熟,其強大的功能已為人們深刻認識,它已進入人類社會的各個領域并發(fā)揮著越來越重要的作用。作為計算機應用的一部分,使用計算機對學生檔案信息進行管理,具有手工管理所無法比擬的優(yōu)點。例如:檢索迅速、查找方便、可靠性高、存儲量大、保密性好、壽命長、成本低等。這些優(yōu)點能夠極大地提高學生檔案管理的效率,也是企業(yè)的科學化、正規(guī)化管理,與世界接軌的重要條件。因此,開發(fā)這樣一套管理軟件成為很有必要的事情,在下面的各章中我們
3、將以開發(fā)一套學生成績管理系統(tǒng)為例,談談其開發(fā)過程和所涉及到的問題及解決方法。 第1章ASP 技術 什么是ASP Active Server Pages(ASP,活動服務器頁面)就是一個編程環(huán)境,在其中,可以混合使用HTML、腳本語言以及組件來創(chuàng)建服務器端功能強大的Internet應用程序。?如果你以前創(chuàng)建過一個站點,其中混合了HTML、腳本語言以及組件,你就可以在其中加入ASP程序代碼。通過在HTML頁面中加入腳本命令,你可以創(chuàng)建一個HTML用戶界面,并且,還可以通過使用組件包含一些商業(yè)邏輯規(guī)則。
4、組件可以被腳本程序調(diào)用,也可以由其他的組件調(diào)用。當在Web站點中融入ASP功能后,將發(fā)生以下事情: 1、用戶調(diào)出站點內(nèi)容,默認頁面的擴展名是.asp。? 2、瀏覽器從服務器上請求ASP文件。 3、服務器端腳本開始運行ASP。 4、ASP文件按照從上到下的順序開始處理,執(zhí)行腳本命令,執(zhí)行HTML頁面內(nèi)容。? 5、頁面信息發(fā)送到瀏覽器。? 因為腳本是在服務器端運行的,所以Web服務器完成所有處理后,將標準的HTML頁面送往瀏覽器。這意味著,ASP只能在可以支持的服務器上運行。讓腳本駐留在服務器端的另外一個益處是:用戶不可能看到原始腳本程序的代碼,用戶看到的,僅僅是最終產(chǎn)生的HTML內(nèi)容
5、。? 1.1.2 ASP的優(yōu)點 ASP(Active server page)工作在服務器的一端,通過服務器端的編譯來動態(tài)的將HTML頁面?zhèn)魉徒o瀏覽器,而“一般的腳本是直接在客戶機端瀏覽器執(zhí)行處理,由于腳本的兼容問題,經(jīng)常出現(xiàn)錯誤,ASP文件只需后綴.asp擴展,即可實現(xiàn)動態(tài)頁面的輸出,這時當然需要WEB服務器支持ASP的運行。 ASP的優(yōu)點所在: 1.可以直接嵌入到HMTL代碼中,與HMTL/SCRIPT等達到完美的結合。 2.ASP是面向?qū)ο蟮目蓴U展組件功能的交互語言。組件的引用,極大的方便了ASP的使用。 3.用ADO組件輕松實現(xiàn)數(shù)據(jù)庫的存取。 4.通
6、過服務器動態(tài)的處理,因此不在存在潛在的腳本兼容的問題。 1.2.1 ASP的內(nèi)置對象 Request 從客戶端取得信息 Response將信息發(fā)送客戶端? Server提供Web服務器的一些組件? Session 儲存一個Session會話過程中的用戶信息,它僅可被該用戶訪問? Application 在一個ASP應用程序中可以給不同客戶端共享的信息? (一)Request對象? 通過Request對象,我們可以收集到客戶端的Form,Cookies,超連接,或是服務器的還境變量,因此,Request為我們的ASP程序提供的加工的“原材料”,您說它重要嗎?沒有Requ
7、est對象的話,那么ASP程序就失去了與客戶端聯(lián)系的交互能立,可以把它想象為我們的眼睛和耳朵。? ?(二)Response對象? Response對象可以把ASP程序加工后的“產(chǎn)品”,發(fā)送給客戶,讓他們可以看見結果。同時,也可以通過Response對象設置客戶端瀏覽器的狀態(tài),比如設置Cookies,Cookies是一種跟蹤客戶端狀態(tài)的技術,有的網(wǎng)站利用Cookies來記錄你是第幾次訪問他們的網(wǎng)站,而Cookies就是那些保存在Windows系統(tǒng)目錄Cookies里的那些文件,那些文件可以供網(wǎng)站重新讀取和設置。用來跟蹤您的狀態(tài),Request和Response可以說一個對孿生兄弟,一個負責收
8、集,另一個負責輸出。? (三)Server對象? Server對象為您的ASP程序的擴展提供的靈活方便的途徑,比如說,如果您需要在ASP程序中讀寫服務器上的某個文件,那么就可以借用“文件存取組件”來讀寫文件。而Server對象就充當了建立這個組件的實例的角色,需要使用某個組件,必需先建立它的一個Server對象實例,在后面將要介紹的ADO組件,您就能清楚地理解服務器對象的作用了。? (四)Session對象? ASP程序可以說是一個Web的應用程序,傳統(tǒng)的HTML頁,不能跟蹤客戶端的情況,比如說客人現(xiàn)在處于那一個頁面上,何時離開了這個網(wǎng)站,而Session對象的引入,不但能使上述的問題
9、得以解決,并且能為用戶個人保存網(wǎng)站期間(會話)的數(shù)據(jù)信息,它只對用戶個人作用,而對ASP程序中的其他用戶是無作用的,聰明的朋友可能和早就猜到其實Session也是利用Cooikes技術來臨時保存用戶數(shù)據(jù)。當你把瀏覽器的Cooikes功能關閉,那么Session對象就失效了,因此設計ASP程序時別忘了這一點。? (五)Application對象? 既然Session對象的數(shù)據(jù)是用戶私有的,那么ASP程序中必須要有一種能讓處于ASP程序中所共同享有的數(shù)據(jù)信息,這就是Application對象,可以說。Application對象內(nèi)保存的信息,是可以讓同一ASP程序中的所有用戶所共享的,比如聊天室
10、里說一句話,聊天室里的所有人都能看見,這里就是應用了Application對象把說話的信息保存起來,再顯示出來。而悄悄話既是一種Session對象信息。只有特定的用戶能看見。? 1.2.2 ASP的基本語法 建立ASP程序 ASP程序是擴展名為.asp的文本文件,其中包括文字,HTML語句,ASP命令 其他腳本語言。 ASP命令必須放在""之間 ?為了養(yǎng)成良好的編程風格外,適度的注釋不可少,ASP提供了兩中注釋方式 1、單引號(),在單引號之后的這行文字都視為注釋 2、rem 關鍵詞,在REM后的文字,視為注釋 賦值語句 ? ASP中一般變量的賦值語句是 "=" 而對象是用 se
11、t 語句來賦值的 算術運算符 ? 運算符 功能 + 正號 - 負號 + 加法 - 減法 * 乘法 / 除法 \ 整數(shù)除法 Mod 余數(shù) ^ 指數(shù) 關系運算符 ? 運算符 功能 = 等于 <> 不等于 < 小于 > 大于 <= 小于等于 >= 大于等于 IS 比較變量是否指向同一對象 邏輯運算符 ASP的邏輯運算符有:? ? 1、NOT 將邏輯值加以反向? ? 2、AND “和”或者說“且”運算? ? 3、OR “或”運算? ? 4、XOR “異或”運算? ?字符串運算符 ? ASP只有一個字符串運算符 "&",它可以強迫兩個表達式做字符串連接 變量申明 變量申明必須
12、注意 1、有效變量名稱不能大于255個字符 2、變量名稱必須一字母開頭 3、在同一個有效范圍內(nèi)變量名稱必須唯一 變量申明 DIM 變量名稱 常數(shù)申明 CONST 常數(shù)名稱=常數(shù)值 數(shù)據(jù)類型 ? 對ASP而言,它只有一種Variant(通用變量)數(shù)據(jù)類型,這是一種非常特殊的數(shù)據(jù)類型,你可以將任何的數(shù)據(jù)類型指定給這種變量,例如布爾值、字節(jié)、整數(shù)、長整數(shù)、單精度浮點數(shù)、雙精度浮點數(shù)、貨幣、日期等等 第2章 SQL語言 1、 SQL概述 SQL是一種面向數(shù)
13、據(jù)庫的通用數(shù)據(jù)處理語言規(guī)范,能完成以下幾類功能:提取查詢數(shù)據(jù),插入修改刪除數(shù)據(jù),生成修改和刪除數(shù)據(jù)庫對象,數(shù)據(jù)庫安全控制,數(shù)據(jù)庫完整性及數(shù)據(jù)保護控制。 數(shù)據(jù)庫對象包括表、視圖、索引、、觸發(fā)器、函數(shù)、過程、. 2.2 基本查詢、插入、修改 2.2.1 查詢 SELECT語句從表中提取查詢數(shù)據(jù)。在設計中我們用到這樣一段代碼就包含select語句,如圖1 圖1 <%h=request(“xh”) set conn=server.createobject("adodb.connection") conn.ope
14、n"driver={Microsoftaccessdriver (*.mdb)};dbq="&server.mappath("sp") exec="select * from user where xh=’”&h&”’" set rs=server.createobject("adodb.recordset") rs.open exec,conn,1,1 %> 在設計中我們用到insert …into…插入語句,如圖2 圖2 setsavebbs1=conn.execute("insert
15、into user(bj,xh,xm,mm,sex,question,answer,addr,yb)values('"&bj&"','"&xh&"','"&xm&"','"&mm&"','"&sex&"','"&question&"','"&answer&"','"&addr&"','"&yb&"')") session("user")=xh session("pwd")=mm ation.href = '"&session("return")&"’ " 我們同時也用到update…values…修改語句,圖3:
16、 圖3 set rs=server.createobject("adodb.recordset") conn = "DBQ=" + server.mappath("#sp25175_class.asp") + ";DefaultDir=;DRIVER={Microsoft Access Driver (*.mdb)};" setrs=conn.execute("updateuser(bj,xh,mm,xm,sex,addr,yb)values('"&bj&"','"&xh&"','"&mm&"','"&xm&"','"&sex&"','"&addr&"
17、','"&yb&"')") sql="update user set bj='"&bj&"',xh='"&xh&"',mm='"&mm&"',xm='"&xm&"',sex='"&sex&"',question='"&question&"',answer='"&answer&"',addr='"&addr&"',yb='"&yb&"' where id="+ IIDrs.Open sql,conn,1,1session("pwd")=mm response.write "" 第3章 概述 3.1 開發(fā)工具的選用 3.1.1 Microsoft Access的使用 Access2000 就是關系數(shù)據(jù)庫開發(fā)工具,數(shù)據(jù)庫能匯集各種信息以供查詢、存儲和檢索。Access 的優(yōu)點在于它能使用數(shù)據(jù)表示圖或自定義窗體收集信息。數(shù)據(jù)表示圖提供了一種類似于 Excel 的電子表格,可以使數(shù)據(jù)庫一目了然。另外,Access 允許創(chuàng)建自定義報表用于打印或輸出數(shù)據(jù)庫中的信息。Access也提供了數(shù)據(jù)存儲庫,可以使用桌面數(shù)據(jù)庫文件把數(shù)據(jù)庫文
19、件置于網(wǎng)絡文件服務器,與其他網(wǎng)絡用戶共享數(shù)據(jù)庫。Access 是一種關系數(shù)據(jù)庫工具,關系數(shù)據(jù)庫是已開發(fā)的最通用的數(shù)據(jù)庫之一。如上所述,Access 作為關系數(shù)據(jù)庫開發(fā)具備了許多優(yōu)點,可以在一個數(shù)據(jù)包中同時擁有桌面數(shù)據(jù)庫的便利和關系數(shù)據(jù)庫的強大功能。新建一個數(shù)據(jù)庫,創(chuàng)建任何一個數(shù)據(jù)庫的第一步是仔細的規(guī)劃數(shù)據(jù)庫,設計必須是靈活的、有邏輯的。創(chuàng)建一個數(shù)據(jù)庫結構的過程被認為是數(shù)據(jù)模型設計。 1.標識需要的數(shù)據(jù); 2.收集被標識的字段到表中; 3.標識主關鍵字字段; 4.繪制一個簡單的數(shù)據(jù)圖表; 5.規(guī)范數(shù)據(jù); 6.標識指定字段的信息; 7.創(chuàng)建物理表。 實現(xiàn)數(shù)據(jù)庫之間的聯(lián)系
20、數(shù)據(jù)庫之間的關系指明兩個庫之間共享一個共同的關鍵字值。一個連接是指一種虛擬的表,這種表是在當用戶要求從相互關聯(lián)的各個不同的表中獲取信息時建立的,關鍵字段用于在相互連接的不同表中查找匹配的記錄。一個更高級的連接形式稱為自連接。這種連接是指一個表被連接到它自己的一個字段,或在不同的紀錄中由重復數(shù)據(jù)的組合字段。數(shù)據(jù)庫中有三種不同類型的關鍵字:主關鍵字、組合關鍵字和外關鍵字。在表中使用的關鍵字類型用于描述庫表示什么以及在數(shù)據(jù)庫中如何與其它的庫建立關系. 3.1.2 Dreamweaver的使用 Dreamweaver在多媒體方面頗有建樹的Macromedia公司推出的可視化網(wǎng)頁制作工具,它與Fla
21、sh、Fireworks合在一起被稱為網(wǎng)頁制作三劍客,這三個軟件相輔相承,是制作網(wǎng)頁的最佳選擇。安裝后,它會自動在 Windows 的菜單中創(chuàng)建程序組,如圖: 點擊進入,讓我們來看一下它的界面。如圖:它把工具欄省去了,然后增加了幾個浮動的工具欄。在 Dreamwaver3.0 中,它的工具欄全是浮動工具欄,你可以將工具欄縮小,也可以關閉。在專業(yè)術語里面,他們叫“浮動面板”,利用浮動面板來控制對頁面的編寫,而不是利用煩瑣的對話框,通過在浮動面板中進行屬性設置,這樣就直接可以在文檔中看到結果,避免了中間過程,提高了工作效率。 我使用的是一個綠色版的,它只有4M功能基本齊全.有些功能你
22、不需要去專門的去學習某種語言你就可輕松的去實現(xiàn)例如字體滾動你只需要輸入一個命令就可以
23、退出管理 學號管理 課程管理 成績管理 退出管理 留 言 成績查詢 管理員登陸 首 頁 學生成績管理系統(tǒng) 普通用戶登陸 1.成績管理: 對班級 學號 姓名 課程 成績 學分 學期 類型 的管理.可進行刪除,添加,群刪,群加. 2.課程管理: 對年級&專業(yè) 課程 學分 學期 類型 的管理,可進行添加,群刪,群加. 3.學生管理: 對班級 學號進行添加,群刪,群加學號。 4.1.2構建數(shù)據(jù)庫(圖)
24、 圖1 各個表之間得關系如下: 圖2 4.2功能模塊(主) 4.2.1添加單個成績(代碼) 圖3 <%if session("password")<>"" then%>
25、
班級及其學號啟始代碼瀏覽及修改 | ||||||||||||
|
||||||||||||
系統(tǒng)管理員: | ||||||||||||
| ||||||||||||
63、on("password")<>"" then %> <% bj100=request.Form("bj100") bj101=left(bj100,3) for t=4 to len(bj100) if mid(bj100,t,1)>="0" and mid(bj100,t,1)<="9" then exit for bj101=bj101&mid(bj100,t,1) next fs100=requ
64、est.Form("fs100") xh100=request.Form("xh100") user100=request.Form("user100") cj100=request.Form("cj100") kc100=request.Form("kc100") xq100=request.Form("xq100") if xq100="" then xq100="第一學期" lx100=request.Form("lx100") %>
|