1.1引言
1.1.1編寫的目的
本文檔是對該學生選課系統的一個整體把握,以便在下一步的開發設計中更好的控制開發。
本文檔的預期讀者是:
設計人員
開發人員
管理和測試人員
最終用戶
1.1.2背景
由於電腦時代的到來以及internet的迅速發展,電腦無處不在,當然各種工作效率也大幅提高,那么對於一個學校來說,開發一個好的學生選課系統勢在必行。鑒此,特開發此學生選課系統,該系統實現了選課的網絡化、信息化、現代化。
1.1.3參考資料
[1]. 呂軍.《軟件項目綜合實訓》[M].清華大學出版社,2010.6
[2]. 杜文潔、白萍.《實用軟件工程與實訓》[M].清華大學出版社,2009.4
[3].譚恆松.《C#程序設計與開發》[M].清華大學出版社,2010.8
[4]. 詹炎、文龍.《數據庫技術與應用》[M].清華大學出版社,2008.9
[5]. 崔淼、關六三、彭煒.《ASP.NET程序設計教程》[M].清華大學出版社,2010.8
[6]. 孫永強等.《C# .NET入門與提高》[M].清華大學出版社,2002
[7]. B—power工作室.《C#網絡程序設計》[M].北京中國鐵道出版社,2001
[8]. 明月創作室.《C#編程精彩百例》.[M].北京人民郵電出版社,2002
1.2任務概述
1.2.1目標
本項目設定的目標如下:
- 系統能夠提供友好的用戶界面,使操作人員的工作量最大限度的減少;
- 系統具有良好的運行效率,能夠得到提高管理的目的;
- 系統應有良好的可擴充性,可以容易的加入其它系統的應用;
- 平台的設計具有一定的超前性,靈活性,能夠適應信息管理工作的變化;
- 通過這個項目可以鍛煉隊伍,提高團隊的開發能力和項目管理能力。
1.2.2用戶特點
由於本軟件的最終用戶是系統管理人員(即教務處的領導),對本系統不是那么的了解,而且領導們比較忙,對於后期的培訓可能會沒有時間,基於這一點我組認為應該把界面設計的一目了給教師和學生帶來方便,同時還提高了教務處的工作效率。
1.3性能需求
1.3.1可用性
學生選課系統應簡單易用,用戶能直接通過界面即可掌握所需功能的操作方法,Web操作端至少兼容IE瀏覽器。
1.3.2可靠性
學生選課系統能長時間無故障運行,在學生選課階段能夠應對相應的數據吞吐量。
1.3.3速度性
當用戶進行操作時,系統應該及時地進行反應,反應的時間在2秒以內。
1.3.4界面需求
系統的界面要求如下:
1) 頁面內容:主題突出,欄目、菜單布置合理,內容豐富,文字准確,行文格式統一規范。
2) 導航結構:具有明確的導航指示,便於理解,便於用戶使用。
3) 藝術風格:界面、版面形象清新悅目,布局合理,字號大小適宜,字體選 擇合適,動靜效果好,色彩和諧,與主題相吻合。
1.3.5開發性需求
系統應具有十分的靈活性,以適應將來功能擴展的需求。
1.3.6可擴展性需求
系統設計應體現擴展性要求,以適應將來功能擴展的需求。
1.3.7數據精確度
數據精確度要達到以下指標:
- 具有較強的出錯提示能力,並可自動記錄出錯信息。
- 具有操作提示功能和必要的輸入校驗功能,界面切換時間不超過3秒。
- 系統進行實時模糊查詢時,不影響正常業務處理。
- 本系統的數據量要具有並行處理至少1000個用戶訪問的能力。
1.4需求規定
1.4.1系統的基本功能描述
網上選課系統是根據大學的選修課的網上申請和管理需求而進行設計的,目的是實現選修課的網上設置、申請功能。
根據大學選修課管理的基本過程,網上選課系統應具備課程設置、課程查詢、學生選課、管理員管理等基本功能要求,如果想設置只有自己知道的密碼,還可以修改密碼(原始密碼是學號)。
系統的主要使用者是:學生、開課教師和系統管理員。
1.4.2系統需求分析
通過對系統需求進行分析,我們可以確定系統中有三類用戶:系統管理員、教師和學生。各類用戶的功能用表格具體描述如下:
(1)系統管理員
管理員維護整個系統,設置選課時段:
選課前 |
學生不可登錄,同時發布教師的基本情況; |
選課時 |
1.限制最大選課人數,防止系統崩潰; 2. 排課、發布選課信息; 3. 數據備份和恢復等; |
選課后 |
1.學生只可查詢,管理員對選課結果進行統計; 2.管理員查詢選課情況,對學生的選課申請進行處理,進行用戶管理。 |
(2)教師
排課前 |
撰寫教師反饋,對排課者提出排課意見,供排課者在排課時參考使用; |
排課后 |
查詢課程的基本情況、學生情況。 |
(3)學生
在選課系統中查詢課程、教師信息,查看教師反饋,提交選課申請,撤銷申請,查詢選課情況,登錄系統,進行個人信息修改等與選課有關的活動。 |
根據上面所述,對系統進行了分析,分為三個主要的功能:登錄控制、排課和選課,分別對應三個子系統,即登錄子系統、排課子系統和選課子系統。其中登錄子系統是前提,排課子系統是基礎,選課子系統是關鍵。
登錄子系統區分排課者(即系統管理員),教師和學生這三者的不同身份,給出不同的權限,在頁面中根據身份判斷其相應具有的權限,進行不同的操作。
排課子系統主要供排課者使用,其中設定選課時間段,進行排課並檢測排課是否沖突、教室是否沖突,發布選課信息都是選課的前提和基礎。
選課子系統是本系統要實現的最終目的,選課子系統主要供學生選課使用,在這里可以進行與選課有關的活動,包括課程瀏覽查詢、選課、退選課程。
根據前面的需求分析所述,可以畫出學生選課系統的功能結構圖,如圖所示:
1.4.3數據流圖
1.學生選課系統的頂層流圖
2.學生信息的數據流圖
3.學生選課信息的數據流圖
4.課程信息的數據流圖
5.教師信息的數據流圖
1.5數據庫設計
數據庫在一個信息管理中占有非常重要的地位,數據庫結構設計的好壞直接對應用系統的效率以及實現的效果產生影響。合理的數據庫結構設計可以提高數據庫存儲的效率,保證數據的完整性和一致性。
1.5.1數據庫概念設計結構
根據上面的設計規划出得實體有:學生信息實體,選課信息實體,課程信息實體,教室信息實體,院系信息實體。各實體的描述E-R圖如下圖:
教工號、學號:10個0-9的數字組成,並且具有唯一性,
姓名:字符串類型,2-20個字節
性別:字符串類型,2字節,只能為“男”或“女”
職稱:字符串類型,2-50字節
年級:字符串類型,2-20字節
課程號:8個0-9的數字組成,具有唯一性
課程名:字符串類型,2-50字節
學時:整型
上課時間:字符串類型
上課地點:字符串類型,2-20字節
1.5.2數據庫邏輯結構設計
數據庫的概念結構設計完畢后,可以將上面的數據庫概念轉換成某種數據庫系統多支持的實際數據結構,也就是數據結構模型。
學生信息表:用於記錄學生的詳細信息
教師信息表:用於記錄教師的詳細信息
課程信息表:用於記錄課程信息,包括上課時間等
學生選課信息表:用於記錄學生的選課情況
管理員信息表:用於記錄管理員的詳細信息
根據上面的邏輯結構設計,設計相應的表結構如下所示:
1.管理員信息表
字段 |
說明 |
類型(長度) |
備注 |
name |
姓名 |
Char(20) |
不為空 |
sex |
性別 |
Char(10) |
不為空 |
zgh |
職工號 |
Varchar(20) |
主鍵,不為空 |
lxdh |
聯系電話 |
Varchar(30) |
不為空 |
2.學生選課信息表
字段 |
說明 |
類型(長度) |
備注 |
name |
姓名 |
Char(20) |
不為空 |
xh |
學號 |
Varchar(20) |
主鍵,不為空 |
nj |
年級 |
Char(20) |
不為空 |
kch |
課程號 |
Int |
外鍵,不為空 |
kcm |
課程名 |
Char(20) |
不為空 |
rkls |
任課老師 |
Char(20) |
不為空 |
zdrs |
最大選課人數 |
Int |
不為空 |
3.課程信息表
字段 |
說明 |
類型(長度) |
備注 |
kch |
課程號 |
Int |
主鍵,不為空 |
kcm |
課程名 |
Char(20) |
不為空 |
rkls |
任課老師 |
Char(20) |
不為空 |
xs |
學時 |
Int |
不為空 |
vf |
學分 |
Int |
不為空 |
skjj |
上課時間 |
Int |
不為空 |
skdd |
上課地點 |
Char(20) |
不為空 |
4.教師信息表
字段 |
說明 |
類型(長度) |
備注 |
name |
姓名 |
Char(20) |
不為空 |
sex |
性別 |
Char(10) |
不為空 |
zgh |
職工號 |
Varchar(20) |
主鍵,不為空 |
zc |
職稱 |
Char(20) |
不為空 |
lxdh |
聯系電話 |
Varchar(30) |
不為空 |
sskc |
所授課程 |
Char(20) |
不為空 |
5.學生信息表
字段 |
說明 |
類型(長度) |
備注 |
name |
姓名 |
Char(20) |
不為空 |
sex |
性別 |
Char(10) |
不為空 |
xh |
學號 |
Varchar(20) |
主鍵,不為空 |
nj |
年級 |
Char(20) |
不為空 |
csrq |
出生日期 |
Char(20) |
不為空 |
lxdh |
聯系電話 |
Varchar(30) |
不為空 |
jtzz |
家庭住址 |
Char(50) |
不為空 |
1.5.3數據字典
根據數據流程分析,對系統數據進行分析和匯總,建立系統數據字典。下面列出部分數據字典內容:
1.管理員信息表
姓名:管理員信息表 別名:無 描述:管理學生的選課情況 定義:管理員信息表=姓名+性別+職工號+聯系電話 位置:數據庫的管理員信息表 |
2.學生選課信息表
姓名:學生選課信息表 別名:無 描述:記錄學生的選課情況 定義:學生選課信息表=姓名+學號+年級+課程號+課程名+任課老師+最大選課人數 位置:數據庫的學生選課信息表 |
3.課程信息表
名字:課程信息表 別名:無 描述:記錄課程信息 定義:課程信息表=課程號+課程名+任課老師+學時+學分+上課時間+上課地點 位置:數據庫的課程信息表 |
4.教師信息表
名字:教師信息表 別名:無 描述:記錄教師的個人信息 定義:教師信息表=姓名+性別+職工號+職稱+聯系電話+所授課程 位置:數據庫的教師信息表 |
5.學生信息表
名字:學生信息表 別名:無 描述:記錄學生的基本信息 定義:學生信息表=姓名+性別+學號+年級+出生日期+聯系電話+家庭住址 位置:數據庫的學生信息表 |
2.1運行環境規定
本系統的硬件環境如下:
客戶機:普通PC
CPU:P4 1.8GHz
內存:256MB以上
分辨率:推薦使用1024*768像素
用戶平台要求
系統主要使用與高校的局域網,Win98、Win2000、Win7等環境下。