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

这个作业属于哪个课程 <软件工程-23年春季学期>
这个作业要求在哪里 <软件工程实践作业----软件评测> <软件工程 案例分析作业>
这个作业的目标 测评 InsCode链接、IT屋、Online Compiler and IDE
其他参考文献 《构建之法》

目录

  • 第一部分 调研,评测
    • InsCode
      • 体验
      • bug
      • 结论
    • IT屋
      • 体验
      • bug
      • 结论
    • Online Compiler and IDE
      • 体验
      • bug
      • 结论
  • 第二部分 分析
    • 开发时间估计
    • 同类产品对比排名
    • 软件工程方面的建议
    • BUG存在的原因分析
  • 第三部分 建议和规划
    • 市场概况
    • 市场现状
    • 市场与产品生态
    • 产品规划

第一部分 调研,评测

程度 描述
非常严重 导致整个软件不能使用的错误。操作系统崩溃,服务器宕机,数据库被破坏
严重 某个功能逻辑不可使用,逻辑出错,数据不正常,页面超时
一般 操作不便等不影响用户正常功能使用的错误
无影响 界面不规范,不影响正常使用的情形

InsCode

体验

1.介绍和使用软件:
首页可以查看他人的项目,并且在线使用
软件工程实践作业----软件评测_第1张图片
编译器在线编译
软件工程实践作业----软件评测_第2张图片
社区里用户可以进行交流分享,用户之间有着交互
软件工程实践作业----软件评测_第3张图片
博客系统类似csdn里的博客交流,方便用户上传自己的新的体会,经验交流
软件工程实践作业----软件评测_第4张图片

Inscode是一款代码在线编辑器,提供了代码编辑、代码分享、代码存储等功能。使用该软件可以快速地进行代码编写和分享,方便用户之间的协作和学习。用户可以通过注册账号登录该网站,进入主界面进行代码编写和分享等操作。在编写代码时,用户可以根据自己的需求选择不同的编程语言,并支持代码高亮、自动补全等功能。
2.优缺点分析:
优点:

  • 使用Inscode进行代码编写和分享的过程相对简单
  • 从用户体验的角度来看,inscode界面简洁明了,操作简单界面操作比较友好,同时支持多种编程语言,为用户提供了便利。

缺点:

  • 该网站的数据量相对较小,部分编程语言支持不够全面。
  • 同时由于是在线编辑器,需要联网才能进行使用,会对用户的使用体验造成一定影响。
  • 功能相对较为简单,与GitHub相比,缺少一些高级功能,如CI/CD、Issue等。
  • 界面相对较为单调,缺少一些美化和定制化的功能
  • 有时上传文件速度较慢。

3.用户对产品的改进意见:

  • 采访对象:我选择采访一位计算机科学专业的大学生,因为TA在学习过程中接触过不同的软件和工具,能够对于软件的设计和使用有一定的理解和分析能力。TA的需求是寻找一款能够提高代码效率和质量的工具。
  • 需求:代码学习
  • 使用栏目:采访对象使用的是Inscode的“代码搜索”功能,通过输入关键词搜索代码库中的代码片段。可使用的语言较少,但可以直接在线编译,速度也很快,方便学习,界面美观
  • 遇到的问题和亮点:
  • 亮点:
    1.搜索速度快:输入关键词后,Inscode会立即返回相应的代码片段,不需要等待过长的时间。
    2.搜索结果准确:Inscode的搜索算法非常准确,可以精准地匹配输入的关键词,返回与关键词相关的代码片段。
    3.代码预览功能:在搜索结果页面,用户可以通过点击代码片段来预览完整的代码内容,这个功能非常方便。
  • 问题:
    1.部分代码片段并没有注释或者说明,导致一些代码难以理解。
    2.搜索结果的排序不太合理,有些代码片段可能并不是最相关的结果,需要用户自己筛选。
    软件工程实践作业----软件评测_第5张图片
  • 采访对象认为,从用户体验的角度来看,Inscode可以通过以下几方面来改进:
    1.增加代码片段的注释或说明:由于一些代码片段可能并不是很好理解,增加一些注释或说明可以帮助用户更好地理解代码。
    2.改进搜索结果的排序:Inscode可以通过一些算法来改进搜索结果的排序,让最相关的代码片段排在前面,让用户更容易找到所需的代码。
    3.提供更多的搜索条件:除了关键词搜索外,Inscode可以考虑增加其他的搜索条件,例如按照文件类型、作者、更新时间等条件进行搜索,提高用户的搜索效率。

