201671010453钟红耀英文文本统计分析》结对项目报告

GitHub:https://github.com/zhonghongyao/ssm.git

博文简要信息表

项目 内容
软件工程 任课教师博客主页链接
结对项目要求 作业链接地址
课程学习目标 熟悉软件开发整体流程,提升自身能力
本次作业在哪个具体方面帮助我们实现目标 第一次体验一个完整的工程

任务一:

点评信息

||||
|--|--|
|点评博客:|201671010444 夏向明 实验二个人项目|
|GitHub:|https://github.com/xiaxiangming/-|
|点评内容:|项目设计上条例分析清楚,但实现上和大多数同学一样,代码太过于标准,希望能有自己的代码风格和实现思路|
|点评心得:|希望助教可以在技术方面对我们提出建设性的意见||

任务二:

1.需求分析

1.统计单词词频柱形图 2.统计该文本行数和字符数 3.各种统计统计功能,显示程序所消耗时间 4.可处理任意用户导入的任意文本 5.统计文本中除冠词,代词,介词之外的高频词

2. 软件设计-使用类图

类型 内容
数据 设计数据库的E-R图
工具 IDEA,Navicat,Git,Github,maven,nginx
框架 ssm
图形 Echarts
编程技术 WEB
开发手册 阿里巴巴开发手册
图片名称

3.展示核心功能代码


数据层接口层:




insert into word
(word,count)
values

(
#{item.word},
#{item.count}
)



insert into word_count


wordLine,


charCount,



#{wordLine,jdbcType=INTEGER},


#{charCount,jdbcType=INTEGER},



insert into time_count
(type,time)
values

(
#{item.type},
#{item.time}
)

控制层:

@Controller
@RequestMapping("/word")
public class WordController {

@Autowired
WordService wordService;

@RequestMapping(value = "/count" )
public @ResponseBody
ResultResponse selectWord()throws CustomException{
List list=wordService.selectWord();
if(list.size()>=1)
System.out.println("有数据");
ResultResponse rs=new ResultResponse(list,0,"");
return rs;
}

@RequestMapping(value = "/countOther" ,method = RequestMethod.POST)
public @ResponseBody
ResultResponse selectWordOther()throws CustomException{
String str="at,before,after,since,still,until,upon,on,from,between,by,in,during,for,through,\n" +
"within,over";
String strArray[]=str.split(",");
List list=wordService.selectWord();
for (int i = 0; i <list.size() ; i++) {
String word=list.get(i).getWord();
if(word!="the"&&word!="an"&&word!="a"){
boolean flag=true;
for (int j = 0; j <strArray.length ; j++) {
if(wordstrArray[j])
flag=false;
}
if(flag
false){
list.remove(i);
}

}
}
if(list.size()>=1)
System.out.println("有数据");
ResultResponse rs=new ResultResponse(list,0,"");
return rs;
}

@RequestMapping("/wordLine")
public @ResponseBody
ResultResponse selectWordLine(){
List list=wordService.selectWordLine();
if(list.size()>=1)
System.out.println("有数据");
ResultResponse rs=new ResultResponse(list,0,"");
return rs;
}

@RequestMapping("/timeCount")
public @ResponseBody
ResultResponse selectTimeCount(){
List list=wordService.selectTimeCount();
if(list.size()>=1)
System.out.println("有数据");
ResultResponse rs=new ResultResponse(list,0,"");
return rs;
}

}

4.功能界面截图

图片名称
图片名称

5. 描述结对的过程,提供两人在讨论、细化和编程时的结对照片

照片 图片名称
感想 总结
技术 主要是采用RestFul APi,采用这个技术的原因是前后台分离,有利于模块的松耦合,和开发公司技术比较接近
交流 对一个功能,两个人会有不一样的想法和思路,这个时候就使用代码的复杂度来度量和代码的整洁度,体现了代祖华老师说的软件工程的有效性,不一定追求完美
学习 通过和他人对比发现了自己的不足和长处,希望在下一次多人的配合中发挥技术骨干的力量

6.psp展示

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

总结:
1.自己对于业务代码的熟悉度增加,echarts语法使用更加熟练
2.对jdk1.8中Lambda表达式更加熟悉
3.git提交出现错误:
解决方法git remote set-url origin url
合并代码:git pull --rebase origin master
提交代码:git push -u origin master
图片名称

posted on 2019-04-02 21:46  钟红耀  阅读(326)  评论(1)    收藏  举报

导航