软件工程网络15结对编程作业

Deadline:

2018-3-25 10:00PM,以提交至班级博客时间为准。

请在两周时间内完成结对编程练习,注意时间的合理安排。

参考来自http://www.cnblogs.com/xinz/p/7417960.html


题目要求:

1.改进现有代码

2.功能改进与扩展

增加一个运算符,程序应该有怎样的改变?不得不扔掉全部重写么,还是可以只改部分模块?基于模块化设计的思想,考虑在现有程序中做什么样的修改,才能让程序更好地实现新的需求

  • 增加括号操作符
  • 减少重复题目
    • 程序一次运行生成的题目不能重复,即任何两道题目不能通过有限次交换+和×左右的算术表达式变换为同一道题目。例如,23 + 45 = 和45 + 23 = 是重复的题目,6 × 8 = 和8 × 6 = 也是重复的题目。3+(2+1)和1+2+3这两个题目是重复的,由于+是左结合的,1+2+3等价于(1+2)+3,也就是3+(1+2),也就是3+(2+1)。但是1+2+3和3+2+1是不重复的两道题,因为1+2+3等价于(1+2)+3,而3+2+1等价于(3+2)+1,它们之间不能通过有限次交换变成同一个题目。
  • 【附加题】增加一个运算符(乘方)
    • 用符号^表示乘方,例如:4^2=16
  • 回归测试
    • 在开发新功能时避免损坏旧的功能,以确保新的功能不与原有功能冲突
    • 在确认修改的功能正确之后再签入代码。
  • 效能分析

3.在两人合作的过程中, 请看下面的内容

  • 满足代码风格规范和代码设计规范(参考书第4章4.1-4.3内容)http://www.cnblogs.com/xinz/archive/2011/11/20/2255971.html

  • 给人提意见的方式——送一个汉堡包http://www.cnblogs.com/xinz/archive/2011/08/22/2148776.html
  • 理解领航员驾驶员两种角色关系,并在结对编程中两个人轮流做对方的角色。两人都必须参与本次作业的编码工作,并在git提交日志上体现这点。

博客要求:

  1. 提交的博客(两个同学都要写)必须完整包含下面内容:

    • 需求分析:针对现有代码的改进分析,新开发功能的分析。
    • 程序设计:针对新开发功能做设计,建议使用思维导图。
    • 代码展示:展示每个功能的核心代码。
    • 程序运行:程序运行及每个功能的使用截图。
    • 小结感受:结对编程真的能够带来1+1>2的效果吗?通过这次结对编程,请谈谈你的感受和体会。
  2. 在随笔开头,备注两个同学的学号。
  3. 提供项目开发的码云地址。
  4. 描述结对的过程,提供非摆拍的两人在讨论、细化和编程时的结对照片。
  5. 提供此次结对作业的PSP
    • 在开始实现程序之前,请使用以下PSP表格,在第3列填上自己对每个环节的估计时间(单位:分钟).
    • 在做每个环节的过程中,请在第4列填上对应环节的实际消耗时间(单位:分钟).
  6. 在软件开发中,掌握估计时间是一项重要的技能,请通过PSP表格做到

    a.厘清开发的完整环节,争取在每个环节都有实际的工作,一开始边界不清楚是正常的,但请尝试按自己的理解去努力在对应环节做实际的工作。

    b.预估每个环节的时间,并真实统计这些环节的耗时,在完成后输出完整的PSP耗时估计表。

    c.注意:该表格是给自己看的,不要伪造数据!

    d.PSP模版表格如下,第3列和第4列分别对应第2列条目的估计时间和真实时间,模版表格里的时间只是示意。

PSP2.1 个人开发流程 预估耗费时间(分钟) 实际耗费时间(分钟)
Planning 计划 8 6
· Estimate 明确需求和其他相关因素,估计每个阶段的时间成本 8 6
Development 开发 82 88
· Analysis 需求分析 (包括学习新技术) 6 10
· Design Spec 生成设计文档 5 6
· Design Review 设计复审 4 6
· Coding Standard 代码规范 3 3
· Design 具体设计 10 12
· Coding 具体编码 36 21
· Code Review 代码复审 7 9
· Test 测试(自我测试,修改代码,提交修改) 13 21
Reporting 报告 9 6
· 测试报告 3 2
· 计算工作量 2 1
· 并提出过程改进计划 3 3

代码要求

要求必须增量式开发-提交到码云地址,码云上要能看到多次commit的记录,同时必须有两个人各自的commit记录。


评分基准

  • 按时交 - 有分(详细评分准则见下表)
  • 晚交 - 0分
  • 迟交两周以上 - 倒扣本次作业分数
  • 抄袭 - 倒扣本次作业分数
  • 如对分数有意见,只给一次向助教申诉的机会
评分项 评分细则 分数 备注
现有代码改进部分 clone 所选项目,并在博客中给出结对项目码云链接 1
检查所选项目的类之间的关系,博客中给出类图 1 在博客中给出
找出原项目中的逻辑泥球 1 需要解释为何这部分是逻辑泥球
给出原项目中测试用例覆盖不到位的地方,然后补充相应的测试用例 1 如果覆盖都到位请指出测试用例所测的功能或逻辑
保证所选项目支持多操作符的运算 2 如果原项目没有的话需要自行添加此功能
完整给出该项目的测试用例 1 重点给出添加功能的测试用例,如多运算符的运算实例
功能改进与拓展 需求分析 1 针对现有代码的改进分析,新开发功能的分析
设计分析 1 博客中给出针对新功能的思维导图
支持括号优先级运算 2
程序生成的算式不重复 4
给出回归测试的用例 1 原项目测试用例+新功能测试用例都保证能过
给出效能分析工具的分析结果 2 博客上给出截图
找出关键模块消耗最大的函数,是否存在改进 2 根据分析结果给出消耗最大的函数,并给出改进建议,各1分
附加题 支持乘方运算 3
其他要求 博客开头给出两人的学号 0.5
展示每个功能的核心代码 1 给出代码截图
程序运行及每个功能的使用截图 1
结对编程两个人的感受和体会 2
非摆拍的两人在讨论、细化和编程时的结对照片 1
完成PSP表格 2
码云上的代码迁入记录中有两个人的迁入记录 1
码云上的代码迁入记录中有多次迁入的记录 1
码云上有两个人的编码规范文档 1 需要以文档的形式上传到码云上

