程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式師世界 >> 編程語言 >  >> 更多編程語言 >> Python

基於Python的課程管理智能排課系統

編輯:Python

實現一個具體的課程管理系統。按照軟件工程思路設計簡化的專業課數據庫,盡量模擬現有專業課程一個學期的選課排課原型實際情況。(注:本系統由本人單獨設計、開發完成)


1.2 數據結構需求分析
課程管理系統需要完成功能主要有:
(1) 學生基本信息的查詢,學生可以對本人的系統登陸密碼進行修改。
(2) 學生定制專屬課表,可以查看整個學期本人的課程安排,包括課程名稱、上課時間、上課地點、任課老師、學分等等。
(3) 學生可以進行選課,專業必修課程系統會提前幫助學生們選上。
(4) 學生可以進行退課,專業必修課程不允許退課。
(5) 學生可以查看自己選上的課的成績,以及各個課程的得分、績點,並給出其平均績點,但不允許查看年級其他人的成績。
(6) 任課教師基本信息的查詢,老師可以對本人的系統登陸密碼進行修改。
(7) 任課教師可以查看本人所任教課程信息,包括課程名稱、上課時間、上課地點、上課班級等等。
(8) 任課教師可以對其任教課程進行調課,調課在全部課程時間無沖突下可以成功調課。
(9) 任課教師可以查看其教的每一個課程的學生名單。
(10) 任課教師可以對其教的課程的學生進行登分以及修改分數。
(11) 任課教師可以對其任教的班級成績進行排序。
(12) 系主任擁有包括以上所有任課教師所擁有權限,以及以下的額外權限。
(13) 系主任可以查看整個系的全部學生以及他們的平均績點,可以對每個班進行排名,或者也可以對整個系進行排名。
(14) 系主任可以查看整個系的任教教師名單,以及他們所負責的課程數目。
(15) 系主任可以查看整個學期所開設的所有課程,包括這些課程的全部詳細信息。
(16) 系主任可以查看每個班的課程安排表。
1.3系統功能設計
課程管理系統主要分為三個客戶端登陸,分別是學生、任課教師和系主任,每個客戶端的功能是不同的。這三個客戶端的登陸擁有自己的功能實現。下面三個圖分別是三個客戶端的功能模塊圖

 

 

目錄
第一章 系統需求簡介 4
1.1需求分析 4
1.2 數據結構需求分析 4
1.3系統功能設計 5
第二章 需求描述 8
2.1 數據流圖 8
2.2 數據字典 9
第三章  概念設計 10
3.1 實體 10
3.2 系統全局E-R圖 11
3.3 概念數據模型設計 12
第四章 邏輯設計 13
4.1 ER圖到關系模式的轉換 13
4.2 各個數據表的表結構設計 13
第五章 物理設計 15
5.1 數據庫軟件 15
5.2 創建數據表 15
第六章  處理數據 18
6.1 數據需求 18
6.2 讀取數據 18
6.3 處理數據 19
6.4 制作Sql語句 22
第七章  智能排課算法 28
7.1 排課要求 28
7.2 准備工作 28
7.3 遺傳算法 30
7.4 適應度函數 32
7.5 排課效果 33
第八章 系統實現 35
8.1 登陸界面 35
8.2 學生界面 35
8.2.1 學生個人信息界面 35
8.2.2 學生個人課表界面 36
8.2.3 學生選課界面 36
8.2.4 學生退課界面 37
8.2.5 學生查看成績界面 37
8.3 教師界面 37
8.3.1 教師信息界面 37
8.3.2 任教課程和調課系統界面 37
8.3.3 課程學生名單界面 38
8.3.4 登分、排分系統界面 38
8.4 系主任界面 39
8.4.1 查看所有學生界面 39
8.4.2 班級成績、專業成績排序 39
8.4.3 查看所有老師 40
8.4.4 查看所有課程 40
8.4.5 查看所有班級課程表 42
第九章 附錄 45
9.1 遺傳算法代碼 45
9.2 數據庫連接、增刪改代碼 53
9.3 前端設計代碼 55
9.4 執行代碼 55
第一章系統需求簡介
1.1需求分析


  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式師世界 All Rights Reserved