1 系統需求的分析
1.1需求分析
本項目所開發的班級管理系統完成學校對學生的班級信息的統計與管理,減少數據漏掉的情況,同時也節約人力、物力和財力,告別以往的人工統計。方便學生使用,學生可以在線查看班級信息,學生信息,課程信息,成績信息,信息修改,。
1.1.1系統管理員需求分析
①班級管理:管理員在登錄之后可以對系統內的班級進行管理,包括對班級的信息進行增加、查詢、修改和刪除等操作。
②課程管理:管理員在登錄之后可以對系統內的課程進行管理,包括對課程的信息進行增加、查詢、修改和刪除等操作。
③學生管理:管理員在登錄之后可以對系統內學生進行管理,包括對學生的信息進行增加、查詢、修改和刪除等操作。
1.1.2 教師需求分析
基本信息管理::
①成績錄入:管理員在后台添加、編輯成績,進行成績錄入。
②統計查詢:統計某一個學生的所修課程信息、匯總出學分、不及格課程(標紅)統計每一門課程的最高分、最低分和平均分
1.2 任務概述
1.2.1 目標
本系統是為了更好管理班級信息而設計的。由於學校的學生繁多,包含的信息量大且復雜,有必要建立一個班級管理系統,使選班級管理工作規范化,系統化,程序化,提高信息處理的速度和准確性,能夠及時、准確、有效的查詢和修改選課排課相關信息。
1.2.2 運行環境
服務器配置包括硬件配置和軟件配置,它們各自都有詳細的要求,下面將分別進行介紹.
(1)硬件配置
安裝本軟件之前,需要確保計算機具有如下配置,這也是最低硬件要求: 酷睿i5或更高的微處理器(或與之相當的處理器) 使用2G內存
(2)軟件配置
安裝本軟件之前,需要確保計算機已安裝:Micorsoft Win8.1的操作系統.
1.3系統完整性、安全性
1.3.1 對服務的要求
為保證該系統平穩、安全地運行,系統為用戶提供的服務要有以下限制:
(1)管理員具有該系統的最高權限,負責系統維護,更新。
(2) 教師可以查看個人的全部信息,修改個人信息,若要修改課程信息需向教務處申報,由管理員修改。
(3)學生能查看個人的全部信息、自己的選課結果、修改個人信息,若要修改選課信息,需向教務處申報,由教務處修改。
1.3.2 對性能的要求
此系統的數據輸入大多數為字符串類型,也有表示成績的浮點數,精度為6。
響應時間:對於管理人員輸入的用戶信息應該在人們所能接受的等待時間來確定,通常為1-2秒。
更新處理時間要求 :用戶輸入數據后,對於該操作人員輸入的數據處理時間應該是毫秒級的。數據的轉換和傳輸也應該在人們的接受的等待時間內。
靈活行:
(1) 在操作方式上若發生變化,如無法使用瀏覽器進入系統,那么,可以使用命令方式進入如:可以通過編寫java程序與數據庫聯接,實現登錄。
(2) 因為本系統開發是使用jsp實現,這種開發技術具有java一樣的很好的系統移植性。
(3) 對於數據精度方面,應在數據庫中加以限制;實現實體完整性,用戶自定義完整性約束。
(4) 在設計界面結構和數據結構是應留有對以后擴充系統功能的余地,如可以在每個數據字段上設計多個自定義字段。
2系統設計
2.1系統概要設計
在需求明確、准備開始編碼之前,要做概要設計。概要設計的主要任務是把需求分析得到的DFD轉換為軟件結構和數據結構。設計軟件結構的具體任務是:將一個復雜系統按功能進行模塊划分、建立模塊的層次結構及調用關系、確定模塊間的接口及人機界面等。數據結構設計包括數據特征的描述、確定數據的結構特性、以及數據庫的設計。概要設計有多種方法。在早期有模塊化方法、功能分解方法;在60年代后期提出了面向數據流和面向數據結構的設計方法;近年來又提出面向對象的設計方法等。本系統采用模塊化軟件設計,自頂向下逐層把軟件系統划分成若干模塊。每個模塊完成一個特定的功能,最后將所有模塊按照某種方法組合成一個整體,達到整個播放器所要求的功能。
2.2 系統功能設計及描述
本選課系統不僅要實現常見的選課功能,而且還要有友好的用戶界面。其最終設計目標是:多用戶可以同時對系統進行操作、實現學生選課及對個人信息的修改,實現老師可以查看學生選課情況及對個人信息的修改,實現管理員對教師,學生信息修改及對課程的管理、運行平台要求不高、界面美觀舒適、操作簡單、易維護、高穩定性、,能滿足用戶的常見需求。
主要划分為以下四個功能模塊,每個功能模塊的作用描述如下:
- 班級管理:主要用來管理班級情況。
- 課程管理:管理員可以對課程進行管理確定課程的數量。
- 學生管理:管理員可以對學生進行管理,可以對學生增加或者刪除。
- 成績錄入:將成績提交到數據庫
- 統計查詢:統計某一個學生的所修課程信息、匯總出學分、不及格課程(標紅)統計每一門課程的最高分、最低分和平均分
其具體功能模塊如圖4-1所示:
圖2-1 學生選課系統功能模塊圖
3系統功能的實現、代碼與截圖。
3.1學生登錄界面
3.2主頁
3.3點擊學生信息
3.4班級信息
編輯界面
3.5課程信息
編輯界面
3.6成績錄入
3.7統計查詢
6、心得體會
通過這次大作業我的編程水平有了進一步的提高,對ssh框架有了更加深入的理解,在編寫大作業的過程中,初期對框架的整合費了不少功夫。后來我在編程中遇到了許多莫名奇妙的錯誤,不知怎么就錯了,不知怎么就改對了。在不斷改正bug的過程中我對ssh框架有了更深刻的理解,在編寫中遇到了許多的問題,但通過查閱資料都找到了解決的辦法;
遇到部分的問題及解決辦法:
1、 框架的編寫,左側菜單欄,右側顯示欄界面的布局;
2、 在登錄的action中關於要獲取的數據庫中的數值顯示在界面上時,在acting中的(private List<BTable> btablelist;)命名不能有大寫字母、在jsp獲取數據庫相應數值時s標簽下應使用<s:property value='數據庫中的值,及Model中的相應名/>
3、 數據在刪除時外約束,不能刪除數據;
--查詢關於數據庫的關於數據的級聯刪除和更新;
外鍵(Foreign Key):
如果公共關鍵字在一個關系中是主關鍵字,那么這個公共關鍵字被稱為另一個關系的外鍵。由此可見,外鍵表示了兩個關系之間的聯系。以另一個關系的外鍵作主關鍵字的表被稱為主表,具有此外鍵的表被稱為主表的從表。外鍵又稱作外關鍵字。換而言之,如果關系模式R中的某屬性集不是R的主鍵,而是另一個關系R1的主鍵則該屬性集是關系模式R的外鍵,通常在數據庫設計中縮寫為FK
外鍵的作用
保持數據一致性,完整性,主要目的是控制存儲在外鍵表中的數據。 使兩張表形成關聯,外鍵只能引用外表中的列的值或使用空值
4、 在jsp界面上顯示數據時,需在對應的action函數中添加上,在就隨便獲取值時應當寫成btable.bid映射Model中的相應變量名;