• 实验三 软件工程结对项目


    Deadline:2018-4-4 10:00,以博客发表日期为准

    评分标准:

    •  按时交 - 有分(满分30分,代码和博客各15分),检查项目包括:

              -  未提交项目源码到Github上,代码部分不得分;未提交博客到班级博客上,博客部分不得分;

              -  根据项目完成质量累计加分,完成基本功能原则上不超过满分15分,完成软件的附加功能,给予加分;

              -  代码提交(代码规范,否则倒扣分);

              -  此次作业为结对项目,单干户不得分;

              -  结对编程两位同学代码部分分数一致,博客部分分别评分。

              -  博文规范(行文清晰流畅,如果行文中涉及代码,请使用博客园自带的代码控件,或使用MarkDown的语法块)

    1、实验目的与要求

    (1)练习结对编程(Pair programming),体验软件项目开发中的两人合作。

    (2)掌握Github上增量发布软件的操作方法。

    题目来源参考:

    http://www.cnblogs.com/happyzm/p/6509116.html(集美大学)

    http://www.cnblogs.com/xinz/p/7417960.html(邹欣老师)

    http://www.cnblogs.com/vertextao/p/6896953.html(张栋老师)

    2、实验环境要求

    编程语言使用Java

    开发工具:Elipse或Myelipse

    3、实验相关知识

    关于结对编程(阅读教材第4章内容):

    以下图片是一个结对编程场景:两位学习伙伴坐在一起,面对着同一台显示器,使用着同一键盘,同一个鼠标,他们一起思考问题,一起分析问题,一起编写程序。

     

            同学们是否尝试过结对编程的软件开发模式:本次实验就让我们来体验一下结对编程的魅力。

    关于结对编程的阐述可参见以下链接:

    http://www.cnblogs.com/xinz/archive/2011/08/07/2130332.html

    http://en.wikipedia.org/wiki/Pair_programming

     

     关于工具

           在软件开发中,要善于学习和使用工具来辅助软件设计。本次实验请开始尝试使用类图设计程序中模块之间的关系。关于类图,参见:http://blog.csdn.net/xx326664162/article/details/50475352

            类图的常用绘制工具有:Visio 、Rational Rose、PowerDesign,建议同学们采用轻量级的Visio。

    4、实验内容和步骤采用

    任务1:

            在《实验二 软件工程个人项目》中,同学们实现了一个命令行四则运算出题小程序,本次实验采用结对编程方式,设计开发一个小学生四则运算练习软件,使之具有以下功能:

    (1)由计算机从题库文件中随机选择20道加减乘除混合算式,用户输入算式答案,程序检查答案是否正确,每道题正确计5分,错误不计分,20道题测试结束后给出测试总分;

     (2)题库文件可采用实验二的方式自动生成,也可以手工编辑生成,文本格式如下:

     

    (3)程序为用户提供三种进阶四则运算练习功能选择:百以内整数算式(必做)、带括号算式、真分数算式练习;

    (4)程序允许用户进行多轮测试,提供用户多轮测试分数柱状图,示例如下:

     

    (5)程序记录用户答题结果,当程序退出再启动的时候,可为用户显示最后一次测试的结果,并询问用户可否进行新一轮的测试;

    (6)测试有计时功能,测试时动态显示用户开始答题后的消耗时间。

    (7)程序人机交互界面是GUI界面(WEB页面、APP页面都可),界面支持中文简体(必做)/中文繁体/英语,用户可以进行语种选择。

     

    任务一结对编程实施要求:

    对于结对编程进度计划的要求:在程序正式开发之前,请先预估本次结对编程任务的PSP环节的消耗时间,并在PSP过程中统计实际耗时,填写PSP表格。

    对于结对编程中代码设计规范的要求参见http://www.cnblogs.com/xinz/archive/2011/11/20/2255971.html

    编撰任务一结对编程时两个人遵守共同认可的编码规范,并提交到github项目仓库中。

    对于结对编程两个人沟通的技巧:

    尝试采用制作汉堡包法实施项目结对中两个人的沟通。

    关于汉堡包法的阐述参见:http://www.cnblogs.com/xinz/archive/2011/08/22/2148776.html

    理解领航员和驾驶员两种角色关系:两人都必须参与程序的编码工作,在结对编程中两个人轮流做对方的角色。要在github代码提交日志上体现两人合作过程。

    任务2:

    • 将包含任务1的源码以增量方式提交到指定同学注册Github账号下的项目仓库中(结对小组只在一个账号下提交代码)
    • 将任务1要求的编码规范文档提交到源码所在项目仓库根目录下。
    • 要求项目仓库中要能看到项目多次commit的记录,同时必须有两个人各自的commit记录。

    Github如何托管项目?

    参考文章:http://www.cnblogs.com/edisonchou/p/5990875.html

    学习视频:https://www.bilibili.com/video/av10475153/

     

    任务3:完成结对项目报告博文作业

    博文名称要求:学号1/学号2《小学四则运算练习软件》结对项目报告;

    博文中要有任务1源码在Github的仓库主页链接地址;

    博文(两个同学都要写)作为结对项目实施过程的文字资料,请完整包含下面8个部分:

    a. 需求分析:

    b. 软件设计:使用类图。

    c. 核心功能代码展示:展示核心功能代码。

    d. 程序运行:程序运行时每个功能界面截图。

    e.描述结对的过程,提供两人在讨论、细化和编程时的结对照片(非摆拍)。

    f.提供此次结对作业的PSP。

    PSP2.1

    任务内容

    计划共完成需要的时间(min)

    实际完成需要的时间(min)

    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

    ··       Test Report

    ·  测试报告

    3

    2

    ·       Size Measurement

      计算工作量

    2

    1

    ·       Postmortem & Process Improvement Plan

    ·  事后总结 ,并提出过程改进计划

    3

    3

    g. 请使用汉堡评价法给你的小伙伴一些点评。汉堡评价法:http://www.cnblogs.com/xinz/archive/2011/08/22/2148776.html

    h. 结对编程真的能够带来1+1>2的效果吗?通过这次结对编程,请谈谈你的感受和体会。

  • 相关阅读:
    cookie标准话
    thinkphp关联查询
    jq获取表单值与赋值代码
    Github使用.gitignore文件忽略不必要上传的文件 (转)
    python 库 Numpy 中如何求取向量范数 np.linalg.norm(求范数)(向量的第二范数为传统意义上的向量长度),(如何求取向量的单位向量)
    word 使用中 上标符号的实现
    python 编程中的一个关于图片的库 imageio (读取照片RGB内容,转换照片格式)
    交叉熵代价函数(作用及公式推导) ------转载
    cousera 深度学习 吴恩达 第一课 第二周 学习率对优化结果的影响
    python3 读入一个jpg格式的图片,并转换长宽像素个数,然后进行绘制
  • 原文地址:https://www.cnblogs.com/nwnu-daizh/p/8622625.html
Copyright © 2020-2023  润新知