这个作业属于哪个课程 | 2023年福大-软件工程实践-W班 |
---|---|
这个作业要求在哪里 | 软件工程实践——软件评测作业 |
这个作业的目标 | 1、调研、评测软件 2、分析软件 3、对软件进行建议和规划 |
其他参考文献 | 见文末 |
文章目录
O、引言
0.1 邹欣老师的案例分析作业要求
0.2 BUG量化指标
严重程度 | 详细描述 |
---|---|
★★★★★ | 致命性系统故障,服务器崩溃或用户关键信息泄露,用户体验严重影响 |
★★★★ | 严重系统故障,重要数据泄露,用户体验较差 |
★★★ | 一般系统故障,用户通过任何渠道都无法实现该功能,对用户产生一定影响 |
★★ | 轻微系统故障,用户请求的功能无法完成,但可以通过其他办法使用该功能 |
★ | 对用户有略微的影响,但仍能使用该功能 |
一、调研,评测
1.1 InsCode
1.1.1 体验
介绍:InsCode是CSDN平台内置的代码审查工具,可以直接在CSDN上进行使用,无需进行繁琐的安装和配置,同时它能够支持多种编程语言,包括Java、C++、Python等,覆盖了大部分的开发语言,是一款能够有效地帮助开发人员提高代码的质量和安全性,以适应不同的开发环境和需求的工具
- 首先是InsCode的入口界面,创建项目前需要注册/登录,注册登录方式有微信、手机号、CSDN账号等多种方式
- 首页界面左侧导航栏可以选择
创建项目
、我的项目
、查看模板
、查看社区
、设置信息
,右侧显示了我的项目和热门的项目
- 顶部的搜索框可以对作品、模板、标签、用户进行搜索,搜索不到则显示
暂无数据
功能1:导入项目
介绍: InsCode导入项目的方式有两种,分别是从平台提供的模板导入和从Git URL导入,所有项目自动同步至 GitCode
从模板导入
:左侧提供了模板供用户选择,右侧的标题、描述、项目标识和可见性对应了gitcode项目中的名称、描述、URL和项目可见性
从Git URL导入
:左侧输入仓库地址和语言,右侧和导入模板时一样
- 导入公开仓库
- 导入私有仓库:无论可见性是公开还是私有,都显示
“项目创建失败,请联系客服”
,在csdn上有一篇博客也描述了同样的问题,根据该博客下方回答提供的解决办法依旧无法成功创建,于是联系了客服,客服的回复是现在不支持将私仓导入
,因此无法使用导入私有仓库的功能
功能1优缺点分析及改进建议:
优点:
- 1、导入项目的步骤简单,能够快速进行项目的创建
- 2、
代码安全托管
这一功能强大,所有项目自动同步至GitCode,很好地帮助我们进行代码管理
缺点1:
在我的项目
中查看已创建的项目,即使是创建失败的项目也会被记录,同时Gitcode上也有同步的项目,很大地占用了空间,并且在InsCode上删除时只能一个一个进行删除,无法进行多选操作
改进建议:
- 我认为在平台和GitCode上记录创建失败的项目不是很有必要,建议只记录创建成功的项目,这样一来,既不会占据用户的视野,也不会占据用户的空间
- 建议在
我的项目
中加入对项目进行批量操作的功能
缺点2:
没有告诉用户目前不支持私有仓库上传,同时针对InsCode的通过私仓创建项目失败的帖子很少,用户在不知情的情况下会浪费很多时间去解决
改进建议:
在从Git URL导入
的界面中的醒目位置中向用户说明清楚
注:后续再点开此界面的时候已有提醒!
缺点3:
从Git URL导入时必须手动选择语言,且提供的语言较少
改进建议:
建议丰富可支持的语言库,同时让用户手动选择语言有点麻烦,可以加入自动识别导入项目的语言这一功能
功能2:在线演示、在线修改
介绍:
- 在线演示:导入项目后可以直接运行,如果是web项目就会自动在页面右侧打开网页浏览器,如果是终端项目,右侧自动打开终端,输出了对应的内容
- 在线修改:可以在页面上直接对代码修改,然后运行程序,修改的内容需要手动提交到Gitcode对应的项目中(而在GitCode中修改可以直接同步至InsCode)
-
运行web项目:使用模板创建项目时都会有左侧的
.inscode
和inscode.nix
两个项目配置文件,记录对应的入口文件等信息,运行该项目会在右侧的预览
中看到效果
-
运行终端项目:在右侧的终端可以看到输出结果
-
在编辑器里,可以直接提示错误
-
在右侧,可以选择调试、输出、版本控制和搜索
-
将修改内容同步至GitCode:选择右侧的版本控制,选择提交即可同步至GitCode
功能2优缺点分析及改进建议:
优点:
- 1、方便:不用考虑环境配置的问题,只要点击页面上的Run按钮就可以执行项目
- 2、有预览效果:运行web项目时右侧有预览的效果,而不用在浏览器中打开进行预览
- 3、实现了InsCode和Git的双向同步,否则用户每在Git上修改后都要重新导入项目,同时GitCode上也会有该项目的多个不同版本
缺点1:
想从本地上传文件时必须先创建一个文件夹,在文件夹内才能上传,并不支持在文件夹外上传单个文件
改进建议:
建议支持在文件夹外上传文件,否则用户需要新建文件夹,上传相应文件,把相应文件移出,再删除创建的文件夹,对用户不太友好
缺点2:
在手机端想点进导入的项目,并不支持此功能
改进建议:
建议支持手机端在编辑器查看、修改、运行项目这一功能
功能3:社区
介绍:
- 用户可通过
我的项目
、社区
、编辑器里发布作品或模板,发布后需要进行审核,审核完成后可在社区进行展示- 在编辑器里修改已发布的项目后可以进行更新
- 在社区中有很多精选的项目,可以直接在上面运行或者fork下来学习,对该项目也可以进行评论、收藏或分享
- 可以关注其他用户
-
在社区中发布已有项目:标签是可选项,支持对标签的多选操作
审核完成后展示在社区:
-
更新已发布作品:
-
运行社区上的项目,点击左侧的
查看文件
可以查看源代码
-
fork社区上的项目:
-
对社区上的项目进行评论、收藏和分享
1、收藏
在我的项目
中的星标
中查看收藏的项目:
2、评论
在我的项目
中的动态
中查看自己的评论:
3、分享,有嵌入代码
、复制链接
、新浪微博
、微信扫码
四个分享方式(经测试,四个方式都能进行分享)
- 关注其他用户:
在我的项目
中可以查看自己的关注和关注自己的人:
- 在社区中可以选择标签来查看相应内容:
功能3优缺点分析及改进建议:
优点:
- 1、发布作品操作简单易懂,且审核速度较快,及时发送审核通过的通知
- 2、可以直接运行社区中的项目或者fork下来学习,并具备收藏、评论、分享、关注用户的功能,很好地提供了一个交流学习的平台
缺点1:
发布作品时如果想多选标签,只能一个一个地进行选择,如果用户选择的标签很多,则要进行多次重复的操作,浪费时间
改进建议:
建议在用户没有选择完标签时下拉框一直保持锁定的状态
缺点2:
在社区中进行选择标签查看相应内容时,只能选择一个标签,而用户在发布作品时可以选择多个标签,这样一看有点前后矛盾,同时不能帮助用户进行精确筛选
改进建议:
建议支持用户选择多个标签,有助于用户更精确地定位到想找的项目
1.1.2 BUG
测试环境:
- 操作系统:Windows 10 21H2(下同)
- 浏览器:Microsoft Edge 108.0.1462.76 (正式版本) (64 位) (下同)
BUG1:前一天选择语言时还能选择java语言,第二天就没有该选项了
-
可复现性:必然发生
-
具体情况:
这是前一天能进行选择的截图:
到第二天就没有这个选项了:
对于前一天已经创建的java项目运行后无法输出正确结果:
-
BUG分析:
- 严重性:★★★(用户无法通过其他办法实现该功能)
- 原因分析:可能在线测试该语言的功能出现了问题,需要先撤销
- 预期及改进建议:如果用户事先不知道该语言不被支持,然而之前又已经创建了Java项目,运行时就会出现错误,可能会花费很多时间寻找程序的bug,因此应该在网站的醒目位置提示用户,告诉用户目前暂不支持Java语言的在线测试
BUG2:在编辑器中修改项目后同步至GitCode问题
- 可复现性:必然发生
- 具体情况:
当在编辑器中对项目进行修改后想要同步至GitCode,但是编辑器里一直是一个加载的状态,但刷新网站之后又显示已经更新,并且GitCode上也看到了更新的内容
- BUG分析:
- 严重性:★★(用户可以通过刷新页面来实现同步)
- 原因分析:可能是前端响应事件的问题
- 预期及改进建议:应该要及时响应成功同步这一事件,及时给用户反馈。可能要进行前端页面的性能优化,比如优化网络连接、优化资源加载
BUG3:退出登录问题
-
可复现性:必然发生
-
具体情况:
在InsCode退出登录后,CSDN也退出登录了
-
BUG分析:
- 严重性:★★★
- 原因分析:将该网站账号和CSDN上登录的账号绑定了
- 预期及改进建议:预期该网站上退出登录,不影响CSDN账号的状态。建议将两个平台的账号独立开来,不进行绑定,否则在InsCode上退出后会影响CSDN的使用
BUG4:搜索问题
-
可复现性:偶然发生
-
具体分析:
-
在搜索框输入关键词搜索后,有时无法正确搜索,一直停留在之前的搜索结果页面
-
BUG分析:
- 严重性:★★★(无法使用搜索功能)
- 原因分析:操作成功执行但页面不刷新,可能是页面响应的问题
- 预期及改进建议:预期要随时响应出搜索结果。建议检查一下页面响应相关代码
1.1.3 结论
- 定性:
InsCode与另外两个网站相比,就
目前来说
,提供的模板和语言较少,资源少可能满足不了很大部分用户的需求,但和另外两个相比的的突出点
是可以进行项目的导入,还有代码安全托管这一功能。同时在界面上也是简介美观,因此我认为该网站不错,比较推荐使用
- 定量:
类别 | 描述 | 评分(10分制) |
---|---|---|
核心功能 | 分析三个核心功能,功能设计和质量。 | 8 |
细节 | 有什么为用户考虑的细节? | 8 |
用户体验 | 当用户完成功能时,不干扰用户的行为。 | 8 |
辅助功能 | 一些辅助功能如皮肤等 | 9 |
差异化功能 | 这个软件独特的功能. 它对用户的吸引力有多大? | 8 |
软件的效能 | 占用内存, 启动速度, 内存泄漏情况 | 8 |
软件的适应性 | 在联网/断网, 大小屏幕, 没有鼠标的情况下都可以顺畅操作. 和不同平台的软件能流畅协作 | 8 |
成长性 | 记住用户的选择, 适应用户的特点,用户越用越方便 | 8 |
用户有控制权 | 系统状态有反馈,等待时间要合适。关键操作有确认提示,有明确的错误信息。 让用户方便地从错误中恢复工作, 快捷操作键可调整。 | 7 |
登录注册功能 | 是否强制要求用户进行注册登录,注册登录方式是否复杂 | 8 |
总分 | 80 |
1.2 IT屋
1.2.1 体验
介绍:IT屋-程序员软件开发技术分享社区是一个面向程序员、计算机爱好者技术分享社区,为程序员、计算机爱好者提供百万权威知识库检索、在线开发工具、技术教程库、视频教程下载等功能,以便快速定位并解决问题,提升开发技术水平和提高工作效率。
-
通过首页上方导航栏可以看出该网站主要由
首页
、问答库
、菜鸟教程
、在线工具
四个部分组成
-
首页有三个版块,分别是
菜鸟教程
、最新问答
和热门标签
功能1:在线测试
介绍: 该网站了提供了编译工具
、数据工具
、前端工具
三种在线工具,用户可以上传代码,进行在线测试
-
编译工具:支持37种开发语言在线编译测试,用户选择想要在线编译测试的语言后,输入相应的代码,点击
点击运行
按钮,下方可看到输出结果
当编译错误时,在下方输出错误信息
-
数据工具:点击运行后得到以下提示,目前应该无法使用该功能
-
前端工具:与编译工具的使用方法类似,输入相应内容后可以得到想要的结果
(以Html转JS在线工具为例)
功能1优缺点分析及改进建议:
优点:
- 1、在
编译工具
和数据工具
的每个在线工具中,提供了相对应的嵌入代码,可以嵌入该工具到自己的网站中- 2、操作简单快捷,支持的语言、实用工具丰富
缺点1:
在编译工具
中无法导入一个项目进行在线测试,与InsCode相比,对于项目的在线测试就有了局限性
改进建议:
建议支持项目的导入
缺点2:
在编译工具
中只能进行代码的结果输出,无法执行输入语句
改进建议:
建议支持输入语句的执行,扩大可进行在线评测代码的范围
功能2:问答库
介绍: 在问答库
界面对问题进行分类,可以查看问题和对应的解答
-
选择问题的分类
-
问答的详情页分为
问题描述
、推荐答案
、相关文章
,右侧是该分类的最新文章、热门教程和热门工具
-
查看问题是需要登录的,仅支持微信扫码登录:
-
顶部导航栏的搜索框支持输入关键词对问题库的问答进行搜索
功能2优缺点分析及改进建议:
优点:
- 1、对问答进行分类,用户可以快速定位到感兴趣的问题
- 2、无需进行注册,登录方式简单快捷
缺点1:
点进相应问答分区后是全部的问题,没有对问题再进行细分,同时顶部的搜索功能是在整个网站中进行搜索,并不支持在该分类中搜索相应内容
改进建议:
- 建议对分区中的问题再进行一些分类,比如可以将移动开发再分为Android、ios、小程序等
- 建议在分区中再加入一个搜索框,支持对分区内的内容进行搜索
缺点2:
顶部导航栏的搜索框输入的关键字有局限性,只能输入java、mysql、spring等技术名词,比如我想搜索问答库中已有的问题如何在C++中按表情符号拆分字符串
,只能先输入c++,然后在c++有关问题中自己寻找,如果输入完整问题
或c++拆分字符串
是搜索不到的
改进建议:
建议强化搜索功能,支持用问题中的关键字对问题进行搜索,帮助用户过滤掉很多不相关的问题,快速找到想要的解答
功能3:提供教程
介绍: 为新手提供了入门必备免费教程和技术文档
- 教程的页面上方是对教程的分类,下方列出了每个分类中的部分教程
- 教程的详情页
功能3优缺点分析及改进建议:
优点:
- 1、分类清晰,教程的种类较为丰富
缺点1:
广告较多,其实这是整个网站的一个缺点,在使用网站的过程中总是会跳出一些广告
改进建议:
- 建议减少广告,提高用户体验
1.2.2 BUG
BUG1:搜索框不支持大写问题
-
可复用性:必然发生
-
具体情况:只能使用小写字母进行搜索,如果有任何一个字母为大写,则显示
未找到相关资源
-
BUG分析:
- 严重性:★★(因为可以通过输入小写字母进行搜索)
- 原因分析:可能是搜索程序的问题,程序将输入的大写字母过滤掉,直接搜索大写字母为空
- 预期及改进建议:预期输入大写字母也应该能搜索到相应的内容。建议改进搜索程序,使用更全面的搜索算法
BUG2:点进问题跳转到首页
-
可复现性:偶然发生
-
具体情况:
在问答库中点进一些问题的时候,跳转到首页,而不是问答的详情页
-
BUG分析:
- 严重性:★★★(因为无法查看该问题)
- 原因分析:这些跳转到首页的问题都有一个共同点就是查看次数为0,猜测可能是跳转页面并没有写正确,或者是该问题已经不存在
- 预期及改进建议:预期是在问答库展示的每个问题都应该能进入到问题的详情页,已经不存在的问题也不应该继续留在页面中。建议检查一下具体的跳转事件
BUG3:产品适应性问题
- 可复现性:必然发生
- 具体情况:
在手机端使用该网站,上方的导航栏消失
- BUG分析:
- 严重性:★★★(无法显示导航栏)
- 原因分析:可能没有进行产品的适应性测试
- 预期及改进建议:预期是在手机端也能正常使用,建议测试人员要对不同设备进行测试
1.2.3 结论
- 定性:
- 该网站不仅提供了在线的编译工具,还提供了前端的多种工具,在线工具的功能很丰富。另外,该网站还提供了多种技术的教程,对新手来说特别友好
- 不错,比较推荐
- 定量:
类别 | 描述 | 评分(10分制) |
---|---|---|
核心功能 | 分析三个核心功能,功能设计和质量。 | 8 |
细节 | 有什么为用户考虑的细节? | 8 |
用户体验 | 当用户完成功能时,不干扰用户的行为。 | 9 |
辅助功能 | 一些辅助功能如皮肤等 | 9 |
差异化功能 | 这个软件独特的功能. 它对用户的吸引力有多大? | 8 |
软件的效能 | 占用内存, 启动速度, 内存泄漏情况 | 8 |
软件的适应性 | 在联网/断网, 大小屏幕, 没有鼠标的情况下都可以顺畅操作. 和不同平台的软件能流畅协作 | 8 |
成长性 | 记住用户的选择, 适应用户的特点,用户越用越方便 | 8 |
用户有控制权 | 系统状态有反馈,等待时间要合适。关键操作有确认提示,有明确的错误信息。 让用户方便地从错误中恢复工作, 快捷操作键可调整。 | 7 |
登录注册功能 | 是否强制要求用户进行注册登录,注册登录方式是否复杂 | 8 |
总分 | 81 |
1.3 Ideone
1.3.1 体验
介绍:Ideone是一个在线编译器和调试工具,允许编译源代码和在线执行60多种编程语言
- 该网站分为3个模块,分别是
new code
、范例
和recent codes
- 注册账号比较麻烦,需要vpn,这次暂时没有完成注册,但从网上博客中得知,注册后的功能更强大,执行历史会被保存,而且可以上传代码执行
功能1: 在线编译和运行
介绍: 在new code
中,你可以输入自己的代码、插入网站提供的模板或范例来对代码进行编译和运行,同时可以直接在上面进行修改
-
可选择输入自己的代码、插入模板、插入范例
-
可以在此进行程序的输入和程序的描述
-
选择语言和可见性
-
在线编译、运行代码:点击
Run
按钮,会跳转到一个新的页面
-
运行结果页面
-
编译错误会在下方输出错误信息
功能1优缺点分析及改进建议:
优点:
- 1、页面简洁,易上手
- 2、每个代码有一个专属链接,进入后可以下载、复制、fork该代码,如果是自己的代码还可以进行编辑
举个例子,该代码的链接点这里
缺点1:
选择可见性旁的fewer options
很容易让人误认为是针对可见性的,其实点击之后是会收起enter your note
的框
改进建议:
建议将它放在该行的上方,同时更改一个更直观的名字
功能2:
介绍: 在范例
中,提供了多种语言的程序范例,可以进行下载或者fork
- 范例界面:上方列出了所有语言,点击后可转到相应语言的案例
功能2优缺点分析及改进建议:
优点:
- 页面简洁,提供的范例种类多
缺点1:
页面上方所列出来的语言是以空格的形式分隔开,排版有些乱
改进建议:
建议设计一个统一的样式,使得用户能够更直观地进行选择
功能3: recent codes
介绍: 提供了他人提交的公开的且成功运行的代码,可以进行学习
- 界面:每行有标明是哪种类型的语言
- 点击进入后可fork、下载或复制该代码
功能3优缺点分析及改进建议:
优点:
- 页面简洁,提供了一个学习的平台
缺点1:
页面上所展示的每个代码的简介太简略了,用户只能看到该代码是哪种类型的语言,并不能知道代码的具体功能
改进建议:
建议在该页面能够对代码进行简单的描述,这样用户就能快速定位到想要学习的部分
1.3.2 BUG
BUG1:输入内容未清空问题
- 可复现性:必然发生
- 具体情况:
运行一个有输入的程序,运行完成后点击回退到首页,输入代码恢复成默认,但输入内容没清空
- BUG分析:
- 严重性:★(没有影响用户进行主要功能的使用,只是下一次不需要输入内容的时候得手动清空)
- 原因分析:可能是页面缓存的问题
- 预期及改进建议:预期输入框的内容应该是被清空了。建议检查一下页面缓存的相关代码
1.3.3 结论
- 定性:
- 该网页的页面非常简洁,操作十分容易,支持了高达60多种编程语言的在线编译运行,核心功能做的很好,如果想要在线编译运行代码,该网站可能是我的首选
- 好,非常推荐
- 定量:
类别 | 描述 | 评分(10分制) |
---|---|---|
核心功能 | 分析三个核心功能,功能设计和质量。 | 9 |
细节 | 有什么为用户考虑的细节? | 9 |
用户体验 | 当用户完成功能时,不干扰用户的行为。 | 8 |
辅助功能 | 一些辅助功能如皮肤等 | 8 |
差异化功能 | 这个软件独特的功能. 它对用户的吸引力有多大? | 8 |
软件的效能 | 占用内存, 启动速度, 内存泄漏情况 | 9 |
软件的适应性 | 在联网/断网, 大小屏幕, 没有鼠标的情况下都可以顺畅操作. 和不同平台的软件能流畅协作 | 9 |
成长性 | 记住用户的选择, 适应用户的特点,用户越用越方便 | 9 |
用户有控制权 | 系统状态有反馈,等待时间要合适。关键操作有确认提示,有明确的错误信息。 让用户方便地从错误中恢复工作, 快捷操作键可调整。 | 8 |
登录注册功能 | 是否强制要求用户进行注册登录,注册登录方式是否复杂 | 7 |
总分 | 94 |
1.4 用户采访
- 采访对象:采访的对象是一名
计算机专业
的大三学生,由于我们经常会对专业相关内容进行讨论,因此找到她作为这次的采访对象 - 采访记录:
二、分析
2.1 开发时间估计
- 分析
- 已知开发团队人数为6人,并且都是计算机大学毕业生,在有专业UI的支持下,由于刚毕业的大学生和专业的工程师还有一定的差距,所以在项目开发的每个环节的时间周期可能都需要长一些
- 在
需求分析
阶段,由于主要功能是在线编译运行,可能主要是确定支持的编译语言或者其他的工具,这一阶段的时间应该不需要太长原型设计
方面,为了保证用户的使用体验,应该要花一定时间对页面进行设计,但由于有专业UI的支持,效率应该是比较高的- 在
数据库设计和系统设计
方面是为了后续的程序编码打下良好基础,需要考虑到每个细节- 在
程序编码
阶段,考虑到6位毕业生可能经验不足、合作交流还不够默契等问题,需要较长的编码时间
- 开发时间估计
开发时间估计 | |
---|---|
需求分析 | 10天 |
原型设计 | 15天 |
数据库设计和系统设计 | 20天 |
软件编码 | 90天 |
内测运行 | 20天 |
总计 | 155天 |
2.2 同类产品对比排名
针对核心功能在线编译运行,我认为可以从这几个方面来评价这些同类产品:
- 编译运行速度
- 界面美观程度
- 编译错误提示
- 支持语言种类多
根据这些方面,可对三类网站进行排名
InsCode | IT屋 | ideone | 占比 | |
---|---|---|---|---|
编译运行速度 | 90 | 90 | 85 | 0.3 |
界面美观程度 | 90 | 80 | 90 | 0.1 |
编译错误提示 | 90 | 85 | 85 | 0.3 |
支持语言种类多 | 80 | 85 | 95 | 0.3 |
总分 | 87 | 86 | 88.5 | 1 |
排名 | 2 | 3 | 1 |
2.3 软件工程方面的建议
- InsCode
该网站提供的编程语言较少,我觉得可能在
需求分析
这一方面没有做的很好,可能没有很好地收集用户的需求,同时当功能无法使用的时候并没有及时告诉用户,建议注重这方面的完善
- IT屋
该网站的界面设计方面建议进一步完善,可以注重一下每个页面的排版,同时在使用该网站进行页面跳转时经常会跳出广告,需要手动关闭,很影响用户体验
- ideone
该网站整体来说是十分不错的,在许多推荐在线运行的网站中几乎都能看到它的名字,但是有些细节可能还要再完善,比如输入框的内容没有及时清空、页面排版的一些小问题等,在系统优化方面还需多多完善
2.4 BUG存在的原因分析
产品名称 | BUG内容 | 原因分析 |
---|---|---|
InsCode | java语言消失 | 开发人员粗心大意,如果对该语言有问题或者需要进行更新需要告知用户 |
在编辑器中修改项目后同步至GitCode问题 | 具体的设计质量不高,一直显示正在加载中,事件响应并没有进行很好的优化 | |
退出登录问题 | 具体的设计质量不高,不应该进行两个平台账号状态的绑定 | |
搜索问题 | 开发人员粗心大意,对页面响应的编写没有考虑全面 | |
IT屋 | 搜索大小写问题 | 具体的设计质量不高,用户还需要在特定的条件下进行搜索(以小写字母的形式),并且该网站也并没有告知用户这一点 |
跳转到首页问题 | 开发人员粗心大意,开发人员编写页面跳转的时候粗心,导致有概率出现这个bug | |
产品适应性问题 | 测试把关不严,敷衍了事,没有注意在特殊的配置或环境下测试,测试阶段应该考虑全面 | |
ideone | 输入内容未清空 | 其他,这个bug的问题并不是很大,只是对于用户来说可能要增加一些操作 |
三、建议和规划
3.1 市场概况
-
市场范围
从国家统计局公布的数据来看,自2016年起,信息传输、软件和信息技术服务业(后文简称IT行业)GDP增速一直保持排名第一,且远高于其他行业
由于IT行业持续多年GDP增速领先,超高的行业热度吸引了越来越多的从业人员加入。根据工信部统计,我国IT行业从业人数逐年稳步增长,直至2021年8月我国IT从业总人数已达777万人。2010-2020这10年间,我国IT行业从业人数年复合增长率达9.95%
随着社会发展,IT与各个行业融合程度越来越深。IT技术可以帮助企业提高生产力、减少人力成本、优化各种配置、加强信息安全等等。在各个行业更依赖IT技术的大环境下,企业的招聘需求也在发生着相应变化。无论是传统行业,消费品行业或者是金融、互联网行业,技术类岗位都是各企业争抢的目标
由此可以看出,IT行业从业人数持续增加,IT岗位需求很大,技术人才抢手,市场范围应该是很广的 -
直接用户
在线编译调试工具的
直接用户
应该有:
- 计算机、软件相关专业学生
- IT行业从业人员
- 潜在用户
在线编译调试工具的
潜在用户
应该有:
- 其他行业对编程感兴趣的人员
- 其他专业对编程感兴趣的学生
- 对编程感兴趣的中小学生
3.2 市场现状
-
已有产品
除了InsCode、IT屋、ideone,市面上的已有在线编译调试工具还有:rextester
、compilr
、jsfiddle
、online gdb
、wandbox
、hackerearth
等 -
产品定位以及优势/劣势
这些在线编译调试工具的基本定位是使得编程人员无需进行繁琐的环境配置,提供了一个可以直接编译运行代码的平台
这里选择ideone
、rextester
、hackerearth
进行分析ideone
:
优势:指定程序运行的时间限制,可以创建自己的账户管理代码
劣势:注册较为麻烦rextester
:支持C语言(gcc、clang、vc)、C++(g++、clang、vc++)、C#、java、、kotlin、php、python、perl、Mysql、VB、Go、Ruby、Object-C等主流编程语言
优势:可以指定编译选项,无需注册登录
劣势:可模拟键盘输入,但无法模拟文件输入hackerearth
:支持C语言、C++、C#、java、php、python、VB、Go、Ruby、Object-C等主流编程语言
优势:支持代码提示和自动完成功能
劣势:需要注册,登录 -
产品关系
- 上述产品之间应该是
竞品关系
,每个产品对于编译运行的过程有着不同的细节处理- 在这三种产品中,我认为
ideone
是最有优势的,ideone
的亮点在于不仅有简洁美观的界面,使用起来还十分便捷,特别容易上手
3.3 市场与产品生态
-
核心用户群
将核心用户群分为:计算机、软件相关专业学生
、IT从业人员
典型用户画像:用户画像1(计算机、软件相关专业学生)
学历 高中 年龄 20岁 专业 计算机专业 爱好 打游戏 收入(月) / 表面需求 完成日常课程中的一些代码作业 潜在需求 从一些优秀的代码中学习,提升代码水平 用户形象2(IT从业人员)
学历 研究生毕业 年龄 25岁 专业 计算机专业 爱好 打代码 收入(月) 1.2w 表面需求 完成项目的开发工作 潜在需求 提升技术水平 -
用户群体关系
产品的用户群体之间是存在一定关系的,比如计算机、软件相关专业学生和IT从业人员,他们的工作、学习都离不开编程,同时很多即将毕业的计算机、软件相关专业学生可能都要投身入IT行业,正是可以利用其相互作用二次构成特定用户生态的可能性,比如已经从业的IT技术人员可以分享自己的项目,这样能够吸引很多计划就业的大学生对他们的项目、代码fork或下载下来进行学习
- 子产品关系
产品的子产品,以及其他相关产品之间存在关系,有利用各个产品特性之间的相互关系二次构成产品生态的可能性。这些产品都有在线编译运行的功能,可以考虑将这些产品的在线功能进行整合,打造一个强大的
在线工具
3.4 产品规划
- 功能以及NABCD分析
功能描述:支持本地上传代码或项目进行在线编译运行
NABCD分析:
分析 | |
---|---|
N(Need,需求) | 用户需要上传本地的代码进行编译运行,同时很多时候需要运行一个项目 |
A(Approach,做法) | 在输入想要编译运行的代码模块增加一个上传本地代码或项目的按钮,并用文字提示用户这一功能 |
B(Benefit,好处) | 将可以进行编译运行的代码的局限性进一步缩小,使得用户可以随时进行本地代码或项目的编译运行,而不用再将代码复制到网站再进行编译运行,方便了用户 |
C(Competitors,竞争) | 虽然InsCode可以导入项目,但需要将本地项目上传到Git后再用Git的方式导入,不能导入本地的项目,编辑器内也只能上传单个文件,不能上传文件夹,操作起来十分麻烦,其他网站目前也没有发现有这个功能,有一定的竞争力 |
D(Delivery,推广) | 1、在周围的相关专业的同学中宣传该网站 2、在各种程序员社区、论坛中宣传该网站 |
- 配置角色
岗位 | 人数 |
---|---|
美工 | 1名 |
前端 | 2名 |
后端 | 2名 |
软件测试 | 1名 |
- 16周的详细计划
周数 | 计划 |
---|---|
1-2 | 进行需求分析,学习相应技术栈知识 |
3-4 | 前端完成UI设计和原型设计,后端完成数据库设计 |
5-8 | 前后端进行开发 |
9 | 前后端进行对接,测试人员测试 |
10-11 | 对测试出现的bug进行修复,进行性能优化 |
12 | 发布测试版,收集用户的反馈 |
13-14 | 根据用户的反馈,进行完善与修复 |
15 | 测试人员再次测试,修复出现的所有bug |
16 | 进行市场发布 |