软件评测

这个作业属于哪个课程 2021春软件工程实践|S班
这个作业要求在哪里 软件评测
这个作业的目标 通过分析、评测一类软件产品,进行思辨、总结,学好软件工程,帮助我们在实践中做得更好
其他参考文献 知乎、《构建之法》、CSDN、简书、北航优秀作业

目录

第一部分  调研,评测

CODE.CHINA

CODE.CHINA是CSDN推出的开源代码托管平台,具备 GitLab 最先进的技术,并充分考虑中国用户的使用习惯。

  • 体验

    介绍和使用软件

    进入首页,风格是比较漫画风的,色彩也是比较丰富的,一眼看过去就是一个大大的“Markdown基础入门”。

    然后是进行登录,由于我之前已经成为了CSDN用户,无需注册,于是我直接选择了CSDN APP扫码登录。这个方式让我觉得很舒服,这对CSDN已有的用户很友好,无需进行那些繁杂的注册验证,只要扫个码,在手机上确认登录就可以了,既安全又方便。

    登录后就是进入到自己个人的主界面了,可以查看我的项目、最近的动态等重要信息。

    CODE.CHINA有进入开源广场看开源秀,以及进入学习广场进行相关课程的学习,我感觉这对新手很友好,能够让新手快速地了解CODE.CHINA本身,以及学习Git、Markdown,快速地上手使用CODE.CHINA。

    由于CODE.CHINA本身的功能是很丰富强大的,因此在此我只介绍其部分核心功能的使用。

    我们可以在CODE.CHINA查看他人开源的项目,查看他人优秀的代码,并可以选择进行克隆到本地运行项目。

    可以选择直接下载源码,也可以通过SSH、HTTPS进行代码克隆。

    CODE.CHINA的一个核心功能就行进行个人代码托管,这对程序员的开发是很友好的,可以通过代码托管来进行版本控制、团队合作,若本地代码因为某些原因消失了,就可以选择从远程在此克隆到本地,及时地进行代码的恢复,又或者在团队合作的代码不小心被他人覆盖了,可以选择版本回退,恢复到未被覆盖之前的样子。

    首先是点击创建项目,进行个人项目的创建,可以选择创建空白项目、从模板创建项目、从外部导入项目(Github等平台)。

    选择创建空白项目后,可以设置项目的名称,项目描述,并且可以把该项目设为私有或者是公开的。点击新建项目,项目就创建成功了。

    可以在其Web IDE进行文件的编辑和提交。

    然后就可以在项目的代码界面看到相应的文件了。

    在实际开发时,可以选择创建新的分支,在分支上进行代码的开发,最后在一同合并到主分支master上。

    在开发时,可以把项目具体化,分割成一个个小的任务,通过提issue的方式,指定相关开发人员进行开发,解决issue。

    同时还可以查看代码的各个分支的提交信息,具体查看每次提交的确切提交时间,提交作者,具体修改了什么内容,便于进行代码的版本控制。

    同时可以在项目设置里,邀请其他项目成员一同进行该项目的开发,通过团队合作开发、完成该项目。

    还可以Fork他人的项目,在他人的项目的基础上且不影响原始项目的情况下,进行项目的开发。在开发结束之后,还可以选择发起pull request,将自己的分支请求合并到原来Fork的项目分支上。

    优缺点分析

    ​ 优点:

    ​ 基于GitLab开发,充分考虑中国用户的使用习惯

    ​ 由CSDN团队开发,结合CSDN社区,对CSDN用户友好,CSDN用户可以快捷登录

    ​ 对新手友好,网站有一系列Git、Markdown教程,易于新人上手使用

    ​ 缺点:

    ​ 平台推出不足一年,存在一定程度上的bug(详情可见下文提到的Bug)

    ​ 平台活跃度不足,开源项目不够多,如在ERP主题下,居然没有一个开源项目,且目前开源项目中的多数项目是从其他托管平台上镜像的

    ​ 第三方插件支持较少,在IDEA中找不到与CODE.CHINA相关的插件

    ​ 中英文混杂,没有统一的标准,如下图

    对产品有什么改进意见

    ​ 尽快完善平台存在的Bug,提升用户体验。可以同国内各大高校进行教学合作,吸引教师使用该平台进行课程教学,根据学生的使用场景定制可用的功能。提高平台知名度(毕竟在此次软件评测之前,我也没听说过这个平台),提高平台活跃度,可以引流CSDN社区的用户,让更多用户在平台上开源自己的优质项目,提高开源广场项目的数量和质量。

  • BUG

    Bug严重性量化指标

    Bug等级 描述
    1级 致命性bug,由正常操作造成系统崩溃、死机,导致系统重要数据泄露,数据库崩溃,数据丢失
    2级 严重性bug,系统部分重要功能没有实现或不起作用,用户重要数据没有加密传输
    3级 一般性bug,次要功能没有实现或实现不完全,数据查询时间过长,查询结果不正确,或数据显示不正常
    4级 小bug,不影响功能的使用,页面文字错误,页面排版不够合理,影响用户体验

    Bug 1 描述:在commit界面切换分支时,页面直接跳转404

    • Bug发生时的测试环境

      操作系统:Windows 10 家庭中文版

      浏览器环境:Google Chrome 版本 90.0.4430.72(正式版本) (64 位)

      发生时间段:正常使用网站时

      前因后果:在项目提交界面想切换分支,查看其他分支的提交,结果页面跳转404界面

    • Bug的可复现性及具体复现步骤

      可复现性:必然发生

      复现步骤:

      • 选择一个项目,如 sonic-pi,点击提交进入查看代码提交界面。
      • 选择其他分支,并点击切换,页面直接跳转404。
    • Bug具体情况描述

      经过上述步骤后,页面跳转404。然后在代码界面选择dev分支后,进入查看提交界面是正常访问的,同样,此时选择切换分支后,页面跳转404。具体如下图:

    • Bug分析

    • 【进阶】Bug 反馈

      该Bug已反馈至CODE.CHINA官方Issue区,反馈issue为issues297

      截止博客发布日期前,已得到官方开发者的回复,且被官方开发者标记为bug。目前,Bug已被修复。

    Bug 2 描述:最多star排序不起作用

    • Bug发生时的测试环境

      操作系统:Windows 10 家庭中文版

      浏览器环境:Google Chrome 版本 90.0.4430.72(正式版本) (64 位)

      发生时间段:正常使用网站时

      前因后果:浏览开源广场项目时,点击最多Star想查看项目排名,结果发现排名第一的项目Star数不是最多的

    • Bug的可复现性及具体复现步骤

      可复现性:必然发生

      复现步骤:

      • 点击项目,选择浏览项目,点击最多Star
    • Bug具体情况描述

      在浏览项目最多star时,发现排序不起作用。排在第一的star数不是最多的,如下图,排在第一的项目star数是360,排在第四的项目star数却有15109。

    • Bug分析

      • 可能的原因:根据Star进行排序的函数不起作用
      • Bug的严重性:3级
        • 系统功能:次要功能实现不完全,数据显示结果不正确
        • 安全性:重要数据没有泄露
        • 用户体验:一般,无法查看项目的Star排名
      • 对于Bug的预期及改进建议
        • 预期:可以显示正确的项目的Star排名
        • 改进建议:检查相关排序函数是否起作用,是否是根据Star数进行排序
    • 【进阶】Bug 反馈

      该Bug已反馈至CODE.CHINA官方Issue区,反馈issue为issues300

      截止博客发布日期前,已得到官方开发者的回复

  • 结论

    不推荐使用。评分:60分(满分100分)。我只能给CODE.CHINA打一个及格分,及格分在于平台基本实现了代码托管的功能,但是在用户数量上、项目数量上、项目质量上、用户体验上是很不足的。该平台需要创新、改变,解决自身不足之处。