根据部分用户反馈,希望该网站能够进一步完善编程语言的支持,增加数据量,提升用户体验。同时,也希望该网站能够增加代码托管等功能,方便用户进行代码的管理和版本控制。

bug

  • Bug发生时的测试环境
    Win11 edge浏览器111.0.1661.62 (正式版本) (64 位)
  • Bug的可复现性及复现操作
    当时测试时是必然发生,但是没过多久别人测试的时候就不行
  • bug具体情况描述
    是点开博客功能的帖子中,给博客点赞,但是刷新之后显示已经点赞,但是点赞数没有增加。每一篇博客都会发生,但是都只能按照这个流程发生一次。
  • gif展示

软件工程实践作业----软件评测_第6张图片
软件工程实践作业----软件评测_第7张图片
软件工程实践作业----软件评测_第8张图片

  • bug分析
    应该是点赞之后的数据返回的问题,刚点赞是会显示变蓝,并且数字增加,但是刷新之后只会显示变蓝,数字则是点赞之前的数字,说明数据和颜色渲染是分开的,造成这一种情况。

结论

良好 7/10

具体描述 打分
界面 界面设计很新颖也很整洁,方便使用的同时还美观 9/10
功能 功能种类很多,在线编译很独特,但是功能不够完善,还是有一些bug,可用的语言也不多 6/10
用户体验 将此软件分享给其他朋友使用,反应一般 6/10

IT屋

体验

1.介绍和使用软件:
该网站是一个在线工具网站,提供了多种实用的工具,包括单位转换、加密解密、计算器、时间计算、IP地址查询等等。

进入网站后,可以在主页面上直接选择需要使用的工具,也可以通过页面左侧的分类列表进行查找。
软件工程实践作业----软件评测_第9张图片

以“加密解密”为例,点击该功能后,页面会跳转至相应的工具页面。用户可以根据需要选择加密或解密功能,然后在输入框中输入相应的文本或密钥,最后点击“加密”或“解密”按钮,即可得到加密或解密后的结果。
软件工程实践作业----软件评测_第10张图片
用户还可以将结果复制到剪贴板中,或者将结果保存为文本文件。

2.优缺点分析:

  • 优点:
    1.网站提供了多种实用的工具,方便用户在不同的情境下使用。
    2.数据量方面,这个网站提供的工具涵盖了多种文件处理需求,覆盖面较广
    3.界面方面,网站整体风格简洁,易于操作
    4.工具界面简洁明了,用户可以很快找到需要使用的功能。
    5.工具的操作方法简单易懂,对于不懂计算机操作的用户也很友好。
    6.网站支持多种语言,方便不同国家和地区的用户使用。
    7.在使用过程中,这个网站提供的在线工具非常实用,可以方便地解决一些常见的文件处理需求,避免了用户下载安装大量软件的麻烦。
  • 缺点:
    1.网站的广告有些过多,影响用户体验。
    2.网站没有提供用户反馈的功能,用户不能直接向开发团队反馈意见和建议。
    3.准确度方面,由于是在线工具,处理速度较慢,但一般能够保证处理结果的准确性。

3.用户对产品的改进意见:

  • 采访对象:我选择了一位计算机科学专业的朋友,TA的需求是希望能够找到一款方便快捷的在线工具来辅助自己学习和工作。
  • 需求:json格式化
  • 使用栏目:采访对象使用的产品栏目:我让TA使用了“JSON格式化”工具,这个工具可以将输入的JSON数据格式化输出,方便人阅读和理解。
  • 遇到的问题和亮点:
  • 亮点:
    在开始使用软件之前,TA表示自己之前没有使用过这个网站,但是通过界面上的提示和输入框的说明,TA很快就找到了需要的功能,并成功地将自己的JSON数据格式化输出。在使用过程中,TA感到这个工具非常方便快捷,可以帮助自己更好地理解和处理JSON数据。
  • 问题:
    采访对象觉得从用户体验的角度来说需要改进的地方:TA认为这个工具在界面设计和交互方式方面都比较简单明了,没有遇到明显的使用困难。不过,TA建议在输入和输出的数据格式说明方面加强,例如可以提供更详细的数据类型说明和示例,让用户更好地了解和使用这个工具。

