完整開發流程管理提高與系統需求分析過程 隨堂筆記(day 1) 【2019/10/14】

Top12原則:

  1. 主要資源,重要功能,依據需求重要度進行資源分配, 項目100功能 1 day -> 100Task -> 10 Dev 20% 80%

 

 

開發各階段流程及規範

      需求、架構、設計、開發、測試等階段流程及規範

                    需求是基石

    總流程 :戰略規劃 3-4年->產品立項-> 用戶調研+競品分析->業務信息 -> 需求分析 -> 指導 開發 與測試規範 -> 標尺【功能清單 + 4 要素: 界面 + 邏輯 + 交互 + 數據】-> 架構過程 -> 主體結構【系統模塊/接口/分層/框架】-> 項目管理分工->詳細設計【模塊代碼 結構定義】-> 代碼實現 -> 迭代開發 + 迭代測試 + 持續集成 -> 系統測試 -> alpha test -> 用戶驗收測試 -> Beta Test -> 商用 架構

產品效率質量 =團隊能力 + 寫做流程併發

改進收益: 需求>測試>架構>編碼框架

軟件研發完成過程 -> 迭代畫開發 ->敏捷開發運維

敏捷開發過程 : REQ ->Architecure -> Iteration[Desing + Coding + Test] -> System Test模塊化

迭代過程    ex :24month project函數

HLR(高階需求,只列出功能列表) 5% 2 week  400 Feature-> Architecture 5% module/interface/Layers/Tiers/Deploy/Process(系統有多少層, 每一個層有多少個模塊, 每一個模塊的接口,分層,物理分層,) -> 20 Iterations {20Feature -> 8 developer -> US LLR (低階需求) 3day + Design 2 day + Code 2 Week + 1 week IT(集成測試) }工具

迭代過程伴隨  Continous Integration -> System Test -> User Acceptence Test -> Beta Test -> Maintenance單元測試


 


 

需求階段:最重要 + 改進  收益最大 -> 軟件研發 惟一依據 標尺 -> 開發 + 測試  (二者無歧義)-> UML建模(容易被開發測試理解)測試

 以用戶爲中心  軟件研發過程ui

以用戶需求爲中心 軟件研發過程

Conception -> Feature -> Scenarion ->UseCase

HLR(高階需求) High Level Requirements ->  Scope -> Feature Bucket -> Function List   在軟件設計初步完成

Conception :一級業務需求 業務方向 業務目標-> Architecture  (ps: 一個concept 就是一個模塊  全部模塊加起來就是Architecture )

Feature: 三級業務需求/四級業務需求 具體系統業務功能->Design

Statements Of Work SOW

LLR(低階需求)Low Level Requirements  在迭代中完成

Scenatio : 業務描述 每一個獨立業務功能 真實場景 --> 業務痛點

Use Case: 軟件 界面 + 交互 + 業務邏輯 + 數據變化  4要素 ->Code

 

需求輸出: 需求規格說明書【需求用例描述】


 

敏捷迭代開發流程圖

  1. 高階需求-> 系統功能清單 400
  2. 架構設計 : 模塊設計
  3. 迭代開發: 月迭代50 4Week 功能低階需求分析【】
  4. 最終測試: 系統測試 + alpha test /用戶驗收測試 + beta test/灰度測試
  5. 商用運維

以需求/業務架構設計爲中心,軟件研發-> 以模塊 分解 分工 協做【USER + PM + DEV +TEST + OPRATION】->系統化工程->模塊化開發

Conception ->業務模塊分析UML分析 ->Architecture -> 4 + 1 視圖【邏輯視圖/組件視圖/併發視圖/部署視圖】-> 系統測試【功能性測試+非功能性測試】

Feature->業務功能分析UML分析-> Design【類圖 面向對象設計原則】->集成測試【功能性測試】

Feature細化: Scenario/UseCase -> 用例分析 UML分析->Code->測試用例

系統測試->迭代集成測試->測試用例

架構設計【模塊間設計】-> 詳細設計【模塊內類間設計】->編碼


 

設計階段:架構設計 + 詳細設計

架構設計->系統模塊 + 模塊接口 + 系統接口 + 分層 + 進線程 + 組件 + 部署

輸出物:架構文檔

 

詳細設計-> 每一個模塊都有個詳細設計   

目的:完成 類 + 公有函數 + 接口 + 繼承 + 抽象類

輸出物:設計規格說明書


 

編碼階段:不一樣模塊開發人員 依據 詳細設計說明書 + 需求規格說明書 天天代碼實現

編碼/單元測試 + 持續集成【TFS/GIT/SVN/Jenkins】 + 迭代

  1. 開發人員天天代碼提交
  2. 天天晚上代碼集成 - CI
  3. 代碼編碼
  4. 代碼靜態質量檢查
  5. 代碼單元測試
  6. 自動化測試 Selenium
  7. 自動集成
  8. 自動部署

 


 

測試階段: 迭代測試 + 總體測試

迭代測試-> 測試用例 + 集成測試 + 迴歸測試

總體測試-> 系統測試 + 驗收測試 + 灰度測試

每日測試-> 自動化測試 + 單元測試


 

 


 

 

需求分析 - 業務架構設計

系統架構設計

測試實踐

 

案例貫穿:去哪兒網


 

系統集成架構設計

 

需求 業務->業務架構分析->架構 技術

 

架構:總體結構定義 功能性需求 + 非功能性需求  技術定義

功能性需求-> 業務架構分析->功能性需求架構定義-> 邏輯架構設計 -> 靜態結構

非功能性需求->非功能性需求架構定義->框架架構設計->Framework->擴展性/配置性->動態解決方案

 

架構設計粒度:模塊間關係 package

詳細設計粒度:模塊內類間關係

 

 

架構設計 = 系統模塊 + 模塊間關係 + 系統框架

 

架構設計 = 邏輯架構設計  + 框架設計

 

 

 

架構設計6個階段: 業務架構設計 -> 邏輯架構設計 -> 框架架構設計 -> 架構評審-> 架構上線 -> 架構重構

 

 

 

架構設計4個輸出 : 業務架構 + 數據架構 + 應用架構 + 框架架構API

 

 


 

架構層面 - 粒度

架構設計與詳細設計

架構設計與需求分析

架構設計與項目管理

 


 

去哪兒網 / 抖音 背景-> 業務架構設計 -> 邏輯架構/應用 設計 -> 基礎/框架 架構

需求 = 高階 + 低階

高階需求

Conception: 業務大方向/業務大目標,業務域/業務模塊多維分析,系統間關係 UML建模

Feature:

低階需求

Scenrio

UseCase

UML工具選型

Rational Rose: 成本高,層次UML

Enterpris Achitecture: 層次UML

Visio: 美觀,沒有層次

 

 

 

 


 

 

去哪兒網:

項目發起人, 2*1.5 用戶訪談

建設背景:全部商務人士,全部航班在線預訂, 全部酒店的在線檢索與預訂,線上訂單,線上支付,帳戶,廣告管理,促銷活動,用戶基本信息,

一期系統大目標-業務模塊

航班服務

酒店服務

團購服務

保險服務

火車服務

旅遊服務

報銷中心

訂單中心

支付中心

帳戶中心

廣告管理

促銷管理

用戶中心

金融中心

相關文章
相關標籤/搜索