成人无码视频,亚洲精品久久久久av无码,午夜精品久久久久久毛片,亚洲 中文字幕 日韩 无码

資訊專欄INFORMATION COLUMN

python初學(xué)——面向?qū)ο缶幊套鳂I(yè):學(xué)校選課系統(tǒng)

kbyyd24 / 4109人閱讀

摘要:如上海北京等管理員自己創(chuàng)建其他地方的學(xué)校管理員創(chuàng)建的課程。包含名字性別年齡等學(xué)員查詢可上課程學(xué)員選課,選擇學(xué)校課程,并付款。課程價(jià)格,周期課程價(jià)格,周期課程價(jià)格,周期創(chuàng)建講師屬于北京校區(qū),屬于上海校區(qū)。

作業(yè)需求

創(chuàng)建北京、上海 2 所學(xué)校

創(chuàng)建linux , python , go 3個(gè)課程,linuxpy在北京開, go 在上海開

課程包含,周期,價(jià)格,通過學(xué)校創(chuàng)建課程

通過學(xué)校創(chuàng)建班級,班級關(guān)聯(lián)課程、講師

創(chuàng)建學(xué)員時(shí),選擇學(xué)校,關(guān)聯(lián)班級

創(chuàng)建講師角色時(shí)要關(guān)聯(lián)學(xué)校,

提供兩個(gè)角色接口
7.1. 學(xué)員視圖,可以注冊,交學(xué)費(fèi),選擇班級,
7.2. 講師視圖,講師可管理自己的班級,上課時(shí)選擇班級,查看班級學(xué)員列表,修改所管理的學(xué)員的成績
7.3. 管理視圖,創(chuàng)建講師,創(chuàng)建班級,創(chuàng)建課程

上面的操作產(chǎn)生的數(shù)據(jù)都通過pickle序列化保存到文件里

需求模型

通過對如上需求的解讀,我整理出如下需求模型。

用例名

選課系統(tǒng)

場景

when:任意時(shí)間

where:老男孩

who:學(xué)生、講師、管理員

用例描述

管理員可以創(chuàng)建學(xué)校。學(xué)校包含:名字、城市、地址。如:上海、北京、等(管理員自己創(chuàng)建其他地方的學(xué)校)

管理員創(chuàng)建的課程。課程包含:名稱、周期、價(jià)格、大綱。如:python,go,linux(課程與學(xué)校關(guān)聯(lián))

管理員創(chuàng)建班級。班級包含:名稱、上課方式(脫產(chǎn)、周末、線上)、課程、講師、開課日期、學(xué)員列表。如:python周末18期,python脫產(chǎn)7期,linux架構(gòu)35期(班級與課程、講師關(guān)聯(lián))

管理員創(chuàng)建講師。講師包含:名字、性別、年齡、學(xué)校。如:alex,egon,wupeiqi,yuanhao(講師關(guān)聯(lián)學(xué)校)

管理員創(chuàng)建學(xué)員。

講師查看學(xué)員列表。(學(xué)員列表與班級關(guān)聯(lián))

講師修改管理的學(xué)員的成績。

學(xué)員注冊。包含:名字、性別、年齡、等

學(xué)員查詢可上課程

學(xué)員選課,選擇學(xué)校、課程,并付款。

學(xué)員查詢自己學(xué)習(xí)記錄。學(xué)習(xí)記錄包含:成績

用戶價(jià)值

完成一套可運(yùn)行的選課管理系統(tǒng),解決人工管理上下課的難度。

約束

暫無

建模設(shè)計(jì)

將需求模型繼續(xù)進(jìn)行整理。整理出如下建模設(shè)計(jì)的內(nèi)容。

關(guān)鍵字

學(xué)校、課程、班級、講師、上課記錄、學(xué)員、學(xué)習(xí)記錄、作業(yè)、成績、管理員、

關(guān)鍵字分析

人類:屬性有名字、性別、年齡
學(xué)生類:繼承人類。屬性有課程、班級、成績
老師類:繼承人類。屬性有課程、班級
學(xué)校類:屬性有學(xué)校名、城市、地點(diǎn)、
課程類:屬性有課程名稱、價(jià)格、周期
班級類:屬性有班級名、教師、開課日期、上課方式
賬號類:屬性有賬號名、密碼、狀態(tài)、角色。
學(xué)習(xí)記錄類:屬性有成績
管理員類:繼承與站賬號類
視圖類:處理管理員、老師、學(xué)員的所有視圖上的操作

UML流程圖

