软件评测
这个作业属于哪个课程 | 2021春软工实践|W班 (福州大学) |
---|---|
这个作业的要求在哪里 | 软件评测 |
结对学号 | 221801337 |
这个作业的目标 | 软件评测 |
其他参考文献 | 无 |
调研,评测
CODE.CHINA
体验
介绍
全球TMT2020年9月11日,中国专业 IT 开发者社区 CSDN 正式推出全新升级的开源平台 CODE.CHINA。面向国际化市场,具备使用 GitLab 最新高可靠部署方案、独立第三方平台等特点,拥有海量用户基础和品牌加持。
CODE.CHINA 具有以下几个特点:
- 独立第三方的开源平台:CODE.CHINA 作为独立的第三方开源社区,将无缝对接国内外各大公司、机构和个人开源项目。为开源开发者与用户架起桥梁,培养开发者使用和维护开源软件的良好习惯,培养和促进国内开源文化及社区的发展,打造强竞争力的软件开发环境。
- 海量的用户基础和品牌加持:作为国内专业开发者社区,CSDN 拥有 3100 万开发者用户和强大的流量基础,将极大助力于项目方运营专属社群,不断提升效率。
- 开放协作的国际化市场:CODE.CHINA 创建之始,就面向全球开源生态;同时,在发挥中国市场优势的情况下,与国外优秀开源项目充分对接,并助力其在中国市场化商业化的合作运营,多方合力创建开放、协作、共享的全球开源技术共同体。
软件使用
作为一个开源代码托管网站,我首先肯定是要测试他对代码管理的功能
首先让人注意到的不是我的项目,而是那个广告横幅以及一段英文提示。
-
对比后面测试的Gitee和GitHub,在仓库首页插入广告无疑是非常影响体验的。
-
而对比Gitee,同为一个本土化的开源代码托管平台,CODE.CHINA却出现了提示中英混杂的情况。明明下面的是一个中文的界面却弹出英文的提示,并且按钮又是中文的,让人感觉很不协调。
-
以上两项加持,让人感觉界面凌乱,不是很简洁。
接下来是看托管平台的附加功能
CODE.CHINA相比于其他两个代码托管平台,对于分支、标签等等的展示更加详细,便于开发者查看
CODE.CHINA的分支图与Gitee基本相同,都优于GitHub的分支图
这个对比分支的页面是CODE.CHINA独有的,方便开发者对比分支区别,并且可以直接在网页进行分支的合并操作
这个分析页的空间利用率就非常低了,左边就只有几行文字,却与右边的图表占用了相同比例的宽度,导致页面左边空余。
对比于GitHub或Gitee,CODE.CHINA的功能就相对较少,而Webhooks甚至没有完成本土化,还是使用英文来说明。这对比Gitee的本土化程度是不足的。
优缺点分析
-
优点
- 可以使用CSDN账号,方便用户使用,提升用户基数
- 支持从github和gitee导入项目,可以快速迁入项目
-
缺点
- 功能相对较少
- 有部分广告
- 部分页面设计布局不合理,导致空间利用率低
- 存在中英混杂,本地化不够完善的问题
- 优秀项目较少
但是项目是2020.9.10才发布的,能在短时间内做到这样也是很优秀的,现在还需要时间的沉淀
改进意见
- 加强本土化程度,不要出现中英混杂的情况
- 完善功能,添加更多对开发者有效的功能
- 吸引更多高质量项目
Gitee
体验
介绍
Gitee 是开源中国推出的基于 Git 的代码托管服务。目前已经有注册开发者 600 万,托管超过 1500 万代码仓库。
Gitee 包括三个版本,分别是:社区版、企业版 和 高校版。企业版已为超过 180000 家企业进行服务,高校版已为超过 2000 所高校提供服务。
软件使用
动态页面相较于CODE.CHINA空间利用率更高,加了很多实用的链接,提高效率
对比CODE.CHINA,Gitee的功能更加完善,同时对比于GitHub,对于相似的功能都做了本土化 ,更加贴合中国开发者使用习惯
比起CODE.CHINA,Gitee的设置页有着更完善的功能,比如可以配置部署公钥。
同样的,对比CODE.CHINA,Gitee的本地化更完善,不会出现中英混杂的情况
Gitee还增加了许多额外的功能,同时还于中国的环境进行了适配。比如这个百度统计设置,可以让开发者知道其他人对他项目真正感兴趣的地方,帮助开发者为未来项目发展做出规划
分支图与CODE.CHINA类似,比GitHub更多的信息。
Wiki编写页则比CODE.CHINA和GitHub更加方便管理
优缺点分析
- 优点
- 本土化程度高,提升了中国用户的体验
- 界面没有出现中英混杂的情况
- 有许多优秀的项目以及选择在Gitee上托管
- 功能相较于CODE.CHINA更加完善
- 广告少,界面显得简洁
- 在国内,连接比GitHub更加稳定
- 缺点
- 商业化程度高,对于非付费用户有着相对多的限制
改进意见
- 希望能与政府合作,减少商业化程度,做成一个公共服务平台而不是商业平台
GitHub
体验
介绍
GitHub于2008年4月10日正式上线,除了Git代码仓库托管及基本的Web管理界面以外,还提供了订阅、讨论组、文本渲染、在线文件编辑器、协作图谱(报表)、代码片段分享(Gist)等功能。目前,其注册用户已经超过350万,托管版本数量也是非常之多,其中不乏知名开源项目Ruby on Rails、jQuery、python等。
2018年6月4日,微软宣布,通过75亿美元的股票交易收购代码托管平台GitHub。
软件使用
GitHub作为当前最流行的开源代码托管仓库,自然也比其他两个平台更为成熟。前两个平台拥有的功能GitHub也基本上都有
项目动态页面也是十分简洁高效的
对比其他两个平台,GitHub还多了一个Actions功能,可以在每次提交后在GitHub提供的服务器上自动实现登录、部署等功能,十分的高效。
而在这次的团队冲刺中,我们通过Actions实现了自动测试。如果你提交的代码无法通过,GitHub就会给提交代码的人发邮件来提示他的代码无法通过编译,甚至单元测试不通过也会发邮件提示
GitHub也提供对代码的自动的安全检测。在之前的项目中,由于疏忽,我将数据库连接的链接硬编码到代码里并提交到仓库中,GitHub自动检测到了并自动给我发邮件来提醒我这一安全风险。同时,它还能对如引入的jar包是否有安全风险等等进行自动检测,并提示安全风险。
相较于前两个平台,GitHub的设置界面提供了最多的功能
GitHub还支持设置库私有的变量,来对Actions提供支持。如你可以在自动部署中将服务器的公钥设定在这里,就避免了在配置文件中硬编码而被别人看到的风险。
优缺点分析
- 优点
- 作为最流行的开源代码托管仓库之一,GitHub上拥有着大量的优秀项目,更能吸引用户
- 由于微软的收购,不用考虑商业化而限制免费用户
- 功能最完善
- 缺点
- 只有英文,对英文不好的用户不友好
- 在中国大陆,连接十分不稳定
改进意见
- 希望能加入多语言的界面
BUG描述
- GitHub的分支图表不太完善,标签会覆盖分支图。
- 而在这次的软工实践的alpha冲刺中,我导入了另外一个仓库的分支,所以这个分支应该是和当前仓库的分支没有起始的关系,如下图
而在GitHub上的图表,却把这个外部仓库的分支接到的main分支上,而事实上这个分支应该单独一个起点的。
- 提交信息的图表展示页好像只能展示默认分支的信息,不能显示其他分支的信息
分析
开发时间估计
- CODE.CHINA:3个月
- Gitee:4个月
- GitHub:5个月
同类产品对比排名
- 界面:GitHub>=Gitee>=CODE.CHINA
- 功能:GitHub>=Gitee>>CODE.CHINA
- 生态:GitHub>=Gitee>>CODE.CHINA
- 本地化:Gitee>=CODE.CHINA>>GitHub
[BUG存在的原因分析]
- 我认为应该是从外部仓库导入分支是一个较少的操作,所以很少人会发现这种问题
规划和建议
市场概况
市场有多大
基本上全世界的程序员都需要版本管理。
直接用户有多少?潜在用户有多少?
- 直接用户:所有程序员
- 潜在用户:需要GitHub上的开源软件的普通用户,对编程有兴趣的用户
市场现状
上述产品的定位、优势与劣势在哪里?
- GitHub
- 优点:功能完善,对免费用户限制少,生态成熟
- 缺点:连接不稳定,没有多语言支持
- Gitee
- 优点:连接稳定,有本土化
- 缺点:商业化程度高,对免费用户限制多
- CODE.CHINA
- 优点:商业化程度低,有本土化,连接稳定
- 缺点:功能较少,生态不成熟
上述产品之间呈现什么样的关系,哪些为竞品关系?以及竞争中的各方态势如何?
国外市场基本上都是使用GitHub
而在国内,相较于GitHub,其他两个平台的唯一优势就是连接更加稳定和本土化强。CODE.CHINA功能不完善且缺少时间沉淀,而Gitee对免费用户的限制比较大,所以如果失去以上任何一条优势,都会导致竞争力的下降。
市场与产品生态
这个产品的核心用户群是什么样的人?典型用户是什么样的?学历,年龄,专业,爱好,收入,表面需求,潜在需求都是什么?
- 核心用户
- IT从业人员
- 在校的计算机系或相关专业的学生
- 潜在需求
- 对代码进行版本管理
- 团队协作开发代码
产品的用户群体之间是否存在一定的关系?是否有利用其相互作用二次构成特定用户生态的可能性?
- 基本上在校的计算机系或相关专业的学生毕业都会成为IT从业人员
产品规划
首先,GitHub是当下最流行的开源代码托管仓库是毋庸置疑的,许多程序员要托管代码还是首选GitHub。从这次课程选用GitHub来教学也可见一斑。
我认为GitHub能流行起来首先肯定是其易用性,其次就是雪球效应:GitHub上许多优秀的项目吸引着用户加入,而更多的用户就能产生更多的优秀项目。而因为GitHub被微软收购,使其不必过度追求盈利,就更能吸引用户。
随着时代发展,软件在国家战略中的重要地位也越发凸显。近年来,美国多次以国家安全为借口限制中国高校企业使用部分工业软件来限制中国发展,软件的开发能力的需求也越来越重要,而国外许多优秀开源的软件都有在GitHub上开发,而这些软件也有被它国"卡脖子"的可能性。我认为像Gitee这类国内的平台,或通过大企业收购,或通过国家支持,使其脱离商业化,而成为一个类似公共服务的平台,才能有竞争力,吸引更多的开发者在上面开发项目。
你要在当前软件的基础上设计什么样的新功能?为何要做这个功能,而不是其他功能?为什么用户会用你的产品/功能?你的创新在哪里?可以用NABCD分析。
- 新增一个在线的合并冲突编辑器
如果你是项目经理,可以招聘6个人,并且有4个月的时间,你认为应该如何配置角色(开发,测试,美工等等) 才能在第16周如期发布软件的改进版本,并取得预想中的成绩。
- 招聘6人
- 1美工
- 2测试
- 3开发
周数 | 任务 |
---|---|
1-2 | 需求分析,确定模型 |
3-4 | 设计原型,向部分行业内人员询问使用体验 |
5-9 | 开发alpha版 |
10-11 | 上线测试,让部分用户体验 |
12-14 | 对用户提出下需求和bug进行改进 |
15 | 测试 |
16 | 上线 |