软件工程结对作业博客

软件工程结对作业博客

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图

1346338-20190602152240312-773830419.png

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

1346338-20190602152257023-886156423.png

1346338-20190602152303120-1372381713.png

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

Design by Contract

契约式设计,优点是可以保证程序的正确性,缺点是过于繁琐。我并未使用这种编程思想。

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

我学习了单元测试的知识,并尝试写了一些测试数据。1346338-20190602214954387-1699030656.png

测试覆盖率的检测暂未实现。

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

1346338-20190602152318196-1312369206.png

1346338-20190602152322527-221462296.png

这里我处理了当没有r参数时发现环的异常。
1346338-20190602152900126-863413475.png

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

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

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

1346338-20190602152331863-791123406.png
1346338-20190602152339133-1160579307.png
1346338-20190602152343399-559451296.png

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

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

1346338-20190602152404978-390997654.png

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

描述结对的过程

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

1346338-20190602152414202-676549226.jpg

结对编程的优缺点
优点:

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

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

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

缺点:

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

我的优点:

1、性格温和

2、愿意出力

我的缺点:

1、不够自律,喜欢拖延

2、编程能力弱

3、沟通能力差

我的结对对象优点:

1、编程能力好

2、耐心

我的结对对象缺点:

1、不够努力

2、不主动交流

psp表格
Personal Software Process Stages预估耗时(分钟)实际耗时(分钟)
计划6060
· 估计这个任务需要多少时间6060
开发29102550
· 需求分析 (包括学习新技术)600360
· 生成设计文档10030
· 设计复审 (和同事审核设计文档)300
· 代码规范 (为目前的开发制定合适的规范)2010
· 具体设计240300
· 具体编码15001500
· 代码复审12060
· 测试(自我测试,修改代码,提交修改)300300
报告150180
· 测试报告60120
· 计算工作量3030
· 事后总结, 并提出过程改进计划6030
合计31202790

最后,感谢老师和助教一直以来对我的关心和帮助。也感谢结对编程作业,让我收获很多。

转载于:https://www.cnblogs.com/impuresaint/p/10597017.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值