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个两个单词组成的词组频率。

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()+"
"); 
						 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  +"
");
			        
		            in.close();
		            String str2 = sb1.toString();
					String[] wordsArr1 = str2.split("[^a-zA-Z]");  //过滤出只含有字母的  
					for (String word : wordsArr1) 
					{  
						wordCount++;
					} 
					text.append("字符数  :"+ wordCount  + "
");
				} catch (IOException e1) 
				{
			       	e1.printStackTrace();//printStackTrace()方法是打印异常信息在程序中出错的位置及原因
				}

d.程序运行结果###

-  登陆界面:


- 菜单界面:

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

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

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

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

e.结对照片###

f.PSP###

PSP展示

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

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

原文地址:https://www.cnblogs.com/qz-h/p/10576003.html