一、項目的實施周期
技術准備期
- 架構設計
- 概念驗證(poc):架構的原型證明
- 迭代0:搭建完整環境
- 示例項目代碼:體現規范與原則
業務回補期
- 追補業務
- 測試:實施測試策略
- 上線准備
- 第一次部署:驗證部署架構
- 提升團隊能力
成長優化期
- 償還技術債務
- 優化開發體驗
- 帶來技術挑戰
- 架構完善及演進
二、架構的設計
- 收集利益相關者的需求。傾聽業務人員、項目負責人等相關者的需求,進行用戶訪談,收集相關的需求
- 與相應的技術人員(如開發人員、測試人員)討論,了解架構上的潛在限制。
- 尋找潛在的可行性技術方案。
- 整理出功能列表中的功能需求和跨功能性需求。
- 找出會嚴重影響開發的風險點。
- 和技術委員會、利益相關者反復確認方案(可選)。
- 對架構設計進行概念證明。
- 細化架構的部分實施細節。
- 結合技術和業務,進行需求排期。
三、收集架構需求
1.了解相關者利益
- 高層領導 組織戰略
- 產品負責人 按時上線
- 項目經理 所需要資源,預算、人力
- 業務分析人員 項目的迭代計划
- 測試人員 測試策略
- 技術負責人 架構的設計和演進
2.尋找架構的關注點
- 性能 性能需要達到怎樣的性能指標、可以實現多少用戶的並發
- 安全 如何保障用戶安全、如何應對客戶端攻擊、如何應對服務端攻擊
- 平台化 是否需要作為一個平台,來承載其他系統
- 代碼維護 是否稍微有經驗的開發人員都能快速上手
- 用戶體驗 用戶體驗是否比其他幾個維度更重要
3.明確跨功能需求
- 從源頭划分:運行質量(安全性、易用性) 演進質量(軟件可測試性、可維護性、可擴展性、可伸縮性)
- 性能(后端)指標相關(支持的並發數、接受的宕機時間):可用性、可維護性、可變性、容錯性、可伸縮性
- 前端應用(兼容性、跨平台的相關需求):瀏覽器的支持范圍、移動端設備的支持版本
4.羅列技術風險點
- 技術風險
- 第三方系統集成
- 受限制的線上運行環境
四、前端框架選型
前端框架選型,
出現在項目准備期和成長優化期,
項目准備期的前端框架選型:
是架構設計1~6步中的一個決策,
例如我們決定支持早期的IE8瀏覽器(兼容性),那么就無法選擇流行的前端框架React、Vue、Angular,便不得不從jQuery、Knockout、Backbone中選擇。
例如我們的項目的周期特別長,維護成本大於開發成本,我們選擇TypeScript + React。
例如團隊中的核心是測試人員,為了降低管理成本,那么在技術選型的更偏向於測試人員的技術棧。