软件评测

这个作业属于哪个课程 2021春软件工程实践S班
这个作业要求在哪里 软件评测
这个作业的目标 通过评测软件理解软件工程中的一些概念
其他参考文献

调研,评测

CODE.CHINA

体验

从创建一个项目开始

起始界面可以说是相当简洁,但该有的又一个不缺。不会出现某个地方显示的内容过于臃肿。
image
让我们新建个项目。
image
image
依旧十分简约。直到创建完项目前。CODE CHINA 给我留下的印象都挺不错。直到……
image
我愿称之为中西结合。
有意思的是,我们可以直接在网页上创建文件夹/文件。不需要先把项目克隆下来,再上传上去。
image

Fork 项目

可以根据需求寻找各种项目,至于这种显示方式好不好,见仁见智吧。
个人感觉与其说是简洁,这个界面总给我一种“因为没有什么项目所以把显示的内容撑大点显得项目很多”的感觉。
image
Fork 的流程十分简单,基本上把你能看到的绿色按钮点一遍就行了。
image

克隆、Commit 与 Push

重头戏——想必大家没少被GitHub上传下载东西折磨过。
image
克隆过程顺风顺水。
image
接下来试试 Commit 与 Push。
image
image
速度也很快。唯一需要注意的事情是——账号密码的问题,手机注册后要记得设置密码,以及账号不能用手机号替代。

BUG

火狐与 Edge 均有此现象且100%触发。
image
未登录状态下 Star 项目会跳转到登录页面,登录后会跳转到上次登出时的页面且并没有 Star 成功。
image
比如我想要 Star 这个项目。
登录后却跳到了这个界面(因为登出时我在这个界面)。
image
Star 也并没有成功(点了个寂寞)。
image
为什么会这样:

  1. 重新登录时跳转到上次登出时的界面而不是登录前所在的界面;
  2. 未登录状态 Star 实际上只会让你登录。
    对于第一个问题。个人猜想是网页只在登录状态下记录用户当前所在页面,未登录时不记录(毕竟不知道当前浏览页面的到底是哪个用户)。如果只是单纯的点击登录,登录后跳转到上次所在的页面当然是没有任何问题的(不过我个人觉得还不如保持在登录前的页面)。可如果是在上述情况下,跳到上次所在的页面,则让人感到匪夷所思:“嗯?我 Star 完了吗?”到自己的 Star 项目确认一下,发现竟然并没有 Star,导致用户最后需要重新 Star 一次。
    总的来说,Star 未成功的现象 Code China 也不是独一份,许多网站也有这个现象(懒得实现记录登录前用户想要进行什么操作?或是觉得没必要?)。不过这个登录后的页面跳转我目前只在 Code China 上见过,别的网站不是跳到首页,就是跳回登录前界面。
    如果让我为这个Bug评个级的话,我将从以下方面打分:
等级 系统功能 安全性 用户体验
1 操作无反应 用户没意识到这是一个 Bug
2 要多操作几次才能成功 不常发生,用户可以忍受
3 操作失败 数据出错 常常发生,用户可以忍受
4 显示操作成功实际上却没有 导致服务器宕机 常常发生,用户难以忍受
5 发生意料之外的其他操作 数据泄露 用户放弃继续使用
  1. 重新登录时跳转到上次登出时的界面而不是登录前所在的界面;-/-/3
  2. 未登录状态 Star 实际上只会让你登录。1/-/3

建议改进方式:登录前记住状态以及用户的实际操作。登录后处理完实际操作再显示原本的界面。
具体来说,原本在哪个界面可以放在客户端处理,用户进行了什么操作则要上传到服务端进行处理。且服务端根据实际的操作返回给客户端实际上需要显示什么界面(是登录前的界面还是别的界面)。

结论

非常不推荐
不推荐
一般
好,不错
非常推荐

√界面总体简洁大方
√操作及其简单直观
√上下载快速
·(几乎)全中文界面
×小细节不够完美

GitHub

体验

再从新建一个项目开始

想必大家用得比较多的代码托管平台就是这个了吧(上面那个 Code China 我是做这个作业才知道的)。
image
熟悉,并且比上一个平台还要简洁的界面。
先来创建一个项目:
image
image
比 Code China 少了一步操作,不过总体是一致的。

