[敏捷软工团队博客]项目介绍 & 需求分析 & 发布预测
| 项目 | 内容 |
|---|---|
| 2020春季计算机学院软件工程(罗杰 任健) | 博客园班级博客 |
| 作业要求 | 团队项目选择 |
| 我们在这个课程的目标是 | 在团队合作中锻炼自己 |
| 这个作业在哪个具体方面帮助我们实现目标 | 了解项目整体情况、进行需求分析 |
项目介绍
项目名称:基于GitLab的软件工程教学实践平台
项目内容:
- 设计和实现一个基于 GitLab 的软件工程教学实践平台,用于支持软件工程课上的实践项目,主要包括个人项目、结对项目和团队项目。
- 将原来针对个人项目和结对项目设计的自动化测试系统迁移到 GitLab 中,构建一个支持对代码签入进行实时代码风格分析,自动化测试和反馈的功能模块。
- 针对团队项目,基于GitLab 已有的 Scrum 插件,集成任务分配,项目进度管理,实现对学生团队项目进展的有效追踪和报告,同时也 提供学生 Scrum 例会报告的自动生成功能,方便团队 PM 对项目的管理。
NABCD分析
1.Need,需求分析
每个成熟的课程都有功能完善的管理测评系统。 —— 沃兹·基索德
敏捷软工课程是北航计算机学院的特色课程。不同于传统软工课程“面向图书/教务管理系统”的设计思路,敏捷软工课程的设计思路更加贴近业界实践。敏捷软工是当前业界的重要方法,集合业界多年的实践经验。课程组要求学生小组构建出实用且创新的任务,从而充分锻炼学生实际的软件工程能力。
理论上贴近前沿,实践上面向实用。这样的课程设计即对学生有很高的要求,也对课程组有很高的要求。当前课程组组织管理学生实践的工具集为:微信群 + 班级博客园 + GitHub. 这三个工具相互独立,老师和助教需要对学生在三个工具中呈现出的工作进行整合。这种管理方式即耗费精力,也限制教学效果。
通过以上分析以及我们在教学中的感受,软件工程课程实践管理系统的具体需求如下:
- 统一集成管理:课程组发布任务,学生提交工作、课程组反馈、评分度量。
- 自动化测试与自动化分析:个人项目和结对项目的自动化测试、自动化分析学生的作业。
- 信息集中管理:个人、班级、结对、团队的信息汇总。
- 不同用户视图:学生入口、助教入口及教师入口。
敏捷软工课程的重点在于团队项目,我们将对团队项目进行具体的需求分析:
- 流程管理:项目计划、冲刺、任务分配等。
- 每日例会:提供每日例会框架,减小重复工作。
- 项目进度管理:完成进度、进展预测、时间告警、燃尽图等。
- 团队管理:角色分配、贡献统计、团队时间记录等。
- 测试支持:支持提交单元测试样例从而完成自动化测试。
2.Approach,方法
实现方法分为前端和后端两部分
- 前端:基于Yan实现前端依赖管理、采用Vue.js实现网页视图页面、采用Element UI作为UI框架、使用Echarts作为图标绘制组件。
- 后端:基于Ruby on Rails实现后端接口、使用Bundler管理后端中的依赖库、采用PostgreSQL作为数据库、使用Nginx作为HTTP服务器和反向代理服务器、使用Webpacker集成前后端。
- GitLab集成:自动对学生提交到GitLab中的代码进行拉取、测试。
3.Benefit,好处
对于课程组
- 统一连贯的任务流程,减少整合学生工作所需的精力。
- 自动化测试个人、结对项目,减少工作量。
- 能够对学生个人和团队进行细粒度、个性化的分析。
对于学生
- 信息集成于一个平台中,减小遗漏信息的概率。
- 能得到课程组及时的反馈。
- 强大的的团队项目管理。

