软件工程week2课程作业|“物品复活“软件开发
“物品复活”软件开发
软件概述
“物品复活”软件旨在帮助大学生处理不再使用但又舍不得扔掉的物品。用户可以通过该程序添加、删除、查看和搜索物品信息(包括物品名称、描述和联系人信息),以便将闲置物品“复活”。
项目结构
功能需求
- 添加物品信息
- 删除物品信息
- 显示物品列表
- 查找物品信息
技术选型
- 开发语言:Python
- GUI库:Tkinter(或PyQt5)
- 数据存储:JSON文件(简化管理)
开发工具
- IDE:PyCharm
- 版本控制:Git(发布于GitHub)
PSP时间统计表
| PSP | 开发时间 | |
|---|---|---|
| Planning | 计划 | 4h |
| - Estimate | - 明确需求、时间成本、依赖关系 | 4h |
| Development | 开发 | 10h |
| - Analysis | - 分析需求 | 1h |
| - Design Spec | - 生成设计文档 | 1h |
| - Design Review | - 设计复审 | 15min |
| - Coding Standard | - 代码规范 | 15min |
| - Design | - 具体设计 | 1.5h |
| - Coding | - 具体编码 | 5h |
| - Code Review | - 代码复审 | 20min |
| - Test | - 测试 | 2h |
| Record Time Spent | 记录用时 | 15min |
| Test Report | 测试报告 | 45min |
| Size Measurement | 计算工作量 | 15min |
| Postmortem | 事后总结 | 20min |
| Process Improvement Plan | 提出改进计划 | 15min |
PSP数据统计
计划阶段
在计划阶段,主要进行了市场调研,参考了类似的物品管理软件,并决定使用Python语言进行开发。同时,确认了使用Tkinter库来创建用户界面,并规划了项目结构。在数据存储方面,选择了使用JSON文件,以简化数据处理和存取。
开发阶段
-
分析需求:列出了软件的所有功能,包括添加、删除、显示和查找物品。每个物品以字典格式存储,包含ID、名称、描述和联系人信息。
-
生成设计文档:采用面向对象的设计方法,设计了各个模块之间的交互,并绘制了UI草图。
-
设计复审:对设计方案进行了审查,确认各个模块之间的逻辑关系。
-
代码规范:复习了代码规范,确保代码的可读性和可维护性。
-
具体设计:完成了详细设计,并结合具体编码部分逐步实现。
-
具体编码:实现了核心功能,并逐步进行代码优化。
-
代码复审:审查了代码逻辑,确保没有明显错误,并进行了必要的优化。
-
测试:开发了基本的测试用例,对功能进行了验证。
记录用时
详见上表。
测试报告
可以参考以下链接:演示视频(https://github.com/chensiyuan030105/CS3331.git)。
计算工作量
在不考虑UI的情况下,总代码量为205行,耗时约为1天多。
事后总结
项目功能已基本实现,但存在一些不足之处:
- 使用数据库存储数据可以更好地支持大量数据的管理。
- 可以考虑开发移动端应用,以便更好地服务用户。
- 注释不够详细,需要加强代码文档的撰写。
改进计划
- 学习数据库相关知识,以支持未来项目的扩展。
- 加强代码注释和文档的编写,提升代码可读性。
- 探索云存储方案,以便支持多用户环境。

浙公网安备 33010602011771号