克隆、Commit 与 Push

Fork 方式与前文提到的 Fork 几乎完全一致,这里不再展示了。
image
懂的都懂。需要用点小小的手段才能正常地上下载。
克隆↓
image
Commit↓
image
Push↓
image
只要能连上的话,速度不算快也不算慢。

BUG

暂时没有找到。

结论

非常不推荐
不推荐
一般
好,不错
非常推荐

√界面简洁
√项目极多
·全英文
×上下载比较麻烦

Gitee

体验

又从新建项目开始

image
界面和前面两个平台相似。
image
新建项目的方式与 GitHub 一致。
image

克隆、Commit 与 Push

image
image
速度与 Code China 一致。

BUG

暂时还没有找到

结论

非常不推荐
不推荐
一般
好,不错
非常推荐

√上下载快速
·全中文

分析

开发时间估计

对于实现同类型的项目(6人左右,计算机大学毕业生,专业UI支持)。

子模块 人数 时间(星期)
UI 1 12
前端 2 16
后端 2 16
测试 1 -
事实上,这些动作是可以同时进行的。
加上有些功能有现成的代码/库可以使用,实际上的话个人觉得半年左右可以做出能用的托管平台。

同类产品对比排名

如果比较上述3个平台的话、,个人感觉GitHub>Gitee>Code China。
其中Gitee个人评价比Code China好不是因为它某个地方做得好,而是它没有哪些地方做得不好。Gitee至少比Code China像是一个完整的产品。
换言之,虽然Code China有些地方比GitHub、Gitee要人性化一点。但在一些细节上散发出“我是个Demo”的气息。

建议和规划

市场概况

代码托管平台主要面向于中小型企业/团队或个人使用。因为大多数平台对个人免费的特性,个人成为其最直接的用户。
而只有提供足够好的服务,才能吸引团队使用这个服务。

市场现状

事实上,代码托管平台并不少:

  • GitHub
  • GitLab
  • Bitbucket
  • Code China
  • Coding
  • ...
    他们的定位是相同的:提供代码托管服务。而其中一些平台还提供交流服务。
    最能体现平台的优劣的,有代码的安全性/服务速度两大方面。对于这两点,各个平台各有优劣:
  • GitHub 虽然项目极多,热度也高,但有时无法正常使用。甚至因为要遵守美国法律,会出现对某地区停止服务的情况(还不会事先通知唷)。
  • Code China 没有上述的问题。可惜使用的人相对较少。
  • ...

市场与产品生态

核心用户群由以下人群构成:
分享自己的代码,同时也想学习他人的代码的用户。这个用户可能试着用某一种框架实现了某种功能,甚至是从零开始做了个小Demo。也有可能是把自己造的轮子发到平台上供他人批评修改。他可能是根据自己的想实现的东西,先了解需要什么技术,然后一边学一边慢慢实现。
数人组成的开发小团队,同时又本着“拿来主义”的原则,直接使用现成的代码托管平台。以便同时对不同的模块进行开发与同步。牛仔式开发可能很有趣,但大一点的项目又需要不同的开发工具甚至是涉及到了不同的领域。此时这种平台的吸引力对小组开发成员显然是不言而喻的。
所以总结一下,他们需要的是什么?可以是一个展现自己的平台,可以是一个学习他人经验的平台,也可以是一个现成、免费的同步工具。
那上述两种群体有什么联系吗?我想可能有——几个发布同一类项目的人相互吸引,开始一起开发更大的项目。诸如此类,由数个个人用户抱团成一个小团队。

产品规划

新功能

如果我们有一个现成的GitHub项目,我第一个想要加入的一定是国际化。事实上目前没有任何一个托管平台实现了这个功能。同时不同于聘请专业的翻译团队。我们可以直接利用平台本身,让各个地区的用户像 Push 代码一般提交翻译文本。同时翻译的文本受到大多数用户监督,不合适的文本可以被修改/回滚。
国际化可以帮助初次使用的用户更快地上手这个平台,同时把翻译的权利下放给社区又可以提高社区的活跃度。

角色配置

安排2人负责前端开发、2人后端开发、1人测试、1人宣传项目
image

posted @ 2021-05-21 10:42  Rr2  阅读(145)  评论(6编辑  收藏  举报