个人第四次作业

Github地址 地址
作业要求地址 地址
结对伙伴博客地址 https://home.cnblogs.com/u/robertqin/
结对伙伴学号 201731062432

1.1 结对过程

1.2 psp表格

PSP2.1 Personal Software Process Stages 预计耗时(分钟) 实际耗时(分钟)
Planning 计划 1200 1320
Estimate 估计这个任务需要多长时间 1200 1320
Development 开发(需求分析-具体编码) 730 830
Analysis 需求分析(包括新技术学习) 120 150
Design Spec 生成设计文档 60 80
Design Review 设计复审(和同学审核设计文档) 60 80
Coding Standard 代码规范(为目前的开发制定规范) 60 70
Design 具体设计 60 80
Coding 具体编码 360 400
Code Review 代码复审 100 110
Test 测试(自我测试、修改代码、代码提交) 130 140
Reporting 报告 100 120
Test Report 测试报告 60 90
Size Measurement 计算工作量 40 60
Postmortem & Process Improvement Plan 事后总结,并提出过程改进计划 50 70
total 总计 1200 1320

计算模块接口的设计与实现过程

  • 我使用了三个类,handlefile,readfile,program。我的总体思路是首先使用readfile这个类去读取文件并使用handfile去处理文件。其中readfile包含三个函数
    :read(),check(),openfilname,read()用于读取指令,check用于检查指令是否正确,本程序唯一指令为wordcount.exe -i 文件名.txt且文件放于debug文件夹内。openfilename用于打开文件并使用handlefile中的函数
  • handlefile类包括六个函数:handleC()用于统计字符数,handle
    W()用于统计单词大于4的单词数,handleL()统计行数,sort()进行单词频数排序并输出前十个。use()用于调用这些函数。outputfile()用于输出统计结果到debug文件夹内的result.txt。
  • 流程图

  • 关键思路。这里我主要使用了正则表达式进行文本文件的分割,使用了hash表进行单词排序

代码复审过程。

在编程过程中我们遇到了一些问题。比如文件读取时使用的编码格式不同,造成了时间上的浪费,已经变量名的不统一。

性能分析

运行结果

总结

这次作业难度对于我们很大,有些功能对于我们来说还是很难实现,对于面向对象的掌握还是
很浅薄,我们希望下次能够做的比这次好。

posted on 2019-10-14 11:04  wonihello  阅读(120)  评论(1编辑  收藏  举报