软件项目周报_软件产品研发流程
一個軟件的大致生命周期可以分為:項目啟動、需求調研分析、系統設計、編碼實現、系統測試、系統測試、系統投產、系統驗收等階段;下面分別詳細講解一下這幾個階段。
1. 項目啟動
在項目啟動階段,主要確定項目的目標、范圍及其可行性,我們需要對項目的背景、干系人、決策人等等進行了解。編制項目章程和組建項目團隊,包括:產品經理、架構師、UI工程師、開發工程師、測試工程師等;明確項目管理制度,每個階段的成果產物及評審方式及過程,評審要有相應的《會議紀要》,從項目啟動起,項目經理每周提供《項目周報》;測試階段,測試工程師每周提供《項目測試周報》等等都屬于項目管理制度。
2. 需求調研及分析
2.1 需求調研
了解相關對接系統的業務需求,比如該軟件是為其它業務提供服務的平臺,那一定要了解清楚相關對接方的具體需求才能設計出最佳的系統架構。又比如該軟件是一個業務系統那必須要了解清楚業務方的具體需求才能達到業務滿意、用戶滿意。
2.2 需求分析
需求分析階段主要對調研階段收集到的各項需求進行細化分析,對業務需求進行去粗取精、去偽存真、準確理解,然后把它用軟件工程開發語言(形式功能規約,即需求規格說明書)表達出來。需求明確后應當有PRD文檔、UI/UE設計圖、高保真圖等產出,項目經理也應當產出一份詳盡的項目計劃并嚴格執行。
3. 系統設計
3.1 概要設計
概要設計就是結構設計,其主要目標就是給出軟件的模塊結構,用軟件結構圖表示整個系統的架構,其中應當包含但不限于以下幾部分: - 系統架構設計: 需要對系統的整體技術架構做出設計,采用何種技術框架及架構,包含技術選型如web容器的選擇、高速緩存組件的選擇等;是否采用分層技術,是否采用分模塊設計等等一系列技術方向進行明確。
- 業務架構設計: 考慮到系統是一個滿足業務滿足市場的長期存在,所以我們的系統需要應對未來業務的發展,那就需要做出相應的業務架構設計,包含系統未來的產品可擴展性、系統收縮性等相關方面的設計。
- 網絡架構設計: 針對系統的網絡結構進行設計,是部署在內網還是外網,分模塊的系統需明確哪些模塊部署外網區、哪些模塊部署DMZ區、哪些模塊部署內網區,模塊之間的訪問關系及端口要求等。
- 數據庫設計: 針對系統的數據結構進行設計,包含是否采用分庫分表技術,是否采用讀寫分離設計等,系統中所有的表結構設計及字段設計。
- 接口設計: 針對系統內部接口及外部接口進行設計,包含接口通訊方式、接口字符編碼、接口數據規范、接口報文規范、接口報文格式、接口字段等進行設計。
- 安全設計: 包含數據的傳輸與存儲安全、安全認證方式、數據的加解密簽名驗簽方式、共計及防范方案等進行相應設計。
- 非功能設計: 主要包含系統性能、可靠性、可用性、可擴展性、可維護性等相關設計。
3.2 詳細設計
詳細設計主要任務就是將軟件分解成模塊,是指能實現某個功能的數據和程序說明、可執行程序的程序單元。可以是一個函數、過程、子程序、一段帶有程序說明的獨立的程序和數據,也可以是可組合、可分解和可更換的功能單元,其中要包含具體功能的簡介、功能流程、輸入輸出項、數據庫操作、異常處理等,可以理解成好的詳細設計其實就是偽代碼。
4. 編碼實現
軟件編碼就是根據產品原型圖、UI/UE設計圖、設計文檔轉換成計算機可以接受的程序,即寫成以某一程序設計語言表示的源程序清單。開發人員應當充分了解軟件開發語言、工具的特性和編程風格,嚴格遵守開發規范進行代碼編寫;良好的編碼風格、清晰的編碼注釋等都有助于提升軟件產品的開發質量。
5. 系統測試
5.1 功能測試
對軟件進行測試是保證軟件質量的重要手段。開發工程師開發完成后,可以交由測試工程師測試。測試工程師測試到BUG要反饋給開發,開發進行修改;功能測試通常需要多輪反復的測試多次,直至測試通過達到軟件質量要求。
5.2 用戶驗收測試
用戶驗收測試階段,也是通常的UAT(User Acceptance Test)階段,用戶驗收測試是最終用戶可以檢查軟件是否符合業務要求的最后階段。UAT由了解要求并了解構建軟件目的的最終用戶執行。此測試是在軟件運行之前執行的最后一次測試。最終用戶使用現實生活場景并為真實數據構建UAT測試用例,用戶驗收測試在最終用戶在上線之前驗證軟件是否滿足這些業務需求方面具有重要作用。
5.3 性能測試
通過自動化的測試工具模擬多種正常、峰值以及異常負載條件來對系統的各項性能指標進行測試,以此可以預估出系統的最大承受能力以及推算出能否滿足系統上線后的性能要求。通常包含以下幾個方面:
- 基準測試: 在給系統施加較低壓力時,查看系統的運行狀況并記錄相關數做為基礎參考
- 負載測試: 是指對系統不斷地增加壓力或增加一定壓力下的持續時間,直到系統的某項或多項性能指標達到安全臨界值,例如某種資源已經達到飽和狀態等 。
- 壓力測試: 壓力測試是評估系統處于或超過預期負載時系統的運行情況,關注點在于系統在峰值負載或超出最大載荷情況下的處理能力。
- 穩定性測試: 在給系統加載一定業務壓力的情況下,使系統運行一段時間,以此檢測系統是否穩定。
- 并發測試: 測試多個用戶同時訪問同一個應用、同一個模塊或者數據記錄時是否存在死鎖或者其他性能問題
6. 項目上線試運行
所有測試通過,并與客戶或者上級達成一致后,系統進行試運行(通常指小范圍運行),穩定后上線。上線包括:上線前期準備,包括要上線的代碼程序包、數據庫DDL、DML腳本、系統初始化參數配置等;上線部署、部署后業務驗證;投產完畢后的系統運行狀況監控:各業務功能是否正常運行、系統資源、數據庫資源等是否在合理使用范圍內。
7. 投產驗收
整理交付物:項目需求文檔、項目設計文檔、安裝部署手冊、系統操作手冊等等,并移交至相關運維部門或人員進行后期系統維護。釋放項目團隊,進行項目回顧總結,項目匯報,完成項目結項等工作。
總結
以上是生活随笔為你收集整理的软件项目周报_软件产品研发流程的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 叮咚买菜第四季度营收 62 亿元,同比增
- 下一篇: 查看ssh端口号_萌新云服务器折腾记-S