GitHub

GitHub是全球最大,最先进的开发平台,数以百万计的开发人员和公司在GitHub上构建,发行和维护他们的软件。

  • 体验

    介绍和使用软件

    Github是我最早开始使用的代码托管平台,因此,已经上传一些个人项目到该平台,以及使用该平台进行团队开发。于是我直接使用自己已有的账号登录了GitHub。登录成功后,跳转的是自己的主界面,在这里可以看到自己的代码仓库,自己加入的团队,加入的组织等等。

    在输入框输入想要搜索的关键词,就可以查看相关的开源代码仓库,其数量之多令人瞠目结舌,例如我搜索Java,结果有1861507 个代码仓库。

    然后进入到个人主页,可以查看自己最近的代码仓库,以及活跃度。

    点击右上角 + 号可以选择创建新的代码仓库。可以在创建界面填入仓库的名字,仓库的介绍,是否选择添加相关的README文件,gitignore文件等,点击"Create repository"创建新的仓库。

    仓库创建成功后,可以进入仓库界面查看相关信息,并且可以通过HTTPS、SSH、直接下载等的方式,将仓库克隆到本地。在本地进行文件的增加、修改、删除等一系列操作后,可以通过Git命令,将本地仓库代码的改变,同步到远程仓库。若是多人开发,还可以在开发的过程中,拉取远程仓库的改变至本地仓库,同步他人对仓库代码的改变,实现团队合作开发。

    同样,Github在code界面,可以具体查看仓库里的文件及内容,在commit界面可以仓库自己的commit信息,及每次commit具体对文件作出的改变。

    GitHub还可以用于团队开发,在团队开发中,通过自己的commit解决issue,完成自己的部分的工作。

    优缺点分析

    ​ 优点:

    ​ 全球最大的代码托管平台,功能完善,bug较少

    ​ 代码仓库数量多,质量高

    ​ 用户活跃度高,很多大公司在平台上开源自己的一些项目代码

    ​ 有配套的桌面应用,IDEA、Vscode等编译器支持Github

    ​ 缺点:

    ​ 平台为全英文,一开始使用时对非英文母语用户不友好。

    ​ 平台服务器部署在国外,国内用户时常因为网络问题无法登上该平台

    对产品有什么改进意见

    ​ 建议GitHub能够考虑中国用户习惯,支持切换中文,进行一定的本土化。

    ​ 将服务器放置在离中国开发者更近的地方,以提高中国用户访问GitHub的响应速度。

  • BUG :图标加载失败

    • Bug发生时的测试环境

      操作系统:Windows 10 家庭中文版

      浏览器环境:Google Chrome 版本 90.0.4430.72(正式版本) (64 位)

      发生时间段:正常使用网站时

      前因后果:点击Explore后,想查看Topics下的内容,点击Topics,结果发现topic图标加载不出来

    • Bug的可复现性及具体复现步骤

      可复现性:必然发生

      复现步骤:

      ​ 点击Explore,再点击Topics

    • Bug具体情况描述

      经过复现步骤后,topic图标加载失败,如下图

    • Bug分析

      • Bug可能的成因:无法访问图标所在的url。

      • Bug的严重性:4级

        • 系统功能:系统功能正常可用
        • 安全性:重要数据没有泄露
        • 用户体验:一般,无法查看topic图标,页面有点不美观
      • 对于Bug的预期及改进建议

        • 预期:能够正常显示topic图标
        • 改进建议:将图标地址替换为可以正常访问的url
  • 结论

    好,不错。

    评分:85(满分100)。打这个分数是因为GitHub本身很完善,有许多丰富、优质的内容,扣的分是因为不支持切换中文,对新手不友好。且因为网络问题导致的用户体验不好,我时常在pull或push代码时遇到"time out"的报错,访问平台有时加载许久都加载不出来,用户体验很差。

