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

来源:https://www.cnblogs.com/hao11/archive/2019/10/14/11670783.html
-Advertisement-
Play Games

Top12原則: 開發各階段流程及規範 需求、架構、設計、開發、測試等階段流程及規範 需求是基石 總流程 :戰略規劃 3-4年->產品立項-> 用戶調研+競品分析->業務信息 -> 需求分析 -> 指導 開發 與測試規範 -> 標尺【功能清單 + 4 要素: 界面 + 邏輯 + 交互 + 數據】-> ...


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建模(容易被開發測試理解)

 以用戶為中心  軟體研發過程

以用戶需求為中心 軟體研發過程

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 用戶訪談

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

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

航班服務

酒店服務

團購服務

保險服務

火車服務

旅游服務

報銷中心

訂單中心

支付中心

賬戶中心

廣告管理

促銷管理

用戶中心

金融中心

 

 

 

 

 

 

 

 

 

 

 


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 一.安裝依賴 二.全局導入(必須先安裝依賴) 第一步 在 裡加入(新版的可能找不到這個文件,你可以 進行手動安裝) 第二步 在 的最後加入 第三步 在 引入 直接在 引入 三.單個vue組件導入(必須先安裝依賴) 然後在組件的script中 ...
  • 下表列出了所有jQuery 雜項方法: ...
  • @support:用於檢測瀏覽器是否支持CSS某個屬性,即條件判斷,如果支持某個屬性,可以寫一套樣式,如果不支持某屬性,提供另一套樣式作為替補。 calc():用於計算動態函數值,支持“+”,“-”,“*”,“/”運算 @media:針對不同的媒體類型定義不同的樣式 ...
  • 場景 SpringCloud-服務註冊與實現-Eureka創建服務註冊中心(附源碼下載): https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/102535957 SpringCloud-服務註冊與實現-Eureka創建服務提供者(附源 ...
  • 場景 SpringCloud-服務註冊與實現-Eureka創建服務註冊中心(附源碼下載): https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/102535957 上面已經搭建好服務註冊中心,開始創建服務提供者。 當 Client 向 ...
  • 一、代理模式的作用 將主要業務與次要業務進行松耦合的組裝 二、代理模式本質 監控行為的特征 例子: <input type="button" onclick="處理函數"> 三、生活案例 案例:飯前便後要洗手 分析: 1.分析出主要業務和次要業務 【主要業務】:吃飯,上廁所 【次要業務】:洗手 2. ...
  • 在高併發業務場景下,消息隊列在流量削峰、解耦上有不可替代的作用。當前使用較多的消息隊列有 RabbitMQ、RocketMQ、ActiveMQ、Kafka、ZeroMQ、Pulsar 等。 消息隊列這麼多,到底該選擇哪款消息隊列呢? 選擇消息隊列的基本標準 雖然這些消息隊列在功能和特性方面各有優劣, ...
  • 1. 概述 logstash把格式化的數據發送到elasticsearch以後,elasticsearch負責存儲搜索日誌數據 elasticsearch的搜索介面還是很強大的,這邊不詳細展開,因為kibana會去調用el的介面; 本文將講解elasticsearch的相關配置和遇到的問題,至於el ...
一周排行
    -Advertisement-
    Play Games
  • 1. 說明 /* Performs operations on System.String instances that contain file or directory path information. These operations are performed in a cross-pla ...
  • 視頻地址:【WebApi+Vue3從0到1搭建《許可權管理系統》系列視頻:搭建JWT系統鑒權-嗶哩嗶哩】 https://b23.tv/R6cOcDO qq群:801913255 一、在appsettings.json中設置鑒權屬性 /*jwt鑒權*/ "JwtSetting": { "Issuer" ...
  • 引言 集成測試可在包含應用支持基礎結構(如資料庫、文件系統和網路)的級別上確保應用組件功能正常。 ASP.NET Core 通過將單元測試框架與測試 Web 主機和記憶體中測試伺服器結合使用來支持集成測試。 簡介 集成測試與單元測試相比,能夠在更廣泛的級別上評估應用的組件,確認多個組件一起工作以生成預 ...
  • 在.NET Emit編程中,我們探討了運算操作指令的重要性和應用。這些指令包括各種數學運算、位操作和比較操作,能夠在動態生成的代碼中實現對數據的處理和操作。通過這些指令,開發人員可以靈活地進行算術運算、邏輯運算和比較操作,從而實現各種複雜的演算法和邏輯......本篇之後,將進入第七部分:實戰項目 ...
  • 前言 多表頭表格是一個常見的業務需求,然而WPF中卻沒有預設實現這個功能,得益於WPF強大的控制項模板設計,我們可以通過修改控制項模板的方式自己實現它。 一、需求分析 下圖為一個典型的統計表格,統計1-12月的數據。 此時我們有一個需求,需要將月份按季度劃分,以便能夠直觀地看到季度統計數據,以下為該需求 ...
  • 如何將 ASP.NET Core MVC 項目的視圖分離到另一個項目 在當下這個年代 SPA 已是主流,人們早已忘記了 MVC 以及 Razor 的故事。但是在某些場景下 SSR 還是有意想不到效果。比如某些靜態頁面,比如追求首屏載入速度的時候。最近在項目中回歸傳統效果還是不錯。 有的時候我們希望將 ...
  • System.AggregateException: 發生一個或多個錯誤。 > Microsoft.WebTools.Shared.Exceptions.WebToolsException: 生成失敗。檢查輸出視窗瞭解更多詳細信息。 內部異常堆棧跟蹤的結尾 > (內部異常 #0) Microsoft ...
  • 引言 在上一章節我們實戰了在Asp.Net Core中的項目實戰,這一章節講解一下如何測試Asp.Net Core的中間件。 TestServer 還記得我們在集成測試中提供的TestServer嗎? TestServer 是由 Microsoft.AspNetCore.TestHost 包提供的。 ...
  • 在發現結果為真的WHEN子句時,CASE表達式的真假值判斷會終止,剩餘的WHEN子句會被忽略: CASE WHEN col_1 IN ('a', 'b') THEN '第一' WHEN col_1 IN ('a') THEN '第二' ELSE '其他' END 註意: 統一各分支返回的數據類型. ...
  • 在C#編程世界中,語法的精妙之處往往體現在那些看似微小卻極具影響力的符號與結構之中。其中,“_ =” 這一組合突然出現還真不知道什麼意思。本文將深入剖析“_ =” 的含義、工作原理及其在實際編程中的廣泛應用,揭示其作為C#語法奇兵的重要角色。 一、下劃線 _:神秘的棄元符號 下劃線 _ 在C#中並非 ...