構建之法閱讀筆記03

皮卡丘和杰尼龟發表於2024-06-16

個人感受:

自己的問題:自己對於軟體的認識不夠,不清楚什麼是軟體,做一個軟體有著多方面的要求以及規定,但是我不太清楚

書中提到了許多軟體的要求以及規定,以及如何做好一個軟體。

解決辦法:按照書中的方法自己以及自己的團隊多多聯絡這種方法即可

讀書筆記

第六章和第七章  

第六章:需求分析和專案管理

需求獲取

需求獲取的方法:

訪談:透過與客戶和終端使用者進行面對面的交流,收集他們的需求和期望。

問卷調查:設計問卷收集大量使用者的需求和反饋。

觀察:觀察使用者實際操作和使用系統的過程,發現潛在需求。

頭腦風暴:團隊內部集思廣益,提出可能的需求和解決方案。

需求獲取的挑戰:

不明確的需求:客戶有時無法清晰表達自己的需求。

變化的需求:需求可能隨著專案進展而變化,需要靈活應對。

使用者調研

使用者畫像:

定義典型使用者的特徵、行為模式和需求,幫助更好地理解目標使用者群體。

使用者體驗研究:

可用性測試:透過實際操作測試,評估系統的易用性和使用者體驗。

使用者反饋:收集使用者對系統的意見和建議,進行持續改進。

專案計劃

專案範圍:

明確專案的目標、範圍和邊界,防止範圍蔓延。

制定專案需求文件,記錄所有功能和非功能需求。

專案進度:

制定詳細的專案計劃,包括時間表、里程碑和任務分配。

使用甘特圖和專案管理軟體(如MS ProjectJIRA)跟蹤進度。

專案估計

估計方法:

專家判斷:依靠專家的經驗和知識進行估計。

類比估計:基於類似專案的歷史資料進行估計。

自下而上估計:將專案分解為更小的任務,分別進行估計後彙總。

估計技巧:

考慮風險和不確定性,提供合理的緩衝時間。

定期更新估計,根據專案進展進行調整。

第七章:軟體設計與實現

設計方法

物件導向設計:

使用類和物件的概念,透過繼承、封裝和多型來組織和設計系統。

使用UML圖(類圖、順序圖等)來描述系統的結構和行為。

設計模式:

採用經典設計模式(如單例、觀察者、工廠方法)解決常見設計問題,提高程式碼的可維護性和可複用性。

圖形建模

UML(統一建模語言):

使用UML圖來視覺化、描述和記錄軟體系統的設計。

常見的UML圖包括用例圖、類圖、順序圖、狀態圖等。

ER圖(實體關係圖):

用於資料庫設計,表示實體、屬性和實體之間的關係。

程式碼管理

版本控制:

使用版本控制系統(如GitSVN)管理程式碼的變更,確保團隊協作的高效性和程式碼的歷史可追溯性。

採用分支策略(如Git Flow)進行功能開發、整合和釋出。

程式碼審查:

透過程式碼審查(Code Review),確保程式碼質量和一致性,發現並修復潛在問題。

測試和部署

單元測試:

編寫單元測試,驗證每個模組或函式的正確性。

使用測試框架(如JUnitTestNG)自動執行測試。

持續整合和持續部署(CI/CD):

使用CI/CD工具(如JenkinsTravis CI)自動構建、測試和部署程式碼,確保軟體的持續交付和快速迭代。