这个作业属于哪个课程 | 2022年福大-软件工程、实践-W班 |
---|---|
这个作业要求在哪里 | 软件评测作业 |
这个作业的目标 | 测评比较几款同类软件产品,指出优点及缺点,分析原因并提出建议,最后为此类型产品如何在竞争中取胜做出规划 |
其他参考文献 | Bug分类和定级 |
一、调研与评测
1.0 BUG量化分析
严重程度 | 描述 |
---|---|
⭐⭐⭐⭐⭐ | 导致系统无法继续使用,包括常规操作引起的系统崩溃;用户数据丢失或破坏;内存泄漏,系统无法登录等 |
⭐⭐⭐⭐ | 严重影响产品运行,使得产品重要功能无法实现,包括用户所要求的功能缺失;非常规操作导致的程序崩溃、死机;系统中数据保存后数据库中显示错误 |
⭐⭐⭐ | 不影响产品的运行、不会成为故障的起因、但对产品外观和下道工序影响较大的缺陷,如: 1.兼容性问题;2.系统未做优化,数据页面加载慢,操作卡顿;3.次要功能不能正常实现 |
⭐⭐ | 不太影响使用,大多是程序在UI上的不美观,不符合用户习惯,或者是一些文字的错误,缺少交互提示等 |
⭐ | 对于产品优化的建议,包括设计方面,界面优化方面,增强用户体验方面的意见和建议 |
1.1 InsCode
1.11 基本功能介绍
在未登录状态下访问,进入介绍页面。页面展示了一些热门项目,介绍了InsCode的主要特点
点击创建项目
或注册/登录
按钮,均跳出登录界面,可以看到登录方式十分多样,首先推荐的是微信快速注册/登录,也可以通过CSDN、QQ、GitHub等账号登录。
使用CSDN账号后登录后,跳转至CSDN主页,有些出乎意料,点击导航栏的InsCode回到页面
在登录状态下进入InsCode主页
页面左侧是导航栏,主页包括我的项目,热门项目,关注者的动态三个模块
点击左侧或右上角蓝色按钮,弹出创建项目窗口。
创建项目有两种方式:根据模板创建
/ 从GIt URL导入
这里我选择GPT Chat UI
模板,创建项目后进入IDE界面
页面默认分为三栏,左侧是目录,中间是代码区,右侧是一个多功能窗口。
用户首次进入该页面时,会有简单的教程引导
,这点好评
右侧的窗口功能包括:搜索&替换、运行调试、终端、项目预览。基本涵盖了IDE的主要功能。
预览功能不仅直接免去了部署过程,还能及时看到代码更新结果,很方便
项目发布后会自动同步到gitcode,十分方便
我的项目,包含个人项目、动态、星标收藏项目,整体简洁明了
模板中心,根据语言、AI、网站、游戏、图形对模板进行分类,总体数量不算多
简单体验了一下别人发布的作品,加载速度还是很快的。
关注作者后,下方的关注人数没有改变,需要刷新后才能+1
fork项目也没有遇到什么问题
社区板块 右侧是热门标签,可以选中自己感兴趣的标签进行内容筛选;中间的动态可按热门和最新查看
搜索功能 (可以通过快捷键 crtl + k 使用
- 在搜索作品时,输入“java”得到下图结果。作品卡片并没有显示作者这一重要信息,当出现多个同名作品时往往难以分辨。
- 搜索用户时,输入“wei”得到下图结果。可以看到结果中同时包含了昵称和ID含有“wei”的用户,建议两者可以分开处理,让用户自行选择。
博客 藏在导航栏不起眼的角落,与CSDN的社区类似,不过并不怎么活跃
1.12 Bug描述
Bug0
- 测试环境: Windows 10 家庭中文版 、Microsoft Edge 版本 111.0.1661.62 (正式版本) (64 位)
- 可复现性:可稳定复现
- 复现条件:无
- 复现步骤:1.在登录状态访问InsCode博客 2.点击左上角logo
具体情况描述:
点击InsCode博客左上角的InsCode logo,理应跳转到InsCode主页,实际却跳转到无关页面
- Bug等级:⭐⭐
- Bug可能成因:可能是开发人员的粗心大意,忘记更改复用代码的跳转链接;这也有测试把关不严的原因。
- 改进意见:点击logo后跳转至InsCode首页
Bug1
- 测试环境: Windows 10 家庭中文版 、Microsoft Edge 版本 111.0.1661.62 (正式版本) (64 位)
- 可复现性:可稳定复现
- 复现条件:无
- 复现步骤:1.在未登录状态访问InsCode 2.在页面内登录
具体情况描述:
从 InsCode 介绍页登录后,不会直接跳转至 InsCode 首页,而是跳转至 CSDN 主页。用户需要在导航栏中再次点击 InsCode,才能访问到所需页面。这一点在使用时让我感到有些不方便和意外。
- Bug等级:⭐
- Bug可能成因:与其说是bug不如说是个人习惯不同,这么做可能是为了增加主站CSDN曝光度,也有可能为了登录状态的同步
- 改进意见:直接跳转至InsCode首页
Bug2
- 测试环境: Windows 10 家庭中文版 、Microsoft Edge 版本 111.0.1661.62 (正式版本) (64 位)
- 可复现性:可稳定复现
- 复现条件:无
- 复现步骤:1.在CSDN,InsCode均为登录状态下,从CSDN登出;2.在InsCode中创建项目;3.刷新页面,重新登录InsCode;4.点击InsCode博客选项;5.点击博客登录按钮
具体情况描述:
- 在CSDN,InsCode均为登录状态下,从CSDN登出,InsCode账号并没有及时登出,还能使用例如创建项目等功能,直到InsCode页面刷新,弹出错误 ”用户不能为空“。
- 重新登录InsCode,进入InsCode博客页面,发现右上角为登出状态,点击登录按钮,变为登录状态
- Bug等级:⭐⭐
- Bug可能成因:开发人员疏忽没有注意到不同页面间账号状态的同步,后续的测试中也没有发现这个问题
- 改进意见:实现主站,InsCode,InsCode博客三者账号状态的同步
1.13 总结
优点
- 无需安装和部署,编程过程方便快捷
- 免费为用户提供云服务器部署项目
- 现成的优质模板,可快速构建项目
缺点
- 对于项目仅能进行fork,不能实现如gitcode那样团队协作
- 用户数目不多,导致社区不活跃以及项目的质量和数量一般
- 一些细节上的处理不够细致,存在一些小bug
结论
我的结论是d) 好,不错
正如网站介绍那样:"让你的灵感快速落地!InsCode 是一个无需安装的编程、协作和分享社区。"InsCode基本做到这几点,主要问题是用户不多,社区不够活跃,导致项目数量质量都有限。如果能做到于自家产品gitcode进行联动,那就更好了。
1.2 IT1352
1.11 基本功能介绍
在线工具页面,第一感觉就是广告好多啊。工具十分丰富,包括:
-
编译工具:支持Java、C++、C、Python、C#、PHP等37种开发语言在线编译测试
-
数据工具:支持MS SQL Server、MySQL、Oracle、PostgreSQL等4种数据库在线SQL执行测试
-
前端工具:支持HTML、CSS、JS、格式化、压缩、编码解码、颜色转换、进制转换、二维码生成等31种前端实用工具在线使用
测试编译工具,点击Java在线工具选项,进入如下页面。如图所示,是个非常简单的编辑器,甚至于无法处理标准输入语句。
问答库包含JAVA、C/C++、Python、前端开发、移动开发、数据库、C#/.NET、PHP八个分类。这个问答库只是问答收集整合,你既不能问,也不能答。文章的质量并不高,界面充斥着许多广告,体验糟糕。
菜鸟教程页面提供的教程应该说十分全面,与我熟知的另一个“菜鸟教程”网站似乎差不多,但界面远不如后者
1.22 Bug描述
Bug3
- 测试环境: Windows 10 家庭中文版 、Microsoft Edge 版本 111.0.1661.62 (正式版本) (64 位)
- 可复现性:可稳定复现
- 复现条件:无
- 复现步骤:打开在线工具页面后,点击任意工具
具体情况描述:
页面间UI差异过大,甚至连网站logo都不同,看起来像是两个不同的网站
- Bug等级:⭐
- Bug可能成因:主页更新了UI,维护人员偷懒就没换子页面的UI;或者可能原本是两个网站,后来整合到了一起。
- 改进意见:将子页面与主页的导航栏统一
Bug4
- 测试环境: Windows 10 家庭中文版 、Microsoft Edge 版本 111.0.1661.62 (正式版本) (64 位)
- 可复现性:可稳定复现
- 复现条件:无
- 复现步骤:点击主页搜索栏搜索
具体情况描述:
搜索功能似乎没有完全实现,大多数情况下都显示“未找到相关资源,请更换关键词搜索.”这对于一个问答资源整合板块来说是相当重要的,没有搜索功能无异于大海捞针
在搜索栏键入“JAVA”
在搜索栏键入“Java”
在搜索栏键入“数据库”
在搜索栏键入“数据”
- Bug等级:⭐⭐⭐⭐
- Bug可能成因:开发人员偷懒没有实现或是网站遭到攻击但无人维护
- 改进意见:实现搜索功能,定期维护网站
1.23 总结
优点
- 提供丰富的在线工具
缺点
- 糟糕的界面,随处可见的广告
- 文章质量不高,用户无法进行任何交互
- 重要的搜索功能没有实现
我的评价是 a) 非常不推荐
如果你将它当成在线IDE,显然是不合格的。作为一个资源整合网站,它的界面充斥着令人发指的广告,从内容上看文章的质量也不高,从功能上重要的搜索功能也没有实现,总体上是不合格的。
1.3 ideone
1.31 基本功能介绍
未登录状态下进入主页,整体上走的是简洁风格,色调以白灰为主。左侧是编辑器,右侧是广告,下方是网站的一些简单介绍。
注册似乎不支持国内邮箱,在使用gmai和魔法后注册成功
对比登录前后页面,导航栏增加了这三个功能
my codes 中可以管理用户运行过的代码文件,包括最后运行时间,编译结果,文件类型等信息以及添加标签,备注,删除等操作。左侧可以根据标签进行文件筛选
editor 中可以调整IDE相关配置,包括字体大小、主题、键位模式等
编辑器 分为上下两部分,上方是代码编辑区,下方是stdin标准输入框、备注栏,下方栏目都是可收起的。
尝试输入一些代码,并没有关键字提示的功能,体验和Dev-cpp差不多,不过没有调试功能
支持多种语言
点击运行按钮,出现以下页面,会有简单的报错信息。
1.32 Bug描述
Bug5
- 测试环境: Windows 10 家庭中文版 、Microsoft Edge 版本 111.0.1661.62 (正式版本) (64 位)
- 可复现性:可稳定复现
- 复现条件:无
- 复现步骤:打开网站任意页面,放大浏览器页面
具体情况描述:
没有做自适应调整布局
- Bug等级:⭐
- Bug可能成因:没有做自适应调整布局
- 改进意见:可以采用flex布局来实现页面自适应
1.33 总结
优点
- 操作简单,容易上手
- 支持市面上绝大多数语言
缺点
- 过于简易,缺少基本的调试功能,只适合于临时编写简单的程序
- 对于国内用户来说,访问速度慢,无法注册等问题严重影响用户体验
结论
我的结论是
b) 不推荐
这个网站适合于临时想在没有编译环境的电脑运行简单代码的用户,没有调试功能以及只支持单文件运行的硬伤,注定了它不适合长期使用。再加上由于网站服务器在境外,对于国内用户更加不友好。
1.4用户采访与改进意见
- 采访对象:某大三计算机专业学生(左)
(右)现为大三信安专业的高中同学,他在上手使用InsCode后表示,界面非常精美,但是发布的公开项目审核的速度很慢
改进意见
- 提高发布的作品审核速度
- 丰富模板种类和可支持的语言
- 提供团队协作功能
二、分析
2.1 开发时间估计
前提条件
在团队人数6人左右,计算机大学毕业生,并有专业UI支持
分析
已知软件开发流程分为:需求分析与设计、原型设计、程序编码、软件测试、运行维护五部分。既然是复刻产品,那么前面两部分的时间就可以省去,结合产品特点考虑:
- ideone功能最简单,体量最小,大致需要1-2个月;
- 实现 IT1352 现有功能并进行功能完善,大致需要5-6个月;
- InsCode 除了IDE外,还有社区部分的开发,内容较复杂,大致需要8-9个月;
2.2 同类产品对比排名
Glitch
与InsCode同样采用了代码托管,同样集合了社区功能
相较于InsCode,优势在于提供了团队协同开发这一功能
劣势在于每月有免费使用额度的限制
codepen
与InsCode同属于前端IDE,没有社区功能,专注于IDE本身
相较于InsCode,优势在于功能集中,界面简洁。对于不同需求的用户,这同样可能是劣势所在。
对于国内用户来说,我认为InsCode处于上游水平
2.3 软件工程方面的建议
对于InsCode
- 加大推广力度,从CSDN开始,增加用户数量,社区才能发展壮大,进入良性循环。
- 利用自身优势,与自家产品 gitcode实现全方位联动,支持InsCode上团队协作开发
对于ideone
- 优化界面,在国内架设服务器,提高用户体验
对于IT1352
- 完善搜索框的搜索功能,定期维护网站
- 统一主页与工具子页面的UI,使网站整体风格一致
2.4 BUG存在的原因分析
产品 | BUG | 原因分析 |
---|---|---|
InsCode | 退出CSDN主页登出后仍可对InsCode进行操作,InsCode登录后InsCode博客显示未登录 | 开发人员粗心大意,以及测试把关不严 |
IT1352 | 搜索功能基本没有实现 | 开发人员粗心大意,或是一些其他原因导致网站无人维护 |
ideone | 没有采用自适应布局 | 开发人员可能认为这个功能用户不需要 |
三、建议和规划
3.1 市场概况
3.1.1 市场范围
我国IT行业从业人数逐年稳步增长,直至2021年8月我国IT从业总人数已达777万人。2010-2020这10年间,我国IT行业从业人数年复合增长率达9.95%。虽然近几年由于无法避免的原因,IT行业进入寒冬期,从业人数增长势头有所收敛,但总体从业人数还是十分庞大的。
2021年全国计算机类专业招生计划数超过36万人,较去年上涨5.33%。计算机类专业在全国多数省市为招生计划数排名前二的热门专业,2021年计算机类专业热度持续上升。数据科学与大数据技术专业自2016年设置以来,专业热度持续上升,招生计划数较去年上升12个百分点。
所有IT从业者,待从业者都可能会用到在线IDE,市场范围十分庞大。
3.1.2 直接用户
特定情境下的计算机相关专业的学生,编程爱好者以及IT行业从业者
特定情境可能是:
- 有多个工作设备,或者有共享的需求,本地拉取推送太麻烦
- 有时需要运行一些简单程序,但不想在本地构建环境
- 使用IPAD等移动设备进行编程,不方便安装Git、同步网盘等
3.1.3 潜在用户
包括未来要报考计算机相关专业的学生,以及想要从事IT行业的其他从业者
3.2 市场现状
3.2.1 目前市场上的在线IDE产品
除了上述测评的三款,做得比较好的有Replit
、Goormide
等;一些代码托管平台,比如GitHub
也推出了该功能
3.2.2 产品的定位、优势与劣势
-
本次测评中的ideone,定位是简易IDE
- 其特点是简单,支持多种语言。同类产品有
Online IDE
、codepad
等 - 较同类产品,ideone优势在于用户登录后可以保存和管理文件;劣势在于界面不太美观
- 其特点是简单,支持多种语言。同类产品有
-
本次测评的InsCode,定位是前端IDE
- 其特点是专注于前端开发。类似的产品有
codepen
、StackBlitz
、CodeSandbox
等 - InsCode优势在于集合了社区功能,可惜的是用户不多,社区不够活跃;劣势在于开源项目质量,数量不高。
- 其特点是专注于前端开发。类似的产品有
-
综合IDE,如:
Replit
、Coding Ground
、Anycodes
;其特点是全面,适用于各种需求。 -
容器IDE,如:
Goormide
、Coder
、Cloud Studio
等;特点是基于docker容器,全环境的支援。适合大型项目和长期使用。
3.2.3 产品关系与所处阶段
- 上述不同定位的产品有着各自的使用场景,彼此之间可以是互补关系;而同类产品之间则是竞争关系。本次测评的三款产品属于不同定位,因此彼此之间没有竞争关系。
- 在线IDE领域我认为处于
成长
阶段,相比于本地IDE强大的功能,在线IDE还是逊色一些。在其领域内也尚未出现独领风骚的产品。
3.3 市场与产品生态
典型用户画像
刻画指标 | 结果 |
---|---|
学历 | 硕士 |
年龄 | 29 |
职业 | 非IT行业 |
爱好/特点 | 对于IT行业有一定向往,渴望加入其中 |
表面需求 | 尝试入门学习编程技术,但对于复杂的环境搭建一头雾水 |
潜在需求 | 先使用在线IDE入门学习,树立学习信心 |
刻画指标 | 结果 |
---|---|
学历 | 本科 |
年龄 | 36 |
职业 | 后端开发 |
爱好/特点 | 认真负责 |
表面需求 | 出差临时接到开发任务,但手边没有电脑,只有IPAD等移动设备 |
潜在需求 | 使用在线IDE进行开发,省去移动设备搭建环境的麻烦 |
3.4 产品规划
添加新功能
InsCode,利用自身优势,与本家产品 gitcode实现全方位联动。对于项目不再限制于单纯的fork,加入InsCode上团队协作开发的功能
分配方案
岗位 | 人数 |
---|---|
美术 | 1 |
前端开发 | 1 |
后端开发 | 3 |
测试 | 1 |
16个周期的详细规划
周数 | 任务 |
---|---|
1-2 | 项目整体规划,进行需求分析、原型设计等工作 |
3-4 | 系统设计与数据库设计 |
5-13 | 项目具体功能的实现与测试 |
14 | 进行内测,根据用户反馈进一步优化 |
15 | 项目部署发布 |