软件工程实践寒假作业

这个作业属于哪个课程2023福大软工W班
这个作业要求在哪里软件工程实践——软件评测作业
这个作业的目标1.测试三个网站,其中InsCode为必选 2.撰写博客
其他参考文献《构建之法》、CSDN、百度

测评环境与BUG量化标准

测评环境

设备规格:
设备名称 LAPTOP-2OI6CHF4
处理器 AMD Ryzen 7 4800H with Radeon Graphics 2.90 GHz
机带 RAM 16.0 GB (15.9 GB 可用)
设备 ID 7AE8FC96-A348-43B3-AC95-93D6A61D7C24
产品 ID 00342-36024-40795-AAOEM
系统类型 64 位操作系统, 基于 x64 的处理器
笔和触控 没有可用于此显示器的笔或触控输入
操作系统: Windows 11
浏览器:chrome

BUG量化标准
星级评判标准
☆☆☆☆网站崩溃,致命性的安全漏洞,基础功能严重错误
☆☆☆基础功能出错,数据不正常,页面超时
☆☆页面排版混乱,信息繁杂,功能重复多余
以上都不提及不影响正常使用

第一部分 调研,评测

1.1 InsCode
1.1.1 InsCode介绍

InsCode无需下载安装,拥有媲美本地IDE的流畅编码

1.1.2 页面布局

alt

一、主页
网站主页采用顶部导航栏+左侧边栏+卡片式内容的布局,整体风格清爽简洁。
alt
二、我的项目
网站风格简洁明了,没有重复多余
alt
三、模板中心
卡片式布局,分类清晰明了,便于快速查询想要的模板
alt
四、社区
将主要内容置于中部,右边配以标签,方便快速检索。同时还能看到相关项目的评价和介绍以及评论
alt
五、设置
alt

优缺点及改进分析

  • 优点:无需安装,使用功能简便明了,有新手使用引导。可以直接运行结果并显示出来给用户观看,用户可以直接在网上修改运行代码
  • 缺点:因为是测试阶段,用户群体不是很大,社区活动不够活跃。且界面化元素过于单调简一,容易使用户观看疲惫
  • 改进建议:增加一些新鲜元素,增加用户群体,增加社区活跃性。同时能够引进一些奖励机制,比如官网定期发放一些定量定向比赛,达成者可获得奖励及称号,引进排位机制。
1.1.3 BUG

标签页点击问题

  • 可复现性:必然复现
  • 具体复现步骤:当我点击标签之后再次点击时,会发现标签无法退选。
  • 具体情况描述:当我点击标签之后再次点击时,会发现标签无法退选。
  • alt
    分析:
  • 可能成因:代码逻辑没有完善
  • 严重性:☆☆
  • 预期及改进建议:改进代码逻辑,完善页面布局,添加页面元素增强用户体验
1.1.4 结论

总的来说虽然还只是在测试阶段,但是这个网站还是挺对用户使用友好的,所以我的结论是:d) 好,不错。

1.2 IT屋-程序员软件开发技术分享社区
1.2.1 IT屋介绍

IT屋-程序员软件开发技术分享社区 是一个面向程序员、计算机爱好者技术分享社区,为程序员、计算机爱好者提供百万权威知识库检索、在线开发工具、技术教程库、视频教程下载等功能,以便快速定位并解决问题,提升开发技术水平和提高工作效率。

1.2.2 页面布局

一、主页
网站主页属于卡片式布局,风格简约明了,便于检索
alt
二、其中问答库有下拉框选择
alt
三、选择语言在线工具进入编译
alt

1.2.3 BUG

输入流问题:

  • 可复现性:必然复现
  • 具体复现步骤:选择C++在线编译器,并设置好命名空间输入流时无法输入
  • 具体情况描述:设置整数a,输入a并打印出a的值,结果无法运行
  • alt
    分析:
  • 可能成因:官方可能根本就没想着要设置输入流
  • 严重性:☆☆
  • 预期及改进建议:建议设置输入流,因为不同的用户有不同的需求,你这毕竟已经说明了是在线编译,若是没有输入流的话也是功能不完善。
