Week 5:“物品復活“軟件開發的PSP數據統計
大學生們往往有些物品舍不得丟掉,但不處理又占用太多空間。本軟件旨在幫助這些物品找到新的用途,或者幫助擁有者更好地管理這些物品。通過使用物品“復活”軟件,用戶可以添加、管理和查找物品,記錄它們的詳細信息,方便日后的利用或者轉贈。
1.Planning(計劃)
Estimate(估計):
需求分析:2小時
設計:4小時
代碼實現:8小時
代碼復審:2小時
測試:4小時
總結和改進:2小時
總計時間:大約20小時。
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文件等的功能,提升用戶體驗。
測試自動化:為關鍵功能增加自動化測試,減少回歸測試的時間。

浙公網安備 33010602011771號