软件工程_第三次作业
作业要求链接:https://edu.cnblogs.com/campus/xnsy/SoftwareEngineeringClass2/homework/2879
Github项目地址:https://github.com/Biscuits-R/WordCount
结对伙伴的作业地址:https://www.cnblogs.com/biscuits/p/10642799.html
一.结对讨论
周六上午,任杰问我是否已完成组队,刚好我也在寻找队友,于是两人便一拍即合完成队伍的组建。但无奈于两个人都缺乏团队合作经验,在初步磨合分工的时候很花费了点时间,商讨许久才分配好彼此的任务。至此,他就成为了我们小队中的“驾驶员”,而我就顺势当了“领航员”。他主要负责代码编程,而我主要负责复审与测试部分。
二.PSP表格
PSP2.1 |
Personal Software Process Stages |
预估耗时(分钟) |
实际耗时(分钟) |
Planning |
计划 |
30 | 20 |
· Estimate |
· 估计这个任务需要多少时间 |
30 | 20 |
Development |
开发 |
330 | 525 |
· Analysis |
· 需求分析 (包括学习新技术) |
30 | 60 |
· Design Spec |
· 生成设计文档 |
10 | 15 |
· Design Review |
· 设计复审 (和同事审核设计文档) |
5 | 20 |
· Coding Standard |
· 代码规范 (为目前的开发制定合适的规范) |
15 | 30 |
· Design |
· 具体设计 |
30 | 30 |
· Coding |
· 具体编码 |
180 | 300 |
· Code Review |
· 代码复审 |
30 | 40 |
· Test |
· 测试(自我测试,修改代码,提交修改) |
30 | 30 |
Reporting |
报告 |
30 | 45 |
· Test Report |
· 测试报告 |
10 | 20 |
· Size Measurement |
· 计算工作量 |
10 | 15 |
· Postmortem & Process Improvement Plan |
· 事后总结, 并提出过程改进计划 |
10 | 10 |
合计 |
390 | 590 |
三.编码规范
1.每行只写一条执行指令
2.缩进规范
3.命名尽量用英文
4.每个函数都要有注释
四.解题思路
看到题目以后,发现题目描述很清晰,所有的要求都很详细,所以就决定跟着题目的要求去做。分别Line,Char,Word三个函数来实现基本功能,然后再用PrintFile函数来把内容输出到记事本中。
五.设计实现
1.结构设计图
2.代码实现(任杰部分)
3.命令行实现
3.1搜索cmd出现命令提示符遂点进但由于第一次输入地址把源代码也输进去了,显示无效。
3.2 在跟任杰讨论后,经过百度找到问题所在,于是解决,用csc语句生成exe文件
3.3生成exe文件如下
PS.代码行实现这一部分是记载我学习如何使用命令行控制程序的过程,而实际操作还是以任杰博客为主。
六.代码审查
在看了任杰写的代码以后,我发现他十分遵守我们的编码规范,在整体感观上没有出现什么问题,也因为有注释的帮助,使很容易读懂代码的功能。
七.代码测试
1.测试代码(我的部分)
2.运行测试
3.运行结果
八.性能分析
九.异常处理
在运行cmd时,出现错误,但在VS上却显示正常,经过分析是用cmd输入参数出现了大问题。经过查阅资料,解决了问题
十.小结
这次作业是要求结对编程,说实话我并不擅长团队合作,对于一个很独的人来说这的确是个很困难的任务,所以我实在感谢我的伙伴愿意与我组队。而在此次作业过程中,说白了最大的问题还是在代码,无论是任杰写的时候,还是我看去理解分析的时候,我们两个都遇见了很多问题,但好在两个人还能讨论,能求助的群体也更广了,所以还是勉强完成了这次作业。或许是我们两个的实力都有待大幅度的提升,所以在此次项目中即使两人一起,我也仍然觉得很困难,并没有1+1>2的体验,尤其是前期讨论出现的分工分歧,耗费了不少的时间。但我认为如果有更大的项目,应该还是结对或者团队更为合适。不过完成此项目的总体收获是要大于单人完成一个项目的,因为讨论过程虽然有点浪费时间,但我从中学习到了不少任杰与我不同的想法,可以从多角度去解决一个问题,我认为这是很有帮助的。再一次感谢任杰同学。
PS.为了整篇博客的完整性,我和任杰同学一致认为,无论是共同作业部分还是各人作业部分都需在各自博客中展现,以更好做学习记录。