1.2.4 结论

IT屋功能单调且不完善,页面元素也是十分单调无趣,所以我的结论是:b) 不推荐。

1.3 Online Compiler and IDE
1.3.1 介绍

这是一个在线编译器和IDE,适用于在线直接打代码,不用在麻烦于配置代码环境等

1.3.2 页面布局

一、主页
alt
二、在线编译结果显示
alt
三、范例
alt
四、最近代码提交记录
alt
当点击任一代码提交记录进入时
alt
五、登录
alt

1.3.3 结论

页面全是英文,对于外语基础不好的用户来说使用较为不便且页面元素单调,但是功能较为完善。我的结论是:c) 一般。

1.4 用户采访
  • 采访对象

随机找了一个软件工程专业的同学进行采访,因为是计算机相关类型的专业,所以这方面需求会比较大

  • 用户评价

一、InsCode
二、IT屋-程序员软件开发技术分享社区
三、Online Compiler and IDE
alt
alt
alt
alt

  • 总结

这三个网站还是可以满足一些基本需求的,就是页面设计的有点复古

第二部分 分析

2.1 开发时间估计
  • InsCode

提供在线代码编辑器和IDE功能,支持多种编程语言,附带版本控制和团队协作功能。
需求分析:1个月
原型设计:2个月
代码编写:10个月
项目测试:2个月
预计开发时间为15个月。

  • IT屋-程序员软件开发技术分享社区

涵盖丰富的在线小工具和在线运行环境以及IT技术的教程,同时有问答库,提供相关领域的问题解决方案。
需求分析:1个月
原型设计:2个月
代码编写:8个月
项目测试:2个月
预计开发时间为13个月。

  • Online Compiler and IDE

提供在线代码编辑器和IDE功能,支持多种编程语言和调试器功能。
需求分析:1个月
原型设计:2个月
代码编写:8个月
项目测试:1个月
预计开发时间为12个月。

2.2 同类产品对比排名
  • 因为之前没有接触过类似的产品,所以这次就对这三个产品进行测评对比
产品功能用户体验感UI设计评分
InsCode90808885343
IT屋-程序员软件开发技术分享社区80788878324
Online Compiler and IDE88708677323
2.3 软件工程方面的建议
  • 遵循软件开发流程:采用一个结构化、标准化的软件开发流程,例如敏捷开发、瀑布模型等,可以提高软件质量和效率。
  • 使用版本控制工具:使用版本控制工具,例如 Git,可以更好地管理代码和跟踪变更,同时也方便团队协作和代码共享。
  • 代码审查和测试:进行代码审查和测试可以发现代码缺陷和错误,从而提高软件质量和稳定性。
  • 采用自动化工具:采用自动化工具可以提高开发效率和质量,例如自动化测试工具、持续集成工具等。
  • 设计可扩展性和可维护性:在设计时考虑软件的可扩展性和可维护性,可以使软件更易于维护和升级。
  • 确保安全性:在开发过程中要注重安全性,例如避免常见的安全漏洞,加密用户数据等。
  • 保持文档和代码注释:保持良好的文档和代码注释,可以使代码更易于理解和维护。
  • 追踪用户反馈和需求:及时追踪用户反馈和需求,可以不断优化产品功能和用户体验。
2.4 BUG存在的原因分析
产品BUG原因分析
InsCode标签页选中无法取消代码逻辑没设置好
IT屋-程序员软件开发技术分享社区代码输入流不能输入没有想过相关的方面

第三部分 建议和规划

3.1 市场概况
  • 市场规模:根据市场研究机构的预测,全球在线编译器市场规模预计将从2020年的约6亿美元增长到2025年的约15亿美元,年复合增长率约为20%。这表明在线编译器市场正在快速发展。
  • 直接用户:在线编译器的直接用户主要包括学生、开发者和科研人员等。根据 Stack Overflow 的调查数据,全球有超过5800万开发者使用 Stack Overflow,其中有很多人使用在线编译器来编写和测试代码。此外,许多教育机构和培训机构也使用在线编译器来进行编程教学。
  • 潜在用户:在线编译器的潜在用户非常广泛,包括想要学习编程的初学者、专业开发者、独立开发者、科研人员、数据分析师、游戏开发者、网站开发者等。此外,许多企业也在使用在线编译器来进行内部开发和测试。
  • 综上所述,在线编译器市场规模很大,用户规模也很广泛,其中潜在用户也很多。这表明在线编译器市场具有很大的潜力,并将在未来继续保持增长趋势。
