软工团队项目度量反馈平台需求分析文档-北航软工暑期培训班团队项目1组

版本号:V1.0git

1、项目背景
“构建之法”于2007年在清华大学首次实践,随后通过在北航、东北师范大学、福州大学、集美大学等三十余所学校的不断迭代与改进,现已造成了一套成熟的软件工程课程教学体系,覆盖了软件工程和编程语言的教学。该教学体系有下面的特色:
·       练习量大, 内容多:除了大量的代码练习,还有大量的博客写做练习。
·       理论和实践相结合:讲现代理论,同时结合体现理论的工具,例如:要求全部代码使用Git和Github进行管理。
·       真实的团队开发:要求使用原型设计工具设计项目,使用团队开发工具管理任务分配,使用燃尽图进行进度管控等等包罗万象。
·       学生助教熟悉课程,可以协助老师,与学生充分互动。github

在基于“构建之法”思想的软工课程教学中,在团队项目阶段,主要采用博客和Github方式发布团队做业并对源代码进行管理。教师和助教须要对项目团队管理质量进行度量并给予学生及时反馈和有效指导。当前这些工做都是人工进行,效率较低,步骤和流程较为繁琐,缺少必要的数据统计与汇总。所以须要一款软件系统支持这项工做的开展。

项目名称:团队项目度量反馈平台
面向用户:高校软工教学团队与学习软工的学生
项目开发者:北航软工暑期培训班团队项目1组
2、用户需求分析
一、待解决的问题
(1)源代码管理质量评估与反馈效率须要提升
当前教师和助教对源代码管理质量评价的方法是获取学生代码仓库后,对代码仓库中的commit,源代码的风格一致性,签入描述的完备性进行人工审查,并根据审查结果评分。人工审查效率较低,须要手动下载代码仓库,分析commit,运行源代码风格检查工具。
教师和助教须要经过观察分析以及简单计算后才能得到项目随着时间推移的代码提交状况,而随着时间推移的代码提交状况能够由程序对代码仓库进行分析后自动得到。
教师和助教须要经过对代码仓库中不一样成员的贡献状况对全部成员的实际代码修改量进行统计后才能得到全部成员的实际代码修改量,这项工做能够由程序自动分析完成,并用可视化方式展现。
反馈效率低且不及时:反馈给学生的方式采用的是课堂上公布、博客公布或者将结果经过邮件的形式发送给学生,这些反馈方式都较为繁琐,也没法对每一次反馈进行管理,作到可追溯。
(2)项目进度管理质量评估与反馈效率须要提升
当前学生的每日例会汇报经常沦为形式主义,汇报中没有实际内容且不具有实际价值,助教和教师但愿能够经过代码仓库中的ISSUE ID,代码提交ID,博客地址等信息自动生成团队每日例会报告。
二、解决方案
针对上述存在的问题,咱们将从教师和学生两个角度来进行方案的设计。
对于教师和助教的角色而言,平台提供的主要功能以下:
(1)项目列表及概览
提供整个教学班级的全部参与的项目清单;
提供每一个Project的概览信息,包括:代码行数、复杂度、代码重复率、注释率。
而针对每个项目,则能够详细从源代码管理质量与项目进度管理质量两个方面进行详细查看。编程

(2)源代码管理质量评估与反馈
其主要目标是要对质量进行评分,评分项以下:
签入功能的独立性(确保每次签入一个功能,一次签入包含多个功能的方式不利于代码的回滚、总体打包) 分值(20分)
签入风格一致性(从代码规范检查的角度,确保签入时风格与上次一致)分值(20分)
签入代码是否能够成功编译运行(确保每次签入的代码通过初步的测试)分值(20分)
签入描述完备性分值(20分)
代码实际修改量分值(20分)
除了对评分项进行展现外,还能够看到每一项本身提交代码对应存在的问题。架构

(3)项目进度管理质量评估与反馈
其主要目标是要对每一个项目团队的进度进行管理,项目进度管理相关的统计结果自动化产生,其数据来源来自学生在软件开发过程当中提交的代码和相关文档。具体包括:
每日例会报告产生
项目管理质量评价
对于学生的角色而言,除了能够看到教师角色能够看到的全部功能以外,额外增长的功能以下:
(1)查看教师反馈
(2)提供课程相关资料的专栏与查看功能
三、竞品分析
(1)教育软件市场同类竞争产品概况编程语言

a. Sonar-代码质量管理平台
产品展现连接: https://blog.csdn.net/caozhangyingfei0109/article/details/43938383 工具

