软件工程实践——软件评测

这个作业属于哪个课程 2022年福大-软件工程、实践-W班
这个作业要求在哪里 软件评测作业
这个作业的目标 测评比较几款同类软件产品,指出优点及缺点,分析原因并提出建议,最后为此类型产品如何在竞争中取胜做出规划
其他参考文献 Bug分类和定级

文章目录

    • 一、调研与评测
      • 1.0 BUG量化分析
      • 1.1 InsCode
        • 1.11 基本功能介绍
        • 1.12 Bug描述
          • Bug0
          • Bug1
          • Bug2
        • 1.13 总结
      • 1.2 IT1352
        • 1.11 基本功能介绍
        • 1.22 Bug描述
          • Bug3
          • Bug4
        • 1.23 总结
      • 1.3 ideone
        • 1.31 基本功能介绍
        • 1.32 Bug描述
          • Bug5
        • 1.33 总结
      • 1.4用户采访与改进意见
    • 二、分析
      • 2.1 开发时间估计
      • 2.2 同类产品对比排名
      • 2.3 软件工程方面的建议
      • 2.4 BUG存在的原因分析
    • 三、建议和规划
      • 3.1 市场概况
        • 3.1.1 市场范围
        • 3.1.2 直接用户
        • 3.1.3 潜在用户
      • 3.2 市场现状
        • 3.2.1 目前市场上的在线IDE产品
        • 3.2.2 产品的定位、优势与劣势
        • 3.2.3 产品关系与所处阶段
      • 3.3 市场与产品生态
      • 3.4 产品规划

一、调研与评测

1.0 BUG量化分析

严重程度 描述
⭐⭐⭐⭐⭐ 导致系统无法继续使用,包括常规操作引起的系统崩溃;用户数据丢失或破坏;内存泄漏,系统无法登录等
⭐⭐⭐⭐ 严重影响产品运行,使得产品重要功能无法实现,包括用户所要求的功能缺失;非常规操作导致的程序崩溃、死机;系统中数据保存后数据库中显示错误
⭐⭐⭐ 不影响产品的运行、不会成为故障的起因、但对产品外观和下道工序影响较大的缺陷,如: 1.兼容性问题;2.系统未做优化,数据页面加载慢,操作卡顿;3.次要功能不能正常实现
⭐⭐ 不太影响使用,大多是程序在UI上的不美观,不符合用户习惯,或者是一些文字的错误,缺少交互提示等
对于产品优化的建议,包括设计方面,界面优化方面,增强用户体验方面的意见和建议

1.1 InsCode

1.11 基本功能介绍

在未登录状态下访问,进入介绍页面。页面展示了一些热门项目,介绍了InsCode的主要特点
软件工程实践——软件评测_第1张图片
软件工程实践——软件评测_第2张图片
点击创建项目注册/登录按钮,均跳出登录界面,可以看到登录方式十分多样,首先推荐的是微信快速注册/登录,也可以通过CSDN、QQ、GitHub等账号登录。

软件工程实践——软件评测_第3张图片

使用CSDN账号后登录后,跳转至CSDN主页,有些出乎意料,点击导航栏的InsCode回到页面
软件工程实践——软件评测_第4张图片

在登录状态下进入InsCode主页
页面左侧是导航栏,主页包括我的项目,热门项目,关注者的动态三个模块

软件工程实践——软件评测_第5张图片

点击左侧或右上角蓝色按钮,弹出创建项目窗口。
创建项目有两种方式:根据模板创建 / 从GIt URL导入

软件工程实践——软件评测_第6张图片
软件工程实践——软件评测_第7张图片

这里我选择GPT Chat UI模板,创建项目后进入IDE界面
页面默认分为三栏,左侧是目录,中间是代码区,右侧是一个多功能窗口。
用户首次进入该页面时,会有简单的教程引导,这点好评
软件工程实践——软件评测_第8张图片

右侧的窗口功能包括:搜索&替换、运行调试、终端、项目预览。基本涵盖了IDE的主要功能。
预览功能不仅直接免去了部署过程,还能及时看到代码更新结果,很方便

软件工程实践——软件评测_第9张图片
项目发布后会自动同步到gitcode,十分方便
软件工程实践——软件评测_第10张图片

我的项目,包含个人项目、动态、星标收藏项目,整体简洁明了