3.2 市场现状

以下是一些主要的产品

  • Codepen
    Codepen 是一款基于 Web 技术的在线编译器,提供了 HTML、CSS 和 JavaScript 的编辑、预览和分享功能。它的定位是为前端开发者提供一个快速、灵活、易于使用的开发平台。优势是拥有强大的社区和丰富的示例库,可以方便地找到各种常用的代码片段和效果。劣势是不太适合处理大型项目,也不能离线使用。与其他在线编译器相比,Codepen 的竞争优势主要在于社区和示例库的规模和质量。
  • JSFiddle
    JSFiddle 是一款专门针对 JavaScript 的在线编译器,提供了编辑、预览和调试功能,还可以创建和分享代码片段和示例。它的定位是为 JavaScript 开发者提供一个快速、便捷、可分享的调试平台。优势是可以方便地测试和调试 JavaScript 代码,同时还提供了丰富的库和插件支持。劣势是不太适合处理大型项目,也不能离线使用。与其他在线编译器相比,JSFiddle 的竞争优势主要在于专注于 JavaScript 的特点和强大的库和插件支持。
  • Repl.it
    Repl.it 是一款基于 Web 技术的多语言在线编译器,支持包括 Python、JavaScript、Java 等在内的多种语言。它的定位是为开发者和学生提供一个全功能、可扩展、易于使用的编程环境。优势是可以处理复杂的项目和任务,还提供了与 GitHub 集成、团队协作等高级功能。劣势是在一些语言和环境上的性能和限制问题。与其他在线编译器相比,Repl.it 的竞争优势主要在于支持多种语言和环境、提供高级功能和团队协作支持。
  • CodeSandbox
    CodeSandbox 是一款基于 Web 技术的在线编译器,专门针对 Web 应用开发,支持 React、Vue、Angular 等框架和库。它的定位是为 Web 开发者提供一个快速、灵活、可分享的开发环境。优势是支持多种 Web 应用开发框架和库,还提供了丰富的模板和示例。劣势是不太适合处理大型项目和一些高级功能。与其他在线编译器相比,CodeSandbox 的竞争优势主要在于专注于 Web 应用开发、支持多种框架和库和提供丰富的模板和示例。
  • Gitpod
    Gitpod 是一款基于 Web 技术的在线编译器,提供了与 GitHub 集成、团队协作等高级功能,适合处理大型项目和多人协作。它的定位是为开发者提供一个云端开发环境,可以直接从 GitHub、GitLab 或 Bitbucket 中打开项目并开始开发。优势是可以处理复杂的项目和任务,还提供了与 GitHub 集成、团队协作等高级功能。劣势是相对于其他在线编译器,Gitpod 需要更多的配置和设置。与其他在线编译器相比,Gitpod 的竞争优势主要在于与 GitHub 集成、团队协作支持和适合处理大型项目和多人协作。
  • 总的来说,在线编译器市场已经比较成熟,涌现出了许多知名的产品,每个产品都有自己的定位和特点。在这些产品中,Codepen 和 JSFiddle 更注重单纯的代码编辑和预览,适合处理小型的代码项目;Repl.it 更注重多语言支持和高级功能,适合处理更加复杂的项目和任务;CodeSandbox 则更注重 Web 应用开发的支持和丰富的模板和示例;而 Gitpod 则更注重与 GitHub 集成和团队协作支持,适合处理大型项目和多人协作。
  • 整体来看,在线编译器这个领域正处于成长阶段,产品之间的竞争主要集中在差异化定位、多语言支持、高级功能、团队协作支持等方面。