bug

  • Bug发生时的测试环境
    Win11 edge浏览器111.0.1661.62 (正式版本) (64 位)
  • Bug的可复现性及复现操作
    当时测试时是必然发生
  • bug具体情况描述
    在右上角的搜索中,使用大写搜索Vue则啥也搜不到,使用小写则可以,但是点击搜索出来的东西,则会跳回首页。
  • gif展示
  • 图片展示
    软件工程实践作业----软件评测_第11张图片
    软件工程实践作业----软件评测_第12张图片
  • bug分析
    这个错误我属实是想不明白为什么会发生,低级的错误

结论

良好 5/10

具体描述 打分
界面 界面广告过多,影响用户体验 4/10
功能 功能种类很多,但是功能不够完善,bug数目较多 4/10
用户体验 将此软件分享给其他朋友使用,反应很好 7/10

Online Compiler and IDE

体验

1.该网站是一个在线编程平台,用户可以在上面编写、编译和运行自己的代码,支持多种编程语言。用户只需要在网站上输入代码,并选择相应的编译器和运行环境,即可立即运行代码并查看结果。同时,该网站还提供了丰富的代码库和示例,帮助用户快速上手和学习编程。

网站的主要功能包括:

在线编写代码:用户可以在网站上直接编写代码,无需下载安装任何软件。

多语言支持:该网站支持多种编程语言,包括C++、Java、Php等。
软件工程实践作业----软件评测_第13张图片

在线编译运行:用户可以在网站上编译并运行自己的代码,查看运行结果。
软件工程实践作业----软件评测_第14张图片
2.优缺点分析
优点:

  • 无需下载安装任何软件,方便快捷。
  • 支持多种编程语言,适用范围广泛。
  • 提供丰富的代码库和示例,帮助用户快速上手和学习编程。

缺点:

  • 在线编写代码可能会有安全隐患。
  • 运行速度可能会受到网络条件的限制。
  • 无法使用本地环境的一些特性。

3.用户对产品的改进意见:

  • 采访对象:同专业网友
  • 需求:代码学习
  • 使用栏目:在线编译
  • 遇到的问题和亮点:可使用的语言较少,但可以直接在线编译,速度也很快,方便学习,界面美观

bug

暂未找到

结论

一般 6.4/10

具体描述 打分
界面 界面很整洁,但是缺少了美观 7/10
功能 功能种类较少最主要就是在线编译,功能相对完善,暂时找不到bug,可用的语言较多 7/10
用户体验 单独的功能很一般,可替代性很高,界面也很一般 5/10

第二部分 分析

开发时间估计

  • 分析:团队人数6人左右,计算机大学毕业生,并有专业UI支持,这样的一个应该是一个对于某些关键技术或开发流程不熟悉,需要额外的学习和调研,需要同时处理其他的项目或任务,那么时间也会被分散,需要更长的时间来完成。

  • 估计:所以我的估计是可能需要约6个月至1年的时间

同类产品对比排名

Inscode特点:
快速生成代码:InsCode可以帮助用户快速生成代码,提高开发效率。
支持多种语言:InsCode目前支持多种主流编程语言,如Java、Python、C++等。
智能化:InsCode采用了AI技术,能够根据用户输入的需求自动生成代码,减少手工编写代码的工作量。
免费试用:InsCode提供免费试用,用户可以在不付费的情况下了解其基本功能和体验。
功能有限:InsCode目前主要支持生成基本的代码框架,对于复杂的业务逻辑支持相对较少。
可定制性较差:InsCode生成的代码模板相对固定,不太支持用户自定义修改。
语法限制:InsCode只支持用户在其规定的语法范围内输入需求。
相对于其他类似的自动化代码生成工具,InsCode的优势在于其智能化和多语言支持,而劣势在于可定制性较差和代码质量不稳定。因此,InsCode在同类产品中的质量排名处于中等的位置。

软件工程方面的建议

用户调研和反馈机制:建议团队能够对用户进行调研,收集用户需求和反馈,并及时对反馈进行处理和改进。

更好的文档和帮助中心:建议团队能够提供更详细的文档和帮助中心,以便用户更好地了解软件的功能和使用方法,同时也能提高用户体验。

更严格的测试:在软件开发的过程中,建议团队能够采用更严格的测试方法,包括单元测试、集成测试和验收测试等,以确保软件的稳定性和可靠性。

安全性保障:建议团队重视软件的安全性,包括用户数据的保护、用户信息的加密等方面。

持续集成和持续交付:建议团队采用持续集成和持续交付的方法,以便能够快速地发布新的版本和修复已知的问题。

