課程管理系統

2021-03-04 03:57:57 字數 3774 閱讀 7903

一.概述

1.1 開發背景

現如今學校課程越來越多,必然就會有大量的課程資訊需要處理。如果靠人力來完成,這將會變成一項非常繁瑣、複雜的工作,而且還會出現很多意想不到的錯誤,給管理這些資料帶來了很大的不便,也越來越不適合學校發展的需要。

課程管理系統是乙個龐大而複雜的系統,它包括對課程資料的管理,對學生資料的管理,對教師資料的管理和對班級資料的管理等等主要的功能。課程管理系統是每個學校的一項必不可少的內容,它的好壞直接影響到學校裡的主要工作,一旦此系統癱瘓,學校將會受到非常嚴重的損失,也會影響到每乙個學生。所以現如今設計乙個功能完整、操作簡單以及介面友好的課程管理系統變得非常重要。

為了提高課程管理工作的效率,減少錯誤的出現,節約大量的人力資源,現在的學校的課程管理也逐步從手工轉到計算機自動化資訊處理階段。通過這個系統,使用者可以方便的對課程資料、學生資料、院系資料和學生成績資料進行新增、修改和刪除操作,還可以對學生資料和成績進行查詢操作。除此之外,對使用者的新增和刪除操作也很方便。

1.2 開發環境簡介

系統平台:windows xp

資料庫伺服器:microsoft sql server 2000

開發工具:visual studio 2008

二.需求分析

2.1 功能需求

這次開發的教務管理系統大大提高了學校管理工作的效率,使使用者能夠方便的對課程資訊、學生資訊、教師資訊以及班級資訊進行管理。本系統對具有不同許可權的使用者所開放的功能是不同的,最高階使用者的許可權是「管理員」,它能使用系統的所有功能,另一種使用者的許可權是「使用者」,它只能使用系統的部分功能。不同許可權的使用者能使用的功能如下:

使用者管理:此項功能只能由管理員使用

修改密碼:管理員和使用者都能使用

資訊管理:包含了課程管理、學生管理、教師管理、班級管理四個模組,只能由

管理員使用,使用者不能使用。

學生資料查詢:只能由管理員使用,使用者不能使用

教師資料查詢:只能由管理員使用,使用者不能使用

2.2 模組劃分

本系統並不複雜,模組劃分也比較清楚。通過對不同的功能進行分析,就可以得到系統的模組劃分。

(1)使用者登入模組:負責驗證系統中個級別使用者的登入資訊。並根據登入使用者的不同級別轉向不同的頁面。

(2)學生功能模組:負責學生的選課、檢視課程成績、更改學生資訊的操作。

(3)教師功能模組:負責審批學生選課、公布學生成績的操作。

(4)管理員功能模組:負責課程、班級、教師、學生資訊的新增、修改和刪除等維護操作。

(5)幫助模組:分為關於系統和關於作者兩個子模組。

與之對應的模組劃分(圖一)如下所示:

圖一:模組劃分圖

2.3 關鍵功能模組的資料流圖

(1)資訊服務功能模組的資料流圖如圖1所示

圖1 資訊服務功能模組資料流圖

(2)使用者系統功能模組的資料流圖如圖2所示

圖2 使用者系統能模組資料流圖

(3)系統管理功能模組的資料流圖如圖5所示

圖5 系統管理功能模組資料流圖

2.4系統的窗體命名約定如表一所示:

表一:各窗體的命名約定

三.設計內容

3.1 資料庫設計

由使用者的需求分析和概念結構設計,最終設計了名為課程管理資料庫的資料庫,資料庫中的表如下所示:

表1:登入資訊表

表2:班級資訊表

表3:學生資訊表

表4:課程資訊表

表5:成績資訊表

3.2 系統中主要功能實現

(1)登入介面的設計

本系統的登入介面上主要有使用者名稱、密碼和使用者許可權三部分內容。使用者若想進入系統,就必須給出正確的使用者名稱和密碼,而且要選擇正確的使用者許可權。如果使用者輸入的使用者名稱不存在或者密碼與使用者名稱不一致或者與使用者許可權不一致,都會給出相應的提示資訊,告訴使用者出現的錯誤輸入。

