软件工程结对做业博客

软件工程结对做业博客

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

做业介绍github

项目 内容
做业所处课程 班级博客
做业要求介绍 做业要求
我在这个课程的目标 初步了解结对编程的规范,增长协做编程经验
这个做业在哪一个具体方面帮助我实现目标 加深了对于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个。测试数据内有不少环,增长了六个就极大地影响了总体时间。图内搜索最长链的算法还能够进一步优化。性能

Design by Contract

契约式设计,优势是能够保证程序的正确性,缺点是过于繁琐。我并未使用这种编程思想。单元测试

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

我学习了单元测试的知识,并尝试写了一些测试数据。学习

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

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

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

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

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

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



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

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

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

描述结对的过程

在结对后咱们没能有效地沟通。首先是我对题目感到畏惧以为本身没有能力完成,而后队友可能事情比较忙,也不是很主动。后来我由于我的缘由没能在规定时间内继续完成做业。后续是我单独完成的做业。

结对编程的优缺点
优势:

一、本身不会的地方能够请教队友

二、两我的沟通顺利的状况下,比多人团队轻松

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

缺点:

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

个人优势:

一、性格温和

二、愿意出力

个人缺点:

一、不够自律,喜欢拖延

二、编程能力弱

三、沟通能力差

个人结对对象优势:

一、编程能力好

二、耐心

个人结对对象缺点:

一、不够努力

二、不主动交流

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

最后,感谢老师和助教一直以来对个人关心和帮助。也感谢结对编程做业,让我收获不少。

相关文章
相关标签/搜索