成績管理系統

1、開發的項目內容及要求正則表達式

一、開發的項目:成績管理系統數據庫

二、項目內容和功能描述:緩存

某高校欲開發一個成績管理系統,記錄並管理全部選修課程的學生的平時成績和考試成績,其主要功能描述以下:框架

1)每門課程都有3到6個單元構成,每一個單元結束後會進行一次測試,其成績做爲這門課程的平時成績。課程結束後進行期末考試,其成績做爲這門課程的考試成績。eclipse

2)學生的平時成績和考試成績均由每門課程的主講教師上傳給成績管理系統。數據庫設計

3)在記錄學生成績以前,系統須要驗證這些成績是否有效。首先,根據學生信息文件來確認該學生是否選修這門課程,若沒有,那麼這些成績是無效的;若是他的確選修了這門      課程,再根據課程信息文件和課程單元信息文件來驗證平時成績是否與這門課程所包含的單元相對應,若是是,那麼這些成績是有效的,不然無效。工具

4)對於有效成績,系統將其保存在課程成績文件中。對於無效成績,系統會單獨將其保存在無效成績文件中,並將詳細狀況提交給教務處。在教務處沒有給出具體處理意見之    前,系統不會處理這些成績。佈局

5)若一門課程的全部有效的平時成績和考試成績都已經被系統記錄,系統會發送課程完成通知給教務處,告知該門課程的成績已經齊全。教務處根據須要,請求系統生成相應的成績列表,用來提交考試委員會審查。開發工具

6)在生成成績列表以前,系統會生成一份成績報告給主講教師,以便覈對是否存在錯誤。主講教師須將覈對以後的成績報告返還系統。測試

7)根據主講教師覈對後的成績報告,系統生成相應的成績列表,遞交考試委員會進行審查。考試委員會在審查以後,上交一份成績審查結果給系統。對於全部經過審查的成績,系統將會生成最終的成績單,並通知每一個選課學生。

 

1、相關工具平臺簡介

一、eclipse

Eclipse 是一個開放源代碼的、基於Java的可擴展開發平臺。就其自己而言,它只是一個框架和一組服務,用於經過插件組件構建開發環境。幸運的是,Eclipse 附帶了一個標準的插件集,包括Java開發工具(Java Development Kit,JDK)。

Eclipse是著名的跨平臺的自由集成開發環境(IDE)。最初主要用來Java語言開發,經過安裝不一樣的插件Eclipse能夠支持不一樣的計算機語言,好比C++和Python等開發工具。Eclipse的自己只是一個框架平臺,可是衆多插件的支持使得Eclipse擁有其餘功能相對固定的IDE軟件很難具備的靈活性。許多軟件開發商以Eclipse爲框架開發本身的IDE。

二、MySQL

   MySQL是一個關係型數據庫管理系統,由瑞典MySQL AB 公司開發,目前屬於 Oracle 旗下產品。MySQL 是最流行的關係型數據庫管理系統之一,在 WEB 應用方面,MySQL是最好的 RDBMS (Relational Database Management System,關係數據庫管理系統) 應用軟件。

MySQL是一種關係數據庫管理系統,關係數據庫將數據保存在不一樣的表中,而不是將全部數據放在一個大倉庫內,這樣就增長了速度並提升了靈活性。

MySQL所使用的 SQL 語言是用於訪問數據庫的最經常使用標準化語言。MySQL 軟件採用了雙受權政策,分爲社區版和商業版,因爲其體積小、速度快、整體擁有成本低,尤爲是開放源碼這一特色,通常中小型網站的開發都選擇 MySQL 做爲網站數據庫。

 

2、系統需求分析與整體設計

一、需求分析

1)教師客戶端功能

①能夠更改密碼。

②能夠添加學生,並填寫學生基本信息。

③能夠根據學號查詢學生基本信息及成績。

④有權限控制,每一個管理員只能管理其所在學院的信息。

⑤能夠添加新課程、新班級。

⑥能夠控制選課的課程範圍,並能夠控制選課的時間,便可以  控制選課的開始與結束。

⑦能夠錄入成績,緩存成績。檢查無誤後公佈成績。

(2)學生客戶端功能

  ①學生能夠查看本身的基本信息。

  ②學生能夠查看本身的成績。已修學分和不及格成績信息。

  ③學生能夠進行遠程選課,而且能夠查看課表。

 

UML用例圖

 

系統結構圖

 

4、數據庫設計

一、數據庫設計介紹

在該數據庫中課程表是記錄各學院所開設課程的基本信息,包括課程號,課程名,課程學分,所屬專業號,所屬學院號。

