博文简要信息表:
项目 |
内容 |
这个作业属于哪个课程: 软件工程课程 |
任课教师博客主页链接: http://www.cnblogs.com/nwnu-daizh/ |
这个作业的要求: 1. 体验软件项目开发中的两人合作,练习结对编程(Pair programming)。 2. 掌握Github上增量发布软件的操作方法 |
作业链接地址: https://www.cnblogs.com/nwnu-daizh/p/10569690.html |
课程学习目标: 1. 熟悉软件开发的流程 2. 结对编程:培养合作交流能力 3. 了解软件工程各阶段文档的作用 4. 把从各个学科学到的知识进行整合 5. 要相信自己的能力 |
熟悉软件开发整体流程,提升自我能力: 让我明白软件开发不仅仅只是写代码那么简单,一个项目从开始到结束有很多阶段,每个阶段都需要根据具体情况不断的修改才能达到,而各个阶段都需要与合作的人不断的沟通交流,提升了沟通能力、增加了学习的机会 |
本次作业在哪个具体方面帮助我们实现目标: 本次作业通过结对编程,实现了与他人交流探讨的能力,并且通过运行对方的代码,发现自己的短处与长处,通过开发英文文本统计分析软件,提高了编写代码的能力,开发了自己的潜能。 |
第一次体验一个完整的工程: 让我深深的明白一个软件开始到结束的各个阶段的不容易,每个阶段都需要自己亲身参与,这个项目虽然很小,但是因为我的经验与能力,我花费了很长时间才完成,也从中收获了一些知识,也算值得 |
任务一:
所点评作业的博客:
点评内容和点评心得:
点评内容:博文结构基本按照老师要求的顺序所编写,也实现了部分功能,因为缺乏经验的原因,psp表中一部分内容的计划完成时间小于时间完成时间,但是相信以后会越来越有经验,我将源代码克隆到我的电脑运行,发现代码命名规范,也有相应的注释规约,其结果实现了词频统计的功能,并且能够按照字典的顺序排列,是值得我学习的。
点评心得:在点评的过程中,我发现她的代码基本达到了代码规范,而反观自己的代码,并没有达到代码规范,在以后的编写代码过程中我会更加用心,更加努力,让自己的代码也达到规范。
任务二:
一、需求分析
采用两人合作方式,设计开发一个英文文本统计分析软件,使之具有以下功能:
(1)实验2要求的功能;
(2)单词频数可视化柱状图要求是以下样式:
(3)统计该文本行数及字符数;
(4)各种统计功能均提供计时功能,显示程序统计所消耗时间(单位:ms);
(5)可处理任意用户导入的任意英文文本;
(6)人机交互界面要求GUI界面(WEB页面、APP页面都可);
(7)附加分功能:统计文本中除冠词、代词、介词之外的高频词;
(8)附加分功能:统计前10个两个单词组成的词组频率。
二、软件设计
主函数Main中实现图形用户界面,实现各个功能。输入框3个,分别是原文本文件的文件名(采用相对路径),想要查找的一个或多个单词及绘制柱状图,想要查找的N个高频词及其词频数。两个按钮,分别是“确定”和“取消”。由于两个查找在同一个面板,防止出现冲突,若两个输入框均有输入,则实现第一个输入框的功能。点击确定后,直接将字典顺序输出到result.txt文本中,并且实现相应功能。SortResult中将文本中的每个单词按照字典顺序将单词及词频数输出到result.txt文本文件中。paint中对柱状图美化。
三、核心功能代码展示
Github的仓库主页链接地址:https://github.com/201671010410/word1
四、程序运行
五、描述结对的过程
六、 PSP
PSP2.1 |
任务内容 |
计划共完成需要的时间(min) |
实际完成需要的时间(min) |
Planning |
计划 |
60 |
100 |
Estimate |
估计这个任务需要多少时间,并规划大致工作步骤 |
60 |
100 |
Development |
开发 |
1305 |
1540 |
Analysis |
需求分析(包括学习新技术) |
120 |
180 |
Design Spec |
生成设计文档 |
40 |
35 |
Design Review |
设计复审(和同事审核设计文档) |
30 |
30 |
Coing Standard |
代码规范(为目前开发制定合适的规范) |
40 |
30 |
Design |
具体设计 |
60 |
60 |
Coding |
具体编码 |
720 |
860 |
Code Review |
代码复审 |
30 |
30 |
Test |
测试(自我测试,修改代码,提交修改) |
120 |
180 |
Reporting |
报告 |
40 |
30 |
Test Report |
测试报告 |
30 |
30 |
Size Measurement |
计算工作量 |
15 |
15 |
Postmortem&Process Improvement Plan |
事后总结,并提出过程改进计划 |
60 |
60 |
七、 小结感受
在结对过程中,我充分体会到了合作交流的好处,我遇到问题时候结对方能给我我所想不到的解决方案,相互合作比自己蒙头苦学要好得多,对于我们都不太了解的问题,通过多种渠道查阅资料,对本次作业做了详细的设计,合理的分工,让1+1>2,两个人互相监督,互相交流,所学到的东西远远超于一个人所学到的,我发现我们有一个共同点,就是基础都比较差,花了很长时间编程,在做柱状图的时候,由于双方都无法解决,通过浏览网上的一些方法,总算是勉强做出来了,并且在这个过程中我们能够顺利的交流,但是也存在一些问题,两个人的思想不一致的时候,一方就要做出让步,等正确结果出来的时候,就能证实正确的想法,这个过程也耗费了很多时间。