項目一般開發流程

今天這篇博文主要講的是項目的一般開發流程。科學的開發流程可以提高效率,減少不必要的加班,由此可見開發流程在項目開發中的重要地位。項目開發流程一般包括以下幾步:
一、需求評估

產品經理、研發工程師、測試工程師,要組織需求評審會議,講解本次的開發功能和具體業務。

如下2步,需要畫圖、筆記、文字記錄、演算、推理、畫流程圖、畫架構圖

1、產品選型

明確產品界面、交互設計、功能設計、模塊區分,尋找相仿的產品上手體驗、操作,感知功能的使用和交互的體驗,目的是爲了瞭解即將要做的產品有大致的模型,對產品模型瞭解的越細緻越好

2、分離架構

對產品從各個維度分離架構,從功能,目錄,邏輯拆分,抽象,業務流的明確,數據流的流向,交互體驗的設計,從整體拆分成局部,針對每個局部再繼續拆分,從局部整合成系統,考慮整體和局部之間的相互影響關係

循環這2步,最終得到一個產品系統,應該對產品系統非常瞭解,從整體到局部,從需求到邏輯,端到端的數據流向,交互體驗設計,數據庫表結構設計

根據以上,給出開發工期(X/人/天)。

二、文檔編寫

按照系統的各個區域和子系統,編寫對應的文檔註釋,說明此子系統的功能、大致邏輯、含有的接口。

此外,流程應該按照先數據庫層面 –> 邏輯控制層面 –> 數據展示層面 –> 交互體驗層面 –> 界面設計層面的順序來規劃和思考。

同時考慮擴展性的問題,子系統是否可插拔,組件之間是否強依賴,必要的時候完成架構層面大的抽象。

文檔需要大概明確此子系統模塊的測試結果是什麼,提前演算模塊的測試步驟和結果,後續細化的代碼必須要通過此測試要求。

三、創建/更改 數據庫

根據公司要求規範操作數據表,確定後郵件抄送相關開發。

相關SQL語句,需要Leader、DBA 審覈,方可部署。

四、規定開發規範

規定代碼規範,必須要寫註釋

五、前後端分離開發

目前項目大部分都是使用 前後端分離的方式開發,一般由後端先給出接口文檔供前端進行開發。

    後端 程序邏輯代碼開發需要考慮:

     複雜的邏輯可以自己先畫流程圖(ProcessOn)。
     遵循 PHP 代碼規範(PSR)。
     代碼註釋(再次提醒這點非常重要)。
     數據驗證(對前端提交的數據進行二次驗證,不能相信任何前端數據)。
     功能邏輯(考慮類庫封裝,代碼複用)。
     性能問題(是否需要用到緩存redis等)。
     安全問題(XSS、Sql注入)。
     日誌問題(記錄相關日誌)。
     錯誤報警(可供參考)。

    前端需要考慮:

    

代碼整潔性(標籤元素對齊,DIV區塊註釋)。
界面適配(BootStrap 柵格系統)。
Js 相關驗證(不要寫在界面中)。
產品驗收(確認界面元素是否滿足使用習慣)。

擼編碼

    編碼必須符合僞代碼的邏輯,編碼應該多次測試,慢步前進。
    注意編碼的版本控制。
    編碼應該儘量保持優美的邏輯和語法使用。
    編碼的變量命名應該特別注意。
    每一次的編碼應該最低按照一個函數單元,即最小編碼單位是一個函數,一旦決定編碼,就至少完成一個
    函數單元,或者取消本次函數的編寫。
    每個函數的完成,都必須要達到僞代碼對此函數的定義和解釋,注意高內聚和低耦合的問題。
    如果沒有高內聚,要適當拆分邏輯和代碼。
    如果沒有低耦合,要適當抽象代碼,合併其他同類函數。

六、功能自測

程序開發完畢後,需要自己先進行測試,走一遍全部流程。

需要考慮:

    創建一些測試數據。
    考慮功能的臨界值。
    確保功能的可用性。

七、代碼評審(Code Review)

代碼評審被公認爲是一個很好的提高代碼質量的手段。

好處:

加速個人的成長,讓自己成爲一個更優秀的程序員。
可以分享/學習到更多的知識。
保證代碼清晰,容易被別人理解。
提前發現一些缺陷(代碼檢查者通常比代碼編寫者更挑剔)。
我們可以使用一些開源系統:
Phabricator
ReviewNinja
Codacy
RhodeCode
如果有好的工具幫助我們進行codereview,往往會達到事半功倍的效果。

八、WIKI 更新

將自己開發的功能模塊,部署到WIKI上。

寫好需求方、開發者、使用者、是否用到API、相關邏輯、流程圖…

九、功能提測

通知測試人員,該需求可以提測啦~

根據公司要求,可以進行郵件提測,也可以JIRA管理。

以上,只是大概的講述了開發流程。

其實每一個步驟,都可以進行詳細分析,比如代碼註釋,評審規範等等。
 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章