“物品复活”软件开发 PSP数据统计

Kuriputon / 2024-10-29 / 原文

计划

  • 需求:设计一个功能相对完整、页面相对美观的简单程序。对软件性能不做过高要求。

  • 时间成本:我在此之前并未做过软件的开发,进度可能会比较慢,因此希望在作业截止前完成就行。

  • 依赖关系:先设计用户数据库、物品信息数据库再进行软件的开发似乎更为合理,但我也没有数据库相关的知识,实际上是先把程序逻辑先写好,再学习、设计数据库,最后处理数据库与程序的交互的。

开发

  • 分析需求:添加物品的信息(物品名称,物品描述,联系人信息),删除物品的信息,显示物品列表,查找物品的信息。

  • 设计文档:整体架构参照了交大柠檬小程序中闲置物品这一板块来设计。

  • 设计复审:参考了较为成熟的系统进行设计,应该较为合理。

  • 代码规范:使用Python开发,遵循Python规范。GUI使用Python内置的tkinter开发。为了室友测试方便,数据库使用SQlite3。

  • 具体设计:

    • 程序运行首先弹出登录界面,用户需要注册才能登录系统。由于时间原因,并没有进行联系方式格式的检查,只对用户名不能重复做了要求。用户数据库的结构和内置在程序数据库中的内容如下:

    • 登录后,显示主页面。菜单栏有“广场”、“闲置”、“求物”、“发布”和“我的”几部分。主页面弹出时默认显示“广场”页面。页面的最上一行显示物品的分类标签,但目前还并未实现标签分类的功能;然后显示两行闲置物品信息和两行求物信息。广场页面支持水平和垂直滚动,点击物品标签上的图片可以跳转到物品详情页面。
      image

      物品详情页面,目前并未实现收藏物品和我想要功能:
      image

    • 闲置和求物页面分别显示数据库内所有状态为“闲置中”和“求物中”的物品,并且可以进行搜索。
      image

    • 发布按钮下拉菜单栏分别有发布闲置和发布求物两个子选项。物品信息发布成功后,再点击广场、闲置和求物区域,刚才发布的物品会被显示出来。
      image

    • 我的按钮下只目前实现了已发布页面,点击可以看到登录用户发布的所有物品,点击物品图片进入详情页面可以删除物品或编辑物品信息。进入其他页面时,删除的物品和物品信息会得到更新。
      image

  • 具体编码:已发布在Github, https://github.com/Kuriputon/Item-Revive

  • 测试:开发过程中测试多回。

记录用时

时间跨度隔了2个星期,并未记录详细时间。

测试报告

由于开发的软件比较简单,并未进行正式的测试。打包后的exe程序经室友测试并无重大问题。

计算工作量

因为想做一个功能较为完整的程序,而且开发程序的经验几乎没有,感觉工作量比较大。

事后总结

感觉成长了很多。

提出过程改进计划

在页面布局上花了较多时间,应该先把基本的逻辑写好,再追求美观。

PSP时间统计