4. Competitors,竞争者
在北航中并没有竞争对手,但是在其他高校中有相似的系统。
- 清华大学于2014年在本科软件工程课程中推广使用在线实践教学平台。该平台集成 Jenkins,SonarQube等工具,配合一套评分度量机制,能够为学生提供即使反馈和详细评估。该平台是清华大学软工课程线上线下相结合的教学方法的体现。
- 清华大学针对数据科学教学开发DataLab教学平台,提供线上开发环境、Jupyter 接口和自动评分等功能。该平台将软件工程引入数据科学教学中,能同时应对多种类型的数据,让学生的注意力集中在数据科学中的核心算法上。从学生行为数据的分析中能够看出 DataLab 平台显著提高了数据科学教学的效率。
5.Delivery,发布
- 如果项目成功,会在下一届北航敏捷软工课程中得到应用。
- 如果在北航敏捷软工课程中应用成功,可以尝试推广到其他国内高校。
用户量评估
用户画像:使用这个平台的用户主要学习软件工程的学生以及从事软件工程教学的老师和助教。
用户量前景分析:
- 该平台的第一批用户预计是北航计算机学院大三选择罗杰和任健老师的敏捷软工的同学,人数在100人左右。
- 经过一学期的用户反馈与系统调整,考虑到软件工程教学内容以及对平台功能要求的相似性,在下一学期可以推广到北航计算机学院大三所有选择软件工程的同学,人数在300人左右。
- 在完成北航校内普及之后,可以向更多开设软件工程的高校进行推广,并不断进行迭代,预计每学期人数会增加300人。
- 更进一步,借助该平台,可以考虑与课程组合作,在中国大学MOOC上开设软件工程校级精品课,并借此将该平台进一步推广到更多想要学习软件工程的用户,预计每学期会增加600人。
- 最后,我们可以考虑将其转化为一个开源项目,使得项目在各高校之间充分共享,不断迭代与完善,保持项目的生命力。
用户量评估:
这里我们需要区分总用户量与活动用户量。总用户量表示在我们的平台上注册的总用户数量,活动用户量为当前实际在使用该平台的用户数量。
总用户量
根据对用户量前景的分析中所提到的五个阶段,可以取4年为时间单位,则4年后用户量为100+300*3+300*2+600=2200人。并且会随着学期的迭代每年会增长约1200人。
活动用户量
对用户量前景的分析提到的前4个阶段中,1、2由于每年学生数量大致相同,所以对活动用户量的增长没有贡献,3由于涉及到高校之间的推广,每推广到一所新的高校,都会产生活动用户量的增加,同时4也会有推广效果。因此预计4年后的活动量为100+300+300*2+600=1600人。并且会随着学期的迭代每年会增长约500人,其中高校间的推广300人,MOOC平台的推广200人。
电梯演说
各位领导/合作伙伴:
当前软件工程的教学缺乏统一平台,教学资源管理分散,我们的软件工程教学管理平台旨在将博客、文档、会议记录、进度监视、小组合作、代码仓库、持续集成、评测等诸多课程教学需要的功能进行有机整合,既为参与课程的同学们提供更加舒适便捷的课程体验,又为老师和助教提供了学生学习情况监督和成绩管理的高效工具。我们的平台不仅适用于某一所高校,鉴于软件工程教学内容的相似性,我们会对平台进行不断的迭代和完善,让它获得更多的用户,帮助更多的老师和同学提高软件工程的教学水平和训练效果,同时我们希望能够将该平台作为开源项目,让更多的人参与并完善,保持项目的生命力。我们相信,我们的项目能够推动软件工程教学的改革和创新,为软件工程的教学事业注入强大的动力。
[敏捷软工团队博客]项目介绍 & 需求分析 & 发布预测的更多相关文章
- [敏捷软工团队博客]Beta阶段项目展示
团队成员简介和个人博客地址 头像 姓名 博客园名称 自我介绍 PM 测试 前端 后端 dzx 秃头院的大闸蟹 大闸蟹是1706菜市场里无菜可卖的底层水货.大闸蟹喜欢音乐(但可惜不会),喜欢lol(可惜 ...
- [敏捷软工团队博客]The Agiles 团队介绍&团队采访
项目 内容 课程:北航-2020-春-敏捷软工 博客园班级博客 作业要求 团队作业-团队介绍和采访 团队名称来源 The Agile is The Agile. 敏捷就是敏捷.我们只是敏捷的践行者罢了 ...
- [敏捷软工团队博客]Beta阶段使用指南
软件工程教学实践平台使用指南 项目地址:http://20.185.223.195:8000/ 项目团队:the agiles 进入界面如图: 目录 软件工程教学实践平台使用指南 学生端 登录 iss ...
- [敏捷软工团队博客]Beta阶段事后分析
设想和目标 我们的软件要解决什么问题?是否定义得很清楚?是否对典型用户和典型场景有清晰的描述? 我们的软件要解决的问题是:现在的软工课程的作业分布在博客园.GitHub上,没有一个集成多种功能的一体化 ...
- [敏捷软工团队博客]Beta阶段发布声明
项目 内容 2020春季计算机学院软件工程(罗杰 任健) 博客园班级博客 作业要求 Beta阶段发布声明 我们在这个课程的目标是 在团队合作中锻炼自己 这个作业在哪个具体方面帮助我们实现目标 对Bet ...
- [敏捷软工团队博客]Beta设计和计划
项目 内容 2020春季计算机学院软件工程(罗杰 任健) 博客园班级博客 作业要求 Beta设计和计划 我们在这个课程的目标是 在团队合作中锻炼自己 这个作业在哪个具体方面帮助我们实现目标 对Beta ...
- [敏捷软工团队博客]Beta阶段测试报告
项目 内容 2020春季计算机学院软件工程(罗杰 任健) 博客园班级博客 作业要求 Beta阶段测试报告 我们在这个课程的目标是 在团队合作中锻炼自己 这个作业在哪个具体方面帮助我们实现目标 对Bet ...
- [no_code团队]项目介绍 & 需求分析 & 发布预测
项目 内容 2020春季计算机学院软件工程(罗杰 任健) 博客园班级博客 作业要求 团队项目选择 我们在这个课程的目标是 在团队合作中提升软件开发水平 这个作业在哪个具体方面帮助我们实现目标 进行项目 ...
- 2020BUAA软工个人博客作业-软件案例分析
2020BUAA软工个人博客作业-软件案例分析 17373010 杜博玮 项目 内容 这个作业属于哪个课程 2020春季计算机学院软件工程(罗杰 任健) 这个作业的要求在哪里 个人博客作业-软件案例分 ...
随机推荐
- springcloud3(五) spring cloud gateway动态路由的四类实现方式
写这篇博客主要是为了汇总下动态路由的多种实现方式,没有好坏之分,任何的方案都是依赖业务场景需求的,现在网上实现方式主要有: 基于Nacos, 基于数据库(PosgreSQL/Redis), 基于Mem ...
- 控制台:控制台艺术字 & 为控制台输出增加样式(console.log( ))
控制台/代码文档LOGO 除了知乎的控制台,大部分的代码文档都有这样的字符logo. 下面这个网站可以自动生成符号艺术字: Text to ASCII Art Generator (TAAG) 控制台 ...
- javassist 使用笔记
javassist Javassist 是一个开源的分析.编辑和创建Java字节码的类库.其主要的优点,在于简单,而且快速.直接使用 java 编码的形式,而不需要了解虚拟机指令,就能动态改变类的结构 ...
- 383 day10缓冲流、转换流、序列化流
day10[缓冲流.转换流.序列化流] 主要内容 缓冲流 转换流 序列化流 打印流 教学目标 [ ] 能够使用字节缓冲流读取数据到程序 [ ] 能够使用字节缓冲流写出数据到文件 [ ] 能够明确字符缓 ...
- CodeForce-812B Sagheer, the Hausmeister(DFS)
Sagheer, the Hausmeister CodeForces - 812B 题意:有一栋楼房,里面有很多盏灯没关,为了节约用电小L决定把这些灯都关了. 这楼有 n 层,最左边和最右边有楼梯. ...
- 傻子都能懂的并查集题解——HDU1232畅通工程
原题内容: Problem Description 某省调查城镇交通状况,得到现有城镇道路统计表,表中列出了每条道路直接连通的城镇.省政府"畅通工程"的目标是使全省任何两个城镇间都 ...
- 大学四年的Python学习笔记分享之一,内容整理的比较多与仔细
翻到以前在大学坚持记录的Python学习笔记,花了一天的时间整理出来,整理时不经回忆起大学的时光,一眨眼几年就过去了,现在还在上学的你们,一定要珍惜现在,有个充实的校园生活.希望这次的分享对于你们有学 ...
- PHP中的文件系统函数(二)
这次我们来学习的是一些不是太常用,但却也非常有用的一些函数.它们中有些大家可能见过或者使用过,有一些可能就真的没什么印象了.它们都是 PHP 中文件系统相关操作函数的一部分.存在即合理,或许只是我们的 ...
- PHP的那些魔术方法(一)
在PHP中,有一堆魔术方法,服务于类和对象.PHP虽然也是纯种的面向对象语言,但是之前的PHP还真不是,所以有一些面向对象的标准实现并不完善,比如重载.但是,我们可以通过一些魔术方法来弥补,例如__c ...
- layui 添加复选框checkbox后,无法正确显示及点击的方法
layui 添加复选框checkbox后,无法正确显示方式,这个是由于html里的样式添加 layui-form后,没有加载 form插件 ,具体如下: <body style="ba ...