Gitee

Gitee 是开源中国推出的基于Git的代码托管服务。目前已经有注册开发者 600 万,托管超过 1500 万代码仓库。

  • 体验

    介绍和使用软件

    首先是登录,我之前注册过平台的账号,于是选择了用户名、密码直接登录。登录后是自己的主界面,可以查看相关信息,以及最近的动态。

    可以点进创建的仓库查看相关文件的内容,最近的动态,以及提交的相关消息。

    Gitee还可以查看博客,在开源广场搜索个人想了解开源项目,可以查看搜索结果的仓库、Issues、博客,可以看看别人的优质仓库代码、博客学习相关知识。

    优缺点分析

    ​ 优点:

    ​ 平台完善,仓库数量、质量较高

    ​ 充分考虑国内用户使用习惯

    ​ 有许多学习教程,对新手友好

    ​ 有高校版,针对高校学生的使用进行优化

    缺点:

    ​ 上传文件有较大的限制,一个小时内只能上传20个文件

    ​ 开源项目的数量、质量仍然不够

    对产品有什么改进意见

    ​ 提高开源项目的数量和质量,多免费开放一些功能给年轻学子探索。

    【进阶】采访另一个用户

    采访对象为2018级数计学院在校生,目前就读于软件工程专业,需求是进行个人代码的托管,代码存储备份至云端。
    以下是采访截图:

  • BUG:搜索结果不够精确

    • Bug发生时的测试环境

      操作系统:Windows 10 家庭中文版

      浏览器环境:Google Chrome 版本 90.0.4430.72(正式版本) (64 位)

      发生时间段:正常使用网站时

      前因后果:想搜索Java相关的内容,发现呈现结果不够精确,先呈现的是JavaScript相关的内容

    • Bug的可复现性及具体复现步骤

      可复现性:特定条件下发生

      ​ 特定条件:搜索框输入Java

      复现步骤:

      ​ 搜索框输入java,点击搜索,查看搜索结果

    • Bug具体情况描述

    • 经过复现步骤,结果呈现为JavaScript相关的内容

    • Bug分析

      • Bug可能的成因:搜索算法不够精确。

      • Bug的严重性:4级

        • 系统功能:系统功能正常可用
        • 安全性:重要数据没有泄露
        • 用户体验:差劲,无法查看搜索Java的相关结果,需要点击旁边的编程语言选项对搜索结果进行限制
      • 对于Bug的预期及改进建议

        • 预期:能够正常显示Java搜索结果
        • 改进建议:改进搜索匹配算法
  • 结论

    非常推荐。

    评分:90(满分100),Gitee是国内相对比较成熟的代码托管平台,由于其的成熟度,以及平台访问速度,针对高校学生的优化,我给出了90的高分,扣分是因为其开源仓库的数量和质量仍然不足。

