作业1 物品复活软件开发
PSP:
计划:
大学生常常有一些物品不想扔掉,又占空间。该项目的目标是编写一个软件,帮助用户管理这些不需要但不想丢弃的物品。软件应具备添加、删除、展示和查找物品的功能。
时间成本:大约2h开发。
依赖项:使用Python,采用PyQt5创建图形用户界面,数据存储使用JSON文件格式,最终生成可执行的.exe文件。
开发:
分析需求: 添加物品(包括物品名称、描述、联系人信息)、删除物品、显示所有物品、查找特定物品(通过名称或描述)
系统应具有良好的用户交互体验,并在本地持久化保存物品信息。
生成设计文档:系统采用模块化设计:GUI界面模块、数据处理模块(增删查改)、持久化模块(JSON存储)。GUI将包括表单、列表、搜索框和操作按钮。按钮功能划分为:添加、删除、显示、查找。
代码规范:尽量避免复杂嵌套逻辑,保证代码简洁、易读。在项目中使用适当的注释,特别是在重要逻辑部分。
具体设计:使用PyQt5框架设计用户界面,布局使用QVBoxLayout和QHBoxLayout组合。用户输入字段包括物品名称、描述、联系人信息,使用QLineEdit组件。使用QListWidget展示物品列表。按钮功能关联相应的添加、删除、查找、展示操作。
具体编码:编写程序的主逻辑,完成界面搭建、各组件功能绑定以及数据持久化。
代码分模块开发,首先实现GUI,随后开发增删查改功能,最后实现数据的JSON保存和读取。
代码复审:复审代码逻辑是否清晰,是否符合设计规范,是否存在冗余代码。与同事合作进行复审,确保代码易维护并符合规范。
测试:自测:针对添加、删除、显示、查找功能进行全面测试,验证程序的稳定性。修改代码:修复在测试中发现的逻辑错误或交互不合理的部分,优化用户体验。提交修改:通过版本控制工具(如Git)提交修改后的代码,确保代码的可追溯性。
记录用时: 2h
测试报告:
添加功能测试: 成功添加物品,信息完整且持久化。
删除功能测试: 成功从物品列表中删除指定物品。
展示功能测试: 成功展示所有存储的物品。
查找功能测试: 成功通过名称或描述查找物品,搜索结果正确。
事后总结:
项目整体按照预期进行,功能实现齐全,代码逻辑清晰。
PyQt5在GUI设计中表现出色,易于布局和用户交互的实现。
数据存储采用JSON格式,适合项目的持久化需求,处理数据方便。
提出过程改进计划:
在未来的项目中可以考虑引入单元测试,确保每个模块的功能独立测试,提升代码质量。
增加开发期间的中间版本记录,便于追溯更改历史。
优化界面设计,进一步提升用户体验。