首页 > 其他分享 >第一次开发小软件的PSP

第一次开发小软件的PSP

时间:2022-10-23 18:23:53浏览次数:64  
标签:函数 Excel 第一次 列表 查找 添加 物品 软件 PSP

“你帮我助”小软件的PSP

1. 计划

  • 需求:允许添加物品的信息,保存物品信息,删除物品的信息,显示物品列表,也允许查找物品的信息
  • 时间成本:4个小时
  • 预测的代码长度:100行

2. 开发
2.1 分析需求:
主要问题是数据的保存,并且能够在这个保存文档中去编辑数据。操作总共只有4个:添加、删除、显示列表、查找。

2.2 设计思路:
尽量把所有的代码都分成几个模块,用函数作为模块。主程序实际上只需要包含一条语句(第一个函数的调用)。
把数据都保存到一个Excel文件。程序开始运行时用pandas读这个Excel文件,造成一个DataFrame。

2.3 代码规范:
标识符命名规则选用Windows风格(如:FunctionName, variableName)

2.4 具体设计:
第一个函数要读Excel文件,产生DataFrame。
第二个函数是要给用户提供选项:显示物品列表、查找物品、添加物品、退出程序。(不需要直接有删除物品的选项,因为删除之前先应该查找物品)。
这些选项各应该调用不同的函数。这些函数为:
显示物品列表函数。
查找物品函数(查找了之后要能够调用添加或删除函数)。
添加物品函数。
删除物品函数(由查找函数被调用)。
退出程序函数(应该把所有数据保存到Excel文件)。

2.5 编码时遇到了的问题+修改:

  • 如果文件夹还没有Excel文件的话,要能够自动产生表格。因此,先用os.path.exists()函数来判断文件夹里面是否有相应的Excel文件。
  • 为了更明确的分功能,把第二个函数分成两个函数:第一个给用户显示选项,第二个收到用户的输入,并调用相应的函数。
  • 因为添加物品有不同的路径(用户可以直接选择添加物品选项,然后再输入物品名,也可以先查找物品,然后再选择添加),也有不同的状态(物品可能已经在列表中,也可能不在列表中),所以要分不同情况。另外也要考虑到在列表的哪一个位置添加物品(比如,如果是新物品,要添加在列表的最后,但如果是已有物品,应该添加在以前的位置)。因此,最终选择把添加函数分3个函数:一个是添加已有物品,一个是添加新物品,一个是判断物品是已有物品或者新物品。
    如果用户直接选择添加物品,将调用这个判断函数。但如果用户通过查找选择添加物品,可以直接调用其他两个函数之一。

2.6 测试:
因为代码比较小,所以没有做最终直接做了集中测试。把所有可能的路径都跑了一下,以便确认所有的流程都正确。

3. 记录用时
10-07 设计:60分钟
10-17 编码:150分钟
10-21 编码+测试:120分钟
写注释:30分钟
写说明文档:20分钟
写PSP:50分钟
总时间:430分钟(7个小时10分钟)
大概是预测时间的两倍。

4. 工作量(LOC)
LOC:101行代码
.py文件的行数:164行(包括空行和注释)
工作量跟预测是基本一致的。

5. 事后总结
实际用时跟预测用时差得很多,我好像低估了开发一个软件所需要的时间。只不过,在编码+测试这个阶段总共花了4个半小时,跟预测的4个小时很接近。我在预测的时候就是没有考虑进去设计时间和写文档的时间,因为我以为这些事情应该很快。结果表明多于1/3的时间就是花了在设计+写文档和注释,所以这个事情后面不能再忽略。
写代码的时候,虽然遇到了一些问题,但是这些问题都很快就解决了。代码花了这么多的时间的主要原因是已经很久没有编码,所以每一行都写得比较慢。

6. 提出过程改进计划
首先是要更重视设计与写文档和注释占用的时间。第二是要更熟练写代码的过程,以便提高编码速度。第三是要更认真的记录用时,因为现在都是做完了一部分之后才去估计花了多少时间,但实际上应该量得更准确。

标签:函数,Excel,第一次,列表,查找,添加,物品,软件,PSP
From: https://www.cnblogs.com/arnauld/p/16819057.html

相关文章