综合来看,目前的inscode软件在功能和用户体验方面有一定的优势,但是也存在一些不足之处,需要团队持续进行改进和优化。在同类产品中,可以视具体功能和用户场景而定,需要进一步的比较和分析。

BUG存在的原因分析

  • 原因分析:
    数据渲染和点赞图标渲染不是同时运用同一标准进行渲染,所以会出现,刷新之后重新获取数据但是点赞图标任然还是变蓝,但是点赞数这一数据还是旧的那个数字。
  • 我认为:
    应该是点赞变蓝和数字增加两个函数是由不同的程序员写的函数,调用时也没有注意,则出现这一问题,修复应该是很容易修复的,主要是因为这个软件发布还没多久,测试用户反馈数据不够多。

第三部分 建议和规划

市场概况

  • 市场有多大?
    根据该软件的功能和定位,inscode是一个在线的代码阅读和评审平台,主要服务于开发人员和软件工程师,帮助他们更好地阅读、理解、评审和维护代码。虽然没有公开的数据表明市场有多大,但是从目前软件行业的整体趋势来看,在线协作和代码评审的需求不断增长。越来越多的企业、开发者和团队需要进行代码的评审和合作,以保证代码质量和提高开发效率,因此市场前景还是很广阔的。
  • 直接的用户有多少?
    关于直接的用户数量,根据该软件的注册量来看,截至目前为止,该软件的注册用户已经超过了100万。不过需要注意的是,该数字并不代表实际活跃用户数量,因为有些用户只是为了试用而注册,而并未真正使用该软件。
  • 潜在的用户又有多少?
    至于潜在的用户数量,可以根据软件开发人员和技术团队的总体数量来估算。根据统计数据,全球范围内软件开发人员的数量已经超过了2000万。因此,该软件的潜在用户数量应该也非常庞大。同时,随着全球技术水平的不断提高,越来越多的团队可能会寻求类似的代码审查和团队协作工具,这也为该软件的发展提供了更广阔的市场空间。

市场现状

  • 目前市场上有哪些产品了?
    1.最知名的肯定是GitHub,是世界上最大的代码托管和协作开发平台之一,提供版本控制、代码审核、协作工具等功能。
    2.GitLab也是一款非常出色的开源代码托管平台,类似于GitHub,但它还提供了CI/CD、代码质量监控等更多功能,适用于中小型企业和团队。
    3.Bitbucket是Atlassian公司出品的代码托管平台,提供了Git和Mercurial的支持,还与Jira等Atlassian工具深度集成,主要面向企业用户。
    4.Gitee是国内最大的代码托管平台之一,类似于GitHub,但它在中国有更好的访问速度,同时还提供了代码质量管理、CDN加速等服务。
    5.Coding.net也是国内知名的代码托管和协作开发平台,提供Git和SVN的支持,还有CI/CD、代码评审、项目管理等功能。
  • 上述产品的定位、优势与劣势在哪里?
    1.GitHub是全球最大的开源社区和代码托管平台,具有庞大的用户群体和完善的生态系统,对于开源项目而言是首选。但其商业化服务较少,且由于被微软收购,部分用户对其安全性产生担忧。
    2.GitLab在自托管方面做得非常出色,支持CI/CD等功能也比较全面,但界面相对于其他平台略显复杂,适用门槛相对较高。
    3.Bitbucket更加面向企业用户,与Atlassian的其他工具深度集成,同时还支持私有代码库、强制代码审核等功能,但其社区相对于GitHub较小,生态系统也较为局限。
    4.Gitee在中国市场占有较大优势,同时提供了CDN加速、代码扫描、协作开发等一系列服务,但其在海外用户中知名度较低。
    5.Coding.net则与Gitee类似,定位于国内市场,提供了相似的功能和服务,但其在国际化和生态系统上相对较弱。
  • 上述产品之间呈现什么样的关系,哪些为竞品关系?以及竞争中的各方态势如何?
    一、在代码托管领域,GitHub、GitLab、Bitbucket等产品均为竞品,它们的定位都是提供基于Git的代码托管服务,目标用户群体也相似。它们之间的关系可以看作是竞争与合作共存的关系。这些竞品之间的优劣势不尽相同,例如:
    1.GitHub的用户数量最大,社区生态较为完善,但私有仓库的价格较高;
    2.GitLab在CI/CD、DevOps方面具有优势,同时支持私有部署,但社区生态相比3.GitHub较为弱小;
    4.Bitbucket则相对较为注重企业用户,支持Jira和Confluence等Atlassian产品集成,但在开源社区和代码贡献方面不如GitHub和GitLab。
    二、在竞争中,各方的态势也不尽相同。
    目前GitHub的市场份额最大,同时得到了微软的支持,可以说在竞争中处于领先地位;GitLab则一直在加大在DevOps方面的投入,试图通过技术优势挑战GitHub的领先地位;Bitbucket则相对较为稳定,但在竞争中的份额相对较小。总的来说,这三家公司在代码托管领域的竞争将会继续激烈,同时也有可能会出现新的竞争者。
  • 这个领域正处于 (萌芽 / 成长 / 风口 / 平台 / 下降)阶段?
    从目前来看,软件开发协作平台这个领域已经处于成长和平台阶段,随着云计算和开源软件的兴起,越来越多的开发者选择使用这类平台来管理和协作开发项目。同时,这个领域还在不断发展和创新,新的功能和工具不断涌现,竞争也在不断加剧。因此,可以说这个领域既有成长潜力,也有激烈的竞争态势。

