项目 内容
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人。

电梯演说

各位领导/合作伙伴:

当前软件工程的教学缺乏统一平台,教学资源管理分散,我们的软件工程教学管理平台旨在将博客、文档、会议记录、进度监视、小组合作、代码仓库、持续集成、评测等诸多课程教学需要的功能进行有机整合,既为参与课程的同学们提供更加舒适便捷的课程体验,又为老师和助教提供了学生学习情况监督和成绩管理的高效工具。我们的平台不仅适用于某一所高校,鉴于软件工程教学内容的相似性,我们会对平台进行不断的迭代和完善,让它获得更多的用户,帮助更多的老师和同学提高软件工程的教学水平和训练效果,同时我们希望能够将该平台作为开源项目,让更多的人参与并完善,保持项目的生命力。我们相信,我们的项目能够推动软件工程教学的改革和创新,为软件工程的教学事业注入强大的动力。

[敏捷软工团队博客]项目介绍 & 需求分析 & 发布预测的更多相关文章

  1. [敏捷软工团队博客]Beta阶段项目展示

    团队成员简介和个人博客地址 头像 姓名 博客园名称 自我介绍 PM 测试 前端 后端 dzx 秃头院的大闸蟹 大闸蟹是1706菜市场里无菜可卖的底层水货.大闸蟹喜欢音乐(但可惜不会),喜欢lol(可惜 ...

  2. [敏捷软工团队博客]The Agiles 团队介绍&团队采访

    项目 内容 课程:北航-2020-春-敏捷软工 博客园班级博客 作业要求 团队作业-团队介绍和采访 团队名称来源 The Agile is The Agile. 敏捷就是敏捷.我们只是敏捷的践行者罢了 ...

  3. [敏捷软工团队博客]Beta阶段使用指南

    软件工程教学实践平台使用指南 项目地址:http://20.185.223.195:8000/ 项目团队:the agiles 进入界面如图: 目录 软件工程教学实践平台使用指南 学生端 登录 iss ...

  4. [敏捷软工团队博客]Beta阶段事后分析

    设想和目标 我们的软件要解决什么问题?是否定义得很清楚?是否对典型用户和典型场景有清晰的描述? 我们的软件要解决的问题是:现在的软工课程的作业分布在博客园.GitHub上,没有一个集成多种功能的一体化 ...

  5. [敏捷软工团队博客]Beta阶段发布声明

    项目 内容 2020春季计算机学院软件工程(罗杰 任健) 博客园班级博客 作业要求 Beta阶段发布声明 我们在这个课程的目标是 在团队合作中锻炼自己 这个作业在哪个具体方面帮助我们实现目标 对Bet ...

  6. [敏捷软工团队博客]Beta设计和计划

    项目 内容 2020春季计算机学院软件工程(罗杰 任健) 博客园班级博客 作业要求 Beta设计和计划 我们在这个课程的目标是 在团队合作中锻炼自己 这个作业在哪个具体方面帮助我们实现目标 对Beta ...

  7. [敏捷软工团队博客]Beta阶段测试报告

    项目 内容 2020春季计算机学院软件工程(罗杰 任健) 博客园班级博客 作业要求 Beta阶段测试报告 我们在这个课程的目标是 在团队合作中锻炼自己 这个作业在哪个具体方面帮助我们实现目标 对Bet ...

  8. [no_code团队]项目介绍 & 需求分析 & 发布预测

    项目 内容 2020春季计算机学院软件工程(罗杰 任健) 博客园班级博客 作业要求 团队项目选择 我们在这个课程的目标是 在团队合作中提升软件开发水平 这个作业在哪个具体方面帮助我们实现目标 进行项目 ...

  9. 2020BUAA软工个人博客作业-软件案例分析

    2020BUAA软工个人博客作业-软件案例分析 17373010 杜博玮 项目 内容 这个作业属于哪个课程 2020春季计算机学院软件工程(罗杰 任健) 这个作业的要求在哪里 个人博客作业-软件案例分 ...

随机推荐

  1. web安全性测试——XSS跨站攻击

    1.跨站攻击含义 XSS:(Cross-site scripting)全称"跨站脚本",是注入攻击的一种.其特点是不对服务器端造成任何伤害,而是通过一些正常的站内交互途径,例如发布 ...

  2. salesforce零基础学习(一百零六)Dynamic Form

    本篇参考:https://trailblazer.salesforce.com/ideaview?id=08730000000BroxAAC https://help.salesforce.com/s ...

  3. scrum项目冲刺_day03总结

    摘要:今日完成任务. 1.图像识别已完成,但是较为卡顿,仍需优化 2.语音输入正在进行 3.搜索功能正在进行 总任务: 一.appUI页面(已完成) 二.首页功能: 1.图像识别功能(基本完成) 2. ...

  4. 一起搞懂PHP的错误和异常(三)

    关于错误与异常的最后一篇文章,我们来进行一些总结. PHP中错误和异常的区别 通过前面两篇文章的学习,我们来直接将错误和异常摆上来进行对比,看看他们的区别与联系: 错误的出现通常是语法或编译运行时错误 ...

  5. 这个 MySQL bug 让我大开眼界

    这周收到一个 sentry 报警,如下 SQL 查询超时了. select * from order_info where uid = 5837661 order by id asc limit 1 ...

  6. 鸿蒙内核源码分析(进程概念篇) | 进程在管理哪些资源 | 百篇博客分析OpenHarmony源码 | v24.01

    百篇博客系列篇.本篇为: v24.xx 鸿蒙内核源码分析(进程概念篇) | 进程在管理哪些资源 | 51.c.h .o 进程管理相关篇为: v02.xx 鸿蒙内核源码分析(进程管理篇) | 谁在管理内 ...

  7. POJ3734-Blocks【EGF】

    正题 题目链接:http://poj.org/problem?id=3734 题目大意 用思种颜色给\(n\)个格子染色,要求前两种颜色出现偶数次,求方案. \(1\leq T\leq 100,1\l ...

  8. vue 移动端项目切换页面,页面置顶

    之前项目是pc端是使用router的方式实现置顶的 //main.js router.afterEach((to, from, next) => { window.scrollTo(0, 0) ...

  9. Docker部署Mysql,如何开启binlog

    0.拉取镜像 sudo docker pull mysql:5.7 1.创建存放映射文件夹 mkdir -p mydata/mysql/log mkdir -p mydata/mysql/data m ...

  10. Unity——基于UGUI的UI框架

    基于UGUI的UI框架 一.Demo展示 二.关键类 MonoSingle 继承MonoBehaviour的单例基类:做了一些特殊处理: 保证场景中必须有GameInit名称的物体,所有单例管理器脚本 ...