Week 5:“物品复活“软件开发的PSP数据统计

大学生们往往有些物品舍不得丢掉,但不处理又占用太多空间。本软件旨在帮助这些物品找到新的用途,或者帮助拥有者更好地管理这些物品。通过使用物品“复活”软件,用户可以添加、管理和查找物品,记录它们的详细信息,方便日后的利用或者转赠。

1.Planning(计划)

Estimate(估计):

需求分析:2小时

设计:4小时

代码实现:8小时

代码复审:2小时

测试:4小时

总结和改进:2小时

总计时间:大约20小时。

2.Development(开发)

2.1 Analysis(分析需求)

需求分析:

软件的核心需求是允许大学生管理一些闲置物品,包括“添加物品”“删除物品”“查找物品”“显示物品列表”。

需要一个本地数据库(SQLite)来存储物品信息,每个物品包括:名称、描述和联系信息。

软件应有用户友好的 GUI,方便用户管理物品。

完成情况:代码中使用了 SQLite 数据库管理物品数据,功能涵盖了需求的增、删、查、显示,并实现了 GUI 界面。

2.2 Design Spec(生成设计文档)

设计文档:

系统结构:包括前端 GUI 界面(通过 tkinter)和后端数据库(通过 sqlite3)。

类的定义:

Item 类用于定义物品数据。

ItemApp 类用于实现所有物品管理功能,包括数据库的操作和用户界面。

数据库设计:物品数据库 items.db,包含一个表 items,表字段包括 name(物品名称,主键)、description(物品描述)、contact(联系人信息)。

完成情况:通过查看代码,可以推测设计过程得到了良好的实现,模块划分明确。

2.3 Design Review(设计复审)

设计复审:

复审内容:

数据库设计合理,符合物品信息存储需求。

面向对象设计:Item 和 ItemApp 类的职责明确。

界面设计:GUI 界面功能完善,但可以进一步改进用户体验,例如更丰富的交互提示。

完成情况:代码结构清晰,但可以进一步改进 GUI 方面以提供更好的用户体验。

2.4 Coding Standard(代码规范)

代码规范:

使用 Python 编写,遵循 Python 代码的规范PEP8,包括函数和变量命名符合标准。

代码中使用了清晰的注释,函数和方法的名称能够清晰表达功能意图。

改进建议:建议在整个代码中保持一致的缩进和注释风格,适当拆分复杂函数以提高可读性。

完成情况:代码总体规范良好,具有可读性和维护性。

2.5 Design(具体设计)

具体设计:

代码实现了一个 Item 类用于物品属性的定义,一个 ItemApp 类来处理应用程序的逻辑。

界面设计上,通过 tkinter 实现了增、删、改、查的功能按钮。

数据库使用了 sqlite3,并将各项操作封装在应用逻辑中。

完成情况:模块化设计较好,清晰地划分了类和功能。

2.6 Coding(具体编码)

具体编码:

实现了物品增、删、查、显示的所有主要功能。

通过 tkinter 实现了图形用户界面,并集成了 SQLite 数据库。

编码细节:每个功能模块(如添加、删除、查找物品)都在独立的函数中实现,代码易于理解和修改。

完成情况:功能实现完整,逻辑清晰。

2.7 Code Review(代码复审)

代码复审:

复审内容:

逻辑检查:确保每个功能模块的逻辑正确且处理了所有可能的异常情况。

潜在改进:考虑代码的可扩展性和错误处理。

完成情况:复审内容显示代码逻辑合理,且具备良好的可读性。

2.8 Test(测试)

测试:

对添加、删除、显示、查找物品功能进行单元测试和集成测试。

确保所有功能能够在正常和异常输入下正确运行,例如测试添加重复名称的物品是否有合理的提示。

测试改进:可以增加对 GUI 元素操作的自动化测试。

完成情况:功能测试已基本完成,代码通过手动测试来确保其可靠性。

3.其他活动

3.1 Record Time Spent(记录用时)

记录用时:为每个阶段记录具体的开发时间,方便后续评估和改进。

3.2 Test Report(测试报告)

测试报告:

测试目的:验证各功能是否符合设计需求。

测试结果:所有功能均按预期运行,未发现严重缺陷。

改进建议:在异常输入情况下增加更多提示,确保用户体验。

3.3 Size Measurement(计算工作量)

代码行数:该程序有大约500行代码。

复杂度:整体复杂度中等,代码结构清晰,类和方法的职责划分明确。

3.4 Postmortem(事后总结)

优点:

面向对象的设计,模块化明确。

使用 GUI 界面让程序易于操作。

不足:

界面设计可以更美观,用户体验有提升空间。

可以增加对输入错误和异常情况的处理。

3.5 Process Improvement Plan(提出过程改进计划)

改进计划:

GUI 改进:增加更美观的界面元素,提升用户体验。

错误处理:加强异常输入的处理,确保程序健壮性。

功能优化:考虑添加导出\导入为csv文件等的功能,提升用户体验。

测试自动化:为关键功能增加自动化测试,减少回归测试的时间。

posted @   augustlake  阅读(23)  评论(0编辑  收藏  举报
努力加载评论中...
点击右上角即可分享
微信分享提示