2022.4.4項目開發流程
主題:ATM+購物車作業
- 項目開發流程
- 項目需求分析
- 項目架構設計(重點)
- 項目架構搭建
1、項目開發流程
公司中的項目流程幾乎都可以分為以下五個步驟
ps:假設我們是一家外包公司,專門給別人編寫軟件
1、需求分析
首先,見客戶之前架構師和研發經理會大致先了解一下客戶的需求,然后初步琢磨除一套比較容易編寫的流程
然后,產品經理帶着開發部門老大(架構師、研發經理)去客戶公司尋求客戶的需求
之后,在與客戶交談中引導客戶按照提前設想好的流程提需求
ps:這么做的目的是為了防止客戶提出一些無厘頭的要求!
2、架構設計
架構師會根據具體的業務需求選擇:
(1)開發的編程語言
(2)項目后端框架
(3)項目所需數據庫(主庫、從庫)
(4)項目組織結構(軟件開發目錄規范、自定義結構);
項目功能划分(將一個大項目拆分成多個小項目)
(5)項目的報價(考慮開發人員數量,天數等:如一個程序員一天按照1500算;
最后還需要產品經理疊加報價(其他部分人員開銷等)
3、分組開發
(1)將項目拆分后的多個小項目交給不同開發部門下的多個編程人員編寫
(2)每個人可能只會寫很小的一部分(降低復雜度,提升開發效率,縮短開發周期)
ps:碼畜>>>碼農
4、項目測試
交給測試部門全面測試,注意語法錯誤不要提交導測試部門才被發現,這樣可能會被扣績效甚至三次之后直接卷鋪蓋走人!!!
5、交付上線
將項目打包給運維人員即可
二、項目需求分析
以ATM+購物車作業為例
項目大致需求:
- 額度15000或自定義
- 支持多賬戶登錄
- 可以查看賬戶余額
- 可以提現(可自定義手續費比例)
- 提供還款接口
- 支持賬戶間轉賬
- 記錄每月日常消費流水
- 實現購物商城,買東西加入購物車,調用信用卡接口結賬
- 提供管理接口,包括添加賬戶、用戶額度,凍結賬戶等
- ATM記錄操作日志
- 用戶認證功能
提煉項目功能:
1.用戶注冊
2.登錄功能
3.查看余額
4.余額提現
5.賬戶充值
6.金額轉賬
7.查看流水
8.添加購物車
9.查看購物車
10.結算購物車
11.管理員功能
項目大概技術棧:
1.python基礎核心編程
2.函數(裝飾器)
3.常見內置模塊(os,sys,json)
三、架構設計
1、引入:
在小白階段的我們,寫程序是按照從上到下的順序去編寫
學習函數之后,開始把功能封裝起來,組成代碼塊
在學習模塊之后,學會調用不同py文件和模塊
2、疑問:
為什么項目開發要分那么多文件,還要導來導去?
答案是:分工合作提高效率,節省時間
3、三層架構:
因此,常見的軟件架構大致分三層:
瀏覽器>>>后台>>>數據庫
第一層:只做簡單的數據展示及交互
第二層:整個程序的核心層,具體業務邏輯
第三層:數據存取
即:前端>>>后端>>>數據庫
4、三層架構的優點
(1)擴展性非常強
(2)分工合作,效率極高
(3)測試和修改更方便快捷
基於上述觀點,可將ATM+購物車作業也分為三層架構:
1.展示層:只展示功能選項,基本邏輯
2.邏輯層:所有業務邏輯
3.數據層:給邏輯層提供數據存取
四、分組開發
1、搭建項目目錄
基於三層項目架構,再結合軟件開發目錄規范,可以將ATM+購物車作業搭建項目目錄如下:
start.py # 啟動文件
conf
>>settings.py # 配置文件
lib
>>common.py # 公共部分
core
>>src.py # 這里將src作為用戶交互端,只做簡單展示和邏輯
interface
>>user_interface.py
>>bank_interface.py
>>shop_interface.py # 根據功能不同將核心框架分為三個py文件
db
log
readme.txt
2、功能框架搭建
使用空函數
def register():
pass
def login():
pass
...... # 將項目主要功能展示出來