软件工程-案例分析作业 开源代码托管平台

软件工程-案例分析作业 开源代码托管平台

作业摘要

这个作业属于哪个课程 2021春软件工程实践|S班 (福州大学)
这个作业要求在哪里 软件工程-案例分析作业
结对学号 周美婷 221801339
这个作业的目标 掌握并实践利用软件工程方法构建大规模高质量应用的技术,提升自身工程能力
作业正文 作业正文
其他参考文献 CSDN、简书、github

目录:

作业摘要

第一部分 调研,测评

Code China

基本使用
Bug 描述
综合评价

GitHub

基本使用
综合评价

Gitee

基本使用
Bug说明
综合评价

第二部分 分析

Code China

GitHub

Gitee

GitLab

第三部分 建议和规划

市场概况

市场现状

市场与产品生态

产品规划


第一部分 调研,测评


Code China

基于全球顶级代码托管平台 GitLab 的最新版本搭建而成,完全继承了 GitLab 炉火纯青的 Git 仓库管理的功能,完善的权限管理、组织管理、分支管理、强大的 Merge Request 以及精巧实用的 WebIDE 功能


基本使用

首先是进行注册登录,用微信扫码注册,而且必须关注一个公众号
image
然后进入首页,显示一些精选项目、入驻组织以及精选topic
image
点击左上角项目新建一个项目,选择模板,进入项目详情页
image
Issue界面和合并请求界面都提供了对内容的管理,允许的操作主要是标记、分配以及进一步的互动
image
image
wiki页面提供了项目的百科说明,分析页面显示项目所用语言占比和提交统计等
image
image
代码片段项目成员可以上传一些代码共享
image
Pages则是Code China提供给开发者的免费静态网页托管服务,由于政策原因,Pages App 目前仅针对认证组织开放使用
image
个人主页
image

Bug 描述

在比较大的项目例如taosdata
加载分支图和贡献者缓慢
image
image
image
Bug发生时的测试环境:windows 10 google
Bug 可复现性:在特定情况下出现
Bug复现条件:在项目拥有大量贡献者且在较长时间内有较多提交记录
Bug复现步骤:选择一个有着大量贡献者的仓库,例如taosdata,点击代码下拉菜单选择贡献者或者分支图

综合评价


从软件用户的角度,Code China功能不完善,社区活跃度低;从商业角度看,Code China目前的知名度已经足以说明一切,我身边长期使用代码托管平台的同学对他无一知晓。如果Code China不能如《构建之法》所说发掘出其特色,尽快补上短板,并做出与同类软件差异化的服务,在我看来没有什么成功的希望




GitHub

GitHub是一个面向开源及私有软件项目的托管平台,因为只支持Git作为唯一的版本库格式进行托管,故名GitHub
GitHub于2008年4月10日正式上线,除了Git代码仓库托管及基本的Web管理界面以外,还提供了订阅、讨论组、文本渲染、在线文件编辑器、协作图谱(报表)、代码片段分享(Gist)等功能


基本使用

注册页面较为简洁,只需提供信息即可快速开始工作
image
登陆后进入主页
image
主页上可以看到时间线,你关注的人的动态
打开项目,管理页面也大致相同
image
GitHub支持许多第三方服务,均可以方便地接入
image

综合评价


GitHub强大的生态让其在开源领域成为毋庸置疑的首选,缺点主要是网络连接,以及没有对国人的使用习惯和大学教学做出优化,老是打不开github




Gitee

Gitee 是开源中国推出的基于 Git 的代码托管服务
Gitee 包括三个版本,分别是:社区版、企业版 和 高校版


基本使用

首页
image
新建仓库
image
项目管理界面
image
新建issue,主要以Markdown为主,而且预览按钮藏得挺深有点影响用户体验
image
pull requests
image
第三方服务支持
image
高校版
image

Bug 说明

管理中选择仓库挂件,跳转到404界面
image
Bug发生时的测试环境:windows 10 google
Bug的可复现性:可稳定复现
Bug复现步骤:打开管理选项点击仓库挂件即可发现
Bug分析:需要考虑此功能是否真的不可用,如果真的对用户不可用(可能很大),影响用户体验,没有详细错误信息;但如果是用户可用,某功能完全失效

综合评价


他的国内连接体验,和其针对大学生群体的优化措施非常加分
可以看出Gitee在自主创新方面做出的长足进步,在GitHub无法正常访问的情况下,对于通用目标的开源项目,Gitee应当是我们最好的选择



第二部分 分析


Code China

  1. 使用此服务的所有功能,估计这个软件/网站/服务做到这个程度大约需要多少时间(团队人数6人左右,计算机大学毕业生,并有专业UI支持)。
    六个月

  2. 分析这个软件目前的优劣(和类似软件相比),这个产品的质量在同类产品中估计名列第几?
    排名第四,比起大公司推出的平台,做的还不够好

GitHub

  1. 使用此服务的所有功能,估计这个软件/网站/服务做到这个程度大约需要多少时间(团队人数6人左右,计算机大学毕业生,并有专业UI支持)。
    8个月

  2. 分析这个软件目前的优劣(和类似软件相比),这个产品的质量在同类产品中估计名列第几?
    GitHub庞大的开源生态是他最大的优势,能排到第一名

