ATM+購物商城程序實際上是經過模擬銀行ATM機功能以及電商平臺<購物商城程序>功能的實現,將前面大部分所學的知識點串聯起來,讓大家更好的去鞏固python基礎。這也是在學習python這門語言的第一個程序。 前端
- 額度 15000或自定義python
- 實現購物商城,買東西加入購物車,調用信用卡接口結帳linux
- 能夠提現,手續費5%後端
- 支持多帳戶登陸 - 支持帳戶間轉帳服務器
- 記錄每個月平常消費流水 - 提供還款接口架構
- ATM記錄操做日誌app
- 提供管理接口,包括添加帳戶、用戶額度,凍結帳戶等...運維
- 用戶認證功能ide
在互聯網企業裏,全部項目一開始都是沒有的,那項目是怎麼來的呢?實際上是經過客戶的需求,從而誕生出一些列的軟件。那也就是說咱們不管開發什麼項目,都是爲了服務於人類,其實這也是計算機的使命,咱們須要讓機器替代人力去幹活!因此企業中一個項目究竟是如何從無到有的:函數
一、需求分析:
開發項目前,都必須找到相應的客戶,讓客戶給企業提出項目的需求,以及須要實現的功能有哪 些,拿到需求後再提取出一些列功能。
二、設計程序以及程序的架構
在全部一線開發的企業裏,在一個項目開發前,都應該設計程序,那樣會讓程序解開耦合,從而提升項目的管理以及開發的效率。
三、分任務開發
在公司裏面,開發項目須要這幾種崗位人才:
UI設計: 軟件的外觀設計者,經過一些炫酷的設計,提升用戶的對軟件的體驗感。
前端開發: UI設計僅僅只是把一些外觀圖設計出來,那前端開發須要把UI的設計圖拿到以後,對軟件界面的進行排版。
後端開發(python): 項目裏業務以及功能的邏輯處理!
四、項目測試
測試工程師: 對後端以及前端開發好的項目進行功能和性能測試,測試的過程當中出現bug就會當即讓開發人員去修整,待整個項目幾乎沒有bug,以及性能達到項目實際的預期,就會準備上線運行。
測試分爲兩種:
1.黑盒測試: 經過對軟件界面的功能進行測試,測試一些能讓用戶看到的bug。(例如穿越火線的卡箱子等等...)
2.白盒測試: 對軟件進行性能測試,例如每秒鐘能承受多少用戶量的訪問等...
五、上線運行
運維工程師(linux): 拿到前面整個項目編寫完的代碼,部署到服務器,上線運行!
需求分析就是把客戶的一些項目需求,提取出一個個相應的功能。
提取功能
- 額度 15000或自定義 -----> 註冊功能
- 實現購物商城,買東西加入購物車,調用信用卡接口結帳-----> 購物、支付
- 能夠提現,手續費5% -----> 提現
- 支持多帳戶登陸 -----> 登錄
- 支持帳戶間轉帳 -----> 轉帳
- 記錄每個月平常消費流水 -----> 記錄流水
- 提供還款接口 -----> 還款
- ATM記錄操做日誌 -----> 記錄日誌
- 提供管理接口,包括添加帳戶、用戶額度,凍結帳戶等... -----> 管理員功能:添加用戶,凍結帳戶
- 用戶認證功能 -----> 用戶認證裝飾器
提取完後能後咱們應該再分析出展現給用戶的功能:
1 登入
2 註冊
3 查看餘額
4 轉帳
5 還款
6 取款
7 查看流水
8 購物
9 查看商品
10 管理用戶
在寫程序以前不是一拿到項目需求想到哪就寫到哪。假設你的程序有成千上萬個功能,你都把他們寫在一個文件裏面。還有用戶輸入、邏輯處理、數據存儲都寫在一個函數裏,會致使你的代碼結構及其不清晰。而是應該對程序進行設計,設計出一種優的程序架構! 這樣作會有什麼好處:
1.思路清晰
2.不會出現寫到一半的時候推翻重寫
3.方便本身或之後同事的維護 那麼接下來咱們開始設計咱們的程序架構,把一個程序架構分爲三層:
三層架構優勢:
1把每一個功能都分紅三個部分,邏輯清楚
2若是要改用戶的數據展現,或者換存儲機制,只需動單獨一個模塊就能夠了,擴展性強
3爲何把日誌模塊放在接口層,由於全部的交互都會通過接口層,方便記錄
接下來咱們寫的功能都在按照這個文件目錄來寫,請認真閱讀這個目錄所對應的功能
- ATM
- conf 配置文件文件夾
- setting.py
- lib 公共方法文件夾
- common.py 公共方法文件
- interface 接口層文件夾
- user.py 用戶接口文件
- shop.py 購物接口文件
- bank.py 銀行接口文件
- core 用戶功能文件夾
- src.py 視圖文件
- db 數據處理層文件夾
- db_handler.py 數據處理功能文件
- log 日誌存放目錄
- start.py 程序的入口文件,啓動文件
import os import sys BASE_PATH = os.path.dirname(__file__) sys.path.append(BASE_PATH) if __name__ == '__main__': from core import src src.run()
- readme 程序的說明文件
未完待續..........