软件工程原理-第三次作业

博客地址 https://www.cnblogs.com/MlllXavier/
作业链接 https://edu.cnblogs.com/campus/xnsy/SoftwareEngineeringClass1/homework/2882
GitHub项目地址 https://github.com/MlllXavier/WordCount.git
结对伙伴作业地址
https://www.cnblogs.com/239234l/p/10659437.html 

 

 

 

 

 

 

 

PSP表格(预计):

见伙伴博客
  

代码规范:

  1:缩进:一个tab,四格。可加可不加{}的地方,必须加。

  2:一行最多只能有一个语句。

  3:命名:变量:<类型说明符_单词>,如int i_Word;。

        函数名:第一个单词小写,后面的单词首字母大写。若只有一个单词则小写。

        类名:首字母都大写。

  4:注释:函数要在函数头前面加注释。

        变量在定义变量那一行后面加注释。

 

解题思路:

  要实现的事情:从一个txt文件中读取字符,并解析,根据具体命令输出此文件中的一些信息。且可以输出到文件中。

         可以输出的信息有:字符数;有效行数;单词数;前n个单词;频率最高的前n个单词;按频率排序后的词组,自定义几个单词为一个词组

  分为几个功能模块:输入;输出;;帮助信息;统计字符数;统计行数;统计单词;统计词组;排序;统计频率等。

 

设计实现:

  (我负责将从文件读进来的字符串转化为单词和词组,并统计频率以及排序等,所以这里只写关于我做的方面,其他的方面请查看我伙伴的博客,伙伴的博客链接在博客头中已给出)

  类:1:<IOHAll>输入输出,帮助信息

    2:统计字符数,统计行数

    3:将单词分开,合成词组,统计频率并排序

  实现方法:将TXT文件中的每个字符for循环读入,存在一个字符串中。

       对这一个字符串进行编辑,分离出单词来,存入到list中;对分离出来的单词进行合并,并记下频率,存入到dictionary中,并先按字典排序,再按频率排序。

                                将单词合成词组,存入list中;将词组合并,记下频率,存入到dictionary中,并先按字典排序,再按频率排序。

       对这一个字符串进行编辑,统计出字符数,行数等。

  算法关键:1.编辑从文件读进来的字符串,分离出单词:

         

         2.统计频率:

        

 

代码复审:

 见伙伴博客

 

单元测试:

  测试分离出单词的函数的部分代码:

  

  构造测试函数思路:分别将各种情况的字符串传入到函数中,判断能否正确找出其中的单词

  由于找不到代码覆盖率测试,从网上查看了下,说是community版本的不行,得企业版的才行,所以无法分析代码覆盖率。

 

运行截图:

  

  

 

 

结对过程:

 

 

 

PSP表格(实际):

 见伙伴博客

心得体会:

  结对的过程中,对一个共同的模块会有不同的方案,分析对比几个个方案的优缺点,选出比较好的方案来作为最终的实现方案。

  这样就会达成1+1+1>3的效果。

posted @ 2019-04-05 19:51  MlllX  阅读(164)  评论(2编辑  收藏  举报