软件工程实践——软件评测_第11张图片
模板中心,根据语言、AI、网站、游戏、图形对模板进行分类,总体数量不算多
软件工程实践——软件评测_第12张图片
简单体验了一下别人发布的作品,加载速度还是很快的。
关注作者后,下方的关注人数没有改变,需要刷新后才能+1
软件工程实践——软件评测_第13张图片
fork项目也没有遇到什么问题
软件工程实践——软件评测_第14张图片

社区板块 右侧是热门标签,可以选中自己感兴趣的标签进行内容筛选;中间的动态可按热门和最新查看

软件工程实践——软件评测_第15张图片
搜索功能 (可以通过快捷键 crtl + k 使用

  • 在搜索作品时,输入“java”得到下图结果。作品卡片并没有显示作者这一重要信息,当出现多个同名作品时往往难以分辨。
    软件工程实践——软件评测_第16张图片
  • 搜索用户时,输入“wei”得到下图结果。可以看到结果中同时包含了昵称和ID含有“wei”的用户,建议两者可以分开处理,让用户自行选择。
    软件工程实践——软件评测_第17张图片

博客 藏在导航栏不起眼的角落,与CSDN的社区类似,不过并不怎么活跃

软件工程实践——软件评测_第18张图片

1.12 Bug描述
Bug0
  • 测试环境: Windows 10 家庭中文版 、Microsoft Edge 版本 111.0.1661.62 (正式版本) (64 位)
  • 可复现性:可稳定复现
  • 复现条件:无
  • 复现步骤:1.在登录状态访问InsCode博客 2.点击左上角logo

具体情况描述:

点击InsCode博客左上角的InsCode logo,理应跳转到InsCode主页,实际却跳转到无关页面
软件工程实践——软件评测_第19张图片
软件工程实践——软件评测_第20张图片

  • 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种前端实用工具在线使用

软件工程实践——软件评测_第21张图片

测试编译工具,点击Java在线工具选项,进入如下页面。如图所示,是个非常简单的编辑器,甚至于无法处理标准输入语句。

在这里插入图片描述
问答库包含JAVA、C/C++、Python、前端开发、移动开发、数据库、C#/.NET、PHP八个分类。这个问答库只是问答收集整合,你既不能问,也不能答。文章的质量并不高,界面充斥着许多广告,体验糟糕。
软件工程实践——软件评测_第22张图片
软件工程实践——软件评测_第23张图片

菜鸟教程页面提供的教程应该说十分全面,与我熟知的另一个“菜鸟教程”网站似乎差不多,但界面远不如后者
软件工程实践——软件评测_第24张图片

1.22 Bug描述
Bug3
  • 测试环境: Windows 10 家庭中文版 、Microsoft Edge 版本 111.0.1661.62 (正式版本) (64 位)
  • 可复现性:可稳定复现
  • 复现条件:无
  • 复现步骤:打开在线工具页面后,点击任意工具

具体情况描述:

页面间UI差异过大,甚至连网站logo都不同,看起来像是两个不同的网站

软件工程实践——软件评测_第25张图片

  • Bug等级:⭐
  • Bug可能成因:主页更新了UI,维护人员偷懒就没换子页面的UI;或者可能原本是两个网站,后来整合到了一起。
  • 改进意见:将子页面与主页的导航栏统一
Bug4
  • 测试环境: Windows 10 家庭中文版 、Microsoft Edge 版本 111.0.1661.62 (正式版本) (64 位)
  • 可复现性:可稳定复现
  • 复现条件:无
  • 复现步骤:点击主页搜索栏搜索

具体情况描述:

搜索功能似乎没有完全实现,大多数情况下都显示“未找到相关资源,请更换关键词搜索.”这对于一个问答资源整合板块来说是相当重要的,没有搜索功能无异于大海捞针

在搜索栏键入“JAVA”
软件工程实践——软件评测_第26张图片

在搜索栏键入“Java”
软件工程实践——软件评测_第27张图片

在搜索栏键入“数据库”
软件工程实践——软件评测_第28张图片
在搜索栏键入“数据”
软件工程实践——软件评测_第29张图片

  • Bug等级:⭐⭐⭐⭐
  • Bug可能成因:开发人员偷懒没有实现或是网站遭到攻击但无人维护
  • 改进意见:实现搜索功能,定期维护网站
1.23 总结

优点

  • 提供丰富的在线工具

缺点

  • 糟糕的界面,随处可见的广告
  • 文章质量不高,用户无法进行任何交互
  • 重要的搜索功能没有实现

我的评价是 a) 非常不推荐