第二部分  分析

  • 开发时间估计

    开发该类产品是难度是比较大的,要考虑服务器的响应速度、大量用户访问的并发情况、仓库代码的托管的主要功能、多个用户同时push和修改一个文件时的冲突、仓库的安全性保证、个人数据的安全性等等一系列的方面。

    • CODE.CHINA

      CODE.CHINA是三个产品里面相对比较简单的一款,大概需要3个月

    • GitHub

      GitHub是比较庞大复杂的一款产品,大概需要1年6个月

    • Gitee

      Gitee相对来说有一定的复杂性,大概需要9个月

  • 同类产品对比排名

    • CODE.CHINA

      CODE.CHINA优势在于充分考虑中国用户习惯,劣势在于不够成熟,开源项目数量、质量不够多。同类产品排名第二。

    • GitHub

      GitHub优势在于是全球最大的开源平台,有着很多的优质开源项目,劣势在于国内用户访问平台速度慢。同类产品排名第一。

    • Gitee

      Gitee优势在于国内比较成熟的开源平台,国内用户访问方便,推出了高校版服务,劣势在于同GitHub相比,开源项目的数量、质量仍然不足。同类产品排名第二。

  • 软件工程方面的建议

    • CODE.CHINA

      完善自己的平台,解决平台存在的Bug,提高开源项目的数量和质量。

    • GitHub

      针对中国用户的使用习惯做出相应的优化,支持中文切换,提高访问服务器的响应速度。

    • Gitee

      免费开放更多功能给用户,提高开源项目的数量和质量

  • BUG存在的原因分析

    • CODE.CHINA

      Bug1:测试把关不严,没有注意到相关方面的测试,所以导致查看提交界面切换分支时跳转404

      Bug2:对用户需求掌握不好

    • GitHub

      这个Bug应该是开发团队没有注意到图片url无法访问,可能图片一开始的url是有效的,后来图片url无效了,团队没有及时发,现,属于细节上的Bug。

    • Gitee

      Bug:对用户需求把握不好

