软件工程结对作业

项目内容
作业所属课程软件工程班级博客
作业要求请点击链接查看作业要求
我在这个课程的目标学习如何用工程化方法构建和维护软件
这个作业在哪个具体方面帮助我实现目标学习并实践,与他人协调合作,共同编写代码

1.Github项目地址:Wordlist

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

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

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

Information Hiding

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

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

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

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

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

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

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

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

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

在结对过程中,先估计每个部分的难度,然后针对简单的部分进行分工,例如一人编写读入的工作,一人构造单词本测试数据。当遇见问题或思路上的不同时,充分讨论,确保达成一致。

13.说明优点和缺点

结对编程:

  • 优点:在分析问题时,通过两个人的讨论,能更快的找到有效的解决方法。在代码复审阶段,能更快的找到bug,同时避免遗漏。结对编程利于保证代码质量。
  • 缺点:对于一些实现简单功能的程序,结对编程会拖慢进度。当思路不同时,得出结果,可能需要讨论很久。

我的优缺点:

  • 主动交流,认真务实,思维严谨
  • 对新知识的理解和应用太慢

队友的优缺点:

  • 思路敏捷清晰,动手能力强,熟悉多种算法
  • 比较拖沓

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

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

转载于:https://www.cnblogs.com/wzqyekong/p/10534308.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值