软件评测
软件评测
这个作业属于哪个课程 | 2021春软件工程实践 W班 (福州大学) |
---|---|
这个作业要求在哪里 | 软件评测 |
这个作业的目标 | 评测三个软件,并给出分析、建议、规划等 |
其他参考文献 | 《构建之法》、CSDN、各评测网站官网 |
第零部分 BUG量化标准
星级 | 描述 |
---|---|
☆☆☆☆☆ | 致命性系统故障、致命性安全性漏洞、用户体验严重影响 |
☆☆☆☆ | 严重系统故障、服务器鉴权漏洞或重要数据泄露、用户体验较差 |
☆☆☆ | 功能没有完全实现但是不影响使用 |
☆☆ | 界面、性能缺陷、不影响操作功能的执行,是属于优化方案。 |
☆ | 无关痛痒,不去在意也没关系 |
第一部分 调研,评测
CODE CHINA
介绍
- CODE CHINA是CSDN推出的开源平台。面向国际化市场,具备使用GitLab最新高可靠部署方案、独立第三方平台等特点,拥有海量用户基础和品牌加持。
体验
- 主要对代码仓库进行测试
测试环境:锐捷校园网
首页和登陆
- 体验描述:登录是和CSDN账号是绑定的,有种强买强卖的感觉。个人认为有点减分
- 改进建议:如果整个平台能独立(独立账号)并且把CSDN登录作为类似QQ登录的功能会比较好。
创建项目仓库
- 体验描述:很常规的创建项目功能
- BUG:
- 没有提示项目标识串是必填并且只能是字母、数字、下划线组成的,灰色的my-awesome-project让人误以为是已经自动填写,直到按下新建项目才有提示,影响用户体验。
- 错误提示是英语的,没有做好汉化,体验有点差
- 改进建议:希望能在必填字段加上红色的星号和输入提示。
初始化仓库
- 体验描述:指引界面比较完善,比较惊艳的是选择新建文件的时候还有自带IDE。其实Github也有,但是比较简单。
- 改进建议:IDE可以考虑提交commit后回到仓库界面
代码上传
- 体验描述:7.5MiB/s ~ 11 MiB/s,基本上能把100M宽带跑满,加分。
邀请协作者
- 体验描述:很好,还能选择协作者的权限
- 改进建议:希望被邀请者能够先确认再加入,不然不认识的人就可以随随便便拉你进奇奇怪怪的仓库。
附加功能
BUG
汉化问题
- Bug发生时的测试环境:90.0.4430.212 (正式版本) (64 位) (cohort: Stable)
- Bug的可复现性及具体复现步骤:
- 可复现
- 在创建项目的时候在项目标识串填入中文
- Bug具体情况描述:很多提示信息和界面都没有汉化,作为一个中国本地化这个缺陷个人认为是不能允许的。
- Bug分析:
- 成因:好像CODE CHINA是基于Git Lab二次开发的,那么有一些地方没有汉化很正常,但是也体现了开发人员不够细节。
- 严重性:☆☆
结论
-
广告篇幅有点大,用起来有点难受,稍微有点流氓软件那味
类别 描述 评分 (满分 20分, 良好 12 分, 及格 8分,聊胜于无 1 分, 很差 -5分) 核心功能 分析三个核心功能,功能设计和质量。 17 细节 有什么为用户考虑的细节? 10 用户体验 当用户完成功能时,不干扰用户 (例如: 是否不断弹出不相关广告)。 15 差异化功能 这个软件独特的功能. 它对用户的吸引力有多大? 17 用户有控制权 系统状态有反馈,等待时间要合适。关键操作有确认提示,有明确的错误信息。 让用户方便地从错误中恢复工作, 快捷操作键可调整。 15 总分 74
GitHub
介绍
GitHub 是一个面向开源及私有软件项目的托管平台,因为只支持 Git 作为唯一的版本库格式进行托管,故名 GitHub。
GitHub 于 2008 年 4 月 10 日正式上线,除了 Git 代码仓库托管及基本的 Web 管理界面以外,还提供了订阅、讨论组、文本渲染、在线文件编辑器、协作图谱(报表)、代码片段分享(Gist)等功能。目前,其托管版本数量非常之多,而且其中不乏知名开源项目,例如 Ruby on Rails、jQuery、python 等。
介绍出处
体验
- 主要对代码仓库进行测试
- 前提:网站连不连得上完全看网络心情,很不稳定
测试环境:院楼校园网(上传大概在40M左右)
创建仓库
- 体验描述:界面比较简洁(褒义),选项也比较少,但提示比较全。
Clone仓库
- 体验描述:网络不稳定Clone不下来是常有的事情
代码上传
- 体验描述:网络不稳定Push失败也是常有的事情
邀请协作者
- 体验描述:搜索用户之后需要,被邀请的用户要邮件确认
- 改进建议:希望可以不用邮件就能确定协作,例如站内通信(虽然github没有站内通信功能,但可以考虑加一个通知站)
BUG
- Github作为一个老牌代码托管平台,健壮性和稳定性都不错,很难找到功能性BUG。
结论
- 老牌代码托管平台风评无需多言,但是中国大陆使用Github网络不稳定问题真的很要命
类别 | 描述 | 评分 (满分 20分, 良好 12 分, 及格 8分,聊胜于无 1 分, 很差 -5分) |
---|---|---|
核心功能 | 分析三个核心功能,功能设计和质量。 | 20 |
细节 | 有什么为用户考虑的细节? | 15 |
用户体验 | 当用户完成功能时,不干扰用户 (例如: 是否不断弹出不相关广告)。 | 20 |
差异化功能 | 这个软件独特的功能. 它对用户的吸引力有多大? | 8 |
用户有控制权 | 系统状态有反馈,等待时间要合适。关键操作有确认提示,有明确的错误信息。 让用户方便地从错误中恢复工作, 快捷操作键可调整。 | 15 |
总分 | 78 |
Gitee
介绍
Gitee是代码托管·协作开发平台,开发者超过 600 万,托管项目超过 1500 万,汇聚几乎所有本土原创开源项目,并于 2016 年推出企业版,提供企业级代码托管服务,成为开发领域领先的 SaaS 服务提供商。
体验
- 主要对代码仓库进行测试
测试环境:院楼校园网(上传大概在40M左右)
主界面
创建仓库
- 体验描述:
- 附加选项十分丰富,能设置程序语言、模板、还有分支模型
- 中文仓库名称会自动翻译成英文路径,很惊艳
- 提示很全面
代码上传
- 体验描述:基本能跑满40M,不错。
邀请协作者
- 体验描述:邀请方式很丰富,而且权限管理也比Github和CODE CHINA更胜一筹。
BUG
Commit统计
- Bug发生时的测试环境:
- git bash版本:2.21.0.windows.1
- Bug具体情况描述:把不同电脑上的Commit当作了不同的人,这样在统计贡献量的时候是很致命的错误
- Bug的可复现性及具体复现步骤:
- 可复现
- 只要在不同电脑上commit并push即可复现
- Bug分析:
- 成因:可能push的时候并未匹配用户名,直接使用了push来源的电脑名
- 严重性:☆☆☆
- 改进建议:参考github(但是我不知道Github这边是怎么实现的)
- 提交反馈(issue):
结论
-
没什么广告,用起来很清爽
-
要与Github这种老牌平台竞争,本地化肯定得做得好,而且也要加很多实用的功能
- 它确实做到了
类别 描述 评分 (满分 20分, 良好 12 分, 及格 8分,聊胜于无 1 分, 很差 -5分) 核心功能 分析三个核心功能,功能设计和质量。 19 细节 有什么为用户考虑的细节? 12 用户体验 当用户完成功能时,不干扰用户 (例如: 是否不断弹出不相关广告)。 20 差异化功能 这个软件独特的功能. 它对用户的吸引力有多大? 17 用户有控制权 系统状态有反馈,等待时间要合适。关键操作有确认提示,有明确的错误信息。 让用户方便地从错误中恢复工作, 快捷操作键可调整。 15 总分 83
第二部分 分析
开发时间估计
CODE CHINA
- 基于Git Lab二次开发的话我认为开发时间会比GIthub和Gitee快。
- 预计总的时间要一个月
Github
- CODE CHINA和Gitee其实都是GIthub仿品,所以他的开发时间应该会比GIthub,毕竟创业难。
- 预计总的时间要三个月
Gitee
- 官网并没有说明有基于什么二次开发,那我当他是从0开始仿GIthub,并且花费了一定时间做了一些差异化功能突出与Github的不同。
- 预计总的时间要两个半月
同类产品对比排名
- 中国内地网络稳定性
- Gitee = CODE CHINA > Github
- 内地市场竞争力
- Gitee > CODE CHINA > Github
- 资源丰富程度
- GIthub > Gitee > CODE CHINA
- 产品差异化
- Gitee > CODE CHINA > GIthub
- 综合
- Gitee > Github > CODE CHINA
软件工程方面的建议
针对CODE CHINA:
需要在质量管理上进行严格的把关,针对现在一些信息是处于中不中英不英的状态,很尴尬。
BUG存在的原因分析
针对CODE CHINA的BUG:
- 应该就是偷懒了,急着把半成品放出来(敷衍了事)
- 要不就是Git Lab那边硬编码了,改不了
针对Gitee的BUG:
- 估计很少人会换着电脑开发,而Gitee用户量比较少,没GIthub多,所以比较难发现这个BUG
第三部分 建议和规划
市场概况
市场有多大?
根据BOSS直聘《2021应届生秋招早鸟报告》:
根据上述数据,目前是高薪岗位最多的是IT行业从业人员(程序员),这充分说明了IT互联网行业对于人才的需求。
大量的程序员意味着项目管理,需要用到一些工具去做工程化,其中代码托管平台必不可少。
直接的用户有多少?潜在的用户又有多少?
直接用户:所有程序员、需要学习开源代码的学生
潜在用户:对编程有兴趣的人
市场现状
目前市场上有什么样的产品了?
- Github
- CODE CHINA
- Gitee
上述产品的定位、优势与劣势在哪里?
- Github
- Github是面向全球的,其优势就在于可以接触到全球优秀的开源项目,享受海量资源
- 缺点很明显的就是没有做好本地语言化,而且在国内使用网络稳定性很差
- CODE CHINA
- CODE CHINA是面向中国人群,优势在于本地化并且依托于CSDN社区。
- 缺点就是不像Github那样能享受海量的国外优质资源
- Gitee
- Gitee也是面向中国人群,优势在于本地化做得比CODE CHINA更好,并且拥有比上述两者更多的功能
- 缺点也是和CODE CHINA一样不像Github那样能享受海量的国外优质资源
上述产品之间呈现什么样的关系,哪些为竞品关系?以及竞争中的各方态势如何?
- CODE CHINA和Gitee明显是模仿Github的,但这两者都是后期之秀
- Gitee在中国市场下了很大功夫,本地化做的很好,功能也拓展得不错,胜CODE CHINA一筹
- Github网站基本上没有什么更新,功能更加也没有Gitee和CODE CHINA多,但是他开发出了Github Desktop这种好用的可视化工具提高竞争力
- 但是用户粘性很大,因为是老牌网站了。
- CODE CHINA感觉是赶时间做出来的半成本。。
- 综上所述,在中国网络环境下我认为竞争力可以这样排序:
- Gitee > Github > CODE CHINA
- 如果不限国内环境的话我我认为Github和Gitee的位置就要对调了。
市场与产品生态
这个产品的核心用户群是什么样的人?典型用户是什么样的?学历,年龄,专业,爱好,收入,表面需求,潜在需求都是什么?
- 这个产品的核心用户群在于企业中工作的程序员
典型用户:
学历 | 本科 |
---|---|
年龄 | 25 |
专业 | 计算机 |
爱好 | 编程 |
收入 | 年薪10W |
表面需求 | 代码项目管理 |
潜在需求 | 参考开源项目学习、模仿 |
产品的用户群体之间是否存在一定的关系?是否有利用其相互作用二次构成特定用户生态的可能性?
- 用户群体会有关系,因为代码托管平台本身也支持多人协作、组织等功能。
产品的子产品,以及其他相关产品之间是否存在一定的关系?是否有利用各个产品特性之间的相互关系二次构成产品生态的可能性?
- 像CODE CHINA的话,他是依托于CSDN的,所以说代码托管平台本身是可以依靠IT社区应用,从而产生关系的。
- 这样的话,IT社区就可以和代码托管平台一起二次构成产品生态(都是IT类)
产品规划
你要在当前软件的基础上设计什么样的新功能?
- 我希望能在Github上添加一个站内通信的功能,就像我上面提到邀请协作者的时候需要邮件确认是很麻烦的,而且添加了站内通信还可以方便开发者之间交流(不限于提issue和pr的时候)
功能以及NABCD分析
• Need,需求
- 用户之间的通信
- 必须先进行双方认证,防止垃圾信息
- 组织内部通信
- 系统消息推送(协作、邀请加入组织、Features发布等)
• Approach,做法
- 技术
- 使用websocket
• Benfit,好处
- 用户如果只是需要简单的联系对方,无需发邮件、提issue等操作
- 一些系统推送消息可以直接在github网站内完成,不用切换到邮箱(例如邀请协作)
- 界面简洁,用户可以在短时间内学会使用该产品
• Competitors,竞争
- 因为目前Github没有站内通信功能,所以诞生了Gitter(开源社区),是潜在的竞争者
- 上线了站内通信功能的话可以拉走一部分只需要简单发消息的用户
- 在中国地区,CODE CHINA也是竞争者,因为他们依托于CSDN
- 但是CODE CHINA本身并没有站内通信功能。
• Delivery,推广
- 发布这个版本的之后,首次进入网站,可以考虑添加用户引导。
- 依托于Github已有用户的情况下,推广不是什么难事。
角色配置
- 如果你是项目经理,可以招聘6个人,并且有4个月的时间,你认为应该如何配置角色(开发,测试,美工等等) 才能在第16周如期发布软件的改进版本,并取得预想中的成绩。
- 一位熟知目前Github网站架构的高级工程师
- 用来整合系统消息、用户系统的接口
- 两位前端开发人员
- 一位后端开发人员
- 一位原型设计
- 一位测试人员
- 一位熟知目前Github网站架构的高级工程师
16周的详细计划
周数 | 详细工作 |
---|---|
第一周 | 需求分析 |
第二周 | 原型设计 |
第三周 | 数据库与系统设计 |
第四周 | 整合系统消息、用户信息系统 |
第五到第七周 | 编码阶段,alpha冲刺 |
第八周 | 测试界面、接口(运用白盒、黑盒等方法) |
第九周到第十周 | 修改测试出现的问题 |
第十一周到第十二周 | 优化UI和代码,beta冲刺 |
第十三周 | 发布试用版、收集用户意见 |
第十四周到第十五周 | 根据用户反馈修改功能 |
第十六周 | 发布正式版本 |