软件工程实践作业----软件评测

这个作业属于哪个课程2023年福大-软件工程实践-W班
这个作业要求在哪里软件工程实践——软件评测作业
这个作业的目标测评分析软件,体会软件工程原则在实际应用中的体现
其他参考文献软件工程 案例分析作业

一. 调研,评测

Bug级别统一描述
级别Bug类型
致命常规操作引起的系统崩溃、死机、死循环
严重重要功能不能实现,外观难以接受的缺陷,非常规操作导致的程序崩溃、死机、死循环
一般产品的细节功能或者操作上存在错误,不会影响主要的操作流程,不会导致崩溃
轻微程序在一些显示上不美观,不符合用户习惯,或者是一些文字的错误

(一) Inscode

1.1使用体验
1.1.1介绍和使用软件

InsCode 是一个无需安装的编程、协作和分享社区。

登录过程: 软件支持主流平台的第三方登录,便于用户直接参与到Inscode中,增大了用户的群体,便于用户,登录方式分为扫码登录,手机验证码登录和传统的账号密码登录。

在这里插入图片描述

主页部分: 登录后跳转到主页,主页的左侧为侧边导航栏包含了Inscode的主要功能,上边有搜索框,中间主题部分为“我的项目”,“热门”和“关注”,整体的界面简洁明了,能够降低用户的探索成本。

在这里插入图片描述

搜索功能: 搜索功能能根据作品,模板,我的项目,用户,标签五种范围进行搜索。展示的作品具有内容的标签,浏览数,评论数和收藏数,便于用户筛选。

在这里插入图片描述

作品详细: 作品详细能直接运行作品,展示效果,也能查看作品的文件结构和源码,同时用户能能够收藏,fork和分享,便于优秀作品的传播。

在这里插入图片描述

模板中心: 模板中心,能够使用户通过现成的模板创建项目,用户能够根据语言和不同的应用方向选择需要创建的模板,语言能够选择的只有六种,其中的一部分React is a JavaScript和Node.js并不是一种语言,而是框架和运行环境,把他们归到语言中不太合适,应用方向包含了AI(包含快速开发chatGPT的模板,紧跟技术潮流!),网站,游戏和图形。

在这里插入图片描述

社区功能: 社区中包含了一些博主的发布的作品以及描述,能够供社区中的大家评论,收藏和学习。

在这里插入图片描述

创建项目: 创建项目支持从模板创建和从Git URL导入。创建的项目能够在线编辑,运行,预览,调试,输出,版本控制等,提高了编程的便利性和效率性。完成的项目还能发布到社区中。

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

1.1.2优缺点分析

优势

  • 无需安装即可在线编程,跳过了复杂的环境配置,使用的成本低。
  • 界面清晰,功能简洁明了,且具有合适的教程,探索的成本低,易上手。
  • 拥有涵盖AI,网站,游戏和图形的较为综合的模板库。
  • 项目能直接fork到gitcode中,便于用户的协作。
  • 具有社区功能,便于用户学习和讨论,也能集思广益。
  • 紧跟技术人工智能的技术潮流,能快速开发基于chatgpt的应用。

缺点

  • 社区处于比较基础的阶段,资源不够丰富,活跃度不够高。
  • 项目的运行速度比较慢。
  • 对于创作者动态的显示不够智能,我没有关注任何人,故主页根据网站的逻辑显示的为顶级创作者的动态,但是这些动态其实都是一些普通的用户。
  • 网站模板似乎都是前端的,没有什么后端的模板可以使用。
  • 星标功能,即收藏功能,不能创建分类文件夹,所以的收藏都放在一块,不利于查找。
  • 对于项目和评论没有点赞功能,不能很好的反应项目和评论受欢迎的程度,不利于用户的挑选。
  • 关注的用户不能私信,不利于用户间的交流。
  • 搜索功能没有结果的筛选功能。
