计划

  • 需求:大学生经常有些物品觉得扔掉可惜,不处理又觉得浪费自己的地方。因此本项目旨在设计一个功能相对完整、页面美观的简单程序,支持物品信息的添加、删除、查找、显示功能。

  • 时间成本:由于本人缺少过往软件开发经验,因此在项目开始前未对时间成本进行估计,希望在保证功能完成的前提下尽可能高效地完成。

  • 依赖关系:实际开发过程中,数据存储直接通过内存管理完成,因此只需编写程序的逻辑部分。

开发

  • 分析需求:明确了基本功能需求,包括物品添加、删除、查找、显示功能。虽然未进行性能优化,但基本功能已覆盖日常需求。

  • 设计文档:由于本项目只由我本人一人完成,无沟通成本,故仅设计了简单的设计文档。

  • 设计复审:通过测试,界面友好,程序可用。

  • 代码规范:遵循Python规范,使用 Tkinter 库开发 GUI 界面。

  • 具体设计:程序运行后首先弹出GUI界面,用户可通过输入物品名称、描述和联系人后将其添加或删除,并通过对名称和描述查找物品,其中描述查找将遵循模糊匹配。

  • 具体编码:详见Github:https://github.com/dy321/CS3331ItemResurrect/tree/main

  • 测试:由于本项目所提供的需求精简明确,因此仅进行了手动测试,测试后发现了数据存储设计的缺点,并优化了物品查找逻辑的问题。

记录用时

主要集中在以下阶段:
需求分析:约 10%
设计:约 10%
编码:约 8 50%
测试与修复:约 30%

测试报告

由于时间和资源有限,测试主要以手动测试为主。经过简单的测试,确认以下功能正常:

  • 物品添加:能够成功添加物品名称、描述和联系人信息,支持名称重复但信息不同的物品。
  • 物品删除:根据物品名称删除所有匹配的物品,功能正常。
  • 物品查找:基于物品名称的模糊查找与物品名称和描述的联合查找均通过测试。
  • 显示所有物品:列表功能显示正常,界面清晰,用户易于操作。

发现的问题:
界面美观度:测试反馈页面布局略显简陋,按钮和文本框的对齐可进一步优化。
错误处理:输入为空时,程序应有更多提示和防止误操作的机制。

计算工作量

估计完成优化后,约 1000-1200 行代码(包括注释与错误处理部分)

事后总结

对未来开发项目有了更多信心。

提出过程改进计划

  • 优先功能逻辑:将基本功能实现放在首位,界面设计等在核心功能完成后进行。
  • 适当测试:简单的功能可以通过用户测试,复杂系统则需要正式测试来发现潜在的bug。
  • 数据库设计:所有用户和物品信息均存储在程序内存中,关掉程序后数据将丢失。
posted on 2024-10-20 21:02  o_Ody  阅读(22)  评论(0)    收藏  举报