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界面初步设计时太简单,导致代码编写过程中反复修改,今后的开发过程中,应该在编码之前进行详尽的各方面设计,减少编码期间的不必要调试和修改的工作量。