软件工程课程作业——物品“复活”软件
项目概述:
大学生经常有些物品觉得扔掉可惜,不处理又觉得浪费自己的地方。该软件可以实现物品“复活”。该软件允许通过命令行窗口添加物品的信息(物品名称,物品描述,联系人信息),删除物品的信息,显示物品列表,也允许查找物品的信息。
项目名称: 旧物品重新利用软件
开发者: 周万垚
开发日期: 2024年10月19日
代码:https://github.com/zhiwuyua/ReuseItemsApp/
1. 计划阶段
估计
项目需求: 开发一个基于命令行的旧物品重新利用软件
估计总时间: 4小时
主要功能:
添加物品
删除物品
查找物品
显示所有物品
数据持久化存储
2. 开发阶段
需求分析
用户需要一个简单的界面来管理旧物品信息
数据需要持久化存储
基本的CRUD (创建、读取、更新、删除) 功能
设计规范
使用Python语言开发
采用面向对象编程方法
使用JSON文件进行数据存储
设计复审
由于是个人项目,设计复审由自己完成
确认设计满足所有需求
检查是否有优化空间
代码规范
使用有意义的变量和函数名
添加适当的注释
具体设计
创建ReuseItemsApp类来封装所有功能
使用列表存储物品信息
每个物品包含ID、名称、描述和信息
编码
实现ReuseItemsApp类的所有方法
创建主运行循环来处理用户输入
代码复审
检查代码逻辑
确保错误处理得当
验证所有功能正常工作
测试
手动测试所有功能
修复发现的bug
优化用户交互
3. 记录用时
计划阶段: 30分钟
需求分析: 30分钟
设计: 45分钟
编码: 120分钟
测试和调试: 60分钟
总计: 4小时45分钟
4. 测试报告
所有基本功能(添加、删除、查找、显示)均正常工作
数据成功保存到JSON文件并可以正确读取
用户输入验证工作正常
未发现明显的bug或崩溃问题
5. 计算工作量
总代码行数: 约120行 (不包括空行和注释)
功能点: 5个 (添加、删除、查找、显示、数据持久化)
6. 事后总结
做得好的地方:
成功实现了所有要求的功能
代码结构清晰,易于理解和维护
使用了面向对象编程,提高了代码的可重用性
有待改进的地方:
可以添加更多的错误处理和用户输入验证
界面可以进一步优化,提供更友好的用户体验
可以考虑添加更高级的功能,如编辑物品信息、按多个条件搜索等
7. 过程改进计划
在下一个项目中,将更注重前期的需求分析和设计阶段,以减少后期修改的需求
引入单元测试,提高代码质量和可维护性
学习并应用更多的设计模式,使代码更加健壮和灵活
尝试使用版本控制系统(如Git)来更好地管理代码
探索使用数据库而不是JSON文件来存储数据,以便处理更大量的数据