201671010445杨爱婷《英文文本统计分析》结对项目报告

实验四 软件工程结对项目

这个作业属于哪个课程 软件工程任教教师
实验四 软件工程结对项目
点评的博客地址 201671010452周海瑞 词频统计软件项目报告
GitHub链接 https://github.com/uniquede/wordcount
课程学习目标 熟悉软件开发整体流程,提升自身能力
作业帮我们所实现的目标 让我们体验结对完成一个项目
点评内容 (1)你的GitHub中不含有src文件夹,没有符合老师的要求(2)博文结构较为完整(3)博文内容整体清晰明了

心得体会:

    PSP中“计划共完成需要的时间”与“实际完成需要的时间”两列数据的差异化明显,明显感受到自己预估的时间与实际完成的时间出入很大,根本原因是自己没有很好的掌握Java编程语言,也不是很熟练,会积极的补充知识,再一个就是有了PSP流程之后,一个好处就是,你知道每一步应该做什么,接下来应该做什么,相对来说,是比较有条理性的,节约了很多时间。对Java编程语言不是很熟悉,目前也只是初步掌握。将他的GitHub中上传的内容复制运行了,实验二所要求的功能均实现了,代码整齐,添加了注释,让人清晰明了。软件结构大体不错,代码也是较为规范的,基本的功能也实现了,人机交互功能目前还是有待继续学习的。

a.需求分析:

(1)实验2要求的功能

(2)单词频数可视化柱状图:

(3)统计该文本行数及字符数;

(4)各种统计功能均提供计时功能,显示程序统计所消耗时间(单位:ms);

(5)可处理任意用户导入的任意英文文本;

(6)人机交互界面要求GUI界面(WEB页面);

b.软件设计:使用类图

类图:显示了模型的静态结构,特别是模型中存在的类、类的内部结构以及它们与其他类的关系等。类图不显示暂时性的信息。类图是面向对象建模的主要组成部分。它既用于应用程序的系统分类的一般概念建模,也用于详细建模,将模型转换成编程代码。类图也可用于数据建模。

c.核心功能代码展示:展示核心功能代码

                request.setCharacterEncoding("utf-8");
        response.setContentType("text/html;charset=utf-8");
        PrintWriter out=response.getWriter();
        //接受页面数据
        String id=null;
        //Servlet就是一个连接前台和后台的界面
        fileName = request.getParameter("fileName");//文件名
        String  words = request.getParameter("word");//指定单词
        System.out.println(words);
        String wordnum = request.getParameter("wordnum");//高频数
        String wordlines = request.getParameter("wordlines");//行数
        String result = request.getParameter("result");//存放
        id=request.getParameter("id");//功能编号的获取

               else if(id.equals("3")){
        //行数统计
        //开始时间
        long startTime=System.currentTimeMillis();
        WordCount wordCount = new WordCount();
        List list=wordCount.statistics(fileName);
        //结束时间
        long endTime=System.currentTimeMillis();
        float excTime3=(float)((endTime-startTime)/1000)*1000;
        request.setAttribute("excTime3", excTime3);
        request.setAttribute("list", list);
        request.getRequestDispatcher("html/WordCount.jsp").forward(request, response);
        }

Github仓库源代码指路

d. 程序运行:程序运行时每个功能界面截图

前台页面截图

前台代码截图

上传文件功能截图

上传成功功能截图

高频词统计功能截图

绘制柱形图功能截图

存放成功截图

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

结对照片:

PSP流程:

PSP 任务内容 计划共完成需要的时间(min) 实际完成需要的时间(min)
Planning 计划 10 15
Estimate 估计这个任务需要多少时间,并规划大致工作步骤 12 10
Development 开发 265 280
Analysis 需求分析 (包括学习新技术) 30 35
Design Spec 生成设计文档 6 10
Design Review 设计复审 (和同事审核设计文档) 6 9
oding Standard 代码规范 (为目前的开发制定合适的规范) 15 20
Design 具体设计 25 30
Coding 具体编码 50 55
Code Review 代码复审 15 20
Test 测试(自我测试,修改代码,提交修改 30 30
Reporting 报告 15 15
Test Report 测试报告 3 8
Size Measurement 计算工作量 2 6
Postmortem & Process Improvement Plan 事后总结 ,并提出过程改进计划 10 10

总结:

领航员是驾驶员的“指南针”,他为驾驶员提供准确的方向。少了领航员的导航,驾驶员就如同盲人一样失去了对方向的辨别。领航员特别需要工作细心负责,并且需要很强的判断能力和果断的决策能力。我在前端类似于一个领航员,指导着我的队友怎么设计前台页面以及链接后台Java,而我的队友在后台中是一个领航员,引领着我,指导着我方向,有什么问题可以一起学习一起成长,多练多问多出错,然后解决它,这是一个成长的过程。在结对项目中,PSP中“计划共完成需要的时间”与“实际完成需要的时间”两列数据的差异化还是比较明显,是因为结对两个人思想是有差异的,期间有一些争吵,会耽误一点时间,后面慢慢的思想统一,然后行事效率有一些提高,总体来说比一个人完成项目所花费的时间少一些。

猜你喜欢

转载自www.cnblogs.com/yangat/p/10569436.html