软件工程结对作业博客

软件工程结对作业博客

Github项目原地址 (https://github.com/BillDior/BUAA_SE_01)
Github项目现地址 (https://github.com/kenyin123/WordChains)

作业介绍

项目 内容
作业所处课程 班级博客
作业要求介绍 作业要求
我在这个课程的目标 初步了解结对编程的规范,增加协作编程经验
这个作业在哪个具体方面帮助我实现目标 加深了对于C++的了解,学习了图论算法等
psp表格
Personal Software Process Stages 预估耗时(分钟) 实际耗时(分钟)
计划 60
· 估计这个任务需要多少时间 60
开发 2910
· 需求分析 (包括学习新技术) 600
· 生成设计文档 100
· 设计复审 (和同事审核设计文档) 30
· 代码规范 (为目前的开发制定合适的规范) 20
· 具体设计 240
· 具体编码 1500
· 代码复审 120
· 测试(自我测试,修改代码,提交修改) 300
报告 150
· 测试报告 60
· 计算工作量 30
· 事后总结, 并提出过程改进计划 60
合计 3120
接口设计

Information Hiding:设计了private参数

Interface Design:接口封装得还可以。

Loose Coupling:没有实现

计算模块接口的设计与实现过程
UML图

计算模块接口部分的性能改进

第一张图是30个单词左右的时候。第二张图是增加到了36个。测试数据内有很多环,增加了六个就极大地影响了整体时间。图内搜索最长链的算法还可以进一步优化。

计算模块部分单元测试展示

目前还在学习。等完成以后补充完整

计算模块部分异常处理说明

扫描二维码关注公众号,回复: 6333600 查看本文章

这里我处理了当没有r参数时发现环的异常。

这里我处理了文件名缺失和参数逻辑错误。

命令行模块的详细设计过程

读取命令行参数,先判断参数是否有逻辑或者格式错误。如果有错误给出错误信息。



命令行模块与计算模块的对接

使用了一个github上的工具,cxxopts

将得到的参数判断后传给wlOption

描述结对的过程

在结对后我们没能有效地沟通。首先是我对题目感到畏惧觉得自己没有能力完成,然后队友可能事情比较忙,也不是很主动。后来我因为个人原因没能在规定时间内继续完成作业。后续是我单独完成的作业。

结对编程的优缺点
优点:

1、自己不会的地方可以请教队友

2、两个人沟通顺利的情况下,比多人团队轻松

3、分配任务、交流进度方便及时

缺点:

当两个人沟通不顺利、闹矛盾的时候,相比团队编程,会更加消极,难以处理问题。多人团队的队员之间矛盾相对来说会小很多。

我的优点:

1、性格温和

2、愿意出力

我的缺点:

1、不够自律,喜欢拖延

2、编程能力弱

3、沟通能力差

我的结对对象优点:

1、编程能力好

2、耐心

我的结对对象缺点:

1、不够努力

2、不主动交流

psp表格
Personal Software Process Stages 预估耗时(分钟) 实际耗时(分钟)
计划 60 60
· 估计这个任务需要多少时间 60 60
开发 2910 2550
· 需求分析 (包括学习新技术) 600 360
· 生成设计文档 100 30
· 设计复审 (和同事审核设计文档) 30 0
· 代码规范 (为目前的开发制定合适的规范) 20 10
· 具体设计 240 300
· 具体编码 1500 1500
· 代码复审 120 60
· 测试(自我测试,修改代码,提交修改) 300 300
报告 150 180
· 测试报告 60 120
· 计算工作量 30 30
· 事后总结, 并提出过程改进计划 60 30
合计 3120 2790

最后,感谢老师和助教一直以来对我的关心和帮助。

猜你喜欢

转载自www.cnblogs.com/impuresaint/p/10597017.html