这个作业属于哪个课程 | <软件工程-23年春季学期> |
---|---|
这个作业要求在哪里 | <软件工程实践——软件评测作业> |
这个作业的目标 | 软件测评 |
其他参考文献 | 《构建之法》 |
目录
第一部分 调研,评测
一、InsCode
使用体验
介绍和使用软件
在inscode中用户可以直接选择一种自己所需的模板进行开发。点击左上角创建项目后,选择模板后就可以创建(共有三种方式)
左边有一个导航栏可以查看和使用各种功能
点击创建项目之后就可以设置相关信息(包括选择模板及项目标题、描述)
还可以直接fork别人的项目
在线编译器(用户可以直接在inscode提供的云ide中直接编写)
在编写完成后还能够将项目发布到社区
优缺点分析
优点:作为一个Cloud IDE无需下载安装就可以进行代码的编写还能快速链接GitHub,gitcode使编程变得更加的方便。用户不需要配置环境和安装软件就可以运行代码,使得初学者可以更好的上手无需花费大量的时间来下载ide和环境的配置。
缺点:inscode中提供的模板数量并不是很多,只能进行一部分项目的编写。当用户想进行模板中心提供的模板之外的项目的编写有一定的难度。
每次项目的创建或者fork他人的项目时需要较长的时间才能打开。
从项目编辑界面想返回InsCode主页时,有时需要返回两次才能返回真正的首页。
改进意见
可以从社区中筛选一些优质的项目加入到模板中心,这样既能提高用户发布项目的积极性也能弥补当前模板中心提供的模板不足的问题。
用户调研
用户背景 :福州大学2020级软件工程学生,需求是开发一个网站的后端。
使用的产品栏目:模板的搜索及使用。
遇到的问题:在模板中心之中并未找到SSM,spring boot这两种已经熟悉的框架,如果需要在inscode上进行项目的编写还需对其他框架进行学习,较为不便。
改进之处:模板中心内能够再加入一些主流的框架,让程序员编程变得更加容易。
评价:新手使用起来比较方便,但对于已经配置好环境软件的人需求不大。里面的社区交流也很有意思,不过语言类型少了一点
BUG
BUG发生时的环境
操作系统:windows10
浏览器:Microsoft Edge
使用GPT Chat UI模板时,输入一段太长的话时,输入时闪烁的输入提示将不会出现在句尾而是直接跳转到句子中央 。
并且一次性输入一条过长的句子并不会自动换行而是直接超出终端边界
复现
经过我多次测试这两个BUG是必然出现的。
复现步骤:新建一个项目选择模板中心之中的GPT Chat UI模板。
在右侧终端中进行上文所提到的行为便会产生以上两个BUG
BUG分析
可能是在项目调用终端的接口时对于输入时光标的处理出现了一些问题。
BUG评级:⭐⭐
经过测试该BUG虽然必然出现但是只会影响到用户的体验,并非会造成很严重的问题使用户无法使用GPT Chat UI模板。
结论
如果这是一款已经使用依旧的产品我可能不会向别人推荐使用,因为这款产品使用起来并没有想象中的那么便捷,且在使用时还存在着一些BUG(虽然我还没遇到过严重到影响使用的)。但是对于一个测试版本的产品来说目前功能还算可以了,个人感觉使用起来挺舒服,但就是等待时间有点长,希望之后能优化一下,让用户体验更加完美。除此之外inscode中的社区建设并不是很完善,其中并没有很多用户在上面分享一些高质量的项目,但考虑到inscode和csdn挂钩相信流量还是会逐步提高的。综上所述,对于这款产品我会推荐给那些想要尝试新的方向又不想直接配置环境的用户(新手程序员),至于那些想通过相应的模板来节省时间的用户则不会推荐。
指标 | 描述 | 评分(0-10) | |||||||
---|---|---|---|---|---|---|---|---|---|
核心功能 | 在线编辑发布项目 | 8 | |||||||
细节 | 为用户考虑的细节 | 6 | |||||||
体验 | 在用户完成功能时不干扰用户 | 7 | |||||||
辅助功能 | 一些辅助功能如皮肤等 | 7 | |||||||
差异化功能 | 这个软件独特的功能,它对用户的吸引力有多大 | 8 | |||||||
效能 | 占用内存,启动速度,内存泄漏情况 | 5 | |||||||
成长性 | 记住用户的选择,适应用户的使用特点,用户越用越便捷 | 6 | |||||||
用户有控制权 | 系统状态有反馈,等待时间要合适。关键操作有确认提示,有明确的错误信息。 让用户方便地从错误中恢复工作, 快捷操作键可调整。 | 6 |
二、IT屋-程序员软件开发技术分享社区
使用体验
介绍和使用软件
IT屋大体上可以总结为三种功能,教程、问答库、在线工具。
主页面
支持大多数市场上的工具(编译工具、数据工具、前端工具等)
教程:为新入门一门语言的用户从配置环境开始到具体应用提供了相当详细的教程。
问答库:能够在问答库中搜索一些在学习过程之中遇到的问题,在问答库中可能能够找到相当详细的回答。
在线工具:提供了一个远程虚拟机让用户能够在网页中进行项目的运行
优缺点分析
优点:
1.提供了许多详细的教程,十分适合一位新入门编程的用户进行系统的学习。还提供了在线运行工具,让用户能够不用配置环境直接运行项目。
2.无论是教程还是编译工具都有非常多的选择
3.界面简洁明了,能够较快上手
缺点:
1.充斥着大量广告,用户体验感差
2.提供的问答库,并非是csdn那样的社区模式,而是类似于每隔一段时间会上传一些新的内容(且更新频率和质量极差)
改进意见
1.广告的数量和位置可以适当调整一下,提升用户的观感
2.可以将问答库的形式改为社区的形式
用户调研
用户背景 :福州大学2020级软件工程学生,需求是开发一个网站的后端。
使用的产品栏目:教程的学习和问答库的使用。
遇到的问题:原本打算使用GO语言来完成项目的编写,但是在IT屋之中并没找到GO的教程,因此转而学习java。但是在编程时遇到的一些问题,在问答库之中并不能找到答案。
改进之处:可以将问答库的形式改为社区的形式,同时减少广告的数量以及排版。
BUG
BUG发生时的环境
操作系统:windows10
浏览器:版本 111.0.1661.62 (正式版本) (64 位)
无法检索正确的信息
首先从顶部导航栏进入java专题页
如下图所示,信息中确实有文章标题包含"Spring",当我尝试搜索"Spring",且区分了大小写。
但是出现的结果并不符合预期,甚至什么都没有搜索到。
继续尝试从首页进行搜索,还是没有搜索到
我猜想可能是这个搜索功能无法识别出大写字母?!于是我继续从搜索页搜索"spring"(小写),发现竟然出现了结果,而大写S依然不行
继续进行测试,搜索Java——无内容
搜索java——有内容
搜索控制台(上面的标题),无内容
初步的推断:此搜索不能搜索大写的英文,而且不能搜索中文关键字(可能是编码原因),但是显示的文章中含大写标题,说明数据库里的信息是含大写的,那问题就出在文本处理逻辑上了。
bug评级:⭐⭐⭐⭐
结论
在进行一门新的语言的学习时,我可能会去一些大型的社区来搜寻我所遇到的问题的解决方法而非是专门在这个网站之中查找资料。至于教程,我可能更倾向于去CSDN之类的地方学习(本网站的搜索功能缺陷太大),里面的有着已经总结完毕的教程,且也会附上一些可能会遇到的问题。在线工具的话,网络上的替代品太多了,并不具备较强的竞争力(编译不会指示错误,也没有其他便捷的功能)。综上所述,对于这个网站我的评价是不推荐。
三.Online Compiler and IDE
使用体验
功能介绍
一个在集成环境和编译器能够进行多种不同语言的在线运行。
优缺点分析
优点:提供了一个十分便捷的在线编程工具,让用户可以在一个完全没有配置过环境的电脑上进行某种语言的运行。页面十分简洁,网站一进去就是编程工具并没有一些花里胡哨的页面或是广告,且使用十分便捷,只需要选择想要运行的语言就可以了。
缺点:不能运行一个大型的项目只能运行一些较为简单的代码。除此之外并不像ide之中提供提示功能,编程时较为不便。
改进意见
强化一下功能,使网站能够支持一些较为复杂的项目的运行。
用户调研
用户背景 :福州大学2020级软件工程学生,需求是进行C#的学习。
使用的产品栏目:在线编辑器
遇到的问题:在编程的过程之中,由于没有提示总是会敲错一些单词,导致报错。
改进之处:网站增加一个代码提示功能。
BUG
未找到明显的功能性BUG。
结论
这个网站虽然并不能支持一些复杂的项目的运行,且不具备提示功能导致我们在使用该网站提供的在线编辑器时,效率并不是很高。但是考虑到如果出现身边只有一台完全没有配置过环境的电脑但需要运行代码时,该网站简洁的页面和简单的使用方法会让我第一时间想到他。因此综上所述,对于这个网站我的评价是一般。
第二部分 分析——InsCode
InsCode开发时间估计
背景:团队人数6人左右,计算机大学毕业生,并有专业UI支持
需求分析:5天
原型设计:10天
代码编写:100天
项目测试:15天
总计:130天
(但是团队成员大多数是没有大量的项目经历和足够的编程经验,花费的时间还是会比专业软件团队长很多。)
同类产品对比排名
此产品的主要功能就是现在编辑,目前市场上有很多类似的产品,如Lightly,这个产品我之前也是有使用过的。Lightly的界面简洁,而且配置环境,代码运行的都在云端进行,使用方便,有很多地方跟InsCode相同,InsCode的优点我感觉就是目前来说比较简单,容易上手,对于新手用户来说更加友好。
以下将对比上述的三种产品
类别 | 排名 |
---|---|
功能丰富 | Inscode > IT屋 > ideone |
界面美观 | Inscode > ideone > IT屋 |
产品功能与用户交互 | Inscode > ideone > IT屋 |
产品实现质量 | Inscode > ideone > IT屋 |
用户活跃度 | ideone > Inscode > IT屋 |
综合 | Inscode > ideone > IT屋 |
软件工程方面的建议
在项目发布之前能够进行一些更加详细的测试,在这次体验过程中发现了不少会影响用户体验的问题。
Inscode应该算这类软件里面做的很不错的了,但是感觉推广比较少,我从来没有听说过,好像活跃的用户也比较少(刷了半天感觉项目数量很少),宣传力度还需要加大。
可以增加称号或者是奖励机制来激励用户更积极地为社区提供更多的项目资源。
优化UI、减少广告
加强代码编辑器的功能,如标识符和语法错误提示
BUG存在的原因分析
1.开发人员的粗心及测试人员把关不严是导致BUG的主要原因。
2.具体的设计质量不高
3.没有注意在特殊的配置或环境下测试
第三部分 建议和规划
市场概况
代码开发随着云计算技术的不断发展,无服务器计算应运而生。无服务器计算由云平台统一管理后端服务及资源,避免了开发过程中繁琐的集群搭建及系统运维工作,在提高整体资源利用率的同时,借助云 IDE 还能够帮助开发者聚焦业务逻辑,简化应用开发难度,提升软件研发效率。这也是云 IDE 越来越受到关注的原因之一。
市场规模:现在计算机行业相当庞大,Cloud ide市场广阔有着一大批潜在用户如软件开发从业者或是计算机专业学生。
用户:InsCode避免了配置环境和安装ide的繁琐过程,对于想要尝试学习编程的小白而言InsCode是一个很好的平台,相信这些人是会成为直接或间接用户。
市场现状
目前市场上已经有着大量在线ide的平台如Cloud Studio和DevStudio等这些平台都是十分强力的竞争者,他们已经有了一定量的用户基础,且提供了强悍的后端在线编程功能。
我认为Cloud ide这个领域目前还处于上升阶段。如果真的要进行一个项目的编写,虽然在本地上配置环境是一件十分麻烦的事情,但是这种麻烦只是一次性的。而云环境也需要根据项目的变更而不断变更,且每次打开或是新建一个项目时都需要大量的时间进行加载,如此一来在线ide所宣传的方便快速的优势便也荡然无存了。当然如果未来能够解决这些问题,相信Cloud ide是会最终成为主流的。
市场与产品生态
用户画像:编程小白或是大学生在进行一门新的语言的学习时,希望能够免去繁琐的环境搭建和安装臃肿的ide。
产品与用户群体之间的关联:InsCode与csdn相挂钩,因此便有着大量的潜在用户,又有着gitcode进行代码的管理,未来随着发展相信能够利用其相互作用二次构成特定用户生态。
产品规划
可以加入一个社区被fork次数达到一定数量的项目能加入到模板中心的功能。
NABCD分析
N:需求
模板中心现在所拥有的模板数量并不是很多,不一定能满足用户创建项目时的需求。
A:做法
统计每一个在社区发布的项目被fork数,当fork数达到比如1000或者是更多时,将该项目加入模板中心。
B:好处
对于平台而言:能够获得许多高质量的模板而不用专人进行编写。
对开发者而言:自己所编写的项目如果被加入了模板中心的话可以给予奖牌。
对用户:能够有着更多能够使用的模板。
C:竞争
自己项目被加入模板中心的用户一定会向周围的人推荐InsCode,而这批人一般都是行业内高水平人士,有着较高的声望能够吸引更多的人加入InsCode。
D:推广
可以在csdn里嵌入InsCode社区入口,InsCode中加入csdn的入口,双向引流,推动csdn生态建设。
详细规划
六人团队:一位UI,一位测试,一位前端,三位后端
时间 | 计划 |
---|---|
第1周 | 需求分析,产品需求调研,产品规划 |
第2-3周 | 原型设计,环境搭建 |
第4周 | 前端开始页面的设计后端开始编写代码 |
第5-13周 | 前后端的开发 |
第14周 | 前后端交接并进行测试 |
第15周 | 测试,修改BUG |
第16周 | 项目发布 |