1.1.3对产品的改进意见
  • 把握好优势,在后续对网站内容进行增加的时候,不能失去它的易用性,继续紧跟技术潮流,为开发者带来更加便捷的开发基于新技术的模板。
  • 由于软件处于起步阶段,要加大宣传力度从何获得更大的用户群体来丰富社区资源和提高活跃度。
  • 优化项目运行的性能。
  • 加快增添上后端的应用模板,吸引后端的开发者加入。
  • 完善收藏和搜索功能,增添点赞功能,丰富用户和用户的互动,用户和网站的互动。

1.2Bug描述
异常的界面
  • Bug发生时的运行环境

运行的操作系统:macos Ventura 13.0.1

运行的浏览器:Firefox 111.0.1 (64 位)

  • Bug的可复现性及具体步骤

    • 可复观性:特定条件下发生
    • 具体步骤:使用火狐浏览器,点击进入项目,点击浏览器的后退键
  • Bug的具体说明

点击具体的项目后,用浏览器自带的后退键返回,url没有改变,但页面出现异常,页面内仍有运行按钮,但是交互无效,需要再点击一次返回键才能正常返回到主页。每次进行这样操作都会出现这种异常的情况。

在这里插入图片描述

  • Bug等级:一般

  • Bug可能的成因

    • 页面的元素可能是Javascript动态加载的,可能导致在使用某些浏览器时无法正确更新浏览器的历史记录对象。导致后退按钮出现意外行为或显示错误的页面。
    • 使用缓存技术来存储页面内容,则在单击后退按钮时可能无法刷新内容。这可能会导致页面显示过时或不正确的内容。
  • 改进意见

产品要在主流的浏览器上进行充分的测试,才能最大程度提升用户的体验。

无法清空通知
  • Bug发生时的运行环境

运行的操作系统:macos Ventura 13.0.1

运行的浏览器:Firefox 111.0.1 (64 位)

  • Bug的可复现性及具体步骤

    • 可复观性:特定条件下发生

    • 具体步骤
      点击右上角的小铃铛图标的按钮,点击清空通知。

  • Bug的具体说明

在有通知的时候,点击右上角的通知,点击清除通知的按钮,没有任何反应,通知没有清除。

在这里插入图片描述

  • Bug等级:一般

  • Bug可能的成因

    • Javascript事件响应没有处理好。
  • 改进建议

    • 查看对应的Javascript的代码,审查事件是否设置正确,处理逻辑是否有问题。
界面遮挡
  • Bug发生时的运行环境

运行的操作系统:macos Ventura 13.0.1

运行的浏览器:Firefox 111.0.1 (64 位)

  • Bug的可复现性及具体步骤

    • 可复观性:特定条件下发生

    • 具体步骤:点击进入项目。

  • Bug具体说明

点击进入项目时观察到右侧的标签页存在遮挡现象。

在这里插入图片描述

  • Bug等级:轻微

  • Bug可能的成因

    • 网站对浏览器的支持不够好,在chrome浏览器上就不会出现这样的错误。
执行环境异常
  • Bug发生时的运行环境

运行的操作系统:macos Ventura 13.0.1

运行的浏览器:Firefox 111.0.1 (64 位)

  • Bug的可复现性及具体步骤

    • 可复观性:特定条件下发生

    • 具体步骤
      在html中修改代码,用Javascript写入一个死循环,运行,停止,删除死循环代码,再运行

  • Bug具体说明

在这里插入图片描述

  • Bug等级:一般

  • Bug可能的成因

    • 在死循环后,内置的运行环境出现错误错误,且在下一次运行时错误还未被修复。
1.3结论

等级:好,不错

指标描述评分(0-10)
核心功能在线代码编辑、发布7
细节为用户考虑的细节5
体验当用户完成功能时,不干扰用户5
辅助功能一些辅助功能如皮肤等5
差异化功能这个软件独特的功能.它对用户的吸引力有多大?7
效能占用内存, 启动速度, 内存泄漏情况7
成长性记住用户的选择, 适应用户的特点,用户越用越方便6
用户有控制权系统状态有反馈,等待时间要合适。关键操作有确认提示,有明确的错误信息。 让用户方便地从错误中恢复工作, 快捷操作键可调整。6
得分48/80

(二)IT屋