如果你将它当成在线IDE,显然是不合格的。作为一个资源整合网站,它的界面充斥着令人发指的广告,从内容上看文章的质量也不高,从功能上重要的搜索功能也没有实现,总体上是不合格的。

1.3 ideone

1.31 基本功能介绍

未登录状态下进入主页,整体上走的是简洁风格,色调以白灰为主。左侧是编辑器,右侧是广告,下方是网站的一些简单介绍。

软件工程实践——软件评测_第30张图片

注册似乎不支持国内邮箱,在使用gmai和魔法后注册成功
软件工程实践——软件评测_第31张图片

对比登录前后页面,导航栏增加了这三个功能

在这里插入图片描述

my codes 中可以管理用户运行过的代码文件,包括最后运行时间,编译结果,文件类型等信息以及添加标签,备注,删除等操作。左侧可以根据标签进行文件筛选

软件工程实践——软件评测_第32张图片

editor 中可以调整IDE相关配置,包括字体大小、主题、键位模式等

软件工程实践——软件评测_第33张图片

编辑器 分为上下两部分,上方是代码编辑区,下方是stdin标准输入框、备注栏,下方栏目都是可收起的。

尝试输入一些代码,并没有关键字提示的功能,体验和Dev-cpp差不多,不过没有调试功能

软件工程实践——软件评测_第34张图片
支持多种语言

软件工程实践——软件评测_第35张图片

点击运行按钮,出现以下页面,会有简单的报错信息。

软件工程实践——软件评测_第36张图片

1.32 Bug描述
Bug5
  • 测试环境: Windows 10 家庭中文版 、Microsoft Edge 版本 111.0.1661.62 (正式版本) (64 位)
  • 可复现性:可稳定复现
  • 复现条件:无
  • 复现步骤:打开网站任意页面,放大浏览器页面

具体情况描述:

没有做自适应调整布局

软件工程实践——软件评测_第37张图片

  • Bug等级:⭐
  • Bug可能成因:没有做自适应调整布局
  • 改进意见:可以采用flex布局来实现页面自适应
1.33 总结

优点

  • 操作简单,容易上手
  • 支持市面上绝大多数语言

缺点

  • 过于简易,缺少基本的调试功能,只适合于临时编写简单的程序
  • 对于国内用户来说,访问速度慢,无法注册等问题严重影响用户体验

结论

我的结论是b) 不推荐

这个网站适合于临时想在没有编译环境的电脑运行简单代码的用户,没有调试功能以及只支持单文件运行的硬伤,注定了它不适合长期使用。再加上由于网站服务器在境外,对于国内用户更加不友好。

1.4用户采访与改进意见

  • 采访对象:某大三计算机专业学生(左)
    软件工程实践——软件评测_第38张图片
    (右)现为大三信安专业的高中同学,他在上手使用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 市场范围

软件工程实践——软件评测_第39张图片
我国IT行业从业人数逐年稳步增长,直至2021年8月我国IT从业总人数已达777万人。2010-2020这10年间,我国IT行业从业人数年复合增长率达9.95%。虽然近几年由于无法避免的原因,IT行业进入寒冬期,从业人数增长势头有所收敛,但总体从业人数还是十分庞大的。
软件工程实践——软件评测_第40张图片
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产品

除了上述测评的三款,做得比较好的有ReplitGoormide等;一些代码托管平台,比如GitHub也推出了该功能

3.2.2 产品的定位、优势与劣势
  • 本次测评中的ideone,定位是简易IDE

    • 其特点是简单,支持多种语言。同类产品有Online IDEcodepad
    • 较同类产品,ideone优势在于用户登录后可以保存和管理文件;劣势在于界面不太美观
  • 本次测评的InsCode,定位是前端IDE

    • 其特点是专注于前端开发。类似的产品有codepenStackBlitzCodeSandbox
    • InsCode优势在于集合了社区功能,可惜的是用户不多,社区不够活跃;劣势在于开源项目质量,数量不高。
  • 综合IDE,如:ReplitCoding GroundAnycodes;其特点是全面,适用于各种需求。

  • 容器IDE,如:GoormideCoderCloud 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 项目部署发布

你可能感兴趣的:(软件工程)