第三部分 建议和规划

  • 市场概况

    • 市场有多大

      全球开源热度持续攀升,热门领域开源项目涌现,越来越多组织、公司加入开源的队伍,而代码托管平台正是开源项目进行托管的好地方。可以说,从事软件相关行业的都是代码托管平台的直接用户或者是潜在用户。软件开发者热衷于在平台上开源自己的项目,同时也热衷于学习、使用他人的开源项目。

      比如GitHub,目前有超过65000000的开发者在平台分享自己的代码,超过3000000的组织入驻,平台上有超过200000000的代码仓库,这是一个非常庞大的数目,且这个数目每年以惊人的速度在增长着。

      同时,市场是面向全球的,全球的开发者在平台上开源自己的项目,可见市场的庞大。

    • 直接用户

      埃文斯数据公司(Evans Data Corporation) 2019 最新的统计数据显示,2018 年全球共有 2300 万软件开发人员,预计到 2019 年底这个数字将达到 2640 万,到 2023 年达到 2770 万。这些软件开发人员就是代码托管平台的直接用户。

    • 潜在用户

      即将从事软件开发、或者准备学习软件开发的人员都是平台的潜在用户。

  • 市场现状

    • 目前市场上的产品

      • 全球最流行的代码托管平台:GitHub
      • 开源中国旗下的代码托管平台:Gitee(码云)
      • 基于git的仓库管理程序:GitLab
      • CSDN旗下的代码托管平台:CODE.CHINA
    • 上述产品的定位、优势、劣势

      产品 定位 优势 劣势
      GitHub 面向全球开发者 社区资源庞大,有数量巨多的优质开源项目 访问服务器响应速度较慢
      Gitee(码云) 主要面向国内开发者 有许多开源项目,有企业版、高校版 开源项目的数量、质量还不足
      GitLab 主要面向企业等专业人员 可自建代码托管平台 访问服务器响应速度较慢
      CODE.CHINA 目前面向国内开发者 充分考虑国内用户习惯 平台还不够成熟
    • 上述产品间的关系

      其中Github、Gitee、CODE.CHINA在个人用户方面上互为竞品,竞争力:Github > Gitee >> CODE.CHINA

      Gitee企业版、GitLab在面向企业方面互为竞品,竞争力:GitLab > Gitee企业版

  • 市场与产品生态

    • 产品的核心用户群

      软件开发人员

    • 典型用户

      用户 学历 年龄 专业 爱好 职业 收入 表面需求 潜在需求
      张三 本科在读 21 软件工程 跑步 学生 暂无 需要一个用于软件工程代码提交的产品 需要一个容易上手的个人代码托管平台
      李四 本科毕业 26 计算机科学 听音乐 公司软件开发小组组员 1w+/月 需要能够查看前沿技术地平台 该平台资源整个庞大,有相关前沿技术的开源项目
      王五 硕士毕业 30 电子信息 阅读 软件开发小组长 2w+/月 需要一个用于项目开发的代码托管平台 该平台能高效地进行软件开发,能够管理团队进行开发
    • 产品的用户群体之间是否存在一定的关系?是否有利用其相互作用二次构成特定用户生态的可能性?

      用户二、用户三是从用户一所处阶段成长而来的,用户三是从用户二所处阶段成长而来的。

      有如Gitee有面向大众的、面向高校、面向企业的不同版本,涵盖了三个用户的所需。

    • 产品的子产品,以及其他相关产品之间是否存在一定的关系?是否有利用各个产品特性之间的相互关系二次构成产品生态的可能性

      Gitee、Github、CODE.CHINA,在个人代码托管方面互相竞争,Gitee高校版能够吸引用户使用个人版,之后还能吸引用户使用企业版,构成了一个良好的生态。

  • 产品规划

    • 新功能

      • 新增私聊功能
      • 需求:有时想联系开源项目的开发者,发现只能在项目项目下留言或者发邮件,效率低
      • 用户使用理由:有时有些项目开发者没有留下自己的邮箱,无法联系到,且有些私密的话语需要同开发者交流,在项目下评论留言会被其他人看见,所以需要私信开发者
      • 创新的地方:目前的代码托管平台都没有集成私聊的功能
    • 角色配置

      • 美工:1人
      • 前端开发:2人
      • 后端开发:2人
      • 测试人员:1人
    • 16个周期每周的详细规划

      周数 规划
      1 需求分析,进行原型设计
      2 确定使用的开发工具、技术
      3 前、后端学习开发工具的使用,产品经理学习项目管理工具使用
      4 前、后端学习相关技术,测试人员学习相关测试工具、技术
      5 进行系统设计
      6 进行数据库设计
      7 前端:私聊界面的搭建,后端:开发框架搭建
      8 前端:消息提示的搭建,后端:实现发送、接收消息功能
      9 前端:拉黑、举报组件搭建,后端:拉黑、举报功能实现
      10 前后端接口对接,调试
      11 经测试后发布Alpha版本,进行Alpha测试
      12 前端:美观界面,后端:实现允许高并发
      13 经测试后发布Beta版本,进行Beta测试
      14 使用postman模拟进行压力测试
      15 功能整合到原平台上
      16 经测试后上线正式版本
posted @ 2021-05-21 16:59  羊羊羽  阅读(174)  评论(6编辑  收藏  举报