"物品复活"个人PSP统计
Planning
- 需求:编写一个使用GUI的物品复活程序,要求实现添加物品,查找物品,删除物品,显示物品信息的功能
- 时间成本和依赖:学习GUI编程方法预计2h,工程开发预计5h,开发总结预计1h,总计8h
Development
- Analysis:
- 要求设计程序实现添加物品,查找物品,删除物品,显示物品信息四类功能,并通过GUI实现界面的可视化
- 过程涉及到python代码的编写,GUI界面的设计,能够实现添加,删除,查找的数据结构等
- Design Spec:
- 程序主框架:python
- GUI界面:tinker
- Design Review:
- Coding Standard:
- 使用upperCamelCase和lowerCamelCase命名法
- 主要变量和函数列表:
变量:
itemName:物品信息
itemDescription:物品描述
contactsInfo:联系人信息
buttonReturn:返回按键
函数:
addItems:添加物品
deleteItems:删除物品
findItems:查找物品
returnToHomePage:返回初始界面
- Design:
- 通过python的list类作为管理物品信息的数据结构
- 设计AddItems DeleteItems ListItems FindItems四个类实现上述功能
- 通过tinker进行GUI设计
- GUI界面设计四个功能和退出程序的交互按钮,每个功能中通过文本输入功能键入各类信息,物品查找使用遍历查找
- Coding:
- 见https://github.com/romiqi/itemrevive
- Code review:
- Test:
- debug测试无问题
Record Time Spent
- 学习GUI编程方法1h,代码编写5h,debug和改进设计3h,开发总结1h,总计10h
Test Report
- 测试无问题
Size Measurement
- 中等偏低
Postmortem
- GUI界面设计和改进占了大部分设计的时间,其次是功能设想和设计,再次是算法设计,程序能够符合预期运行。
- 先进行GUI开发的学习使得任务由难化简
Process Improvement Plan
- 程序的功能基本符合预期,GUI界面过于简单,可以进行美观性的提升。
- 编程过程主要问题在于功能和GUI界面初步设计时太简单,导致代码编写过程中反复修改,今后的开发过程中,应该在编码之前进行详尽的各方面设计,减少编码期间的不必要调试和修改的工作量。