個人感受:
自己的問題:自己對於軟體的認識不夠,不清楚什麼是軟體,做一個軟體有著多方面的要求以及規定,但是我不太清楚
書中提到了許多軟體的要求以及規定,以及如何做好一個軟體。
解決辦法:按照書中的方法自己以及自己的團隊多多聯絡這種方法即可
讀書筆記
第六章和第七章
第六章:需求分析和專案管理
需求獲取
需求獲取的方法:
訪談:透過與客戶和終端使用者進行面對面的交流,收集他們的需求和期望。
問卷調查:設計問卷收集大量使用者的需求和反饋。
觀察:觀察使用者實際操作和使用系統的過程,發現潛在需求。
頭腦風暴:團隊內部集思廣益,提出可能的需求和解決方案。
需求獲取的挑戰:
不明確的需求:客戶有時無法清晰表達自己的需求。
變化的需求:需求可能隨著專案進展而變化,需要靈活應對。
使用者調研
使用者畫像:
定義典型使用者的特徵、行為模式和需求,幫助更好地理解目標使用者群體。
使用者體驗研究:
可用性測試:透過實際操作測試,評估系統的易用性和使用者體驗。
使用者反饋:收集使用者對系統的意見和建議,進行持續改進。
專案計劃
專案範圍:
明確專案的目標、範圍和邊界,防止範圍蔓延。
制定專案需求文件,記錄所有功能和非功能需求。
專案進度:
制定詳細的專案計劃,包括時間表、里程碑和任務分配。
使用甘特圖和專案管理軟體(如MS Project、JIRA)跟蹤進度。
專案估計
估計方法:
專家判斷:依靠專家的經驗和知識進行估計。
類比估計:基於類似專案的歷史資料進行估計。
自下而上估計:將專案分解為更小的任務,分別進行估計後彙總。
估計技巧:
考慮風險和不確定性,提供合理的緩衝時間。
定期更新估計,根據專案進展進行調整。
第七章:軟體設計與實現
設計方法
物件導向設計:
使用類和物件的概念,透過繼承、封裝和多型來組織和設計系統。
使用UML圖(類圖、順序圖等)來描述系統的結構和行為。
設計模式:
採用經典設計模式(如單例、觀察者、工廠方法)解決常見設計問題,提高程式碼的可維護性和可複用性。
圖形建模
UML(統一建模語言):
使用UML圖來視覺化、描述和記錄軟體系統的設計。
常見的UML圖包括用例圖、類圖、順序圖、狀態圖等。
ER圖(實體關係圖):
用於資料庫設計,表示實體、屬性和實體之間的關係。
程式碼管理
版本控制:
使用版本控制系統(如Git、SVN)管理程式碼的變更,確保團隊協作的高效性和程式碼的歷史可追溯性。
採用分支策略(如Git Flow)進行功能開發、整合和釋出。
程式碼審查:
透過程式碼審查(Code Review),確保程式碼質量和一致性,發現並修復潛在問題。
測試和部署
單元測試:
編寫單元測試,驗證每個模組或函式的正確性。
使用測試框架(如JUnit、TestNG)自動執行測試。
持續整合和持續部署(CI/CD):
使用CI/CD工具(如Jenkins、Travis CI)自動構建、測試和部署程式碼,確保軟體的持續交付和快速迭代。