201671030106何启芝 《英文文本统计分析》结对项目报告

项目 内容
这个做业属于哪一个课程 >>2016级计算机科学与工程学院软件工程(西北师范大学)
这个做业的要求在哪里 >>实验二 软件工程我的项目
课程学习目标 1.体验软件项目开发中的两人合做,练习结对编程(Pair programming)。
2.掌握Github上增量发布软件的操做方法。
本次做业在哪一个具体方面帮助咱们实现目标 第一次体验完整的工程

任务一:

项目 内容
点评博客 >>201671030119词频统计软件项目报告
GitHub >>结对方实验二GitHub连接地址
点评内容 仔细看了你的词频统计的博文,整体设计实现的还不错,也实现了大部分功能。可是同时呢,也存在一些问题。好比在你的博文中就缺了一部份内容——设计实现,不知道在撰写博文的时候是遇到了什么问题呢?其次,这个项目没有扩展功能,这个也是相对于老师的要求来讲没有完成的一个点;另外,我也发现你的博文中有错别字,这个但愿你能够改正。
点评心得 我看完唐盖强同窗实验二我的项目的博文以及代码,我以为总的来讲,功能实现地还不错。可是在点评的时候我也说了,还存在一些问题。这些问题其实也是我所存在的,功能是实现了,可是实现地还不够完整,因此这些地方是须要咱们共同去进步的。就但愿在本次实验的结对项目中咱们可以很好地配合,共同完成这个项目。

任务二:

a.需求分析

(1)程序可输出文本单词及对应的词频数;
(2)可查看并输出指定单词的单词及词频数;
(3)可将单词及词频存入文件result.txt中
(4)单词频数可视化柱状图要求是如下样式:
(5)统计该文本行数及字符数;
(6)各类统计功能均提供计时功能,显示程序统计所消耗时间(单位:ms);
(7)可处理任意用户导入的任意英文文本;
(8)人机交互界面要求GUI界面(WEB页面、APP页面均可);
(9)附加分功能:统计文本中除冠词、代词、介词以外的高频词;
(10)附加分功能:统计前10个两个单词组成的词组频率。html

b.软件设计

类之间的关系:

c.核心功能代码展现

- 统计文本中除介词的高频词:
for(Entry<String,Integer> entry : aMap2.entrySet()) 
             { 
                     F=0;
                     for(int s=0;s<Preposition.length;s++)    /* 数组Preposition中存放介词*/
                     {
                         if(Preposition[s].equals(entry.getKey()))
                         { 
                             F=1;
                         } 
                     }
                     if(F==0)
                     {
                         text.append("单词: " +entry.getKey() + "      次数   :" + entry.getValue()+"\r\n"); 
                         count=count+1; 
                     }
                     if(count==Integer.parseInt(num.getText()))
                         break;
                 }
- 统计文本行数与字符数:
StringBuffer sb1=  new  StringBuffer();
                try {
                    String file1 =file_.getText();
                    BufferedReader in = new BufferedReader(new FileReader(file1));
                    while ((str = in.readLine())!= null) 
                    {
                        str = str.toLowerCase();
                        sb1.append(str);
                        line++;
                    }
                    text.append("文件行数  :  "+line  +"\n");
                    
                    in.close();
                    String str2 = sb1.toString();
                    String[] wordsArr1 = str2.split("[^a-zA-Z]");  //过滤出只含有字母的  
                    for (String word : wordsArr1) 
                    {  
                        wordCount++;
                    } 
                    text.append("字符数  :"+ wordCount  + "\n");
                } catch (IOException e1) 
                {
                    e1.printStackTrace();//printStackTrace()方法是打印异常信息在程序中出错的位置及缘由
                }

d.程序运行结果

-  登录界面:


- 菜单界面:

- 统计该文本行数及字符数:

- 将单词及词频存入文件result.txt中

- 查看并输出指定单词的单词及词频数:

- 统计文本中除冠词、代词、介词以外的高频词:

git

e.结对照片

f.PSP

PSP展现github

PSP2.1 任务内容 计划共完成须要的时间(min) 实际完成须要的时间(min)
Planning 计划 10 20
Estimate 估计这个任务须要多少时间,并规划大体工做步骤 20 30
Development 开发 300 420
Analysis 需求分析(包括学习新技术) 120 100
Design Spec 生成设计文档 120 120
Design Review 设计复审 30 20
Coding Standard 代码规范(为目前的开发制定合适的规范) 10 8
Design 具体设计 90 120
Coding 具体编码 120 180
Code Review 代码复审 30 35
Test 测试(自我测试,修改代码,提交修改) 30 40
Reporting 报告 60 70
Test Report 测试报告 20 25
Size Measurement 计算工做量 20 20
Postmortem & Process Improvement Plan 过后总结,并提出过程改进计划 20 30

总结:此次结对项目给我最大的感觉就是合做真的很重要,两我的分工明确的话,一块儿作项目效率真的很高。此次的项目可能没有作得很成功,好比扩展功能只实现了一个,还有那个柱状图因为时间和技术等缘由没有完成,可是在我看来这已是一个不错的经历不错的体验,相信之后的更多的机会会让我更加适应合做带来的好处。
点此查看源码编程

相关文章
相关标签/搜索