而且,如果使用者進行錯誤的輸入超過三次時,系統會自動退出。實現這一功能的說明如下:

函式開始:

建立連線,利用fill()函式在systerm.data.dataset的指定範圍中新增或重新整理行,以與使用systerm.

data.dataset名稱中的資料來源中的行相匹配。

oledbdataadapter1.fill(dt)

利用for迴圈,判斷迴圈次數是否小於所有記錄的個數

for i = 0 to - 1

if (使用者名稱、密碼和使用者許可權三者匹配時 ) then

me.hide()

me.finalize()

me.addownedform(myform)

顯示主窗體

if ( 使用者許可權 = 使用者 ) then

隱藏主窗體中的部分功能

myform.系統使用者管理toolstripmenuitem.enabled = false

myform.教務資訊管理toolstripmenuitem.enabled = false

myform.學生資料查詢toolstripmenuitem.enabled = false

else

什麼也不做

end if

退出for迴圈

end if

next

if ( i >= 即在所有記錄中都沒有找到與使用者輸入的值相同的) then

說明在所有記錄中都沒有找到與之匹配的使用者名稱、密碼和使用者許可權 then

彈出msgbox,警告使用者出現錯誤

msgbox("使用者名稱與密碼與使用者許可權不匹配!請驗證後重新輸!", msgboxstyle.exclamation, "警告")

將密碼對應的文字框中的內容置空

end if

if ( 重複輸入的次數超過3次) then

彈出彈出msgbox,警告使用者出現錯誤

msgbox("你輸入的次數已經超過了3次!系統將退出!", msgboxstyle.exclamation, "警告")

退出end if

函式結束

(2)資訊管理模組的設計:

資訊管理模組的三種操作,主要是新增記錄,修該記錄,刪除記錄三大功能。而且在執行各項功能時都會給出足夠的提示資訊,例如進入時的提示資訊,有些資訊不能為空的提示,以及操作成功的提示資訊。

(a)下面以系別管理模組中新增班級來說明如何新增記錄的,說明如下:

函式開始:

新增記錄時給出提示資訊,等待使用者確認

s = msgbox("您確定要增加記錄嗎?", 36, "提示")

if (s <> 6 即使用者選擇的是取消按鈕) then

退出函式

end if

if (系名對應的文字框為空) then

msgbox("班級名不能為空!")

退出函式

end if

if (班主任對應的文字框為空) then

elseif ( s = 6 即使用者選擇的是確定按鈕) then

利用count()函式來返回所有記錄的個數

然後讓個數加1作為下乙個記錄的編號

i = me.bindingcontext(dataset1, "班級資訊").count + 1

新建乙個表示記憶體中資料的乙個表tmptable

tmptable = dataset1.tables("班級資訊")

開啟連線

oledbconnection1.open()

構造插入語句

dim tmp***mand as new system.data.oledb.

oledb***mand("insert into 班級資訊 (班級編號,班級名,班主任) values('"& i &"','"& textname.text &"','"& textman.text &"')", oledbconnection1)

異常處理

學生課程管理系統

1.需求說明 如果要實現乙個學校課程管理系統,在此學校課程管理系統中只涉及對學生 班級 課程 教師和參考書的管理,此系統要求能夠記錄學生的選修情況 教師的授課情況,以及學生 班級 課程 教師和參考書的基本情況。系統具體要求如下 一門課程可由多名教師講授。一名教師可以講授多門課程。一名學生可以選修多門...

學生課程管理系統

數學與計算機學院 課程設計說明書 課程名稱 資料庫課程設計 課程 8422561 題目 學生課程資料庫應用系統 年級 專業 班 2xx級信科3班 學生姓名 惺惺惜惺惺x 學號 31200807 x 開始時間 2011 年 5 月 23 日 完成時間 2011 年 6 月 7 日 課程設計成績 指導教...

選修課程管理系統

課程設計 二 一二年十二月十二日 目錄摘要 1 第一章前言 2 1.1題目與要求 2 1.2問題的提出 2 1.2.1本系統設計的知識點 2 1.2.2功能需求 2 1.3設計目的 2 1.4課程設計的簡介 3 第二章開發環境 4 2.1 系統開發環境 4 2.1.1 開發環境的選擇 4 2.1.2...