摘要:如上海北京等管理員自己創(chuàng)建其他地方的學校管理員創(chuàng)建的課程。包含名字性別年齡等學員查詢可上課程學員選課,選擇學校課程,并付款。課程價格,周期課程價格,周期課程價格,周期創(chuàng)建講師屬于北京校區(qū),屬于上海校區(qū)。
作業(yè)需求
創(chuàng)建北京、上海 2 所學校
創(chuàng)建linux , python , go 3個課程,linuxpy在北京開, go 在上海開
課程包含,周期,價格,通過學校創(chuàng)建課程
通過學校創(chuàng)建班級,班級關聯(lián)課程、講師
創(chuàng)建學員時,選擇學校,關聯(lián)班級
創(chuàng)建講師角色時要關聯(lián)學校,
提供兩個角色接口
7.1. 學員視圖,可以注冊,交學費,選擇班級,
7.2. 講師視圖,講師可管理自己的班級,上課時選擇班級,查看班級學員列表,修改所管理的學員的成績
7.3. 管理視圖,創(chuàng)建講師,創(chuàng)建班級,創(chuàng)建課程
上面的操作產(chǎn)生的數(shù)據(jù)都通過pickle序列化保存到文件里
需求模型通過對如上需求的解讀,我整理出如下需求模型。
用例名選課系統(tǒng)
場景when:任意時間
where:老男孩
who:學生、講師、管理員
用例描述管理員可以創(chuàng)建學校。學校包含:名字、城市、地址。如:上海、北京、等(管理員自己創(chuàng)建其他地方的學校)
管理員創(chuàng)建的課程。課程包含:名稱、周期、價格、大綱。如:python,go,linux(課程與學校關聯(lián))
管理員創(chuàng)建班級。班級包含:名稱、上課方式(脫產(chǎn)、周末、線上)、課程、講師、開課日期、學員列表。如:python周末18期,python脫產(chǎn)7期,linux架構35期(班級與課程、講師關聯(lián))
管理員創(chuàng)建講師。講師包含:名字、性別、年齡、學校。如:alex,egon,wupeiqi,yuanhao(講師關聯(lián)學校)
管理員創(chuàng)建學員。
講師查看學員列表。(學員列表與班級關聯(lián))
講師修改管理的學員的成績。
學員注冊。包含:名字、性別、年齡、等
學員查詢可上課程
學員選課,選擇學校、課程,并付款。
學員查詢自己學習記錄。學習記錄包含:成績
用戶價值完成一套可運行的選課管理系統(tǒng),解決人工管理上下課的難度。
約束暫無
建模設計將需求模型繼續(xù)進行整理。整理出如下建模設計的內容。
關鍵字學校、課程、班級、講師、上課記錄、學員、學習記錄、作業(yè)、成績、管理員、
關鍵字分析人類:屬性有名字、性別、年齡
學生類:繼承人類。屬性有課程、班級、成績
老師類:繼承人類。屬性有課程、班級
學校類:屬性有學校名、城市、地點、
課程類:屬性有課程名稱、價格、周期
班級類:屬性有班級名、教師、開課日期、上課方式
賬號類:屬性有賬號名、密碼、狀態(tài)、角色。
學習記錄類:屬性有成績
管理員類:繼承與站賬號類
視圖類:處理管理員、老師、學員的所有視圖上的操作
│ README.md ├─bin # 執(zhí)行文件目錄 │ │ scs.py # 執(zhí)行文件 │ └─ __init__.py │ ├─conf # 配置文件目錄 │ │ settings.py # 配置文件 │ └─ __init__.py │ ├─core # 核心執(zhí)行文件目錄 │ │ main.py # 主程序文件 | | logger.py # 日志程序文件 │ └─ __init__.py ├─db # 數(shù)據(jù)庫目錄 │ ├─accounts # 賬號數(shù)據(jù)所在目錄 │ └─base # 學校等基礎數(shù)據(jù)所在目錄 ├─lib # 庫文件目錄 │ │ accounts.py # 賬號類 │ │ classes.py # 班級類 │ │ courses.py # 課程類 │ │ db.py # 數(shù)據(jù)庫類文件 │ │ persion.py # 人類文件 │ │ schools.py # 學校類文件 │ │ study_record.py # 學習記錄類嗡 │ │ views.py # 視圖類文件 │ │ __init__.py └─log # 日志文件目錄程序主體
具體代碼可以從github中下載:
SCS
由于作業(yè)時間有限,沒有編寫單元測試使用的程序腳本。故直接通過模擬用戶使用的方式來進行測試。
一、管理員功能測試執(zhí)行scs.py文件后進入主頁面:輸入3進入管理員界面。
===============歡迎進入老男孩學校=============== 1. 學生登錄通道 2. 教師登錄通道 3. 管理員登錄通道 4. 退出 ================================================ >>:3
進入管理員視圖:管理員可以進行學校管理,學員管理。也可以修改自己的密碼。
當進入這些視圖前,如果管理員沒有登錄會進行一次登錄認證。如已經(jīng)登錄就不會再次認證。
===============歡迎進入管理視圖=============== 1. 學校管理 2. 學員管理 3. 修改密碼 4. 注銷 ============================================== >>:
學校管理視圖:可以進行學校的創(chuàng)建、課程的創(chuàng)建、講師的創(chuàng)建、和班級的創(chuàng)建。
我們這里直接就根據(jù)需求:
創(chuàng)建beijing和shanghai兩所學校。
創(chuàng)建linux , python , go 3個課程,linuxpy在北京開, go 在上海開。
linux課程價格8000,周期35
python課程價格8000,周期18
go課程價格10000,周期20
創(chuàng)建講師alex、egon屬于北京校區(qū),yuanhao屬于上海校區(qū)。
創(chuàng)建分別為3個課程創(chuàng)建班級 alex為python班級的講師、egon為linux班級的講師、yuanhao為go班級的講師
>>:1 Please input username:admin Please input password:admin 2018-04-09 14:18:51,475 - access - INFO - [admin] Login Success! [admin] Login Success! ===============歡迎進入管理視圖=============== 1. 創(chuàng)建學校 2. 創(chuàng)建課程 3. 創(chuàng)建講師 4. 創(chuàng)建班級 5. 返回 ============================================== >>:1 ================創(chuàng)建學校================= Please input name of school:beijing Please input city of school:beijing Please input address of school:beijing Create school success! ===============歡迎進入管理視圖=============== 1. 創(chuàng)建學校 2. 創(chuàng)建課程 3. 創(chuàng)建講師 4. 創(chuàng)建班級 5. 返回 ============================================== >>:1 ================創(chuàng)建學校================= Please input name of school:shanghai Please input city of school:shanghai Please input address of school:shanghai Create school success! ===============歡迎進入管理視圖=============== 1. 創(chuàng)建學校 2. 創(chuàng)建課程 3. 創(chuàng)建講師 4. 創(chuàng)建班級 5. 返回 ============================================== >>:2 ================創(chuàng)建課程================= Please input course name:python Please input price:8000 Please input term:18 Please input associated school:beijing Create course success! ===============歡迎進入管理視圖=============== 1. 創(chuàng)建學校 2. 創(chuàng)建課程 3. 創(chuàng)建講師 4. 創(chuàng)建班級 5. 返回 ============================================== >>:2 ================創(chuàng)建課程================= Please input course name:linux Please input price:8000 Please input term:35 Please input associated school:beijing Create course success! ===============歡迎進入管理視圖=============== 1. 創(chuàng)建學校 2. 創(chuàng)建課程 3. 創(chuàng)建講師 4. 創(chuàng)建班級 5. 返回 ============================================== >>:2 ================創(chuàng)建課程================= Please input course name:go Please input price:10000 Please input term:20 Please input associated school:shanghai Create course success! ===============歡迎進入管理視圖=============== 1. 創(chuàng)建學校 2. 創(chuàng)建課程 3. 創(chuàng)建講師 4. 創(chuàng)建班級 5. 返回 ============================================== >>:3 ================創(chuàng)建老師================= Please input username:alex Please input password:alex123 Please input password confirmation:alex123 Please input associated school:beijing Registry Success! ===============歡迎進入管理視圖=============== 1. 創(chuàng)建學校 2. 創(chuàng)建課程 3. 創(chuàng)建講師 4. 創(chuàng)建班級 5. 返回 ============================================== >>:3 ================創(chuàng)建老師================= Please input username:egon Please input password:egon123 Please input password confirmation:egon123 Please input associated school:beijing Registry Success! ===============歡迎進入管理視圖=============== 1. 創(chuàng)建學校 2. 創(chuàng)建課程 3. 創(chuàng)建講師 4. 創(chuàng)建班級 5. 返回 ============================================== >>:3 ================創(chuàng)建老師================= Please input username:yuanhao Please input password:yuanhao123 Please input password confirmation:yuanhao123 Please input associated school:shanghai Registry Success! ===============歡迎進入管理視圖=============== 1. 創(chuàng)建學校 2. 創(chuàng)建課程 3. 創(chuàng)建講師 4. 創(chuàng)建班級 5. 返回 ============================================== >>:4 ================創(chuàng)建班級================= Please input class name:python18 Please input associated school:beijing Please input associated course:python Please input associated teacher:alex Create class success! ===============歡迎進入管理視圖=============== 1. 創(chuàng)建學校 2. 創(chuàng)建課程 3. 創(chuàng)建講師 4. 創(chuàng)建班級 5. 返回 ============================================== >>:4 ================創(chuàng)建班級================= Please input class name:linux35 Please input associated school:beijing Please input associated course:linux Please input associated teacher:egon Create class success! ===============歡迎進入管理視圖=============== 1. 創(chuàng)建學校 2. 創(chuàng)建課程 3. 創(chuàng)建講師 4. 創(chuàng)建班級 5. 返回 ============================================== >>:4 ================創(chuàng)建班級================= Please input class name:go20 Please input associated school:shanghai Please input associated course:go Please input associated teacher:yuanhao Create class success! ===============歡迎進入管理視圖=============== 1. 創(chuàng)建學校 2. 創(chuàng)建課程 3. 創(chuàng)建講師 4. 創(chuàng)建班級 5. 返回 ============================================== >>:5
學員管理視圖:可以查看學校的學員情況,并可以分配已經(jīng)報名課程的學員到具體的班級中。我們已經(jīng)注冊了一個henry的學生,這個學生報名了python的課程,所以管理員需要將他分配到python18這個班級中。
===============歡迎進入管理視圖=============== 1. 學員信息 2. 分配班級 3. 返回 ============================================== >>:1 Please input school:beijing ==================學生信息================== ID: 027e4180beedb29744413a7ea6b84a42 Account: henry Type: 3 Status: 0 School: beijing Course: python Class: 未分配班級 Teacher: 未分配導師 ============================================ ===============歡迎進入管理視圖=============== 1. 學員信息 2. 分配班級 3. 返回 ============================================== >>:2 ================分配班級================= Please input name of school:beijing Please input account of student:henry Please input name of course:python Please input name of class:python18 Students have bound courses!二、學員功能測試
學員視圖界面
===============歡迎進入學員視圖=============== 1. 注冊賬號 2. 填寫賬戶信息 3. 查看賬戶信息 4. 選擇課程并付費 5. 查看學習記錄 6. 修改密碼 7. 注銷 ==============================================
學員可以注冊賬號,也可以補全自己的個人信息。這些基本功能,這里就不進行詳細的測試了。主要看一下選課和查看學習記錄。我還是使用henry學員,henry再報名一個linux課程。來實現(xiàn)報名,由于henry的成績老師還沒有下發(fā)分數(shù),所以暫時還看不到成績。
===============歡迎進入學員視圖=============== 1. 注冊賬號 2. 填寫賬戶信息 3. 查看賬戶信息 4. 選擇課程并付費 5. 查看學習記錄 6. 修改密碼 7. 注銷 ============================================== >>:4 Please input username:henry Please input password:henry123 2018-04-09 15:15:01,863 - access - INFO - [henry] Login Success! [henry] Login Success! ================購買課程================= Please choise school:beijing Please choise course:linux Please pay tuition [8000 RMB]:8000 The success of the course purchase! ===============歡迎進入學員視圖=============== 1. 注冊賬號 2. 填寫賬戶信息 3. 查看賬戶信息 4. 選擇課程并付費 5. 查看學習記錄 6. 修改密碼 7. 注銷 ============================================== >>:5 ================學習記錄================= Score: 成績未公布 =========================================三、教師功能測試
教師視圖
===============歡迎進入教師視圖=============== 1. 填寫賬戶信息 2. 查看賬戶信息 3. 班級管理 4. 修改密碼 5. 注銷 ==============================================
我們主要來看一下班級管理功能。班級管理功能可以查看自己班級的學生、并未學生下發(fā)成績
===============歡迎進入教師視圖=============== 1. 填寫賬戶信息 2. 查看賬戶信息 3. 班級管理 4. 修改密碼 5. 注銷 ============================================== >>:3 Please input username:alex Please input password:alex123 2018-04-09 15:17:51,271 - access - INFO - [alex] Login Success! [alex] Login Success! ===============歡迎進入管理視圖=============== 1. 選擇班級 2. 學生列表 3. 批改作業(yè) 4. 返回 ============================================== >>:1 Please input name of class:python18 Choice class success! ===============歡迎進入管理視圖=============== 1. 選擇班級 2. 學生列表 3. 批改作業(yè) 4. 返回 ============================================== >>:2 ================班級學生列表================= Class: python18 Students: henry ============================================= ===============歡迎進入管理視圖=============== 1. 選擇班級 2. 學生列表 3. 批改作業(yè) 4. 返回 ============================================== >>:3 ================作業(yè)批改================= Please input name of student:henry Please input score of student:95 Confirm input "yes". Back off input "b":yes [henry] homework to be corrected
文章版權歸作者所有,未經(jīng)允許請勿轉載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉載請注明本文地址:http://systransis.cn/yun/41466.html
摘要:入門,第一個這是一門很新的語言,年前后正式公布,算起來是比較年輕的編程語言了,更重要的是它是面向程序員的函數(shù)式編程語言,它的代碼運行在之上。它通過編輯類工具,帶來了先進的編輯體驗,增強了語言服務。 showImg(https://segmentfault.com/img/bV1xdq?w=900&h=385); 新的一年不知不覺已經(jīng)到來了,總結過去的 2017,相信小伙們一定有很多收獲...
摘要:入門,第一個這是一門很新的語言,年前后正式公布,算起來是比較年輕的編程語言了,更重要的是它是面向程序員的函數(shù)式編程語言,它的代碼運行在之上。它通過編輯類工具,帶來了先進的編輯體驗,增強了語言服務。 showImg(https://segmentfault.com/img/bV1xdq?w=900&h=385); 新的一年不知不覺已經(jīng)到來了,總結過去的 2017,相信小伙們一定有很多收獲...
摘要:入門,第一個這是一門很新的語言,年前后正式公布,算起來是比較年輕的編程語言了,更重要的是它是面向程序員的函數(shù)式編程語言,它的代碼運行在之上。它通過編輯類工具,帶來了先進的編輯體驗,增強了語言服務。 showImg(https://segmentfault.com/img/bV1xdq?w=900&h=385); 新的一年不知不覺已經(jīng)到來了,總結過去的 2017,相信小伙們一定有很多收獲...
摘要:面向對象編程從不同的角度來看待計算機程序,它注重的是計算機所完成的任務,而非處理方式。傳統(tǒng)的語言屬于面向過程編程,語言屬于面向對象編程。面向對象編程根據(jù)要解決的問題,可以抽象出如下對象客戶銀行卡現(xiàn)金票據(jù)等。 面向過程編程&面向對象編程 從面向過程到面向對象,不僅僅是編程方式的改變,更重要的是思維方式的改變。 面向過程編程按照順序執(zhí)行的一系列指令,通常是分析出解決問題所需要的步驟,然后用...
摘要:我是由貝爾實驗室的在年年間發(fā)明創(chuàng)造的,瞧,就他你們眼中的語言之父。與此同時,由于庫函數(shù)的缺失,導致新手在開發(fā)任何一塊小程序的時候都必須得親力親為。對了,我爸是微軟,由和派生出來的面向對象的編程語言。對,我曾是世界上最好的編程語言。 ...
閱讀 1272·2019-08-30 12:49
閱讀 3117·2019-08-28 18:14
閱讀 821·2019-08-26 11:38
閱讀 1680·2019-08-23 18:23
閱讀 2823·2019-08-23 17:04
閱讀 502·2019-08-23 16:52
閱讀 4022·2019-08-23 16:43
閱讀 2770·2019-08-23 16:12