python online course_python-选课系统
詳細要求:
1、創建北京、上海 2 所學校
2、創建linux , python , go 3個課程 , linux\py 在北京開, go 在上海開
3、課程包含,周期,價格,通過學校創建課程
4、通過學校創建班級, 班級關聯課程、講師
5、創建學員時,選擇學校,關聯班級
6、創建講師角色時要關聯學校
7、提供兩個角色接口:
8、為學員、講師、管理員分別提供用戶界面,并提供對應功能:
1) 學員視圖,可以注冊,交學費,選擇班級,
2) 講師視圖,講師可管理自己的班級,上課時選擇班級,查看班級學員列表,修改所管理的學員的成績
3) 管理視圖,創建講師,創建班級,創建課程
注1:上面的操作產生的數據都通過pickle序列化保存到文件里 注2:此作業必須畫流程圖,
圖中標注好不同類或對象之間的調用關系
一、選課系統用例
## 用例名稱
選課系統
## 場景
who :學生,老師,管理員
where:oldboy
when: anytime
## 用例描述
1、管理員創建學校:北京和上海兩個校區
2、管理員創建課程: python、linux、go (python,linux在北京校區,go在上海校區)
3、管理員創建班級:python周末18期,python脫產7期,linux架構35期
4、管理員創建學員:erleng,bode,wenjie
5、管理員創建講師:alex(python),egon(),wupeiqi
6、講師創建上課記錄:python周末班18期day7
7、講師為day7這節課所有學生批改作業,為每個學生打分
8、學員wenjie查看自己的課程信息:所在學校、報名課程、所在班級
9、學員wenjie在python18期day7提交了作業
10、學員wenjie查看自己在day7的成績列表
二、找名詞
管理員、學校、課程、班級、學員、講師、上課記錄、作業、分數、學員詳細信息、成績列表
三、加屬性
名詞 屬性 方法
管理員 None 創建(學校、課程、班級、講師、學員)
學校 學校名、地址、課程列表、班級列表 None
課程 課程名、周期、價錢、大綱 None
班級 班級名、所屬學校、課程 None
學員 學員名、課程 選課、查看課程信息、提交作業、查看成績列表
講師 講師名、課程 創建上課記錄、打分
上課記錄 課程名、時間
作業 課程名
學員信息 姓名、班級、課程
成績列表 姓名、課程、成績
1、創建課程、班級需選定學校,并將課程、班級信息加入學校
四、數據存儲方式(pickle序列化后存儲)
管理員信息: {"username":"admin","password":"123"}
學校信息:{"luffycity_beiing":{"address":"北京沙河","courses":[],"classes":[]},
"luffycity_shanghai":{"address":"上海虹橋","courses":[],"classes"}:[]}
課程信息:{"python":{"school":"luffycity_beiing","course_time":"6mons","course_price":"8000","course_info":"python全棧開發"},
"linux":{"school":"luffycity_beiing","course_time":"8mons","course_price":"8000","course_info":"Linux高級架構"},
"go":{"school":"luffycity_shanghai","course_time":"7mons","course_price":"10000","course_info":"go高級開發"}}
班級信息:{"python":{"school_name":"Luffycity_beijing","class_name":"python_online班","teachers":[],"students":[]},
學生信息:{"wenjie":{"age":18,"sex":"male","password":"123","school_name":"Luffycity_beijing","classes":[],"course":[]}}
講師信息:{"alex":{"age":25,"sex":"male","password":"123","course":"python","class_name":"python全棧"}}
課程記錄:{"python_mod1":{"time":xxx,"task":"用戶登錄接口程序","submission_list":[]}}
學習記錄:{"wenjie":{"course"}:"python","already_learned"[]}
成績記錄:{"wenjie":{"task":"0"}}
五、目錄結構
.
├── Course_selection_system # 選課系統
││
│? ├── bin # 可執行程序入口目錄
│? │?? ├── __init__.py
│? │?? └── start.py # 啟動入口
│ ├── conf # 配置文件目錄
│? │?? ├── __init__.py
││└── settints.py # 配置文件目錄
│├── core# 主程序目錄(三個主要視圖)
││├── __init__.py
││├──main.py# 主程序
││├── manager.py# manager 類
││├── student.py# student 類
││└──teacher.py# teacher 類
│├── database# 數據結構目錄
││├── Crouse_record# 上課記錄目錄
│││├── go.pkl# go上課記錄數據
│││├── linux.pkl# linux上課記錄數據
│││└── python.pkl# python上課記錄數據
││├── Learn_record# 學習記錄目錄
│││├──go_learned.pkl# go學習記錄數據
│││├──linux_learned.pkl# linux學習記錄數據
│││└── python_learned.pkl# python學習記錄數據
││├── Score_record# 成績目錄
│││├──go_score.pkl# go 成績數據
│││├──linux_score.pkl# linux 成績數據
│││└── python_score.pkl# python 成績數據
││├── classes.pkl# 班級數據
││├── courses.pkl# 課程數據
││├──manager.pkl# 管理員用戶數據
││├── schools.pkl# 學校數據
││├── students.pkl# 學員用戶數據
││└── teachers.pkl# 講師用戶數據
│└── modules # 共用模塊目錄
│├── __init__.py
│└── public_mod.py# 密碼加密、用戶登錄驗證、pickle序列化
└── README
六、主要模塊介紹
1、Manager 類
包含 創建學校(打印學校)、創建課程(打印課程)、創建班級(打印班級)、創建學員(打印學員)、創建講師(打印講師)
其中創建學員方法在學員驗證登錄中注冊功能時會再次調用;
2、Student 類
# 對象私有參數 (name)
#方法:打印當前學員信息、選課(購買課程)、學習管理(按照模塊學習、提交作業)、提交作業、查看成績
3、Teacher 類
# 對象私有參數 (name)
#方法:班級管理、創建上課記錄(打印課程記錄)、批改作業
4、DataPickle 類
# 對象私有參數(path)
# 方法:dump、load
七、測試賬戶
1、管理員: admin : 123
2、學 員: wenjie : 123 erleng :123 bode : 123
3、講 師: alex : 123 egon : 123 peiqi ;123
八、代碼:
云盤:后續更新
總結
以上是生活随笔為你收集整理的python online course_python-选课系统的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: git gui怎么拉取项目代码_Git
- 下一篇: 如何删除第一张单页_如何用PowerBI