市场与产品生态

1.根据之前的分析,InsCode主要是面向程序员、开发者和技术爱好者的代码托管和协作平台,因此其核心用户群主要是具有一定编程能力和技术背景的人群,包括但不限于计算机科学、软件工程等相关专业的大学生和研究生、技术公司的开发人员、自由职业者和爱好者等。

2.根据InsCode的产品特性和功能,其典型用户可以是具有一定编程经验和需求的程序员和开发者,年龄可能分布在20-40岁之间,具有一定的计算机专业背景或相关工作经验,收入可能相对较高,表面需求是进行代码托管、版本管理和团队协作,潜在需求包括代码审查、代码自动化测试、项目管理等。

3.在产品的用户群体中,存在相互联系的可能性。例如,团队协作功能的需求来自于团队开发的实际需要,而这些团队成员可能来自于不同的公司或组织,因此他们之间也可能存在着一定的关系。此外,开源社区也是InsCode的重要用户群体,这些用户之间也可能会相互合作和交流。

4.InsCode作为代码托管和协作平台,其子产品可能主要是围绕代码托管和协作展开的,例如代码审查、代码自动化测试等。此外,InsCode与其他技术工具和服务之间也可能存在一定的关系,例如IDE、云计算平台等。在这些产品和服务之间,也有可能构成更广泛的产品生态系统,从而更好地服务于用户需求。

产品规划

  • 新功能
    作为用户,从用户角度来思考,我会考虑增加一些实用性强的功能,比如:更加智能的代码提示、代码搜索、代码审查、代码性能分析等等。这些功能可以提高用户的工作效率,提高代码质量,从而更好地满足用户的需求。

  • 关于NABCD分析:
    N:新功能是为了提高用户工作效率,提高代码质量而设计的。
    A:增加智能的代码提示、代码搜索、代码审查、代码性能分析等实用功能。
    B:这些功能可以提高用户的工作效率,提高代码质量。
    C:与现有市场上的类似产品相比,这些功能更加智能、实用,能够更好地满足用户的需求。
    D:新功能的设计可以增加产品的竞争力,吸引更多用户使用。

  • 关于团队角色配置:
    如果有6个人并且有4个月的时间来发布改进版本,可以考虑以下角色配置:
    1个项目经理:负责项目的整体规划、管理和协调工作。
    2个全栈开发工程师:负责开发新功能、优化现有功能、解决代码问题等。
    1个UI/UX设计师:负责界面设计、用户体验优化等。
    1个测试工程师:负责测试新功能、优化现有功能,确保软件质量。
    1个文档编辑员:负责编写软件文档、帮助文档等。

  • 关于16周的详细规划:

时间 任务
第1-2周 需求分析、功能规划、技术选型等
第3-4周 开发新功能、优化现有功能、解决代码问题。
第5-6周 UI/UX设计师负责设计新功能、优化用户体验。
第7-8周 测试工程师开始测试新功能、优化现有功能,确保软件质量。
第9-10周 开发新功能、优化现有功能,修复测试中发现的问题。
第11-12周 文档编辑员开始编写软件文档、帮助文档等。
第13-14周 测试工程师持续测试新功能、优化现有功能。
第15周 项目经理负责整理发布版本的资料、安排上线计划等。
第16周 发布新版本,收集用户反馈,进行后续优化和改进。

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