1.1使用体验
1.1.1介绍和使用软件

IT屋是一个程序员软件开发技术分享社区,内部包含各类教程,问答库及各类语言的在线编译工具

教程学习功能: IT屋内包含了非常丰富的文本教程,分类涵盖各编程语言以及前端,后端,机器学习,营销手段等技术,教程内也有清晰的目录供用户来选择学习的章节。

在这里插入图片描述

问答库功能: IT屋还包含分类的问答库,用户能在问答库中阅读一些相关问题的文章,及技术细节的学习。

在这里插入图片描述

在线编译功能: IT屋为用户提供了在线编译,数据,前端等工具,能为用户省去环境配置等步骤,在线编译,为编程学习提供了便捷的实践工具,工具涵盖的内容非常丰富。

在这里插入图片描述

在这里插入图片描述

1.1.2优缺点分析

优势

  • 不用登录和注册即可直接使用。

  • 网站上涵盖的教程很丰富,包括各类语言和相应的应用技术。教程内容图文并貌,代码清晰,易于初学者理解和学习。

  • 提供在线编译,数据,前端工具,便于开发和学习直接使用,节省学习成本。

  • 问答库能为用户提供更详细的问题解决方案。

缺点

  • 网站似乎没有保持持续的更新,有一些教学内容没有跟上技术的版本迭代。
  • 问答库的文章中有一些低劣的广告,影响用户的阅读体验。
  • 用户无法发表问题与文章,难以发挥问答库的功能。
  • 编译无法输入
  • 网站还有个视频教程的功能,居然隐藏在在线编译中,这样的安排实在不合理。
1.1.3对产品的改进意见

保持对网站的持续更新和维护,及时更新和修改教程的内容,避免传输给用户落后的过时的知识;

优化投放的广告的质量,杜绝低劣的广告影响用户的体验,更甚者造成用户遭受诈骗等财产损失;丰富用户在问答库中的功能,更好的为用户的问题提供解决方案。

1.2Bug描述
应有的报错信息没有显示
  • Bug发生时的运行环境

运行的操作系统:macos Ventura 13.0.1

运行的浏览器:Firefox 111.0.1 (64 位)

  • Bug的可复现性及具体步骤

    • 可复观性:特定条件下发生

    • 具体步骤:在java的在线编译器中,写入一个无尽递归的函数,并调用这个函数。

  • Bug的具体说明

调用无尽递归的函数一般会引起栈溢出的异常,此时需要及时报错StackOverflowError,避免造成严重的后果,而在这个在线编译器中没有任何报错和提示的信息,给使用者一种程序成功运行完成的感觉。

在这里插入图片描述

  • Bug等级:一般

  • Bug可能的成因

    • 制作方忽视了错误和异常的处理,在数组越界的情况下也没有任何的报错信息。
  • 改进意见

编译器应该提供详细的报错信息供用户调试,否则容易造成使用者大量的时间浪费。

搜索功能缺陷
  • Bug发生时的运行环境

运行的操作系统:macos Ventura 13.0.1

运行的浏览器:Firefox 111.0.1 (64 位)

  • Bug的可复现性及具体步骤

    • 可复观性:必定发生

    • 具体步骤:在搜索框内输入

  • Bug的具体说明

搜索框的功能性极差,区分大小写,且搜索的匹配性极差,问答库的原标题都搜不出来。

在这里插入图片描述

  • Bug等级:严重

  • Bug可能的成因

    • 制作方对搜索功能的代码逻辑有问题,或者是没有完成这部分的代码。
    • 网站后续的维护缺失,搜索这么重要的功能都出现问题。
  • 改进意见

    • 积极完善缺失的功能,保持网站的维护。
1.3结论

等级:不推荐

指标描述评分(0-10)
核心功能在线代码编辑、发布7
细节为用户考虑的细节3
体验当用户完成功能时,不干扰用户5
辅助功能一些辅助功能如皮肤等3
差异化功能这个软件独特的功能.它对用户的吸引力有多大?3
效能占用内存, 启动速度, 内存泄漏情况7
成长性记住用户的选择, 适应用户的特点,用户越用越方便1
用户有控制权系统状态有反馈,等待时间要合适。关键操作有确认提示,有明确的错误信息。 让用户方便地从错误中恢复工作, 快捷操作键可调整。2
得分31/80