目錄結(jié)構(gòu)
│  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               # 學(xué)校等基礎(chǔ)數(shù)據(jù)所在目錄
├─lib                   # 庫文件目錄
│  │  accounts.py       # 賬號類
│  │  classes.py        # 班級類
│  │  courses.py        # 課程類
│  │  db.py             # 數(shù)據(jù)庫類文件
│  │  persion.py        # 人類文件
│  │  schools.py        # 學(xué)校類文件
│  │  study_record.py   # 學(xué)習(xí)記錄類嗡
│  │  views.py          # 視圖類文件
│  │  __init__.py
└─log                   # 日志文件目錄
程序主體

具體代碼可以從github中下載:
SCS

單元測試

由于作業(yè)時(shí)間有限,沒有編寫單元測試使用的程序腳本。故直接通過模擬用戶使用的方式來進(jìn)行測試。

一、管理員功能測試

執(zhí)行scs.py文件后進(jìn)入主頁面:輸入3進(jìn)入管理員界面。

===============歡迎進(jìn)入老男孩學(xué)校===============

                1. 學(xué)生登錄通道
                2. 教師登錄通道
                3. 管理員登錄通道
                4. 退出
                
================================================
        
>>:3

進(jìn)入管理員視圖:管理員可以進(jìn)行學(xué)校管理,學(xué)員管理。也可以修改自己的密碼。
當(dāng)進(jìn)入這些視圖前,如果管理員沒有登錄會進(jìn)行一次登錄認(rèn)證。如已經(jīng)登錄就不會再次認(rèn)證。

===============歡迎進(jìn)入管理視圖===============

               1. 學(xué)校管理
               2. 學(xué)員管理
               3. 修改密碼
               4. 注銷
               
==============================================
        
>>:

學(xué)校管理視圖:可以進(jìn)行學(xué)校的創(chuàng)建、課程的創(chuàng)建、講師的創(chuàng)建、和班級的創(chuàng)建。
我們這里直接就根據(jù)需求:

創(chuàng)建beijing和shanghai兩所學(xué)校。

創(chuàng)建linux , python , go 3個(gè)課程,linuxpy在北京開, go 在上海開。

linux課程價(jià)格8000,周期35

python課程價(jià)格8000,周期18

go課程價(jià)格10000,周期20

創(chuàng)建講師alex、egon屬于北京校區(qū),yuanhao屬于上海校區(qū)。

創(chuàng)建分別為3個(gè)課程創(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!

===============歡迎進(jìn)入管理視圖===============

               1. 創(chuàng)建學(xué)校
               2. 創(chuàng)建課程
               3. 創(chuàng)建講師
               4. 創(chuàng)建班級
               5. 返回
               
==============================================
        
>>:1
================創(chuàng)建學(xué)校=================
Please input name of school:beijing
Please input city of school:beijing
Please input address of school:beijing
Create school success!

===============歡迎進(jìn)入管理視圖===============

               1. 創(chuàng)建學(xué)校
               2. 創(chuàng)建課程
               3. 創(chuàng)建講師
               4. 創(chuàng)建班級
               5. 返回
               
==============================================
        
>>:1
================創(chuàng)建學(xué)校=================
Please input name of school:shanghai
Please input city of school:shanghai
Please input address of school:shanghai
Create school success!

===============歡迎進(jìn)入管理視圖===============

               1. 創(chuàng)建學(xué)校
               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!

===============歡迎進(jìn)入管理視圖===============

               1. 創(chuàng)建學(xué)校
               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!

===============歡迎進(jìn)入管理視圖===============

               1. 創(chuàng)建學(xué)校
               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!

===============歡迎進(jìn)入管理視圖===============

               1. 創(chuàng)建學(xué)校
               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!

===============歡迎進(jìn)入管理視圖===============

               1. 創(chuàng)建學(xué)校
               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!

===============歡迎進(jìn)入管理視圖===============

               1. 創(chuàng)建學(xué)校
               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!

===============歡迎進(jìn)入管理視圖===============

               1. 創(chuàng)建學(xué)校
               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!

===============歡迎進(jìn)入管理視圖===============

               1. 創(chuàng)建學(xué)校
               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!

===============歡迎進(jìn)入管理視圖===============

               1. 創(chuàng)建學(xué)校
               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!

===============歡迎進(jìn)入管理視圖===============

               1. 創(chuàng)建學(xué)校
               2. 創(chuàng)建課程
               3. 創(chuàng)建講師
               4. 創(chuàng)建班級
               5. 返回
               
==============================================
        
>>:5

學(xué)員管理視圖:可以查看學(xué)校的學(xué)員情況,并可以分配已經(jīng)報(bào)名課程的學(xué)員到具體的班級中。我們已經(jīng)注冊了一個(gè)henry的學(xué)生,這個(gè)學(xué)生報(bào)名了python的課程,所以管理員需要將他分配到python18這個(gè)班級中。

===============歡迎進(jìn)入管理視圖===============

               1. 學(xué)員信息
               2. 分配班級
               3. 返回
               
==============================================
        
>>:1
Please input school:beijing

==================學(xué)生信息==================

         ID:         027e4180beedb29744413a7ea6b84a42
         Account:    henry
         Type:       3
         Status:      0
         School:      beijing
         Course:      python
         Class:       未分配班級
         Teacher:     未分配導(dǎo)師
         
============================================

===============歡迎進(jìn)入管理視圖===============

               1. 學(xué)員信息
               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!
二、學(xué)員功能測試

學(xué)員視圖界面

===============歡迎進(jìn)入學(xué)員視圖===============

               1. 注冊賬號
               2. 填寫賬戶信息
               3. 查看賬戶信息
               4. 選擇課程并付費(fèi)
               5. 查看學(xué)習(xí)記錄
               6. 修改密碼
               7. 注銷
               
==============================================

學(xué)員可以注冊賬號,也可以補(bǔ)全自己的個(gè)人信息。這些基本功能,這里就不進(jìn)行詳細(xì)的測試了。主要看一下選課和查看學(xué)習(xí)記錄。我還是使用henry學(xué)員,henry再報(bào)名一個(gè)linux課程。來實(shí)現(xiàn)報(bào)名,由于henry的成績老師還沒有下發(fā)分?jǐn)?shù),所以暫時(shí)還看不到成績。

