实验三  软件工程结对项目

2020-3-19

Deadline:2020-3-28 24:00,以博客发表日期为准

评分标准:

  •  按时交 - 有分(满分100分),检查项目包括:
  •  任务2部分(40分,代码和博客各20分)
  •  任务3-任务4部分(60分,代码和博客各30分)
  • 未提交项目源码到Github,代码部分不得分;未提交博客到班级博客上,博客部分不得分;
  • 任务3根据项目完成质量累计加分,完成基本功能原则上不超过满分60分,完成附加功能,给予加分;
  • 代码提交(代码规范,否则倒扣分);
  • 博文规范(行文清晰流畅,如果行文中涉及代码,请使用博客园自带的代码控件,或使用MarkDown的语法块)
  • 抄袭 - 倒扣本次作业分数
  • 评分截至日:2020-3-30 22:00

1、实验目的与要求

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

(2)掌握Github协作开发程序的操作方法。

2、实验内容和步骤

任务1:阅读《现代软件工程—构建之法》第3-4章内容,理解并掌握代码风格规范、代码设计规范、代码复审、结对编程概念;

任务2:两两自由结对,对结对方《实验二 软件工程个人项目》的项目成果进行评价,具体要求如下:

(1)对项目博文作业进行阅读并进行评论,评论要点包括:博文结构、博文内容、博文结构与PSP中“任务内容”列的关系、PSP中“计划共完成需要的时间”与“实际完成需要的时间”两列数据的差异化分析与原因探究,将以上评论内容发布到博客评论区。

(2)克隆结对方项目源码到本地机器,阅读并测试运行代码,参照《现代软件工程—构建之法》4.4.3节核查表复审同伴项目代码并记录。

(3)依据复审结果尝试利用github的Fork、Clone、Push、Pull request、Merge pull request等操作对同伴个人项目仓库的源码进行合作修改。

博客作业中针对任务2的评分要点:

  • 结对方博客链接(1分);
  • 结对方Github项目仓库链接(1分);
  • 符合(1)要求的博客评论(18分);
  • 符合(2)要求的代码核查表(15分);
  • 结对方项目仓库中的Fork、Clone、Push、Pull request、Merge pull request日志数据(5分)

任务3:采用两人结对编程方式,结合我校师生疫情每日上报系统使用体验,设计开发一款符合我校疫情防控工作需求的信息系统,使之具有以下功能:

(1)可采集全校各类师生员工疫情信息;

(2)各二级部门疫情防控工作负责人可查看本部门人员疫情汇总,并提供高级查询功能进行多属性组合查询和可视化统计功能;

(3)学校防控办指定负责人登录《西北师范大学疫情防控信息统计》子系统,可浏览所有人员填报汇总数据清单,利用【高级查询】可进行数据组合筛选,系统以图形化方式展示各学院已填报和未填报学生统计情况和关键疫情数据统计情况,可【导出】查询列表的EXCEL文件;

(4)人机交互界面要求GUI界面(WEB页面、APP页面都可);

(5)附加分功能:定时填报提醒

结对编程项目实施要求及代码部分评分细则(30分):

  • 结对编程开发进度计划的要求:在项目正式之前,预估本次结对项目任务的PSP环节的消耗时间,并在PSP过程中统计实际耗时,填写PSP表格。
  • 尝试采用汉堡包法实施项目结对中两个人的沟通,关于汉堡包法的阐述参见:http://www.cnblogs.com/xinz/archive/2011/08/22/2148776.html
  • 理解领航员和驾驶员两种角色关系:两人都必须参与编码工作,在结对编程中两个人轮流做对方的角色。
  • 将结对编程项目的源码以增量方式提交到指定同学Github账号的项目仓库中,Github结对项目仓库的代码提交日志要体现两人合作过程,项目仓库中要能看到项目多次commit的记录,和两人各自的commit记录。(5分)
  • 项目必须包含src文件夹,编撰两人合作开发遵守共同认可的编码规范,提交项目代码规范文档到Github项目仓库根目录下。(5分)
  • 程序功能评测。( 20分)

任务4:完成结对项目报告博文作业(30分,以下给出评分细目)

博文作业格式符合以下要求:       

  • 博文名称:学号-姓名 实验三 结对项目—《西北师范大学疫情防控信息系统》项目报告(1分)
  • 博文开头格式:(1分)

项目

内容

课程班级博客链接

<填写课程班级博客链接>

这个作业要求链接

<填写作业要求链接>

我的课程学习目标

<填写目标>

这个作业在哪些方面帮助我实现学习目标

<填写相关内容>

结对方学号-姓名

<填写学号-姓名>

结对方本次博客作业链接

<填写地址>

本项目Github的仓库链接地址

<填写地址>

博文作为任务3结对编程任务总结的文字资料,需完整包含以下内容:

  • 需求分析陈述。(5分)
  • 软件设计说明。(5分)
  • 软件实现及核心功能代码展示:软件包括哪些类,这些类分别负责什么功能,他们之间的关系怎样?类内有哪些重要的方法,关键的方法是否需要画出流程图?(5分)
  • 程序运行:程序运行时每个功能界面截图。扩展功能实现可得附加分5分。(2分)
  • 描述结对的过程,提供两人在讨论、细化和编程时的微信或QQ截图(截图要完整,能够显示结对双方姓名)(3分)
  • 提供此次结对作业的PSP。(4分)
  • 小结感受:两人合作真的能够带来1+1>2的效果吗?通过这次结对合作,请谈谈你的感受和体会。(4分)

 QQ