成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

python初學——面向對象編程作業(yè):學校選課系統(tǒng)

kbyyd24 / 3958人閱讀

摘要:如上海北京等管理員自己創(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)、角色。
學習記錄類:屬性有成績
管理員類:繼承與站賬號類
視圖類:處理管理員、老師、學員的所有視圖上的操作

UML流程圖

目錄結構
│  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

相關文章

  • SegmentFault 技術周刊 Vol.40 - 2018,來學習一門新的編程語言吧!

    摘要:入門,第一個這是一門很新的語言,年前后正式公布,算起來是比較年輕的編程語言了,更重要的是它是面向程序員的函數(shù)式編程語言,它的代碼運行在之上。它通過編輯類工具,帶來了先進的編輯體驗,增強了語言服務。 showImg(https://segmentfault.com/img/bV1xdq?w=900&h=385); 新的一年不知不覺已經(jīng)到來了,總結過去的 2017,相信小伙們一定有很多收獲...

    caspar 評論0 收藏0
  • SegmentFault 技術周刊 Vol.40 - 2018,來學習一門新的編程語言吧!

    摘要:入門,第一個這是一門很新的語言,年前后正式公布,算起來是比較年輕的編程語言了,更重要的是它是面向程序員的函數(shù)式編程語言,它的代碼運行在之上。它通過編輯類工具,帶來了先進的編輯體驗,增強了語言服務。 showImg(https://segmentfault.com/img/bV1xdq?w=900&h=385); 新的一年不知不覺已經(jīng)到來了,總結過去的 2017,相信小伙們一定有很多收獲...

    nihao 評論0 收藏0
  • SegmentFault 技術周刊 Vol.40 - 2018,來學習一門新的編程語言吧!

    摘要:入門,第一個這是一門很新的語言,年前后正式公布,算起來是比較年輕的編程語言了,更重要的是它是面向程序員的函數(shù)式編程語言,它的代碼運行在之上。它通過編輯類工具,帶來了先進的編輯體驗,增強了語言服務。 showImg(https://segmentfault.com/img/bV1xdq?w=900&h=385); 新的一年不知不覺已經(jīng)到來了,總結過去的 2017,相信小伙們一定有很多收獲...

    Drummor 評論0 收藏0
  • Java小白進階筆記(3)-初級面向對象

    摘要:面向對象編程從不同的角度來看待計算機程序,它注重的是計算機所完成的任務,而非處理方式。傳統(tǒng)的語言屬于面向過程編程,語言屬于面向對象編程。面向對象編程根據(jù)要解決的問題,可以抽象出如下對象客戶銀行卡現(xiàn)金票據(jù)等。 面向過程編程&面向對象編程 從面向過程到面向對象,不僅僅是編程方式的改變,更重要的是思維方式的改變。 面向過程編程按照順序執(zhí)行的一系列指令,通常是分析出解決問題所需要的步驟,然后用...

    AnthonyHan 評論0 收藏0
  • (快)開學了,各大編程語言在群里吵翻了天!

    摘要:我是由貝爾實驗室的在年年間發(fā)明創(chuàng)造的,瞧,就他你們眼中的語言之父。與此同時,由于庫函數(shù)的缺失,導致新手在開發(fā)任何一塊小程序的時候都必須得親力親為。對了,我爸是微軟,由和派生出來的面向對象的編程語言。對,我曾是世界上最好的編程語言。 ...

    bang590 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<