可選課程信息表是記錄本學期安排的課程信息,包括課程號,上課時間,講次,任課教師,還有一個用於控制選課的字段(onchosing),當該字段值爲1說明該課程可選,當該字段爲0時說明該課程不可選。

學生表是用來記錄學生的基本信息,包括學生的學號,姓名,性別等信息。

學生用戶表是用來記錄學生的學號和登陸密碼的。

教師用戶表是用來記錄教師的用戶名和登陸密碼的。

一、E-R圖

三、數據表

數據庫中共有九張表:

數據庫中存儲的信息以下:

班級表

 

學院表、專業表

 

課程表

 

學生表

 

學生用戶表、教師用戶表

 

5、系統實現

  教師客戶端的功能爲:

  其中退出模塊爲退出該系統

  密碼修改模塊爲修改教師的登陸密碼

  新生報到模塊爲填寫學生信息,增長一名新的學生

  基本信息查詢模塊爲輸入學生學號,查詢學生的信息

  成績查詢模塊爲輸入學生學生,查詢該學生的課程成績。

  開課選項設置模塊爲將課程表中的課加入到可選課程信息表,而且在加入時選定上課時間以及講次,並設置上課老師,提交該課程以後將該記錄加入到可選課程信息表中選課程信息表中。同時也能夠從可選課程信息表中移除課程。

  添加課程模塊實現往課程表中添加課程。

  增長班級模塊實現向該學院的某個專業添加班級。

學生客戶端的功能爲:

其中退出模塊爲退出該系統。

密碼修改模塊爲修改當前所登陸的學生的登陸密碼。

我的基本信息模塊爲查看本身的信息。

選課模塊爲在其所在學院開放選課時選課。

課表顯示模塊爲顯示該學生的課表。

已修課程成績爲查看該學生已經選修的課程的成績以及所修得的學分。

不及格課程成績爲查看該學生的不及格課程的成績

 

系統測試

進入系統後進入登陸界面

 

當用戶輸入信息,選擇身份之後,系統會鏈接數據庫 對照數據庫中的學生用戶表或教師用戶表判斷用戶名 與密碼是否匹配,若是匹配,則進入相應客戶端。

進入教師客戶端:

 

進入學生客戶端:

學生客戶端和教師客戶端的主界面的設計左邊都是基於樹狀列表控件設計的,右邊是一個卡片佈局面板的窗體,程序中先對面板和主窗體進行初始化,而後對樹的各個結點註冊監聽器,再調用相應的方法。

退出登陸:

實現爲當用戶點擊退出時,顯示詢問對話框

若是用戶選擇是的時候調用System.exit(0)退出系統

修改密碼:

須要判斷新密碼輸入是否爲空,不爲空則得到該密碼,再判斷是否符合正則表達式,若是符合則判斷新密碼與確認新密碼是否相同,若是相同則在按下確認鍵後修改密碼。

新生報到:

實現向這個數據庫裏添加一個新來的學生

一個教師只能向他所在的學院裏面添加學生,而不能把學生添加到別的學院去。

其中班級的下拉列表的實現利用到了三個Map

一個Map中鍵是專業名,值是專業號

一個Map中鍵是班級名,值是班級號

另外一個Map的鍵專業號,值是存放班級的那個Map

當用戶選擇好專業之後,能夠根據第一個Map獲得專業號,再用專業號獲得存放班級的那個Map,最後再獲得所選專業的全部班級名

基本信息查詢

在教師端和學生端都有,所不一樣的是教師端能夠根據學號查看全部學生的信息,而學生端只能查看本身的信息

成績查詢

教師客戶端查詢成績                                        學生客戶端查詢所有成績

學生客戶端查詢不及格成績

教師端和學生端都有,所不一樣的是教師端能夠根據學號查看全部學生的成績,而學生端只能查看本身的成績。並且學生端還有查詢不及格課程成績的功能。

教師客戶端的開課選項設置

實現了將課程表中的課安排好上課時間以及講次,老師,而後添加到可選課程信息表裏面。而且控制學生何時選課,選什麼課,何時選課結束。

課程成績錄入

 

 

由教師錄入學生成績,在檢查無誤後,按下公佈該科成績單來完成數據庫的更新。

添加課程:

容許教師向本身所在學院添加課程。

增長班級模塊容許教師向本身所在學院的任何一個專業增長班級。

 

容許教師向本身所在學院的任何一個專業增長班級。

學生客戶端的選課

能夠實現學生從教師容許選課的課程中選擇課程。

學生客戶端的課表顯示

實現展現該學生所選課程的上課信息。

相關文章
相關標籤/搜索