第三次作业

 

 

作业地址:https://edu.cnblogs.com/campus/xnsy/SoftwareEngineeringClass2/homework/2879

伙伴博客地址:http://www.cnblogs.com/wpghys/

一:结对过程

这是我跑到结对伙伴王派寝室一起商讨代码的照片,由他的另一位室友在我们讨论过程中所拍摄

 

二:PSP表格

PSP2.1

Personal Software Process Stages

预估耗时(分钟)

实际耗时(分钟)

Planning

计划

 10

 20

· Estimate

· 估计这个任务需要多少时间

 120

 200

Development

开发

 100

 130

· Analysis

· 需求分析 (包括学习新技术)

 60

 30

· Design Spec

· 生成设计文档

 60

 45

· Design Review

· 设计复审 (和同事审核设计文档)

 30

 20

· Coding Standard

· 代码规范 (为目前的开发制定合适的规范)

 10

 30

· Design

· 具体设计

 10

 15

· Coding

· 具体编码

 45

50

· Code Review

· 代码复审

 40

 10

· Test

· 测试(自我测试,修改代码,提交修改)

 20

 30

Reporting

报告

 60

 50

· Test Report

· 测试报告

 10

 5

· Size Measurement

· 计算工作量

 10

 5

· Postmortem & Process Improvement Plan

· 事后总结, 并提出过程改进计划

 5

 10

 

合计

 590

 620

 

 

 

 

三:解题思路描述

首先去除非字母数字,再分割成字符串数组,对字符串数组中每个元素进行判断是否为单词,统计单词个数,然后定义一个字典类,存单词个数和单词;对字典进行按照字典的Value排序

从而输出出现频率最高的10个单词.这次主要我来规划代码思路,搭档动手设计完善代码,但仍然感觉到我们的代码还需要完善。

四:设计过程图

 

 

五:操作流程及部分代码图

有了上一次的经验,这一次关于github的操作就较容易上手了

 

 

 

六:运行结果截图

 

六:单元测试

七:效能分析

可见在函数调用上还需进行处理

八:代码提交上传至git

 

 九:总结

 

结对编程有利也有弊,但总的来说利大于弊,两人一旦商量好对策就可以高效率去完成,各有各的分工,目标明确,有分歧可以快速协商出再进行优化

以下是我归结出来的优点:

  1. 程序员互相帮助,互相教对方,可以得到能力上的互补。
  2. 可以让编程环境有效地贯彻Design。
  3. 增强代码和产品质量,并有效的减少BUG。
  4. 降低学习成本。一边编程,一边共享知识和经验,有效地在实践中进行学习。
  5. 在编程中,相互讨论,可能更快更有效地解决问题。

 

posted on 2019-04-05 22:56  jimmyzz  阅读(129)  评论(1编辑  收藏  举报