項目名稱: Item Revival Software
開發者: 唐卓皓 522080910024
開發語言: Python
開發框架: Tkinter (用于圖形用戶界面)
主要功能: 管理物品信息,包括添加、刪除、顯示、和搜索物品信息。
1. 計劃 (Planning)
- 估算時間和資源需求: 本項目預計開發時間為2周,主要開發人員1人。資源需求包括Python解釋器和Tkinter庫,無其他外部依賴。
- 依賴關系說明: 項目依賴于Python標準庫的Tkinter模塊,用于創建圖形用戶界面。代碼實現不依賴其他第三方庫。
- 開發目標: 開發一個簡潔的物品管理工具,幫助用戶存儲和查詢物品信息,解決大學生在處理閑置物品方面的難題。
2. 開發 (Development)
- 需求分析:
- 目標用戶:大學生和有管理物品需求的用戶。
- 功能需求:用戶可以添加物品名稱、描述、和聯系方式,能夠查看物品列表,并能按名稱搜索物品。
- 非功能需求:軟件界面應簡潔,操作流暢,響應迅速。
- 生成設計文檔 (Design Spec):
- 界面設計:使用Tkinter創建主要界面,包括名稱輸入框、描述輸入框、添加按鈕、刪除按鈕、搜索框和列表顯示區域。
- 數據存儲:使用列表結構存儲物品信息。
- 主要功能模塊:GUI界面模塊、添加物品模塊、刪除物品模塊、搜索功能模塊。
- 設計復審 (Design Review):
- 本設計方案經過初步自我評審,主要在功能實現和用戶交互方面進行優化。
- 編碼規范 (Coding Standard):
- 遵循Python PEP 8編碼規范,包括命名風格、注釋風格、代碼縮進等。
- GUI元素命名清晰、邏輯層次分明,如
name_label表示物品名稱標簽,name_entry表示名稱輸入框。
- 具體設計 (Design):
- 項目整體采用面向對象設計,主要通過
RevivalApp類實現功能,將界面和邏輯分離。 - 主界面使用網格布局,確保元素排布整齊,用戶體驗友好。
- 項目整體采用面向對象設計,主要通過
- 具體編碼 (Coding):
- 使用
tkinter創建圖形界面,構建類RevivalApp來實現應用的主要功能。 - 編寫了創建UI元素的函數
create_widgets,添加物品、刪除物品和搜索功能均在類方法中實現。
- 使用
- 代碼復審 (Code Review):
- 代碼經過自我檢查,保證無明顯邏輯錯誤和語法錯誤。后續建議通過GitHub等平臺進行進一步的代碼評審。
- 測試 (Test):
- 目前主要為手動測試,包括以下測試場景:
- 輸入物品名稱和描述后點擊“添加”,檢查是否成功添加到列表。
- 在搜索框中輸入名稱并搜索,查看是否準確返回結果。
- 刪除功能測試:在列表中選擇物品后刪除,確保項目列表更新。
- 后續可增加自動化測試,如使用
unittest模塊編寫單元測試。
- 目前主要為手動測試,包括以下測試場景:
3. 記錄用時 (Record Time Spent)
- 開發過程用時記錄:
- 項目需求分析:1小時
- 設計文檔編寫:2小時
- 編碼實現:5小時
- 手動測試和調試:3小時
- 總用時:11小時
4. 測試報告 (Test Report)
-
測試結果
:
- 添加功能:通過
- 刪除功能:通過
- 搜索功能:通過
- 界面響應速度:通過
-
問題記錄: 無明顯問題,但在搜索時,建議優化匹配機制以支持模糊搜索。
5. 計算工作量 (Size Measurement)
- 代碼行數: 約150行代碼。
- 模塊數量: 3個主要功能模塊(添加、刪除、搜索)。
- 復雜度: 低復雜度,適合小型項目。
6. 事后總結 (Postmortem)
- 總結: 項目整體開發順利,基本實現了預期功能,符合項目需求。但手動測試耗時較多,后續可考慮增加自動化測試以提高開發效率。
- 不足: 缺少單元測試,缺乏詳細的文檔說明。
7. 提出過程改進計劃 (Process Improvement Plan)
-
改進建議
:
- 添加自動化測試,提高測試效率,減少手動測試時間。
- 優化代碼結構,將GUI邏輯和業務邏輯進一步分離,增強可維護性。
- 增加日志功能,記錄用戶操作和異常信息,便于調試和維護。
- 考慮使用SQLite數據庫或CSV文件存儲數據,以便在應用重啟后仍能保留物品信息。
- 設計和編寫詳細的用戶手冊,方便用戶了解操作步驟。
浙公網安備 33010602011771號