===============歡迎進(jìn)入學(xué)員視圖===============

               1. 注冊賬號
               2. 填寫賬戶信息
               3. 查看賬戶信息
               4. 選擇課程并付費(fèi)
               5. 查看學(xué)習(xí)記錄
               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! 

===============歡迎進(jìn)入學(xué)員視圖===============

               1. 注冊賬號
               2. 填寫賬戶信息
               3. 查看賬戶信息
               4. 選擇課程并付費(fèi)
               5. 查看學(xué)習(xí)記錄
               6. 修改密碼
               7. 注銷
               
==============================================
    
>>:5

================學(xué)習(xí)記錄=================

            Score:  成績未公布

=========================================
三、教師功能測試

教師視圖

===============歡迎進(jìn)入教師視圖===============

               1. 填寫賬戶信息
               2. 查看賬戶信息
               3. 班級管理
               4. 修改密碼
               5. 注銷
               
==============================================

我們主要來看一下班級管理功能。班級管理功能可以查看自己班級的學(xué)生、并未學(xué)生下發(fā)成績

===============歡迎進(jìn)入教師視圖===============

               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!

===============歡迎進(jìn)入管理視圖===============

               1. 選擇班級
               2. 學(xué)生列表
               3. 批改作業(yè)
               4. 返回

==============================================
            
>>:1
Please input name of class:python18
Choice class success!

===============歡迎進(jìn)入管理視圖===============

               1. 選擇班級
               2. 學(xué)生列表
               3. 批改作業(yè)
               4. 返回

==============================================
            
>>:2
================班級學(xué)生列表=================
Class: python18
Students: 
henry
=============================================

===============歡迎進(jìn)入管理視圖===============

               1. 選擇班級
               2. 學(xué)生列表
               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

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://m.hztianpu.com/yun/41466.html

相關(guān)文章

  • SegmentFault 技術(shù)周刊 Vol.40 - 2018,來學(xué)習(xí)一門新的編程語言吧!

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

    caspar 評論0 收藏0
  • SegmentFault 技術(shù)周刊 Vol.40 - 2018,來學(xué)習(xí)一門新的編程語言吧!

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

    nihao 評論0 收藏0
  • SegmentFault 技術(shù)周刊 Vol.40 - 2018,來學(xué)習(xí)一門新的編程語言吧!

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

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

    摘要:面向?qū)ο缶幊虖牟煌慕嵌葋砜创?jì)算機(jī)程序,它注重的是計(jì)算機(jī)所完成的任務(wù),而非處理方式。傳統(tǒng)的語言屬于面向過程編程,語言屬于面向?qū)ο缶幊獭C嫦驅(qū)ο缶幊谈鶕?jù)要解決的問題,可以抽象出如下對象客戶銀行卡現(xiàn)金票據(jù)等。 面向過程編程&面向?qū)ο缶幊?從面向過程到面向?qū)ο螅粌H僅是編程方式的改變,更重要的是思維方式的改變。 面向過程編程按照順序執(zhí)行的一系列指令,通常是分析出解決問題所需要的步驟,然后用...

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

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

    bang590 評論0 收藏0

發(fā)表評論

0條評論

閱讀需要支付1元查看
<