个人作业-软件案例分析
本作业属于 2022年北航敏捷软件工程 课程,依照的要求是 https://bbs.csdn.net/topics/605231753。本课程中我们的目标是通过实践锻炼工程能力,本作业是作为其实践环节而设置的。
产品调研:问题分级标准
级别 | 描述 |
---|---|
L1 | 致命问题(无法服务) |
L2 | 严重问题(无法服务关键需求) |
L3 | 重要问题(影响服务,但系统仍能运行) |
L4 | 一般问题(较影响用户体验,服务逻辑大体正常) |
L5 | 小型问题(影响轻微) |
产品调研:测试环境
> navigator.userAgent
'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/99.0.4844.51 Safari/537.36'
产品调研:GitCode
以下问题按照体验顺序而非严重性顺序列出。
L4 - 配色方案问题
内容
这里我选择暂时不设置邮箱,然后映入眼帘的就是这个反人类配色:
这让人很难看清内容,属于折磨眼睛的设计。
复现
步骤如上,必复现。
分析
用户体验较差,但不影响功能。
L4 - 顶栏排版问题
内容
设置完邮箱后出现。
可以明显看出前几项宽度与后面显著不同,视觉效果很差。
复现
必然复现。
分析
用户体验较差,但不影响功能。
吐槽 #1
这里在最上面位置的不是仓库而是一堆营销号的一个月前的所谓头条,右边也只有一堆看起来并没有什么吸引力的博客(还有许多在宣传竞品),实在让人提不起什么兴趣。
L3 - 默认分支问题
内容
往下稍微翻翻,点开几个 repo 瞧瞧,看到这样一幕(链接:https://gitcode.net/mirrors/facebook/react-native):
可以看到最后一次推送是 8 个月之前。那么 facebook 公司这 8 个月间就没有继续开发这一项目吗?显然不是的,让我们切到源仓库查看一下:
可以看到本仓库处于正常开发环节中。原因在于 GitCode 在拉取源仓库时,并没有追踪其 default branch,而仍然默认显示 master 分支的内容。实际上源仓库已无 master 分支,而是将默认分支转为 main 分支,而 GitCode 并未考虑这一点,因此默认显示的内容是过时的(其实大概也不会有人来这看 react-native 仓库的内容?)。
复现
必复现。
分析
影响功能。用户体验差。
L4 - 本地化问题
内容
在上一个问题的第一张图中还显示出一个问题,是本地化不完全的问题。
这里仍然显示了 GitLab 的默认提示信息:“You won’t be able to pull or push repositories via SSH until you add an SSH key to your profile”,而非相应的中文提示,而只有下面的按钮文字改为了中文。
下附 GitLab 提示信息一例。
复现
必复现。
分析
用户体验较差,但不影响功能。
L4 - 备案链接问题
内容
该位置位于页面左下角。
一般来说,备案号等信息需要链接到全国互联网安全管理服务平台的相关页面,但这里只链接到了当前页面;所谓“网络 110 报警服务”字样也未链接至对应页面。
复现
必复现。
分析
一般用户不会去体验这个,但是这影响网站的公信力。
L3 - 贡献者链接失效
内容
对于在本平台有账户的贡献者,经测试可以正常链接;但没有账号的贡献者这里点击没有任何响应,而非出现常规的 mailto。
复现
必复现。
分析
非常影响使用。
L3 - 大型仓库贡献者页面卡顿严重
内容
链接:https://gitcode.net/mirrors/facebook/react-native/-/graphs/master
浏览数据、按时间筛选数据时均有明显的卡顿。GitCode 是基于 GitLab 的,在 GitLab 上测试同样的功能时,浏览数据不出现卡顿,筛选时仍然有一定的卡顿。
复现
必复现。
分析
比较影响使用。
L2 - CI 配置迁移困难
内容
我使用了之前编写的 CI 配置,由于 GitCode 基于 GitLab,那么配置也应该是通用的。
此处我已将仓库 CI 配置路径更改为 .gitlab-ci.yml
。
但其依然无法检测到我的 CI 配置,提示我创建新配置:
链接:https://gitcode.net/u011343154/ec-frontend/-/pipelines
我试图以同样的内容创建配置,提示失败:
将路径更改回 .codechina-ci.yml
后以相同内容创建配置,提示成功并有效。
至此可以发现自定义 CI 配置路径功能难以使用。
复现
必复现。
分析
非常影响使用。直接影响项目 CI 配置的迁移。
L4 - 部署密钥 UI 缺陷
内容
如题。链接(需要更改为自己有权限的仓库查看):https://gitcode.net/u011343154/ec-frontend/-/settings/repository
复现
必复现。
分析
用户体验较差,但不影响功能。
L4 - GitLab 字样残留
内容
出现位置(需要更改为自己有权限的仓库查看):https://gitcode.net/u011343154/ec-frontend/edit
这里大概是改的时候没改干净 … ?
复现
必复现。
分析
用户体验较差,但不影响功能。
吐槽 #2
不测了,测半天发现就是个套壳 GitLab,不但不能像 GitLab CE 一样自己部署,还多了一堆营销内容,汉化做得七零八落,UI 又给改得一塌糊涂,所谓学习广场点进去只有“开源秀”,实在绷不住了 = =。
产品调研:GitLink
以下问题按照体验顺序而非严重性顺序列出。
L4 - 性别显示问题
内容
注册完毕后在我未选择的情况下即显示女性图标,且并未提供性别保密 / 中立选项。
复现
必复现。
分析
用户体验较差,但不影响功能。
L3 - 个人资料完整度同步问题
内容
在已经设置完整用户信息(见上图)后,在设置信息前加载的页面中点击右上角的“新建项目”:
仍然提示资料不完整:
疑似个人信息完整度并未动态获取。
复现
每个用户只有在刚注册时拥有一个复现窗口。
分析
比较影响使用。
L4 - 文本对齐问题
内容
部分文案存在图示问题(链接:https://forum.gitlink.org.cn/forums/3080/detail):
这里文本对齐方式不对。
复现
必复现。
分析
用户体验较差,但不影响功能。
此 bug 应该是由于前面文字与后面图片在 DOM 中直接相邻导致。将对应 <img>
标签以 <p>
标签包裹后可以正常显示。
L2 - Markdown 编辑器渲染错误
内容
使用平台提供的 Markdown 编辑器编辑 Wiki,点击插入行内公式,实际上插入的是 $$ $$
,而点击插入多行公式,插入的是 ```latex ...
,而后者无法被正确渲染,并将导致 $$ $$
亦失效。另外,该编辑器无法正确渲染 $ $
形式的行内公式。此外,编辑器将 LaTeX 命令中出现的下划线错误识别为 Markdown 中的斜体标识,为源代码显示了错误的格式。
复现
必复现。
分析
行内公式几乎无法使用,多行公式编辑器插入功能实现错误,实际上可以通过直接键入 $$ $$
块正常使用。用户体验差,影响关键需求。
产品调研:问题反馈
已就部分问题向对应开发团队进行反馈,开设 issue 情况如下:
产品调研:用户采访
我采访了一位非本班级的同学,他拥有较深厚的开发经验,下面一段话中他集中地给出了他的评价:
产品分析
GitCode
几乎没有啥优点,如果要说有的话,那就是至少还是以 GitLab 为底的,后端服务质量有所保证。
缺点:内容乏味,UI 改得一般,给人感觉像是个半成品。
排名:境内估计只能排到第三,前二肯定是 gitee.com 和 coding.net。
预计时间需求(按作业要求配置):8 个月(基于 GitLab 修改)/ 40 个月(从零搭建)
bug 可能原因:GitLab 体量较大,修改时较难吃透,因此容易存在零散问题。
GitLink
翻了翻背景,依托 CCF 和相关企业勉强能算个优势,目前看来好像也能搞些竞赛之类的,倒还行。
缺点:内容匮乏,与生态链对接不足,本身功能完善度不好,UI 一般。
排名:第四。
预计时间需求(按作业要求配置):12 个月
bug 可能原因:测试不完善,基本功能覆盖不全。(不会就没人去用一用编辑器吧)
评分
借用邹欣老师的表格,评分(每项满分 10 分, 良好 6 分, 及格 4 分,聊胜于无 1 分, 很差 -3 分)如下:
大类 | 评分点 | 描述 | 评分(GitCode) | 评分(GitLink) |
---|---|---|---|---|
功能 | 核心功能 | 分析三个核心功能,功能设计和质量。 | 6 | 4 |
细节 | 有什么为用户考虑的细节? | 1 | 1 | |
用户体验 | 当用户完成功能时,不干扰用户 (例如: 是否不断弹出不相关广告)。 | 6 | 6 | |
辅助功能 | 一些辅助功能如皮肤等 | 1 | 1 | |
差异化功能 | 这个软件独特的功能. 它对用户的吸引力有多大? | -3 | -3 | |
软件的效能 | 占用内存, 启动速度, 内存泄漏情况 | 6 | 6 | |
体验 | 软件的适应性 | 在联网/断网, 大小屏幕, 没有鼠标的情况下都可以顺畅操作. 和不同平台的软件能流畅协作 | 4 | 1 |
成长性 | 记住用户的选择, 适应用户的特点,用户越用越方便 | 4 | 1 | |
用户有控制权 | 系统状态有反馈,等待时间要合适。关键操作有确认提示,有明确的错误信息。 让用户方便地从错误中恢复工作, 快捷操作键可调整。 | 4 | 1 | |
自选 | UI | 界面设计 | 4 | 1 |
总分 | 33 | 19 |
建议与规划
市场概况
查阅六普数据得知 2010 年我国信息行业从业人数约为 439 万人。考虑近年行业发展带来的市场膨胀及境内相关行业人员对于开源社区的接受度,估计境内市场规模在 500 万人左右。
直接的用户是需要高速的代码托管(这往往意味着网站需要在境内)、不甚熟悉英文平台的人群以及需要学习初级技能的人群。预计直接用户在 100 万人左右,潜在用户 400 万人左右。
市场现状
目前境内可以使用的较好的代码托管平台有:
- GitHub,定位是世界开发者的平台(where the world builds software),生态完整,积累丰富,服务稳定。
- GitLab,定位是企业级的 DevOps 平台,支持 self-hosted,支持良好,服务稳定,功能全面。
- Gitee(码云),服务稳定,功能正常,提供 SaaS,在境内市场口碑良好。
- coding.net,技术积累丰富,设计现代,流程完整高效,服务稳定,功能多样,依托腾讯资源,串联飞书管理,拥有良好的技术支持生态。
上述产品的面向群体有一定重叠,但各自在各自的专项领域内能提供较好的服务。就竞争关系而言,GitHub 与 Gitee、GitLab 与 coding.net 可以分别构成一对竞品。Gitee 与 coding.net 面向境内用户有其独特的吸引力,故而能持续占有一定的市场份额。
市场与产品生态
GitCode 与 GitLink 的核心用户群应该是学生、高校、需要境内高速存储的用户。这其中可以通过产学研协作实现用户生态的构建。
产品规划
需求分析
我会尽量加入 WebIDE 以及课堂相关内容,打造 Git 与 MOOC 相融合的独特生态。这个功能使得我们成为一个真正专门面向教育的平台,成为我们的抓手。
N:高校和学生需要体验基于 Git 的协作与云开发流程。
A:与高校合作,在课堂中开展云开发、协作实践。
B:中文环境,低门槛,可访问性好,对接便利。
C:主要有 Gitee 与 coding.net 等平台,但可以利用好宣传渠道,尤其是高校内的相关资源。
D:构建良好的教育生态,对之大举宣传,主要面向高校、课堂,发力新媒体。
角色配置
架构设计(1 人)开发(3 人)测试(1 人)美工(1 人)
开发规划
- 1-2 周:需求梳理
- 3 周:架构设计
- 4-9 周:初版开发
- 9-10 周:集成测试
- 11-12 周:功能维护
- 13-14 周:指南、实例构建,全流程模拟测试,宣发
- 15 周:内部测试、压力测试
- 16 周:性能调优、产品发布