说明

上述表格中的所有的评分项都要在博客或者是码云上有体现

原文地址:https://www.cnblogs.com/happyzm/p/8447871.html

时间: 2024-10-05 05:07:30

软件工程网络15结对编程作业的相关文章

软件工程网络15结对编程作业(201521123062)

0.结对编程成员: 吴剑通博客地址:https://www.cnblogs.com/wjt960310/ 杨钧宇博客地址:http://www.cnblogs.com/GOB8023/ 码云地址:https://gitee.com/jmu201521123056/four_operations 源代码:https://coding.net/u/Belong033/p/java-third/git 原题目要求 http://www.cnblogs.com/happyzm/p/6472120.htm

软件工程网络15结对编程作业(201521123045)

一.结对编程成员: 郑子熙(201521123045): 陈文俊(201521123047): 二.对原有程序分析: 三.改进现有代码: 四.代码展示: 五.PSP: 六.实验小节: 原文地址:https://www.cnblogs.com/zhengizixi/p/8645259.html

软件工程网络15结对编程作业(201521123115)

结对编程 改进现有代码2 团队成员: 梁林 201521123119 码云地址:https://gitee.com/ll119 龚厦彬 201521123115 码云地址:https://gitee.com/handsomecat/events clone项目,在开发环境中运行该应用程序,修改完毕最后上传至码云,并在博客中给出链接 检查大部分主要类之间的关系,画出类图 核心代码展示 private static int GCD(int m, int n) {//最大公约数 // TODO Aut

软件工程网络15个人阅读作业2 201521123038 游舒婷

软件工程网络15个人阅读作业2 提出问题 问题1 我看了书P85这一段文字, 结对编程中有两个角色: 1.驾驶员(Driver):控制键盘输入. 2.领航员(Navigator):起到领航.提醒的作用. 这两个角色还是可以互换的. 我的疑惑是,结对编程两个人的能力不一定在同一水平线上,每个人都有自己比较擅长的地方,那么,如果两个角色可以互换,是否说明双方都要读懂对方的代码.假设,一方负责前端设计,一方负责后端开发,虽然两种技术之间有部分相关,但是这意味着两方都要了解对方的代码么? 问题2 我看了

软件工程网络15个人阅读作业1

软件工程网络15个人阅读作业1 Task1:博客账号 http://www.cnblogs.com/mz201521044152/ Task2:码云账号 https://gitee.com/mxz0/events Task3:完成博客-阅读与思考 ##阅读参考材料,并回答下面几个问题: (1)回想一下你初入大学时对网络工程专业的畅想 当初你是如何做出选择网络工程专业的决定的? 你认为过去两年中接触到的课程是否符合你对网络工程专业的期待,为什么? 你觉得计算机是你喜欢的领域吗,它是你擅长的领域吗?

2016福州大学软件工程第二次结对编程作业成绩

在这里跟大家道个歉,由于国庆节基本都在参加婚礼的路上所以现在才把成绩统计汇总了一下,份子钱太吓人已经把不多的工资吃掉了,这个月要靠泡面度日了.你们可是要好好学习,好好赚钱,好出的起同学的份子钱啊.扯远了,第二次结对编程成绩统计如下: 学号 第二次结对编程 031402233 9.5 031402224 9.5 031402330 9.5 031402516 9 031402524 9 031402304 9 031402509 9 031402341 9 031402508 9 03140232

软件工程网络15个人阅读作业2-提出问题

Deadline: 2018-3-18 10:00PM,以提交至班级博客时间为准. 提出问题 快速通读教材<构建之法>,并参照提问模板,提出5个问题. 如何提出有价值的问题? 请看这个文章:http://www.cnblogs.com/rocedu/p/5167941.html ,以及 在互联网时代如何提问题. 还有这些要点: 在每个问题后面,请说明哪一章节的什么内容引起了你的提问,提供一些上下文 列出一些事例或资料,支持你的提问. 说说你提问题的原因,你说因为自己的假设和书中的不同而提问,还

软件工程15 结对编程作业

项目成员: 郑子熙 201521123045 博客地址:http://www.cnblogs.com/zhengizixi/ 码云地址:https://gitee.com/zhengzixi/four_operations 陈文俊 201521123047 博客地址:http://www.cnblogs.com/chendajia/ 码云地址:https://gitee.com/chendajia/pair_programming 改进现有代码 需求分析:针对现有代码的改进分析,功能分析 从原来

软工网络15结对编程练习(201521123007谭燕)

链接 学号:201521123006:博客链接: http://www.cnblogs.com/KimHeechul/p/8644402.html 学号:201521123007:博客链接: http://www.cnblogs.com/ty1213/p/8644960.html 码云地址: https://gitee.com/KimHeechul/pair_programming/commits/master 题目要求: 1. 改进现有代码 1.1 分析网络14部分现有程序代码 个人博客地址4