(三) Online Compiler and IDE

1.1使用体验
1.1.1介绍和使用软件

ideone是一个在线的编译和调试工具,你可以在线编译代码并执行,其支持的编程语言高达80多种。

登录注册功能: ideone除了传统的账号密码登录外还支持facebook登录,注册则是用邮箱来注册。

在这里插入图片描述

在这里插入图片描述

在线编译功能: ideone是一个在线的编译器,能提供多种语言的在线编译,能够为项目打上标签,设置可见性,做笔记。运行代码能给出详细的错误提示。

在这里插入图片描述

在这里插入图片描述

代码管理功能呢: ideone提供代码管理,能够筛选,预览,编辑已经运行的代码。

在这里插入图片描述

在这里插入图片描述

1.1.2优缺点分析

优势

  • 支持的语言丰富。
  • 编译的错误提示很明确。
  • 有比较详细的范例供用户上手工具。
  • 提供了历史的代码管理。

缺点

  • 不支持简体中文,给大陆的用户带来阅读的困难。
  • 界面简略,没有生动的UI设计。
  • 账户支持的第三方登录方式较少。
  • recent code没有什么实际的使用意义,没有检索的功能。
  • cookie条约的请求太小了,用户很容易忽略,导致没有接受网站的cookie服务。
1.1.3对产品的改进意见

加上对应语言的支持,以及丰富第三方的登录方式,美化一下界面的UI设计。

1.2Bug描述

没有找到Bug

1.3结论

等级:不推荐

指标描述评分(0-10)
核心功能在线代码编辑、发布7
细节为用户考虑的细节3
体验当用户完成功能时,不干扰用户4
辅助功能一些辅助功能如皮肤等3
差异化功能这个软件独特的功能.它对用户的吸引力有多大?3
效能占用内存, 启动速度, 内存泄漏情况7
成长性记住用户的选择, 适应用户的特点,用户越用越方便3
用户有控制权系统状态有反馈,等待时间要合适。关键操作有确认提示,有明确的错误信息。 让用户方便地从错误中恢复工作, 快捷操作键可调整。3
得分33/80

采访用户

采访对象:高中同学,计算机科学与技术专业

使用功能:使用模板创建项目,运行

建议:拓展用户的基数

在这里插入图片描述

二.分析

(一)开发时间和人员规模

首先三款软件较主流的功能都是在线编译,首先我们先了解实现一款在线编译器的设计思路。

在这里插入图片描述

  1. 表面层:表面层是提供用户交互,接收用户提交信息以及呈现数据。
  2. 业务逻辑层:业务逻辑层根据语种不同分为不同的子流程,表面层会先判断用户选择的语种,再决定使用哪一个语言处理机。处理机会对表面层提供的代码进行编译运行,并且会返回运行结果传给数据连接层。
  3. 数据连接层:数据连接层接收业务逻辑层运行的结果,并将运行结果做一定的处理,数据库做好记录,并将处理好的数据返回给表面层呈现给用户。

在这个共同的流程下我们结合三者的特点,并估计开发时间和人员规模。

  • Inscode与其他两款对比,具有生动的表现层界面,创建运行的对象是项目,业务逻辑层相比其他两款更加复杂,而不是单一文件的编译运行,集成了主流的开发环境,同时具有社区功能。

    • 开发时间:12个月
    • 开发人员:10人,具有计算机专业基础,专业的UI支持,需要熟悉软件开发的业务逻辑以及主流环境的人员
  • IT屋特点在于其丰富的教程和在线小工具,编译虽然语言丰富,对于各类错误的处理很粗糙更像是辅助功能,且不需要数据库来记录用户的历史使用痕迹等。

    • 开发时间:8个月
    • 开发人员:8人,具有计算机专业基础,掌握基本的UI设计,了解前端工具以及应用
  • Ideone功能单一,专注于在线编译运行单文件代码,能用数据库记录用户的历史使用。

    • 开发时间:6个月
    • 开发人员:8人,具有计算机专业基础,掌握基本的UI,掌握主流的编程语言。

