这个作业属于哪个课程 | 软件工程-23年春季学期 |
---|---|
这个作业要求在哪里 | [结对第二次作业–编程实现](https://bbs.csdn.net/topics/614397716 |
这个作业的目标 | 软件评测 |
其他参考文献 | 《构建之法》 |
目录:
1· 第一部分 调研,评测
2· 第二部分 分析
3· 第三部分 建议和规划
1. 第一部分 调研,评测
一.InsCode
使用体验
功能介绍
在inscode中用户可以直接选择一种自己所需的模板进行开发
用户可以直接在inscode提供的云ide中直接进行项目的编写
在编写完毕后能够发布项目到社区供他人借鉴
当然也可以Fork社区之中其他人的开源代码
在社区之中可以通过模糊搜索或者是搜索标签的形式来搜索自己想要的模板
优缺点分析
优点:作为一个Cloud IDE无需下载安装就可以进行代码的编写还能快速链接GitHub,gitcode使编程变得更加的方便。使得初学者可以更好的上手无需花费大量的时间来下载ide和环境的配置。
缺点:inscode中提供的模板数量并不是很多,只能进行一部分项目的编写。当用户想进行模板中心提供的模板之外的项目的编写有一定的难度。除此之外每次项目的创建或是fork他人的项目时需要较长的时间才能打开。
改进意见
可以将社区之中发布的一些优质的项目加入到模板中心,这样既能提高用户发布项目到社区的积极性也能完善当前模板中心提供的模板不足的问题一举两得。
采访另一个用户
用户背景 :福州大学软件工程大三学生,他这次的需求是开发一个网站的后端。
使用的产品栏目:模板的搜索及使用。
遇到的问题:他过去所熟练使用的框架为ssm,spring boot及gin,但在模板中心之中并未找到这两种框架,如果需要在inscode上进行项目的编写还需对其他框架进行学习,较为不便。
改进之处:模板中心内能够再加入一些主流的框架,让编程变得更加容易。
BUG
BUG等级评定
严重程度 | 详细描述 |
---|---|
一颗星 | 无关紧要并不影响用户的使用 |
两颗星 | 轻度故障,影响用户的使用 |
三颗星 | 中度系统故障,部分主要功能无法正常使用 |
四颗星 | 严重系统故障、服务器鉴权漏洞或重要数据泄露、用户体验较差 |
五颗星 | 是致命性系统故障、致命性安全性漏洞、用户体验严重影响 |
在使用模板中心中的GPT Chat UI模板时,在提供的终端中输入一段太长的话时输入时闪烁的竖线将不会在句尾而是直接跳到句子中央 。
一次性在输入法中输入一条过长的句子时并不会自动换行而是直接超出提供的终端边界
BUG发生时的环境
操作系统:windows10
浏览器:Microsoft Edge
复现
经过我多次测试这两个BUG是必然出现的。
复现步骤:新建一个项目选择模板中心之中的GPT Chat UI模板。
在右侧提供的终端中进行上文中我所提到的行为便会产生我上文中所说的两个BUG。
BUG分析
可能是在项目调用终端的接口时对于输入时光标的处理出现了一些问题。
BUG评级:两颗星
经过测试该BUG虽然必然出现但是只会影响到用户的体验,并非会造成很严重的问题使用户无法使用GPT Chat UI模板。
结论
如果这是一款已经使用依旧的产品我可能不会向别人推荐使用,因为这款产品使用起来并没有想象中的那么便捷,且在使用时还存在着一些BUG(虽然我还没遇到过严重到影响使用的)。除此之外inscode中的社区建设并不是很完善,其中并没有很多用户在上面分享一些高质量的项目,但考虑到inscode和csdn挂钩相信流量还是会逐步提高的。综上所述,对于这款产品我会推荐给那些想要尝试新的方向又不想直接配置环境的用户,至于那些想通过相应的模板来节省时间的用户则不会推荐。
二.IT屋-程序员软件开发技术分享社区
使用体验
功能介绍
IT屋大体上可以总结为三种功能,教程、问答库、在线工具。
教程:为新入门一门语言的用户从配置环境开始到具体应用提供了相当详细的教程。
问答库:能够在问答库中搜索一些在学习过程之中遇到的问题,在问答库中可能能够找到相当详细的回答。
在线工具:提供了一个远程虚拟机让用户能够在网页中进行项目的运行,更为方便。
优缺点分析
优点:提供了许多十分详细的教程,在IT屋之中甚至能找到一些十分古老的技术的教程,十分适合一位新入门编程的用户进行系统的学习。 此外提供了在线运行工具,让用户能够在某些不方便的时刻能够不用配置环境直接运行项目。
缺点:虽然提供了许多教程,但是一些较为新颖的技术如GO语言在IT屋之中是找不到的。而且提供的问答库,并非是csdn那样的社区模式,而是类似于每隔一段时间会上传一些新的内容,因此问答库的更新频率和其中回答的数量都十分的堪忧,并不一定能够及时的解决我们在学习之中碰到的问题,如下图所示JAVA分区的问答库上次更新还是在2022年9月份。
改进意见
可以考虑将问答库的形式改为社区的形式,这样有三个好处。首先这样就不需要专人来对问题定期进行回答上传管理。其次社区形式发帖的话可能会更快的解决用户在学习时遇到的问题。最后,每个人在学习时碰上的问题都是不同的,IT原本的形式难免不能回答到用户可能遇到的所有问题。
采访另一个用户
用户背景 :福州大学软件工程大三学生,他这次的需求是开发一个网站的后端。
使用的产品栏目:教程的学习和问答库的使用。
遇到的问题:原本打算使用GO语言来完成项目的编写,但是在IT屋之中并没找到GO的教程,因此转而使用java但是在编程时遇到的一些问题,在问答库之中并不能找到答案。
改进之处:对于问答库能够更高频率的更新,加入一些较为新颖的技术的教程。
BUG
因为IT屋上线已久,并未找到明显的功能性BUG。
结论
在进行一门新的语言的学习时,我可能会去一些大型的社区来搜寻我所遇到的问题的解决方法而非是专门在这个网站之中查找资料。至于教程,我可能更倾向于去csdn之类的地方学习,里面的有着已经总结完毕的教程,且也会附上一些可能会遇到的问题。在线工具的话,网络上的平替品太多了,并不具备较强的竞争力。综上所述,对于这个网站我的评价是不推荐。
三.Online Compiler and IDE
使用体验
功能介绍
一个在集成环境和编译器能够进行多种不同语言的在线运行。
优缺点分析
优点:提供了一个十分便捷的在线编程工具,让用户可以在一个完全没有配置过环境的电脑上进行某种语言的运行。页面十分简洁,网站一进去就是编程工具并没有一些花里胡哨的页面或是广告,且使用十分便捷,只需要选择想要运行的语言就可以了。
缺点:不能运行一个大型的项目只能运行一些较为简单的代码。除此之外并不像ide之中提供提示功能,编程时较为不便。
改进意见
强化一下功能,使网站能够支持一些较为复杂的项目的运行。
采访另一个用户
用户背景 :福州大学软件工程大三学生,他这次的需求进行C#的学习。
使用的产品栏目:在线编辑器
遇到的问题:在编程的过程之中,由于没有提示总是会敲错一些单词,导致报错。
改进之处:网站增加一个提示功能。
BUG
未找到明显的功能性BUG。
结论
这个网站虽然并不能支持一些复杂的项目的运行,且不具备提示功能导致我们在使用该网站提供的在线编辑器时,效率并不是很高。但是考虑到如果出现身边只有一台完全没有配置过环境的电脑但需要运行代码时,该网站简洁的页面和简单的使用方法会让我第一时间想到他。因此综上所述,对于这个网站我的评价是一般。
2. 第二部分 分析(InsCode)
开发时间估计
背景:团队人数6人左右,计算机大学毕业生,并有专业UI支持。
总共预计时间:
需求分析及原型设计:20天。Inscode的功能及界面并不多且市面上有着许多成熟的产品能够作为参考,且考虑到有专业的UI支持在页面设计方面能够减少大量的工作量。
开发实现:100天。本次产品的主要目标是创建一个远程云环境及远程编译器,本质上类似于创建一个远程的虚拟机。虽然市面上对于编辑器及代码托管已经有着开源的项目可以参看,但考虑到刚毕业的大学生并不具备很丰富的项目经验,开发能力也较为薄弱。且需要部署各种编译环境以及虚拟化对于一个大学刚毕业的团队来说是一个不小的挑战。
项目测试:20天。项目完毕后要进行alpha测试及beta测试,这些还是一个不小的挑战。预计10天测出问题,10天修改在测试中发现的BUG。
同类产品对比排名
现在市面上较为出名且提供了cloud ide的平台有华为旗下的DevStudio和腾讯旗下的Cloud Studio。
Cloud Studio:
DevStudio:
相较于上述的两个平台就cloud ide而言InsCode并不具备太强的竞争力,原因如下:
1.模板中心提供的模板数量并不是很多。
2.每次创建项目时需要一段较长的时间。
但InsCode也有着他自己的竞争力,首先上述的两个平台只提供了后端的编写而InsCode同时能够进行前后端的编写。此外,InsCode有着社区模块,在社区中能够参考别人发布的项目能够吸引一些新的用户。且InsCode和csdn挂钩有着相当庞大的潜在用户基础。因此在我看来InsCode能够在同类产品中排名进前5。
软件工程方面的建议
在项目发布之前能够进行一些更加详细的测试,在这次体验过程中发现了不少会影响用户体验的问题。
BUG存在的原因分析
开发人员的粗心及测试人员把关不严是导致BUG的主要原因。
3. 第三部分 建议和规划
市场概况
市场规模:现在计算机行业相当庞大,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周 | 项目发布 |