图片: https://images-cdn.shimo.im/VieoTIJSPW02dQyR/图片.png单元测试

Sonar是一款与本项目代码质量管理核心需求有部分叠加的开源软产品,是目前最强大的代码质量管理工具之一。根据产品简介,Sonar提供如下七个方面代码评测功能:

文件、类、方法等,若是复杂度太高将难以改变,这会使得开发人员难以理解,且若是没有自动化的单元测试,对于程序中的任何组件的改变都将可能致使须要全面的回归测试
图片: https://images-cdn.shimo.im/uJReq0qrrRQYhi4G/image.blob
程序中包含大量复制粘贴的代码是质量低下的,Sonar可检测源码中重复严重的地方:
图片: https://images-cdn.shimo.im/9g9Lh7F0MAAC0GPV/image.blob
展现单元测试覆盖率
图片: https://images-cdn.shimo.im/rXw0wAydH1Q23Kty/image.blob
经过PMD,CheckStyle,Findbugs等等代码规则检测工具规范代码编写
注释不足或过多的检测
经过PMD,CheckStyle,Findbugs等等代码规则检测工具检测出潜在的bug
图片: https://images-cdn.shimo.im/dXNXGvWFtdI60Lat/image.blob
找出循环,展现包与包、类与类之间的相互依赖关系,检测自定义的架构规则;管理第三方的jar包,能够利用LCOM4检测单个任务规则的应用状况;检测耦合。学习

b. 其余源代码管理工具
Visual Source Safe(VSS)、Concurrent Version System(CVS)、Subversion(SVN)、GitHub、ClearCase等平台也提供相应代码管理功能。开发工具

c. 学生做业管理系统
较为知名的系统有Moodle、BlackBoard。这些系统有较为完善的做业采集和评分管理功能,可是不能采集以博客方式发布的做业,也不能有效存储软件源代码,并不适用于软件工程做业管理。
以上与项目中代码质量管理相关的同类产品,多用于支持软件企业项目管理须要,因为产品缺乏检测结果的反馈建议,并不彻底适用于软工教学团队代码管理须要。其次,就目前的调研状况来看,做业发布采用博客方式的教学改革尚在探索中,目前尚无支持博客做业采集与做业质量分析的管理系统。
综上所述,就国内应用市场竞品来说,本项目同类应用较少,市场竞争压力较小,具备研发和市场应用价值。
四、项目优点与收益
本项目的核心功能:
(1)面向教师用户:
可以根据学生用户输入的Issue ID,任务内容描述,代码签入ID,博客地址等内容,自动生成团队项目的每日例会报告,帮助教师实现对项目进度管理的度量,从而指导干预和反馈;
可以自动分析学生源代码项目,并对项目的源代码管理质量做出评分;同时可视化展现不一样时间节点提交代码量的多少,并展现出每一个同窗的实际修改量;使教师能够掌握学生的源代码管理质量,并提出具体意见,而且要具体,有效指导学生源代码管理技能提高。
(2)面向学生用户:
可以可视化展现我的所属团队不一样时间节点提交代码量的多少,并展现出我的的实际修改量,使学生了解工做进度;
给出我的所属团队源代码管理质量和项目进度管理的评分与教师反馈,有效获取管理方法的指导。测试

在“互联网+”为基础的信息技术证改变甚至颠覆教学方式和理念,在此背景下,基于构建之法的软件工程实践教学体系以github源代码管理平台、博客园等互联网平台工具做为教学工具,倡导“作中学”,促使学生在实践中真正得到软件工程能力的提高,在国内软件工程教学领域产生了巨大的反响。目前该教学体系在其关键的项目质量评价与项目进度管理方面主要采用助教助完成,存在教学工做量巨大、做业反馈不及时的问题。本项目主要针对此问题开发与设计该教学管理平台, 如该平台可以推广应用,将可以使采用该教学体系的教师和学生受益,而且直接为国家培养可以开发与团队协做复杂软件系统的软件工程专业人才。 3、交付方案 一、在构建之法论坛与交流群向采用“构建之法”开展教学的软工教学团队分享演示。 二、向其余未采用构建之法进行软工教学的高校进行推广构建之法的同时推广此软件。 三、创建产品官网,介绍产品基本功能,并提供产品试用连接。 四、参加计算机教育相关学术会议,分享产品在教学实践中的使用。 4、参考文献 一、现代软件工程讲义:如何提出靠谱的项目建议(NABCD) 二、第二届构建之法论坛——新一代编程+软工+AI 三、【软剑攻城队】用户需求文档发布 四、Sonar——代码质量管理平台

相关文章
相关标签/搜索