软工结对作业

1.本次作业项目github地址

项目地址

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

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

  • 类与类之间设置接口类,通过接口类相互访问。
  • 类里的数据尽量采用private变量,所有访问通过访问函数实现。

Interface Design

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

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

Loose Coupling

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

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

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

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

猜你喜欢

转载自www.cnblogs.com/xie8/p/10534299.html