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

news/2024/10/21 1:51:53

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

1.Planning(计划)

Estimate(估计):

需求分析:1小时

设计:2小时

代码实现:4小时

代码复审:1小时

测试:2小时

总结和改进:1小时

总计时间:大约10小时。

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文件等的功能,提升用户体验。

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.ryyt.cn/news/74019.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈,一经查实,立即删除!

相关文章

U4字符串以及正则表达式

Unit4字符串以及正则表达式方法 描述capitalize() 把首字符转换为大写。casefold() 把字符串转换为小写。center() 返回居中的字符串。count() 返回指定值在字符串中出现的次数。encode() 返回字符串的编码版本。endswith() 如果字符串以指定值结尾,则返回 true。expandtabs()…

内网渗透-内网信息收集

简单内网信息收集分享。目录Windows本地基础信息收集权限查看指定用户的详细信息查看防火墙状态机器基础信息查看系统信息查看进程情况软件安装情况查看计划任务网络环境查看网络配置信息查看网络连接情况查看是否存在域扫描网段WMIC收集信息抓本地密码LaZagne抓密码mimikatz 抓…

jenkins安装提示无法启动

想必大家会遇到以下问题: jenkins安装时因错误导致需要二次或者多次安装jenkins.msi,系统会提示sevice jenkinsfailed to start ,verify that you have sufficient privileges to start system services (服务jenkins启动失败,请确认你有足够的权限来启动系统服务) 解决…

《使用Gin框架构建分布式应用》阅读笔记:p101-p107

《用Gin框架构建分布式应用》学习第7天,p101-p107总结,总计7页。 一、技术总结 1.StatusBadRequest vs StatusInternalServerError 写代码的时候有一个问题,什么时候使用 StatusBadRequest(400错误),什么时候使用 StatusInternalServerError(500错误)? 400用于客户端侧的错…

学习web进程

目前html和css js基础了解 可以做一些效果页面 学到110节课就可以做用户注册页面了 加油加油

选择结构程序设计之习题

有3个整数 a,b,c,由键盘输入,输出其中最大的数//有3个整数 a,b,c,由键盘输入,输出其中最大的数#include <stdio.h>int main(void) {int a, b, c;scanf("a=%d b=%d c=%d", &a, &b, &c);if (a > b){int temp = a;a = b;b = temp;}//a <…

27. 移除元素

题目 这道题通过是通过了,但是有很多可以改进的地方: 附上本人第一次写通过的代码: /*slow的作用:作为慢指针,职责是找到val所在的位置quick的作用:作为快指针,职责是找到第一个可以和slow所指的元素互换位置的元素*/class Solution { public:int removeElement(vector&…