这个作业属于哪个课程 | 2023年福大-软件工程实践-W班 |
---|---|
这个作业要求在哪里 | 软件工程实践——软件评测作业 |
这个作业的目标 | 调研,评测三个网站,提出优缺点及发现的bug,分析该产品的工作以及产品质量,并提出建议与规划对此产品改进 |
其他参考文献 | 1.邹欣老师的案例分析作业要求 2.bug等级 3.《现在就是成为“新程序员”的黄金时刻!》文章 |
文章目录
0x01 调研,评测
0 环境与评价标准
运行环境(本次所有运行情况基于此环境)
- 操作系统:Windows10
- 浏览器:Edge 111.0.1661.62 (正式版本) (64 位)
- 显示器分辨率:1920*1080
评价标准
表示 | 严重程度 | 详细 |
---|---|---|
❗❗❗❗ | 致命 | 页面不存在、服务器错误、数据库错误、丢失数据、造成资料被破坏、内存泄露。 |
❗❗❗ | 严重 | 主要功能丧失,导致严重的问题,或致命的错误声明,数据不正常,页面超时,因使用某个已有,导致某个模块不能使用。 |
❗❗ | 一般 | 缓存问题,小且轻的问题,不影响操作且出现频次不高,数据加载显示存在问题,但可通过用户刷新解决 |
❗ | 建议性 | 界面UI存在问题,但不影响使用,从使用者角度,提出的建议性意见 |
1 InsCode
1.1 网站使用体验
在这部分将会展现对网站的初步使用体验
介绍:InsCode
作为一个集编程、协作、发布为一体的网站,旨在缩小每个人从想法到产品实现之间的距离,让众人实现写代码像写文章一样简单,同时InsCode
可以使用户快速开发 GPT 应用工具。
网站使用:主要使用了该网站的基本功能
网站首页
:通过此处可以访问到InsCode
的首页,感觉上首页的界面还是很炫酷的,再结合InsCode
其一特点是作为一款快速开发 GPT 应用工具,这一首页还是很契合的
登录与注册
:InsCode
作为优快云
下的一款产品,登录采用的也是优快云
的账号和密码,也是可以通过微信扫码快捷登录,同时在优快云
登录的情况下进入网站也是可以直接登录的,但是和gitcode
一样,如果在此网站登出的话,优快云
网站也会跟着登出账号,可以说是“一登全登,一退全退”,可能也是为了交换使用这几个网站但不需要重复登录的一个折中选择。
新建项目
:用户可以在侧边栏或者个人页面中通过创建项目
按钮来新建一个在线编程项目,同时网站中有很多常用的模板可以供用户自由选择,进行一些填写后点击创建项目就可以开始在线编码了,同时也可以通过Git URL
来导入项目,但是这里有出现一些问题(可能是bug),这一点在下一部分说明
在线编码
:新建项目后即可进入到代码编辑界面,这里以vue项目为例,点击运行
按钮以后项目就可以开始运行,同时将在右侧显示出运行结果,同时用户可以选择对左右边框进行隐藏与显示选择,点击右上第一个的更多
按钮,可以对项目进行包括版本控制等一系列操作,操作上也比较方便,对于vue来说,右侧显示网页的功能十分方便,能够实时的展示对页面进行的更改,使得前端开发人员能够更加便捷地调整页面布局,如果能在上次组队编码中使用这个网站就好了 ,当时在vscode下载的插件一直运不起来,所以只能不断切页面来看网页,十分费劲
个人主页
:在个人主页部分可以查看已创建项目,动态等一系列信息,但是这个页面中瑕疵中比较多,包括但不限于重复且冗杂的动态、无法发布作品,使用起来用户体验不算好
1.2 吐槽
在这一部分将会对网站UI
&功能
和一些神奇的Bug
进行吐槽
1.2.1 UI&功能吐槽
PS
:此部分所描述问题皆可100%复现,且均属于建议级(❗ )
主页部分
-
问题1: 主页部分头像随着页面滑动而滑动
问题简述
:当主页可向下滑动时,头像会跟着页面滑动但是封面不会
评价
:使用上个人感觉还是比较怪的,开始使用的时候我以为是和csdn
个人主页一样,头像是固定在上部的和封面合在一起,但总体上还是会方便用户快速查看一些信息,只能算个人感觉上一个小小的槽点
建议
:封面和头像一起滚动 -
问题2:个人主页项目部分没有一个按类别查看的功能
问题简述
:如果当我创建很多项目时,只能通过名字在搜索框中找
评价
:感觉如果可以按类别查看项目会更方便一点
建议
:增加一个按模板或者按创建时间查找项目的功能 -
问题3:个人主页动态部分重复显示,且显示过长
问题描述
:当我重复star
,unstar
一个项目时,动态中就重复出现了很多条相关动态,使得整个页面变得很长,之前的某一个动态就被压到最底下,要翻很久才能看到
评价
:用户体验不是很好,一般来说对于动态显示是采用每日动态的样式而不是此网站中显示到底的设计,而且已经有记录动态时间,增加一个按日期显示的功能应该不是很难
建议
:增加一个按日期显示的功能,可以采用时间线对动态进行显示 -
问题4:上传封面图片和头像不能由用户截取
问题简述
:上传封面图片后网站自动截取了部分图片,但截取部分不是我想要的,而且无法回到默认状态,头像也是无法由用户自己截取
评价
:感觉目前各种网站设置头像封面时的截取功能是必备的,但是本网站却不具有,有一些难以接受
建议
:增加相应功能
主页部分
- 问题1:搜索框在没填入信息时显示的
Ctrl K
是什么意思?
问题描述
:在搜索框内未输入信息时,显示Ctrl K
,但是网页并没有任何教程解释此处是什么意思
评价
:这个问题有点让人摸不着头脑,不知道此处是否是一个bug
还是有些其他作用,暂且将此作为一个UI
问题
建议
:如果有什么可进行的快捷操作,可以添加教程说明
其他
- 问题1:搜索功能比较难用
问题描述
:搜索功能中没有对历史记录和对热门搜索项目的显示,用户必须使用所搜索的项目名称或者标签进行搜索,不能使用其简介中出现的词语进行搜索,但是很多时候用户并不能准确描述出自己想要搜索的内容,常常是以相关词语进行搜索,但此网页搜索并不满足这一需求,同时用标签搜索这一功能有些鸡肋,用户是不知道已有什么标签,在此基础上要怎么按标签搜索呢?
评价
:这一点问题还是比较影响用户体验的,让用户在搜索前就可以准确描述出搜索结果显然是不可能的,同时标签搜索应该改成点击一些标签搜索而不是输入标签搜索
建议
:首先可以采用像优快云搜索框点击显示历史记录和热门搜索,其次只通过作品名进行搜索显然是不太够得,可以增加对简介内容的模糊搜索,最后对于标签的搜索也可以采用下拉框点击搜索的样式
1.2.2 Bug吐槽
Bug 1:JAVA模板点击运行只会运行.class文件而不会编译 ❗❗
问题描述
:此问题是在试用各种模板时偶然发现,表现形式为,在模板java代码文件中修改任何语句在运行时都不会被运行,运行的结果始终为最初的Hello World
,经过一系列尝试,发现运行按钮只会运行.class文件而不会编译已有文件,需要在命令行中进行编译
编译后就可以了
复现性
:100%
发生位置
:JAVA模板
问题浅析
:开始的时候我以为这是一个严重的Bug,但是后面发现运行并不包括编译,感觉整体太具有误导性了😅,也并没有给用户使用此模板专门的提示,仅有的提示很简单,只是说点击运行即可运行,虽说整体上并不算一个Bug,但是由于其误导性太强,还是给到了一个普通级别,造成这一问题的原因可能是为了复用运行这个按钮的代码,没有对需编译的语言模板做特殊处理,运行就单是运行,不包括编译
建议
:首先是建议对不同语言模板有不同的介绍,对目录结构和运行进行一定说明,同时增加功能可对java代码一键进行编译
Bug 2:用户界面无法发布 ❗❗❗(目前已经修复)
问题描述
:如果在用户界面尝试发布一个已有项目,点击会报参数错误的错,无法正常发布
复现性
:100%(目前已修复)
发生位置
:个人主页->发布项目
问题浅析
:未知原因
建议
:无
1.3 优缺点
优点
- 第一个优点是帮助程序员免除了编写代码前的环境配置,你只需要,点击引用已有的模板,剩下的就只剩下编码了,对于我来说每次作业很多时间都花在了配置一个可用的环境,如果能免去这一部分的时间,显然能够让我少头疼一会
- 主要的优点还是能够比较快捷地编写代码,这里引用 Linus Torvalds的一句话 Talk is cheap, Show me the code 通过这个网站,你可以十分方便的运行和展示相应程序,与其长篇大论,不如直接show the code
- 同时 InsCode 可以帮助快速开发 GPT 的应用,这在已知的在线编码网站中好像是第一个拥有此功能的网站,同时B站上也有了通过InsCode 部署一个自己专属GPT 的教程 戳这里
缺点
- 主要的缺点就是UI的瑕疵有点多,以及搜索功能太难使用了,还有一些bug还可以优化
- 在模板上,不同模板的使用指导是同一个,而且教程并不能回看,没有一个专门查看各种教程的页面
- 用户体验不算很好,还待添加很多功能,包括但不限于历史记录,分页展示信息······
2 IT屋
2.1 网站使用体验
在这部分将会展现对网站的初步使用体验
介绍:IT屋
是一个集在线工具,各类教程,博客于一体的网站,站内具有各种在编程中可能使用到的在线功能,同时各种教程也比较全,方便用户进行学习了解
网站使用:主要使用了该网站问答库,在线工具,教程,搜索这几个基本功能
网站首页
:通过此处即可访问网站的首页,可以看到网站整体排版和配色都是比较简约的,但是把热门标签放到最底下我是感觉有点神奇的,一般热门标签会置于页面右部,可以随着页面滑动滑动,感觉设置热门标签,却把它放到底部完全让这个功能失去了原有的价值
问答库
:这里以Java部分展示问答库,点击导航栏中问答库即可选择相应的话题进入,可以看到文章列表就是简单的将文章标题和内容摘录部分显示,排版还是比较古早的
详细文章页面
:任意点击进入一个文章,可以发现广告还是比较多的,文章全是由管理员发布,而且要是想要查看完整文章还要扫码关注公众号,而且页面也并没有设置评论的功能,搜索栏中也奇怪地出现了该文章的标题,右侧边栏之间也出现了一大块的空白,可以说是槽点满满
菜鸟教程页面
:首先映入眼帘的还是那熟悉的广告😂,向下滑动页面可以发现,底部最后一块内容排版也出现了问题
详细教程页面
:点击其中任意一个即可进入相应的详细教程页面,页面中对于该技术的讲解还是比较详细的
在线工具页面
:点击进入在线工具页面,底部最后一块同样的排版问题,还有同样的广告
详细工具页面
:这里以XML转Json工具为例,同样UI出现了一些奇怪的错误
查看相应的在线编译工具,此网站的编译拱工具只能编写较少量的代码,类似一个函数,不具有编写项目的能力
2.2 吐槽
2.2.1 UI&使用吐槽
由于设计上槽点太多,这里简要总结,UI设计不好,且页面排版出现较多问题,广告太多,文章查看很麻烦,而且没有可以讨论求助的地方,建议修改
2.2.2 Bug吐槽
Bug 1:永远不变的文章访问量 ❗❗❗
问题描述
:我们这里任意点击一个文章进入,刷新,访问人数没有发生改变,退出重进,访问人数还是不变
复现性
:100%
发生位置
:任意一篇文章
问题浅析
:可能是作者并没有制作记录访问量这一功能,所使用的数据都是静态数据,或者可能是代码中对访问人数更新的sql代码出现了问题
建议
:首先检查sql更新代码是否出现了问题
Bug 2:永远找不到的文章 ❗❗❗
问题描述
:复制任意一个已有文章的标题,粘贴到搜索框中搜索,但是结果是查无此文
复现性
:100%
发生位置
:任意一篇文章
问题浅析
:后面经过测试,发现中文输入查找就会出现找不到的问题,单是数字和英文就不会,所以可以猜出可能是数据库中设置的编码出现了问题,不能正确查找带有中文的字符串,这一点在之前采用yii框架编写网页时我出现过的问题很像。
建议
:重新设置编码规则
2.3 优缺点
优点
- 教程挺多的,也蛮详细的,也包含了很多可使用的工具
缺点
- 各种贴脸广告,真的特别搞人心态,但值得庆幸的是,这些广告关起来并不难,不用像其他广告一样找那个像素点的
×
- UI设计并不出彩,感觉进入了很早之前的网站,如果不是因为工具和教程应该没有人愿意花时间来浏览这样子的网站,而且排版上出现问题的地方太多了
- 文章查看部分bug太多了,明明叫问答库却一点都没有问答,缺失了IT类网站中本应具有的讨论,文章部分除了标题就是内容,死气沉沉的,没有让人想要浏览的欲望,可以说,上学期Web作业中完成得文章部分功能都比这多
- 如果仅是上面的问题还好,但是文章读起来还要扫码,文章完全没有什么吸引人的地方,再加上扫码的功能,谁会来读这种文章?
3 Online Compiler and IDE
介绍:Online Compiler and IDE是一个支持在线编译代码的网站,你可以在此网站上编写运行代码,同时查看别人提交的代码,也可以在个人账户下面查看自己已经运行过的代码
3.1 网站使用体验
注册与登录
:通过此处可以访问到InsCode
的首页,可进行登录注册,但是由于此网站为国外网站,国内网站访问较慢,且由于验证码在没有vpn情况下无法显示,造成注册也比较困难,但可以下载插件显示验证码从而注册
首页
:该网站首页比较简洁,直接显示编译窗口,可以在窗口内编写较为简单的代码并允许直接编译运行
运行结果显示如下,但是由于网络问题,页面有时候会出现显示不全的问题
我的代码
:通过点击my codes即可访问最近编写运行的代码,同时可以使用过滤器对代码进行过滤选择
最近代码
:用户可以通过点击recent codes查看其他人最近编写的代码,可以选择将他们的代码fork下来运行,看看别人对于代码的理解
范例
:用户可以在范例部分查看一些代码编写的例子,也可以fork其中的代码进行运行
账户设置
:用户可以在我的账户对账户进行设置和修改,同时可以对编辑器的样式进行修改
3.2 吐槽
使用下来感觉网站整体较为中规中矩,使用上和前一个IT屋网站大差不差,都是对简单代码进行编译运行,但对于大型项目的编写就显得有些力不从心了,这里写一个ui上的小问题
问题:中英文混在一起,看上去有点乱❗
问题描述
:在首页以及其他各个部分,可以说随处可见繁体中文与英文混合使用,让用户使用时视觉观感并不好
问题浅析
:无
建议
:全部修改为英文或者全部修改为中文
3.3 优缺点
优点
- 但就在线编码来说,此网站使用上是优于IT屋的,对于代码保存,查看等功能也是具有的,整体上中规中矩但并不出彩
缺点
- 第一点就是作为一个外国网站,国内访问势必会比较麻烦,且受网速影响较大
- 中英文混搭实在有点让人接受不来
- 功能并不算强大,只能编写较少的代码,同时不具有项目管理的能力,只能说是把少代码在线编译做到了比较好用的程度
4 采访
本次采访对象是我的高中同学,他是计算机专业的学生,记录以对话截图展示
可以总结他是为了解决作业部署问题而去使用了InsCode
,主要使用了项目创建与模板,其中的问题也是UI
上的一些问题,以及搜索框的使用问题,整体对此产品评价较好
5 结论(仅代表个人)
对比了以上三款网站,可以给出相应在线编译网站的量化评分表
指标 | 描述 | 分值 |
---|---|---|
可用性(5+5分) | 网站是否易于使用和导航,是否提供了足够的帮助和指导 | |
导航栏是否清晰、简洁,是否提供了相关文档和示例代码 | ||
功能性(20+10分) | 网站所提供的功能是否完善,是否满足用户需求 | |
是否支持常用的编程语言,是否能够编译和运行用户的代码 | ||
性能(10+10分) | 编译器的性能是否稳定、高效 | |
是否能够快速编译和运行用户的代码 | ||
兼容性(8+7分) | 网站是否与多种浏览器和操作系统兼容,是否适合不同设备的使用 | |
是否支持移动端的编译和运行,是否能够自适应不同设备的屏幕大小 | ||
用户反馈(5+5分) | 是否提供了用户反馈渠道和相关工具,是否及时回应和处理用户反馈 | |
是否有完善的用户社区和支持,是否提供了使用教程和技术支持 | ||
其他(15分) | 加分项 | |
扣分项 | ||
总分(100分) |
以此量化评分表对三个网站分别评分
- InsCode
指标 | 描述 | 分值 |
---|---|---|
可用性(5+5分) | 网站是否易于使用和导航,是否提供了足够的帮助和指导 | 4 |
导航栏是否清晰、简洁,是否提供了相关文档和示例代码 | 4 | |
功能性(20+10分) | 网站所提供的功能是否完善,是否满足用户需求 | 13 |
是否支持常用的编程语言,是否能够编译和运行用户的代码 | 9 | |
性能(10+10分) | 编译器的性能是否稳定、高效 | 9 |
是否能够快速编译和运行用户的代码 | 9 | |
兼容性(8+7分) | 网站是否与多种浏览器和操作系统兼容,是否适合不同设备的使用 | 8 |
是否支持移动端的编译和运行,是否能够自适应不同设备的屏幕大小 | 7 | |
用户反馈(5+5分) | 是否提供了用户反馈渠道和相关工具,是否及时回应和处理用户反馈 | 5 |
是否有完善的用户社区和支持,是否提供了使用教程和技术支持 | 4 | |
其他(15分) | 加分项:有gpt开发模板,使用方便,模板多 | |
扣分项:瑕疵多,功能不完善 | 10 | |
总分(100分) | 82 |
- IT屋
指标 | 描述 | 分值 |
---|---|---|
可用性(5+5分) | 网站是否易于使用和导航,是否提供了足够的帮助和指导 | 2 |
导航栏是否清晰、简洁,是否提供了相关文档和示例代码 | 3 | |
功能性(20+10分) | 网站所提供的功能是否完善,是否满足用户需求 | 10 |
是否支持常用的编程语言,是否能够编译和运行用户的代码 | 9 | |
性能(10+10分) | 编译器的性能是否稳定、高效 | 8 |
是否能够快速编译和运行用户的代码 | 9 | |
兼容性(8+7分) | 网站是否与多种浏览器和操作系统兼容,是否适合不同设备的使用 | 8 |
是否支持移动端的编译和运行,是否能够自适应不同设备的屏幕大小 | 7 | |
用户反馈(5+5分) | 是否提供了用户反馈渠道和相关工具,是否及时回应和处理用户反馈 | 0 |
是否有完善的用户社区和支持,是否提供了使用教程和技术支持 | 0 | |
其他(15分) | 加分项:教程工具多 | |
扣分项:广告多,博客功能没意义 | 5 | |
总分(100分) | 61 |
- Online Compiler and IDE
指标 | 描述 | 分值 |
---|---|---|
可用性(5+5分) | 网站是否易于使用和导航,是否提供了足够的帮助和指导 | 3 |
导航栏是否清晰、简洁,是否提供了相关文档和示例代码 | 3 | |
功能性(20+10分) | 网站所提供的功能是否完善,是否满足用户需求 | 13 |
是否支持常用的编程语言,是否能够编译和运行用户的代码 | 9 | |
性能(10+10分) | 编译器的性能是否稳定、高效 | 6 |
是否能够快速编译和运行用户的代码 | 9 | |
兼容性(8+7分) | 网站是否与多种浏览器和操作系统兼容,是否适合不同设备的使用 | 8 |
是否支持移动端的编译和运行,是否能够自适应不同设备的屏幕大小 | 7 | |
用户反馈(5+5分) | 是否提供了用户反馈渠道和相关工具,是否及时回应和处理用户反馈 | 0 |
是否有完善的用户社区和支持,是否提供了使用教程和技术支持 | 3 | |
其他(15分) | 加分项:网页基本没有bug,中规中矩 | |
扣分项:网络访问慢,不适合国内用户使用 | 9 | |
总分(100分) | 70 |
总结:对于这三款网站,最后给出评价
- InsCode:好,不错
- IT屋:不推荐
- Online Compiler and IDE:一般
0x02 产品分析
2.1 时间估计
开发人员
:团队人数6人左右,计算机大学毕业生,并有专业UI支持
拟分配职责
:
-
项目经理(1人):负责项目整体规划、进度管理、资源分配、风险评估、与客户沟通等。项目经理需要确保项目按时、高质量地完成,并与其他团队成员密切合作。
-
前端开发工程师(2人):负责网站的前端设计和开发,包括网站页面的UI/UX设计、HTML/CSS/JavaScript编写、与后端开发人员协调等。
-
后端开发工程师(2人):负责网站的后端设计和开发,包括数据库设计、API开发、服务器端代码编写、安全性考虑等。
-
UI设计师(1人):负责网站的整体UI设计,包括网站色彩、排版、图标、字体等,为前端开发提供美工支持。
大致工期安排
:经过体验,拟采用敏捷模型对此类网站开发做一个时间上的大致安排
阶段 | 时间 | 职责 |
---|---|---|
第1个月 | 4周 | 项目规划、需求分析、任务分配,UI设计和后端系统架构的初步设计 |
第2-4个月(迭代1-6) | 12周 | UI设计、前端开发、后端开发、API开发、文档编写等 |
第5个月(迭代7) | 4周 | 测试、问题修复、性能优化、文档编写等 |
第6个月(迭代8) | 4周 | 上线前测试、备份恢复、性能优化等 |
第7个月(迭代9) | 4周 | 上线、部署、维护 |
实际时间估计
:由于三款网站功能有强有弱,同时各自存在一些功能实现上的缺陷,根据上文开发人员
,拟职责分配
,大致工期安排
做出实际时间估计
InsCode
:10个月
估计主要耗费的地方:UI设计,模板的设计与部署,社区与个人功能的完善IT屋
:5个月
估计主要耗费的地方:工具部署,教程收集整理Online Compiler and IDE
:7个月
估计主要耗费的地方:测试,各种语言编译器的部署,代码可见权限的管理
2.2 同类产品对比排名
出了上面两款网站,这里再列举几个同类型产品来做对比
网站名称 | 优点 | 缺点 |
---|---|---|
CodePen | 1.提供了在线编辑和预览功能,支持多种前端技术 2.社区活跃,可分享和查看其他用户的代码 3.可以创建私人项目和团队项目 | 1.付费版功能更为丰富 2.部分功能需要登录后才能使用 |
JSFiddle | 1.可以实时运行JavaScript、CSS、HTML代码 2.代码分享功能方便 3.可以调用多种JavaScript库和框架 | 1.不支持其他编程语言 2.社区相对较小 3.部分功能需要登录后才能使用 |
Lightly | 1.自动构建开发环境:Lightly会自动检测项目的语言,并生成所需的开发环境。 2.智能提示:编码时支持语法高亮、语法错误自动检测、代码智能提示和自动补全。 3.云端存储:将项目的文件和资源同步到云端,让您的任何修改都可以被实时同步。 4.多人协作:支持邀请多人同时加入一个项目,可以一起编码、调试和协作开发。 | 1.一些功能需要付费 |
这里可以发现前两个网站由于是外网且都是面对前端编程与InsCode
没有直接竞争,InsCode
主要竞争对手是Lightly
,可以说除了付费问题,和编译器较少的问题,Lightly
挺好的,InsCode
对比下的劣势就是目前大大小小的问题,对比UI
我更喜欢Lightly
的设计,但是InsCode
的潜力更好,在未来的扩展“玩法”应该会更多,据此我做出以下排名
InsCode
Lightly
CodePen
&JSFiddle
2.3 软件工程方面的建议(仅为个人看法)
作为一名网站的使用者,在试用这几个网站后,根据其相应的缺点,可以对InsCode团队在软件工程方面提出几个可提高的方面
- 需求分析的全面性:团队在需求方面需要更加细致和全面地进行分析和管理,确保对客户需求的理解准确无误,并能够满足客户的实际需求。由于InsCode的用户是面向广大使用在线编程工具的群体,一些功能也应该满足其中大部分人的需求,从之前的使用中(见上文),
搜索栏的记录功能缺失
,没有历史记录功能
,没有封面头像封面裁剪功能
,作为一个专业团队,这些能够方便用户使用的功能的缺失不得不让人怀疑在需求分析阶段是否考虑全面。 - 提高质量保证:为了确保软件的质量和稳定性,团队需要更加注重测试和质量保障的工作。团队可以建立更加完善的测试流程和标准,加强对代码的审查和测试,从而尽早发现和解决问题,也是在使用过程中,
UI
上的瑕疵,一些Bug
100%可复现性,无不体现了在测试时并没有进行完全地测试,这些问题都是一些浮于表面的bug,并不是说难以测试到,没有全面的测试,就谈不上对于质量 的保证
2.4 BUG存在的可能原因分析
根据使用过程对bug(此处包含UI问题)存在原因做一下几点总结,具体原因分析见上
-
时间压力
:软件团队可能会面临发布日期的压力,不得不在发布前放弃修复某些bug,以确保产品按时发布。InsCode
是在3月25日新程序员大会(NPCon):AIGC 与大模型技术应用峰会
上发布,并已经上线,Inscode
是以快速开发 GPT 应用
为亮点发布的,与gpt上线并引起巨大反响仅过去几个月,可以看出开发这款网页并部署的任务时间很紧,出现一些瑕疵和bug也是有理由的 -
优先级问题
:软件团队可能会认为一些bug并不重要,或者其他的问题更紧迫,而放弃在发布前修复这些bug。这也是在上点时间较紧的基础上所做的取舍,InsCode
聚焦在快速开发 GPT 应用,所以这一功能的优先级较高,测试也比较完善,没有发现存在问题,而像搜索栏问题,和其他一些功能的缺失也可能是因为这一个原因而放弃 -
测试不充分
:软件团队可能会遇到测试不充分的问题,他们没有在特殊配置或环境下测试,或者测试的时候并没有暴露出该问题。在个人主页无法上传的bug就是由于测试不充分产生的,这里猜测一下,可能是仅测试了主页上传功能但没有对个人页面上传功能进行测试造成的 -
对用户需求掌握不好
:这一点已经在2.3节
进行说明,此处不做赘述
2.5 团队问题思考
经过思考,这里给出个人感觉团队有问题的层次
需求层次
:软件团队可能会有对用户需求不够清晰的问题,导致需求分析不准确,最终产生功能缺陷。包括搜索栏的记录功能缺失
,没有历史记录功能
,没有封面头像封面裁剪功能
功能的缺失测试层次
:软件团队可能会有测试不充分、测试方法不科学等问题,导致测试未能发现所有的软件缺陷,体现在在个人主页无法上传的bug
同时可以引出思考,为何职业的软件团队还有这些问题?
在我看来,软件开发是一个复杂的过程,涉及到多个方面,需要各个方面都能够良好地协同合作,才能够开发出高质量的软件。然而,软件团队可能会面临许多挑战,如时间压力、资源限制、团队成员之间的沟通问题、技术问题等,这些问题可能会导致软件团队在软件开发过程中出现问题。
此外,软件开发是一门不断进化的艺术和科学,新技术和新工具层出不穷,对软件开发团队的学习和适应能力提出了更高的要求。因此,软件开发团队需要不断地学习和提高,才能够跟上技术的发展和市场的变化。
要说到在软件工程方面还可以如何提高,根据所学以及本次使用感受,以下是一些可能的提高建议(部分见上2.3):
强化需求分析能力
:软件团可以加强对用户需求的收集和分析能力,确保需求分析的准确性和完整性,从而避免功能缺陷。客户参与
:软件团队可以通过与客户进行频繁的交流和反馈,了解客户的需求和反馈,从而快速调整软件开发的方向和优先级建立质量管理机制
:团队需要建立质量管理机制,包括代码审查、测试用例编写、bug管理等环节,以确保软件质量。
0x03 计划与规划
3.1 市场概况
在线编译器是一种通过网页来提供编程服务的工具,用户可以在网页上编写、编译和运行代码,无需下载和安装任何开发环境,也不需要担心电脑配置和操作系统的限制。它提供了跨平台、代码共享和协同开发等优势,可以适用于不同的使用场景和人群,例如学生、开发人员、教师和研究人员等。就可用性和价值来说,在线编译器前景还是很广的
3.2 市场规模&使用人员
根据相关调研机构的数据,全球在线编译器市场规模在不断扩大,预计到2026年
将达到90亿美元
。目前市场上主要的在线编译器服务商有CodePen
、JSFiddle
等,其中CodePen
和JSFiddle
是最著名的在线编译器之一,国内也有Lightly
等在线ide网站,整体市场规模还是很大的
在我看来在线编译器的使用人员可以集中在软件开发者和科研人员
这个群体,根据GitHub Octoverse 2021年度报告
我们可以发现 全球7300万开发者,中国第二,软件开发人员群体的庞大数量从中可见一斑
同时高校学生作为即将就业人员,近年就读此专业人数也是一直在增长
而潜在用户来源主要是:即将学习计算机专业的学生
,对计算机感兴趣的人员
,相关资料可以阅读这篇文章
3.3 市场现状
3.3.1 目前市面产品
目前市场上主要的在线编译器服务商有CodePen
、JSFiddle
等,其中CodePen
和gitpod
是最著名的在线编译器之一,国内也有Lightly
等在线ide网站,以及本次试用的几个网站,我们可以根据是否支持将目前市面上产品定位分为以下两类:
在线简单编译器
:此类网站无法进行项目管理,仅能支持简单的编译,此处代表为IT屋
在线IDE
:可以对中小项目进行一定管理与协作,功能较强,可以作为一个在线idea编写程序,代表为InsCode
几款在线编译网站优劣请见上文
3.3.2 分析
依照上述分类,我们可以清楚地分出哪些产品互为竞品关系
- 竞品组1:
CodePen
、gitpod
、InsCode
、Lightly
- 竞品组2:
Online Compiler and IDE
、IT屋
简单举一个例子,在竞争组1中,拿CodePen
与InsCode
对比,codepen
作为老牌在线IDE,主要针对前端代码进行编写,可以引入一些库,基本没有bug但劣势也相对明显,没有其他语言的编译器,总结来说是单一但强大,InsCode
作为一个新出的网站,劣势已经在上面提到了,较多的瑕疵,但是却有很多可使用的模板,所以CodePen
的态势主要是平稳的但可增长空间较少,但InsCode
只要将已有的问题解决好,乘着GPT
这股风,用户使用量上会有大涨的态势
3.3.2 总结
总体来说在线编译器这个领域已经来到了平台阶段,做出让人眼前一亮的产品要下很多功夫了,但是InsCode
作为后起之秀,还是能够有机会后来居上的
3.4 市场与产品生态
3.4.1 核心用户群&产品用户画像刻画
在我看来本产品核心用户群体主要为中小项目开发者
以及赶作业的大学生 ,这里以计算机大学生为例刻画相应的用户画像
属性 | 描述 |
---|---|
姓名 | 小明 |
年龄 | 22岁 |
职业 | 计算机科学专业的大学生 |
技能水平 | 具有一定的编程经验,掌握一些编程语言的使用,但是不怎么会配环境,每次要耗费大量时间查资料 |
使用场景 | 小明需要完成一份软件工程时间作业,但是其中需要用到一个他不会的技术,小明根据psp表格估计了自己的完成时间,发现配置环境这一项需要耗费大量时间,于是他想要通过在线编译器解决这个问题 |
表面需求 | 1. 方便易用:小明需要一个易于上手的在线编译器,能够方便快捷地编写和运行作业要求的项目。 2.可靠性:在线编译器需要具备足够的可靠性,他可不想自己的项目运着运着没了。 3.语言支持:在线编译器需要支持多种编程语言,特别是他所要用的语言,最好有相应的模板。 |
潜在需求 | 1. 界面友好:在线编译器需要有一个友好的界面,方便他进行代码编写、运行和调试。 2.速度快:在线编译器需要快速响应,能够快速编译并运行程序。 |
3.5 产品规划
3.5.1 产品NABCD分析
由于在当前软件基础上想要添加的功能较多,这里以添加历史记录
功能为例
部分 | 详情 |
---|---|
需求 (Need) | 对于我而言,有时候浏览优快云博客会忘记收藏一些博客,这时我一般通过历史记录来找我之前浏览的页面,我想对于项目也是,只能star项目感觉使用上并不是很好(参考优快云) |
方法 (Approach) | 对每个人浏览记录存入数据库,并记下相应时间戳,需要时仅需查询记录即可 |
好处 (Benefit) | 方便用户更好找到之前浏览的项目记录 |
竞争 (Competiton) | InsCode作为同类型在线编译器的后起之秀,同时更是可以借着快速编写gpt 应用的热度,可以较为轻松的在同类型产品中胜人一筹,但是前提是细节上的功能较为完善,否则只会引人诟病 |
推广 (Delivery) | 首先是gpt的热度,其次作为优快云旗下产品,本身在发布时已经收获了很多用户 |
3.5.2 开发规划
计划对16人的团队任务分配如下:
- 2名前端开发人员:负责界面的呈现
- 2名后端开发人员:负责接口的设计和相关代码编写
- 1名测试工程师:负责保证产品的可靠性,提前发现bug
- 1名UI设计师:负责设计用户体验好的界面
16周计划设置如下
周次 | 任务 | 目标 |
---|---|---|
1-2周 | 进行项目计划和需求分析 | 1. 确定软件开发的技术栈和开发计划。 2. 安排团队成员的任务和工作量,并分配每个任务的截止日期。 3.开始设计软件的核心功能,并确保开发工程师能够按时交付代码。 4. 测试工程师开始编写测试用例和测试计划。 |
3-4周 | 开发和测试软件的核心功能 | 1. 开发工程师开始编写核心功能的代码。 2.测试工程师开始进行单元测试和集成测试,并跟踪问题和缺陷。 3.团队成员持续更新开发进度和协同合作。 |
5-6周 | 前端工程师开始设计和开发软件的用户界面 | 1. 确定软件的用户界面设计。 2.开始开发和测试软件的用户界面和前端逻辑。 3.测试工程师继续执行单元测试和集成测试。 |
7-8周 | 后端工程师开始设计和开发服务器端应用程序 | 1.确定服务器端应用程序的设计和开发计划。 2.开始编写服务器端应用程序的代码,并进行测试和修复。 3.测试工程师继续执行单元测试和集成测试。 |
9-10周 | 继续完善和测试软件的核心功能 | 1.完善和测试软件的核心功能,确保满足用户需求。 2.前端工程师和后端工程师开始协同开发和测试用户界面和服务器端应用程序。 3.测试工程师继续执行单元测试和集成测试,并跟踪问题和缺陷。 |
11-12周 | 进行集成测试和系统测试 | 1.开发工程师开始进行代码的集成测试和系统测试。 2.前端工程师和后端工程师进行用户界面和服务器端应用程序的集成测试和系统测试。 3.测试工程师跟踪和报告问题和缺陷,并提供相应的修复方案。 |
13-14周 | 进行验收测试和修复 | 1.测试工程师开始进行验收测试,以确保软件符合用户需求。 2.开发工程师和测试工程师合作修复测试中发现的问题和缺陷。 |
15周 | 进行软件发布前的准备工作 | 1.完成所有开发和测试 |