Week 5:“物品復活“軟體開發的PSP資料統計

augustlake發表於2024-10-21

大學生們往往有些物品捨不得丟掉,但不處理又佔用太多空間。本軟體旨在幫助這些物品找到新的用途,或者幫助擁有者更好地管理這些物品。透過使用物品“復活”軟體,使用者可以新增、管理和查詢物品,記錄它們的詳細資訊,方便日後的利用或者轉贈。

1.Planning(計劃)

Estimate(估計):

需求分析:1小時

設計:2小時

程式碼實現:4小時

程式碼複審:1小時

測試:2小時

總結和改進:1小時

總計時間:大約10小時。

2.Development(開發)

2.1 Analysis(分析需求)

需求分析:

軟體的核心需求是允許大學生管理一些閒置物品,包括“新增物品”“刪除物品”“查詢物品”“顯示物品列表”。

需要一個本地資料庫(SQLite)來儲存物品資訊,每個物品包括:名稱、描述和聯絡資訊。

軟體應有使用者友好的 GUI,方便使用者管理物品。

完成情況:程式碼中使用了 SQLite 資料庫管理物品資料,功能涵蓋了需求的增、刪、查、顯示,並實現了 GUI 介面。

2.2 Design Spec(生成設計文件)

設計文件:

系統結構:包括前端 GUI 介面(透過 tkinter)和後端資料庫(透過 sqlite3)。

類的定義:

Item 類用於定義物品資料。

ItemApp 類用於實現所有物品管理功能,包括資料庫的操作和使用者介面。

資料庫設計:物品資料庫 items.db,包含一個表 items,表欄位包括 name(物品名稱,主鍵)、description(物品描述)、contact(聯絡人資訊)。

完成情況:透過檢視程式碼,可以推測設計過程得到了良好的實現,模組劃分明確。

2.3 Design Review(設計複審)

設計複審:

複審內容:

資料庫設計合理,符合物品資訊儲存需求。

物件導向設計:Item 和 ItemApp 類的職責明確。

介面設計:GUI 介面功能完善,但可以進一步改進使用者體驗,例如更豐富的互動提示。

完成情況:程式碼結構清晰,但可以進一步改進 GUI 方面以提供更好的使用者體驗。

2.4 Coding Standard(程式碼規範)

程式碼規範:

使用 Python 編寫,遵循 Python 程式碼的規範PEP8,包括函式和變數命名符合標準。

程式碼中使用了清晰的註釋,函式和方法的名稱能夠清晰表達功能意圖。

改進建議:建議在整個程式碼中保持一致的縮排和註釋風格,適當拆分複雜函式以提高可讀性。

完成情況:程式碼總體規範良好,具有可讀性和維護性。

2.5 Design(具體設計)

具體設計:

程式碼實現了一個 Item 類用於物品屬性的定義,一個 ItemApp 類來處理應用程式的邏輯。

介面設計上,透過 tkinter 實現了增、刪、改、查的功能按鈕。

資料庫使用了 sqlite3,並將各項操作封裝在應用邏輯中。

完成情況:模組化設計較好,清晰地劃分了類和功能。

2.6 Coding(具體編碼)

具體編碼:

實現了物品增、刪、查、顯示的所有主要功能。

透過 tkinter 實現了圖形使用者介面,並整合了 SQLite 資料庫。

編碼細節:每個功能模組(如新增、刪除、查詢物品)都在獨立的函式中實現,程式碼易於理解和修改。

完成情況:功能實現完整,邏輯清晰。

2.7 Code Review(程式碼複審)

程式碼複審:

複審內容:

邏輯檢查:確保每個功能模組的邏輯正確且處理了所有可能的異常情況。

潛在改進:考慮程式碼的可擴充套件性和錯誤處理。

完成情況:複審內容顯示程式碼邏輯合理,且具備良好的可讀性。

2.8 Test(測試)

測試:

對新增、刪除、顯示、查詢物品功能進行單元測試和整合測試。

確保所有功能能夠在正常和異常輸入下正確執行,例如測試新增重複名稱的物品是否有合理的提示。

測試改進:可以增加對 GUI 元素操作的自動化測試。

完成情況:功能測試已基本完成,程式碼透過手動測試來確保其可靠性。

3.其他活動

3.1 Record Time Spent(記錄用時)

記錄用時:為每個階段記錄具體的開發時間,方便後續評估和改進。

3.2 Test Report(測試報告)

測試報告:

測試目的:驗證各功能是否符合設計需求。

測試結果:所有功能均按預期執行,未發現嚴重缺陷。

改進建議:在異常輸入情況下增加更多提示,確保使用者體驗。

3.3 Size Measurement(計算工作量)

程式碼行數:該程式有大約500行程式碼。

複雜度:整體複雜度中等,程式碼結構清晰,類和方法的職責劃分明確。

3.4 Postmortem(事後總結)

優點:

物件導向的設計,模組化明確。

使用 GUI 介面讓程式易於操作。

不足:

介面設計可以更美觀,使用者體驗有提升空間。

可以增加對輸入錯誤和異常情況的處理。

3.5 Process Improvement Plan(提出過程改進計劃)

改進計劃:

GUI 改進:增加更美觀的介面元素,提升使用者體驗。

錯誤處理:加強異常輸入的處理,確保程式健壯性。

功能最佳化:考慮新增匯出\匯入為csv檔案等的功能,提升使用者體驗。

測試自動化:為關鍵功能增加自動化測試,減少迴歸測試的時間。

相關文章