3.3 市场与产品生态
  • 在线编译器的核心用户群主要是程序员、开发者、学生以及对编程感兴趣的人群。典型用户是具有一定编程经验的技术人员,年龄主要集中在20-40岁之间,专业背景以计算机相关专业为主,收入相对较高。他们的表面需求是可以方便地在线编辑和测试代码,提高开发效率。而潜在需求则可能包括更高级的功能和性能、更加丰富的语言支持、更加智能化的开发环境等。
  • 在线编译器的用户群体之间存在一定的关系,比如具有一定编程经验的技术人员更容易接受这种在线编译器的使用方式。同时,一些产品也针对不同的编程语言和框架提供了特定的功能和支持,因此具有不同编程经验和背景的用户可能会选择不同的产品。
  • 在线编译器的子产品和其他相关产品之间也存在一定的关系,比如一些在线编译器可能会提供配套的代码库、文档和教程,以帮助用户更好地进行开发。此外,一些编程语言的官方网站也提供了在线编译器,以方便用户学习和测试语言。因此,在线编译器与其他编程工具和平台之间也存在一定的关系,可以构成一个较为完整的编程生态。
3.4 产品规划
  • 新功能设计:
    我认为一个新功能可以是在在线编译器中集成人工智能(AI)的功能,以提高编程效率和精度。该功能可以基于自然语言处理(NLP)技术,能够理解用户对代码的描述,并自动生成对应的代码。这个功能的创新点在于,使用AI技术自动生成代码可以大大提高编程效率和精度,减少人为错误,更加智能化的开发环境能够提高用户体验。通过这个功能,用户可以更快地完成编程任务,减少了学习和错误修正的时间,从而提高了用户的工作效率。
  • NABCD分析如下:
    • Need(需求):用户需要快速准确地完成编程任务,提高工作效率和质量。
    • Approach(方法):通过集成AI功能,使用自然语言处理技术自动生成代码,提高编程效率和精度。
    • Benefit(好处):提高了编程效率和质量,减少了学习和错误修正的时间,从而提高了用户的工作效率和体验。
    • Competition(竞争):目前市场上没有太多在线编译器集成AI功能的产品,这是一个具有竞争优势的新功能。
    • Delivery(交付):在软件中集成AI功能需要进行一定的研发和测试工作,需要合适的人才和资源来支持。

团队角色配置:
在招聘6个人并有4个月的时间来发布软件的改进版本的情况下,我会配置以下角色:

  • 2个开发人员:负责新功能的研发和集成,以及对软件的其他改进。
  • 2个测试人员:负责对新功能和其他改进的测试和验证,确保软件的质量。
  • 1个产品经理:负责协调团队,制定项目计划和需求分析,确保项目按时交付和用户需求得到满足。
  • 1个UI/UX设计师:负责设计软件的用户界面和交互,提高用户体验。

16周每周详细规划:

  • 第1-2周:需求分析和规划,确定新功能和其他改进的目标和计划。
  • 第3-4周:研发阶段,开发人员负责新功能的研发和集成,测试人员负责对新功能进行测试和验证。
  • 第5-6周:新功能测试和验证阶段,测试人员负责对新功能进行全面测试和验证,开发人员修复新功能中发现的问题和缺陷。
  • 第7-8周:软件改进阶段,开发人员负责对软件进行其他改进和优化,测试人员负责对这些改进进行测试和验证。
  • 第9-10周:UI/UX改进阶段,美工人员负责对软件UI/UX进行改进和优化,开发人员负责实现这些改进,测试人员负责对这些改进进行测试和验证。
  • 第11-12周:性能优化阶段,开发人员负责对软件进行性能优化,测试人员负责对这些优化进行测试和验证。
  • 第13-14周:安全优化阶段,开发人员负责对软件进行安全优化,测试人员负责对这些优化进行测试和验证。
  • 第15周:综合测试和集成阶段,测试人员负责对整个软件进行全面测试和验证,开发人员负责对发现的问题和缺陷进行修复和集成。
  • 第16周:发布阶段,软件发布前进行最终测试和验证,确保软件稳定可靠,并按时发布版本。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值