Gitee

  1. 使用此服务的所有功能,估计这个软件/网站/服务做到这个程度大约需要多少时间(团队人数6人左右,计算机大学毕业生,并有专业UI支持)。
    6个月

  2. 分析这个软件目前的优劣(和类似软件相比),这个产品的质量在同类产品中估计名列第几?
    Gitee可以说是中国开源行业的领头羊,有着自己独特的思考,功能和优化。但和其他开源代码托管平台相比,生态稍显封闭。所以我觉得排第三

GitLab

丰富的自定义功能、强大的可拓展性、开放源代码可自行部署的灵活性都是其值得称道的点
GitHub所属公司及用户体量远大于GitLab,因此在一些细节GitLab仍不及GitHub
所以排第二


第三部分 建议和规划


市场概况

可以认为每个软件从业人员都是开源代码托管服务的潜在使用者,但开源代码托管服务平台的使用者远不止于此,开源软件的用户会需要在相关平台上提供反馈,高校计算机师生需要在开源代码托管平台管理自己的项目,相关领域的科研人员需要共享自己的代码,这是一个无比庞大的数字
GitHub 公布的 2020 年开发者总数为 5600 万开发者,而在 2019 年这一数字是 4000 万开发者,过去的一年里新增了 1600 万开发者,而纵观近几年数据,今年新增的数据是历年来新增用户最多的一年。
image

市场现状

市面上目前主流的开源代码托管平台就是Github、Gitlab、BitBucket和国内的Gitee、Code China了

关键词Code China未被收录——百度指数,2021/5/20,当添加code china关键词时

image

用户量对比
产品 用户量
GitHub 5600万+
Gitee 600万+
CodeChina 3100+
GitLab 100,000+公司
注意,Code China的3100+万用户其实是CSDN账号下的3100+万用户,这些用户里很大一部分人甚至没有听说过Code China。

市场与产品生态

典型用户
  • 程序员,同时是一名自由软件开发者,发布并维护多个开源项目,收入主要来源于用户对软件的赞助和个人的兼职工作。对开源代码托管平台的需求主要是能高效管理、发布代码,同时可以与软件用户和其他开发者互动,共同维护开源项目。潜在需求是相关的变现能力
  • 大学学生,在学校指定的开源代码托管平台上完成软工作业,与同学结对编程,并在平台上提交作业,接收老师的反馈。对开源代码托管平台的表面需求是快速上手,易于完成作业的提交等功能。潜在的需求是能有效学习代码管理的技术,可以快速上手其他代码平台
  • 联网公司高层主管,主管公司代码管理及安全。对开源代码托管平台的表面需求是在公司内部能高效管控代码,可以提供丰富的代码检查和拓展功能以适应公司的工作流程。潜在需求是对安全性和数据保密性方面的要求,高效的权限控制以及严格的访问审查(aduit)机制。同时也会考虑将公司部分业务代码在互联网的开源平台上开源。
  • 加拿大人,现在中国工作,经常在网上查找好玩的开源项目并抢先试用。表面需求是快速发现高质量的项目,潜在需求是有关项目的自动Release和与作者的互动

  1. 产品的用户群体之间是否存在一定的关系?是否有利用其相互作用二次构成特定用户生态的可能性?
    典型用户2可能会成长为典型用户1或3,学生时代使用的开源代码托管平台体验会极大影响未来的典型用户1或3的选择,典型用户4对内网的代码服务器没有选择权,但是在下班时间的选择也会受到学生时代体验的影响

  2. 产品的子产品,以及其他相关产品之间是否存在一定的关系?是否有利用各个产品特性之间的相互关系二次构成产品生态的可能性?
    这几种产品可以分为三个赛道

  • 面向大众的,主要用户是典型用户1、典型用户4(下班后)和典型用户5的代码管理平台,代表产品为GitHub、Gitee和Code China
  • 面向企业的,主要用户是典型用户3、典型用户4(上班时)的代码管理平台,代表产品为GitLab、Gitee 企业版
  • 面向学生的,主要用户是典型用户2的代码管理平台,代表产品为Gitee高校版,以及学校课程组自建的GitLab平台
    这三个赛道中,面向学生的产品会有效为其他两种产品引流

产品规划

  1. 你要在当前软件的基础上设计什么样的新功能?为何要做这个功能,而不是其他功能?为什么用户会用你的产品/功能?你的创新在哪里?可以用NABCD分析。
    我计划在GitHub中加入面向国内校园的校园版本,能快速登上github,并且高校老师还可对学生作业进行一键收取、统计、评价和返还
项目 内容
Need 高校计算机专业有许多大作业项目需要协作完成,老师收发作业存在版本混乱、下发困难等问题
Approach 通过在代码管理平台层面加入对高校教学的支持,一键收取作业,发布作业,统计进度,评价返还
Benefit 减少教师教学负担,便于过程性检查和教学管理
Competitors Gitee高校版是目前唯一对高校教学提供特殊模式的代码托管平台,但是收作业操作复杂,我们可以以更方便的操作加快进入市场
Delivery 借助github广大的用户量的在高校师生中的流行,可以有效
  1. 如果你是项目经理,可以招聘6个人,并且有4个月的时间,你认为应该如何配置角色(开发,测试,美工等等) 才能在第16周如期发布软件的改进版本,并取得预想中的成绩。
  • 后端开发:2
  • 前端开发:2
  • 测试:1
  • 美工:1

posted @ 2021-05-21 19:58  可爱的小美酱  阅读(320)  评论(2编辑  收藏  举报