软工结对做业

1.本次做业项目github地址

项目地址git

2.PSP表格,预计开发时间

PSP2.1 Personal Software Process Stages 预估耗时(分钟) 实际耗时(分钟)
Planning 计划 20
· Estimate · 估计这个任务须要多少时间 5
Development 开发 2170
· Analysis · 需求分析 (包括学习新技术) 500
· Design Spec · 生成设计文档 150
· Design Review · 设计复审 (和同事审核设计文档) 100
· Coding Standard · 代码规范 (为目前的开发制定合适的规范) 80
· Design · 具体设计 200
· Coding · 具体编码 700
· Code Review · 代码复审 240
· Test · 测试(自我测试,修改代码,提交修改) 200
Reporting 报告 400
· Test Report · 测试报告 300
· Size Measurement · 计算工做量 20
· Postmortem & Process Improvement Plan · 过后总结, 并提出过程改进计划 80
合计 2590

3.看教科书和其它资料中关于Information Hiding, Interface Design, Loose Coupling的章节,说明大家在结对编程中是如何利用这些方法对接口进行设计的

Information Hiding

信息隐藏即经过采用定义良好的接口,对代码模块进行封装,使得这些模块的内部结构,对外部是不可见的。
应用:github

  • 类与类之间设置接口类,经过接口类相互访问。
  • 类里的数据尽可能采用private变量,全部访问经过访问函数实现。

Interface Design

UI设计原则(用户界面设计原理)目的:
设计一个让用户感到舒心,使用方便的界面。
应用:算法

  • 设计简单清晰的界面,用户能快速地识别和长久地使用。
  • 设计促进交互的界面,是用户和软件之间高效地交互。

Loose Coupling

  • 松耦合的目的:实现最小化依赖,并处理可伸缩性、灵活性和容错等需求。编程

  • 引入中间层,减少函数之间的依赖。数组

4.计算模块接口的设计与实现过程。 设计包括代码如何组织,好比会有几个类,几个函数,他们之间关系如何,关键函数是否须要画出流程图?说明你的算法的关键(没必要列出源代码),以及独到之处

  • 首先判断是否有环,若是有环,就用dfs算法,若是没有环,建立一个26*26的二维数组,记录26个字母之间每两个字母之间的最长距离,初始时每两个字母的距离即为以该两个字母为首尾的最长的一个单词,按照入度进行拓扑排序,再建立一个点链接全部入度为0的点,一个点链接全部出度为0的点,因此最长单词链即为这两个点的最长路径,根据拓扑排序的顺序依次求初始点到该点的最长距离,保存到该二维数组中,在遍历过程当中保存父节点便可记录下路径。

12.描述结对的过程,提供非摆拍的两人在讨论的结对照片

  • 一人负责当领航员,一人负责当驾驶员,当疲惫时就互换工做。当思路不一时,先讨论,若是不能说服对方,就各自按照本身的想法先实践,而后对比方案优劣。

13.说明优势和缺点

结对编程:函数

  • 优势:分析问题时,经过讨论,可以迅速地找到新思路或者找到错误,此外一份代码通过两我的一块儿编程,下降了bug的出现率,保证了代码质量。
  • 缺点:当两我的想法不一样时,须要一些时间讨论,有时会下降效率,此外有时会对对方的代码产生误解。
    个人优缺点:学习

  • 工做积极性高,乐于实践,认真负责
  • 对新知识的理解不深,有时陷入困局测试

队友的优缺点:编码

  • 主动交流,认真务实,思惟严谨
  • 不乐于探索未知

14.PSP表格,实际开发时间

PSP2.1 Personal Software Process Stages 预估耗时(分钟) 实际耗时(分钟)
Planning 计划 30 60
· Estimate · 估计这个任务须要多少时间 30 60
Development 开发 2220
· Analysis · 需求分析 (包括学习新技术) 420 420
· Design Spec · 生成设计文档 120 120
· Design Review · 设计复审 (和同事审核设计文档) 120 120
· Coding Standard · 代码规范 (为目前的开发制定合适的规范) 60 60
· Design · 具体设计 240 240
· Coding · 具体编码 720 720
· Code Review · 代码复审 300 300
· Test · 测试(自我测试,修改代码,提交修改) 240
Reporting 报告 360
· Test Report · 测试报告 240
· Size Measurement · 计算工做量 60
· Postmortem & Process Improvement Plan · 过后总结, 并提出过程改进计划 60
合计 2610
相关文章
相关标签/搜索