项目地址:https://github.com/specture724/ItemReviveApp
作业要求
大学生经常有些物品觉得扔掉可惜,不处理又觉得浪费自己的地方。请你编写一个物品“复活”软件
该程序允许添加物品的信息(物品名称,物品描述,联系人信息),删除物品的信息,显示物品列表,也允许查找物品的信息
你实现的程序可以采用命令行方式使用,但是鼓励提供GUI
程序实现完毕后,发布在Github上
进行PSP数据的统计,发布在你的技术博客上(内容请按照下表)
PSP分析报告
PSP 分析文档
项目代码量:150 行 Python 代码
开发目标:编写、调试并完善一段 Python 代码,符合项目需求并通过测试。
1. 计划阶段 (Planning)
- 任务:明确需求和相关因素,估算时间、成本和依赖关系。
- 时间估计:30 分钟
- 说明:分析 ItemReviveApp.py 项目的基本功能(增,删,查),用户界面设计、数据管理和基本的增删查功能需求。预估项目代码量(约 150 行),并分配各阶段的开发时间。
2. 开发阶段 (Development)
2.1 需求分析 (Analysis)
- 任务:分析代码的具体需求,包括输入、输出、功能和边界条件。
- 实际时间:20 分钟
- 说明:明确应用的主要功能:允许用户添加物品信息、删除物品、显示所有物品、按名称查找物品,并通过双击查看物品详情。需求中包含对数据持久化(保存至 JSON 文件)、界面交互(Listbox 列表显示)等具体要求。
2.2 设计文档生成 (Design Spec)
- 任务:编写设计文档,详细描述代码的实现方式、主要模块和关键算法。
- 实际时间:30 分钟
- 说明:在设计文档中确定应用的各个模块,包括数据加载与保存(通过 JSON 文件)、界面组件(Listbox 和按钮等)、增删查功能实现,以及双击显示详细信息的功能。定义模块间的接口和功能调用顺序,确保各模块可以协同工作。
2.3 设计复审 (Design Review)
- 任务:复查设计文档,确保设计合理,发现潜在问题。
- 实际时间:15 分钟
- 说明:复查设计文档,检查各模块的接口和交互是否合理,确保数据存储、界面交互等细节设计正确无误。特别确认双击查看详情的功能逻辑,以避免数据在查找过滤后显示错误的情况。
2.4 代码规范 (Coding Standard)
- 任务:为开发制定合适的代码规范,包括命名、注释、代码格式等。
- 实际时间:10 分钟
- 说明:确定代码风格,如函数和变量命名规范、注释标准、缩进等,确保代码在增删查、数据持久化、界面更新等操作中保持一致性。为 tkinter 界面组件和功能模块的命名制定规则,便于代码的可读性和后续维护。
2.5 具体设计 (Design)
- 任务:根据设计文档进行详细设计,准备编码。
- 实际时间:25 分钟
- 说明:在详细设计中,将整体界面划分为功能区域:物品列表显示区(Listbox)、操作按钮区(添加、删除、查找、显示所有)和详细信息窗口设计。并详细规划数据的加载和保存逻辑,以确保操作完成后数据会更新到 items.json 文件中。
2.6 编码 (Coding)
- 任务:根据设计文档实现代码,编写具体功能模块。编码先实现了基于命令行的原始版本,后面将其改为GUI
- 实际时间:90 分钟 = 30 分钟命令行版本 + 60 分钟GUI版本
- 说明:完成项目的代码实现,包括主程序结构、各功能按钮的实现、双击查看详情的功能、数据加载和保存的实现(JSON 文件读写)等。确保每个功能模块独立、清晰,并在代码中加入注释,便于后续调试和维护。
2.7 代码复审 (Code Review)
- 任务:复查代码,确保代码符合规范,检查潜在问题。
- 实际时间:15 分钟
- 说明:复查代码的逻辑,检查输入处理、异常处理、数据更新(保存至 JSON 文件)是否正确,确保所有功能模块在不同情况下(如搜索状态和非搜索状态)均能正确工作。重点检查双击查看详情功能在搜索后是否能够显示正确的数据。
2.8 测试 (Test)
- 任务:对代码进行自测和修正,确保代码符合功能需求。
- 实际时间:45 分钟
- 说明:对应用进行全面测试,包括基本功能(增、删、查)和界面交互的正确性。特别测试双击查看详情是否能在搜索结果中正确显示详细信息,确认数据在 JSON 文件中的正确性。修复在测试中发现的 3 个缺陷,分别涉及输入处理、数据持久化和查找功能逻辑。
3. 时间记录 (Record Time Spent)
- 任务:记录每个阶段的时间,方便后续分析和优化。
- 总时间:280 分钟
4. 测试报告 (Test Report)
- 任务:记录测试结果和缺陷修复情况,确保代码质量。
- 缺陷数:3 个
- 缺陷修复时间:15 分钟
- 说明:在测试中发现 3 个缺陷,涉及输入处理、边界条件和异常处理,修复时间为 15 分钟。
5. 代码量统计 (Size Measurement)
- 任务:统计代码行数(LOC)。
- 代码行数:150 行
6. 事后总结 (Postmortem)
- 总结:本项目按时完成了功能实现,并进行了多次复查和修复,最终通过了测试。
- 改进点:
- 加强需求分析阶段,尽早识别潜在的边界情况。
- 在编码前确保设计文档详细到位,以减少编码过程中的不确定性。
7. 过程改进计划 (Process Improvement Plan)
- 改进建议:
- 提高设计阶段的时间分配,确保所有细节在编码前准备好。
- 加强测试阶段的缺陷预防,通过更早的设计复查和代码复审减少后续的修复工作量。
此 PSP 分析文档可以帮助您评估项目的开发过程,总结经验并制定未来的改进措施,以提升开发效率和代码质量。
标签:功能,软件开发,代码,分钟,v1.0,软件工程,文档,物品,设计 From: https://www.cnblogs.com/specture/p/18523795