homework-03
1.分工准备
这次的工作是结对编程,在第二次作业中我是使用python完成的作业,而小明是使用C完成的作业。因为打算使用动态链接库的方式将第二次的代码嵌入到本次的作业中,而python生成动态链接库不易实现,因此采用了小明的第二次代码。
因连通区域的解决方案在第二次作业中并没有实现,因此我们本次作业不能够实现解决联通区域的答案。本次作业的编码工作由小明同学来实现,鉴于他的代码能力比较强,并且本人并不是很擅长写图形界面。本次作业的要求也主要集中在实现一个UI,C#实现图形界面较为容易,所以最终我们决定用C#来实现本次作业。
2.具体思路
第三次作业乍一看好像和第二次差不多,但是经过仔细分析之后我们发现第3次作业中其实有一些难点。
难点1:第二次作业的代码不能直接使用,没有对最优子矩阵进行记录。因此我们需要对第二次的代码进行修改,将最优子矩阵记录,这样才能够满足显示最优子矩阵的要求。
难点2:保证只有一个界面在系统中运行,并且还要进行更新。这个要求是邹老师在上课时候建议大家实现的,这样才能够与实际的应用场景相符。C#对于这种情况的处理并不繁琐,这也是我们选择C#的原因之一。
3.实际编写
本次代码的编写工作并不容易,因最近本组两人都有一些额外的工作,所以我们本次代码的编写是在短时间内突击完成。鉴于一些细节问题,消耗时间不少。
4.测试功能
本次代码我们采取人工测试。
5.总结
这次是我们第一次采取结对编程的方式,可能在分工处理上并不得当。并且本次作业代码量并不是很大,结对编程也和之前接触到团队项目性质区别较大,结对编程的效果并没有很好的体现出来。但是,我们还是体会到了结对编程的意义所在,并且也希望能够加强对通过测试驱动开发这一概念的理解。相信经过多次磨合后,我们能够发挥出结对编程的效率。
6.问题
你的同伴有哪些优点 (列出至少三点), 和那些需要改进的地方 (列出至少三点)
优点:代码能力强,耐心高,配合能力好
缺点:较忙,不了解python等开发效率高的编程语言,结对编程经验较少(也是大家都存在的缺点)
你的代码从 作业2 到 作业3 经历了哪些变化? 哪些代码需要重构 (看关于代码重构的资料), 哪些需要重写, 为什么?
主要添加了记录最优子矩阵的代码,重写了返回值,将子矩阵也一起返回,方便主界面调用。
7、时间统计
Personal Software Process Stages |
时间百分比(%) |
实际花费的时间 (分钟) |
原来估计的时间 (分钟) |
计划 |
10% | 24 | 18 |
· 估计这个任务需要多少时间,把工作细化并大致排序 |
10% | 24 | 18 |
开发 |
85% | 204 | 153 |
· 需求分析 (包括学习新技术) |
15% | 36 | 27 |
· 设计复审 (和同事审核设计文档) |
10% | 24 | 18 |
· 代码规范 (制定合适的规范) |
5% | 12 | 9 |
· 具体设计 |
10% | 24 | 18 |
· 具体编码 |
35% | 84 | 63 |
· 代码复审 |
5% | 12 | 9 |
· 测试(自我测试,修改代码,提交修改) |
5% | 12 | |
总结报告 |
5% | 12 | 9 |
总计 | 100% | 总用时 180 |
homework-03的更多相关文章
- nlp homework 03
NLP Homework 03 --冯煜博 题目描述 (盒子和球模型)假设有3个盒子,每个盒子里装有红白两种颜色的球,盒子里的红白球有下表列出,初始状态分布. 解答 1. 给出HMM模型 \(\mu= ...
- 小兔JS教程(四)-- 彻底攻略JS数组
在开始本章之前,先给出上一节的答案,参考答案地址: http://www.xiaotublog.com/demo.html?path=homework/03/index2 1.JS数组的三大特性 在J ...
- 小兔JS教程(三)-- 彻底攻略JS回调函数
这一讲来谈谈回调函数. 其实一句话就能概括这个东西: 回调函数就是把一个函数当做参数,传入另一个函数中.传进去的目的仅仅是为了在某个时刻去执行它. 如果不执行,那么你传一个函数进去干嘛呢? 就比如说对 ...
- 20181120-6 Beta阶段第2周/共2周 Scrum立会报告+燃尽图 03
此作业要求参见:[https://edu.cnblogs.com/campus/nenu/2018fall/homework/2411] 版本控制地址 [https://git.coding.n ...
- 作业要求20181113-4 Beta阶段第1周/共2周 Scrum立会报告+燃尽图 03
作业要求:https://edu.cnblogs.com/campus/nenu/2018fall/homework/2385 版本控制:[https://git.coding.net/lglr201 ...
- Alpha阶段第2周/共2周 Scrum立会报告+燃尽图 03
此次作业要求参见https://edu.cnblogs.com/campus/nenu/2018fall/homework/2286 Scrum master:范洪达 一.小组介绍 组长:王一可 组员 ...
- 20181016-4 Alpha阶段第1周/共2周 Scrum立会报告+燃尽图 03
此作业链接地址见:https://edu.cnblogs.com/campus/nenu/2018fall/homework/2248 Scrum master:王硕 一.小组介绍 组长:王一可 组员 ...
- 20191107-4 beta week 2/2 Scrum立会报告+燃尽图 03
此作业要求参见:https://edu.cnblogs.com/campus/nenu/2019fall/homework/9956 小组名称:“组长”组 组长:杨天宇 组员:魏新,罗杨美慧,王歆瑶, ...
- day33-线程基础03
线程基础03 6.用户线程和守护线程 用户线程:也叫工作线程,当线程的任务执行完或者通知方法结束.平时用到的普通线程均是用户线程,当在Java程序中创建一个线程,它就被称为用户线程 守护线程(Daem ...
- day41-网络编程03
Java网络编程03 5.UDP网络通信编程[了解] 5.1基本介绍 类DatagramSocket 和 DatagramPacket[数据报/数据包]实现了基于 UDP的协议网络程序 UDP数据报通 ...
随机推荐
- csh与bash比较
csh与bash比较:一.csh的while循环控制结构及if then:#!/bin/csh -fwhile ($#argv >= 1) if ("$1" == &quo ...
- PHP之APC缓存详细介绍(转)
1.APC缓存简介 APC,全称是Alternative PHP Cache,官方翻译叫”可选PHP缓存”.它为我们提供了缓存和优化PHP的中间代码的框架. APC的缓存分两部分:系统缓存和用户数据缓 ...
- ubuntu 乱码 改为英文
http://878045653.blog.51cto.com/2693110/735654 解决方法: 改成全英文环境来解决 方格 乱码 : 用vim配置语言环境变量 vim / etc/envir ...
- centos防火墙设置
1.查看 service iptables status 2.开关 service iptables start/stop 3.开机启动 chkconfig iptables on/off 4.编辑端 ...
- IIS发布报错
IIS发布报错一般原因 ISAPI和CGI限制作为IIS与ASP.NET的连接桥梁
- C# App.config 详解
读语句: String str = ConfigurationManager.AppSettings["DemoKey"]; 写语句: Configuration cfa = ...
- java_十进制数转换为二进制,八进制,十六进制数的算法
java_十进制数转换为二进制,八进制,十六进制数的算法 java Ê®½øÖÆÊýת»»Îª¶þ½øÖÆ,°Ë½øÖÆ,Ê®Áù½øÖÆÊýµÄË㕨 using System; using S ...
- jenkins mac slave 设置
1.在jenkins上增加节点, 2,在mac系统中将ssh的服务打开在偏好设置- 互联网与无线 - 共享中 3,使用mac root用户修改sshd-config的鉴权方式 首先获取到root用户登 ...
- Qt之进程间通信(TCP/IP)
简述 可以通过Qt提供的IPC使用TCP/IP,使用QtNetwork模块即可实现,TCP/IP在实现应用程序和进程内部通信或与远程进程间的通信方面非常有用. QtNetwork模块提供的类能够创建基 ...
- LA 2218 (半平面交) Triathlon
题意: 有n个选手,铁人三项有连续的三段,对于每段场地选手i分别以vi, ui 和 wi匀速通过. 对于每个选手,问能否通过调整每种赛道的长度使得他成为冠军(不能并列). 分析: 粗一看,这不像一道计 ...