完整開發流程管理提升與系統需求分析過程 隨堂筆記(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
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...