(二)同类产品的对比

1.Inscode与Cloud Studio以及Lightly

  • Lightly是一款轻量级的在线IDE,相比于Inscode少了很多框架模板,但多了一些基础语言的支持。

在这里插入图片描述

  • Cloud Studio是腾讯推出的一款云IDE,相比于Inscode,Cloud Studio提供的模板更多,Inscode相比之下显得更加轻量级一些,但仔细观察Inscode的模板的类型也有很多是与Cloud Studio不重合的,二者用户群体层面不同,Cloud Studio没有社区的功能。

在这里插入图片描述

总的来说Inscode兼顾了一部分的模板丰富性以及整体软件的轻量级易上手性,提供的模板偏向于创意性,体现了它的宣传标语——“让你的灵感立刻落地”,同时Inscode的社区功能也是它的一个优势,虽然现在社区的资源并不丰富,活跃度不高。

2.IT屋和菜鸟教程

这两类都是集成在线编译器,技术教程以及在线小工具故放在一起比较。可以看到菜鸟教程也有丰富的教程以及编译器和小工具,相比于菜鸟教程,IT屋的教程更加丰富,覆盖面更广一些,菜鸟教程的工具更加丰富,不仅有在线的工具,对于菜鸟教程本身没有的工具也给出了网址供用户去访问,同时菜鸟教程的编译界面更加友好,再者菜鸟教程也具有问答库,且持续保持更新,搜索功能也是正常的。

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

3.Ideone和Codechef

使用Ideone与CodeChef的内置IDE比较,Ideone的优势在于能够对于管理自己的历史代码,以及语言支持更加广。不过CodeChef对于主流的语言也都支持,且具有代码联想功能,对于用户来说更加友好。
在这里插入图片描述

在这里插入图片描述

(三)软件工程方面的建议

  • Inscode

对于刚刚起步的Inscode,首先得把现有的功能做好,将一些用户反馈的漏洞修复,再这之上再做加法,但是也要注意和其他的同类型的软件划分好赛道,剑走偏锋可能才是Inscode比较合适的方向,要牢牢把握住“让你的灵感立刻落地”这个宣传标语,注重软件能提供给用户在创造性方面的便利,同时社区也是Inscode也是一大特点之一,要加大软件的宣传,提升社区的活跃用户来共同建设良好的社区环境。

  • IT屋

IT屋的维护者们似乎是处于开摆的状态了,对于搜索这样的功能居然都没有修复,导致整个搜索功能几乎瘫痪,对于问答库,知识没有更新,而且只有网站方可以发帖,不利于知识的传播与分享,在线编译器报错也不全面,一些标签页设置的地方也不好,还有一些低劣的广告,开发者需要重新审视一下网站的设计,重新评估一下网站目前的使用情况。

  • Ideone

建议优化一下整体的UI界面,现在的UI界面太过死板了,还有尽快添加上简体中文的语言支持,扩大网站的用户群体,同时加入代码联想等功能,提升用户的编程体验。

(四)Bug存在原因分析

  • Inscode

    • 异常界面,界面遮挡

    开发方没有明确用户的使用场景,忽视了对于所有的主流浏览器进行测试。

    • 无法清空通知

    功能的测试不全面,急于上线网站,或者希望用户来帮助测试。

    • 执行环境异常

    没有考虑到用户在使用产品时可能会遇到的特殊情况。

  • IT屋

    • 搜索功能缺陷,应有的报错信息没有显示

    网站的开发一开始的目标可能是只有展示教程,问答库以及在线编辑器可能是后面看到同类网站的做法才临时加上去的,到现在竞争不过同类的网站就摆烂不维护和更新网站的内容了,只是投放一些广告来维持网站的基本运行。

三.建议和规划

(一)市场概况

