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

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

博文简要信息表

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

任务一:

点评信息

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

任务二:

1.需求分析

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

2. 软件设计-使用类图

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

图片名称

3.展现核心功能代码



数据层接口层:

<!--JavaBean传递参数-->
<select id="selectWord" resultType="com.zhong.entiry.Word">
    SELECT * FROM word
</select>

<select id="selectWordLine" resultType="com.zhong.entiry.WordLine">
    SELECT * FROM word_count
</select>
<select id="selectTimeCount" resultType="com.zhong.entiry.TimeCount">
    SELECT * FROM time_count
</select>

<insert id="insertword" parameterType="java.util.List" useGeneratedKeys="false">
    insert into word
    (word,count)
    values
    <foreach collection="list" item="item" index="index" separator=",">
        (
        #{item.word},
        #{item.count}
        )
    </foreach>
</insert>
<insert id="insertWordLine" parameterType="com.zhong.entiry.WordLine">
    insert into word_count
    <trim prefix="(" suffix=")" suffixOverrides=",">

        <if test="wordLine != null">
            wordLine,
        </if>
        <if test="charCount != null">
            charCount,
        </if>
    </trim>
    <trim prefix="values (" suffix=")" suffixOverrides=",">

        <if test="wordLine != null">
            #{wordLine,jdbcType=INTEGER},
        </if>
        <if test="charCount != null">
            #{charCount,jdbcType=INTEGER},
        </if>

    </trim>
</insert>




<insert id="insertTimeCount" parameterType="java.util.List" useGeneratedKeys="false">
    insert into time_count
    (type,time)
    values
    <foreach collection="list" item="item" index="index" separator=",">
        (
            #{item.type},
            #{item.time}
        )
    </foreach>
</insert>


控制层:nginx

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

@Autowired
WordService wordService;

@RequestMapping(value = "/count" )
public @ResponseBody
ResultResponse selectWord()throws  CustomException{
    List<Word> 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<Word> 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(word==strArray[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<WordLine> 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<TimeCount> list=wordService.selectTimeCount();
    if(list.size()>=1)
        System.out.println("有数据");
    ResultResponse rs=new ResultResponse(list,0,"");
    return  rs;
}

}github

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
图片名称
sql

相关文章
相关标签/搜索