软件业务收入跃上十万亿元台阶。2022年,全国软件和信息技术服务业规模以上企业超3.5万家,累计完成软件业务收入108126亿元,同比增长11.2%。软件的业务收入增速虽然有所降低,但是依然保持在比较高的水平,软件业务的红利还未消失。

在这里插入图片描述

国内软件业从业人数不断上升,2021年软件业从业人数占比达到1%。国际上2022年全球有2690 万软件开发者,预计到 2023 年和 2024 年,这一数字将分别增长到 2770 万和 2870 万。

在这里插入图片描述

直接用户: 在职程序员,IT专业的大学生。

潜在用户: 有意愿向软件开发方向发展的其他非专业人士。

(二)市场现状

云 IDE 是近几年程序员圈中的新潮流,许多开发者开始在日常开发中尝试用云 IDE 作为补充,其中 43% 的人使用 Visual Studio Online。遗憾的是,也因为云 IDE 过于“新”,超过六成开发者表示没用过云 IDE,所以云IDE的市场空间很大,正在处于发展的上升期。

在这里插入图片描述

  • 目前国内类似的云IDE有

    • 腾讯Code Studio

    • 阿里DevStudio

    • 百度的Devopt

    • 轻量级的 Lightly

  • 产品关系

我认为Inscode与集大成者的Code Studio,DevStudio以及Devopt不同(这三者都是互联网大头之间的竞品),它更像是Lightly一类的轻量级云IDE,InsCode的主页推荐的项目大多数是一些具有趣味性创意性的项目,我想这也是它的发展方向所在,而不是应用在专业的项目开发之中。

(三)市场与产品生态

  • 核心群体
    • 学历:本科及以上学历。
    • 职业:开发者,学生
    • 年龄:20-35岁(从事相关行业学习与工作的黄金年龄)
    • 专业:计算机科学与技术,软件工程,人工智能
    • 爱好:热爱编程,热衷于实现想法。
    • 表面需求:省去繁杂的环境配置,通过在线IDE快速开发项目。
    • 潜在需求:像Cursor能根据想法生成程序。
  • 用户群体的二次作用
    • 关注到主页上有一些开发者针对特定一些热门的游戏开发了二创的游戏,在一定程度上可以联系了一部分游戏爱好者加入到Inscode中。
  • 其他相关产品的二次作用

Inscode处于国内最大的IT社区CSDN,国内著名的代码托管平台gitcode构成的生态圈中,Inscode中的代码能方便的fork到gitcode中,CSDN中的宣传也可以为Inscode带来相当一部分可观的用户。

(四)产品规划

  • 新功能: 能像Cursor一样,根据文字描述给出需要的代码。

    • N(Need): 部分用户可能有一个很好的创意点子,但是由于技术的壁垒无法将想法落实在项目中,如果能让这部分用户很便捷的就加入到创作中,可以大大提高产品的用户量,丰富社区的项目环境。
    • A(Approchach): 将网站的代码编辑部分接入GPT,不同的语言选择不同的prompt,提供给用户描述框,将描述框内的内容传入GPT中,将GPT的回答,根据项目的上下文结构展示在代码编辑部分。
    • B(Benifit):降低用户的使用门槛,有利于用户更好的学习项目开发的知识,落实创意。
    • C(Competitors): Cursor已经实现了很好的AI自动生成代码,但是使用上还是有些局限性,如不能代码的续写,也没有像Inscode那样集成了开发环境。
    • D(Delivery): 通过用于庞大用户基数的CSDN进行宣传能达到很好的宣传效果,同时在B站等年轻人聚集的视频平台投放广告,或者邀请部分高校师生进行体验。
  • 角色配置

职责人数
前端UI设计1名
训练gpt写出符合项目结构的代码4名
测试1名
  • 详细计划
时间计划
第1周用户市场调研,产品可行性分析
第2周原型设计,撰写需求分析书
第3-4周初步训练gpt,能写出符合初步预期的代码
第4周-第11周加深训练gpt能联系上下文代码,将初步代码修改符合预期
第11周Alpha测试
第12-14周bug修复,算法优化
第15周Beta测试
第16周项目部署发布
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值