软件工程实践第三次作业
这个作业属于哪个课程 | 软件工程 |
---|---|
这个作业要求在哪里 | 作业描述 |
邹欣老师案例分析链接 | 链接 |
这个作业的目标 | <调研测评分析inscode网站> |
其他参考文献 | InsCode网站 |
目录
Bug衡量标准
星级 | 描述 |
---|---|
⭐⭐⭐⭐⭐ | 安全故障,信息泄露,用户体验严重影响 |
⭐⭐⭐⭐ | 系统故障、服务器响应慢、用户体验较差 |
⭐⭐⭐ | 功能没有实现完全但是不影响基本使用 |
⭐⭐ | 界面缺陷、但是不影响功能的执行 |
⭐ | 没人在意 |
第一部分 调研,评测
InsCode
简介:InsCode 是一个无需安装的编程、协作和分享社区 创建项目 分享、学习和建立联系的开发者社区
体验
首页:
首页左侧导航栏分为:创建项目,主页,我的项目,模板中心,社区共五个功能板块。
创建项目有两种方式:可以从inscode已有的模板中选取语言,框架等模板来创建;二时可以通过git url链接导入项目。
模板中心分为五个模块:语言,网站,游戏,图形,AI。选取想要创作的模板就可以在我的模板里面找到,并开始创作。
创建好一个项目后,可以实时的运行编译代码。因为我之前没有用过这类软件,体验到这个功能后我大为震惊。
在社区界面,可以浏览并在线使用其他用户分享到社区的项目,比如:五子棋,太空狼人杀,我的世界,基于Vue的头像生成器等等。很多大佬的项目都让人感到很佩服。并且在这个页面我们也同样可以发布用户自己的项目到社区。
优缺点描述:我觉得优点是inscode的界面做的很简介美观,使用时有一种简洁明了的感觉,功能也很突出,功能模块的划分很明确,没有很多累赘的附加功能。并且对我来说,这个网站真的是可以吸引到我以后在学习和工作中去用的工具。缺点方面,对新手不太友好,没有一个新手教程或者使用说明的板块,导致我在看到很多模板时,我不知道是什么东西,在这个网页上也没有途径入门此模板相关的知识。
对产品有什么改进意见:希望可以开发出一个新手教程之类的模块,让更多人可以快速上手。
采访其他用户
我采访了学习人工智能专业的朋友,他日常并不会很需要编译工具,所以下载一个idea或者vscode很麻烦,所以它使用过inscode这个工具,在写html css js的时候,很方便可以在线编译,也可以将项目导出。体验还是很不错的,就是和vscode区别的是,项目结构里面对于不同类型文件的区分度略低。
BUG
Bug发生时的测试环境:
处理器:AMD Ryzen 5 4600H with Radeon Graphics
系统类型:64 位操作系统, 基于 x64 的处理器
浏览器:Mirciosoft Edge版本 111.0.1661.62 (正式版本) (64 位)
Bug具体情况描述:
在我想搜索一个用户时,因为用户名字中带有特殊字符,所以不能直接用昵称搜索,我用该用户的用户名搜索,一共搜索了五次,都没有找到该用户。但是还是可以通过昵称进行搜索用户的。所以说起名字都别整花里胡哨的,都不好搜索!!此Bug应该属于必然发生的Bug。
Bug分析:可能是因为并未将用户名作为筛选用户的关键字,导致只能通过昵称而不能通过用户名搜索。
Bug严重程度:⭐
结论
推荐程度:e) 非常推荐
类别 | 描述 | 评分(满分10分) |
---|---|---|
核心功能 | 在线编译,多样化模板,社区开源功能 | 8 |
细节 | 模板分类很清晰,但不能通过用户名搜索用户 | 6 |
用户体验 | 无第三方赞助商的无良小广告 | 8 |
辅助功能 | 云服务和博客 | 7 |
差异化功能 | 界面简介美观 | 9 |
软件的效能 | 编译速度良好,但有些游戏启动很慢 | 7 |
软件的适应性 | 界面有全屏和缩放功能,但缩放可能导致页面显示不完整 | 6 |
成长性 | 根据用户关注的东西,推送相关模板的项目 | 7 |
用户有控制权 | 中规中矩 | 6 |
自选评分项目 | 登录的便利性,可以直接通过csdn或git登录 | 7 |
Product Hunt-The best new products in tech.
体验
**首页:**网页的布局更加简洁,甚至不需要注册登录就可以使用。在线工具的分类分为编译工具,数据工具,和前端工具
工具的种类更加多样化
有问答库的功能,可以根据所需要的编译语言,到达相应的问答库,可以看到发布的相关的问题以及解决办法
具有菜鸟教程的功能板块,对新手入门编程更加友好,有非常多种类的教程,包括:Java和相关技术教程,软件质量管理教程,移动开发教程,Web开发技术,Microsoft技术教程,DevOps技术教程,大数据教程,SAP教程,Python技术教程,最新技术教程,数据库教程,脚本编程教程,计算机编程语言教程,机器学习教程,XML技术教程,数字营销教程,大型机教程,并且教程的内容详细而且章节的划分很清晰。
实际在使用在线编译时,可以选择使用默认模板或搜索常用模板并导入
可以搜索需要的模板并选择版本,网页会给出一个链接,搜索可以得到模板的具体代码。
优缺点描述:优点:网站无需注册登录,并且有官方的问答库,和新手教程模块,并且教程模块包括的教程种类非常丰富;缺点:在线编译功能比较简陋,并且不能创建一个项目,给出的模板代码冗长,网页小广告太多。
对产品有什么改进意见:优化线编译功能模块使用的便利性,并且可以增加登陆注册功能,让问答区域的内容由用户们更新。
BUG
Bug发生时的测试环境:
处理器:AMD Ryzen 5 4600H with Radeon Graphics
系统类型:64 位操作系统, 基于 x64 的处理器
浏览器:Mirciosoft Edge版本 111.0.1661.62 (正式版本) (64 位)
Bug具体情况描述:
当我心血来潮的想在问答区搜一搜上次作业中使用vue式遇到的一些问题,在我点开这个标题时 跳转的页面很正常,但没有对应问题的解决方案,我就打算试试别的,没想到啊,其余的标题点开跳转到了首页,并没有到达该问题的问答页面。我试了很多次,在FZU校园网和我的个人热带轮流上阵下,还是无可避免,所以为必发bug。
Bug分析:可能是开发者并没有做相应的页面,也有可能是页面跳转的问题。
Bug严重程度:⭐⭐⭐
结论
推荐程度:d) 好,不错
类别 | 描述 | 评分(满分10分) |
---|---|---|
核心功能 | 在线编译,菜鸟教程,问答区 | 7 |
细节 | 教程种类很多,但在线编译模块的功能不是很便利 | 6 |
用户体验 | 第三方赞助商的小广告略多 | 6 |
辅助功能 | 无代码矫正或格式化 | 5 |
差异化功能 | 教程包含的内容详细,工具种类很多 | 9 |
软件的效能 | 编译速度良好,问答区跳转错误 | 6 |
软件的适应性 | 良好 | 7 |
成长性 | 无 | 6 |
用户有控制权 | 6 | |
自选评分项目 | 不需要注册登录,可以直接使用 | 7 |
Online Compiler and IDE
体验
界面右上角可以通过邮箱或facebook登陆或注册
登录或注册完成后,可以直接使用在线编译功能。
可以选择需要的编译语言,分为populai和others
在我使用提供的Java范例运行后,会跳转到运行界面,但是可以看到编译运行的速度还是比较慢的。
在MyCode模块内,可以查看并管理用户创建的所有代码,根据可见性,标签,时间,编译语言,或编译运行状态来筛选。
在recent code模块,可以看到其他用户运行的所有人可见类型的代码,以及其运行状态。
可以看到代码的输入输出,网址,可见度,语言,创作时间,并且可以评论。但发布评论必须登录FaceBook;并且可以通过facebook,推特,谷歌分享。
优缺点描述:优点:功能特点突出,在线编译的功能很完整并且使用比较简单易于上手。
缺点:需要facebook登录才可以评论,无简体中文,无其他附加功能。只能在线编译运行一些语言的简单代码。
对产品有什么改进意见:增加在线编译功能中可以在线运行的其他工具。
BUG
Bug具体情况描述: 此网站暂时未发现BUG
结论
推荐程度:c) 一般
类别 | 描述 | 评分(满分10分) |
---|---|---|
核心功能 | 在线编译,管理代码 | 6 |
细节 | 无简体中文,需要Facebook登录 | 5 |
用户体验 | 界面简略 | 6 |
辅助功能 | 无代码矫正或格式化 | 5 |
差异化功能 | 管理代码模块更加细致 | 7 |
软件的效能 | 编译速度一般 | 5 |
软件的适应性 | 良好 | 7 |
成长性 | 无 | 6 |
用户有控制权 | 6 | |
自选评分项目 | 功能太过单一,且单一功能没有很大的亮点 | 6 |
第二部分 分析
开发时间估计
人员背景:团队人数6人左右,计算机大学毕业生,并有专业UI支持。
项目时间因素:项目的规模和复杂性;团队成员的技能、经验和工作效率;开发过程中遇到的技术挑战和问题;需求变更和迭代周期等。
需要的技术:Web开发技术:Cloud IDE通常是基于Web平台实现的,因此需要掌握HTML、CSS、JavaScript等相关技术;
后端开发技术:需要使用服务器端语言和数据库来支持用户管理、项目管理、代码存储、版本控制等功能。比较常用的后端技术包括Java、Python、Ruby、Node.js等。
容器化技术:可以使用容器化技术如Docker来方便地进行部署和扩展;
代码编辑器技术:需要实现代码高亮、智能提示、自动补全等编辑器功能,这通常需要涉及到前端和后端技术结合的实现方式;
实时协同编辑技术:如果需要支持多人同时编辑同一个文档,需要实现实时协同编辑功能,这通常需要使用WebSocket或者其他类似的技术。
除了以上技术,还有很多其他的技术和工具可以用于实现Cloud IDE,例如Git集成、任务管理、调试器等等。
时间估计:可能需要6个月到1年左右的时间来完成一个基本的Cloud IDE
同类产品对比排名
目前市场上还有Lightly和 Gitpod以及vs code online等类似的cloud ide软件,inscode和Lightly相比,拥有社区模块和folk社区代码功能,但和vscode online以及Gitpod相比,知名度曝光度和功能完善程度略显不足。但已经忧郁大部分的类似产品,排名应该处于前十。
软件工程方面的建议
提供代码审查工具:包括代码静态分析工具、代码重构工具等,以帮助开发人员在编写代码时遵循最佳实践
提供代码库搜索功能:为用户提供可搜索的代码库,以帮助开发人员在代码库中查找和重用已有代码。
BUG存在的原因分析
对用户需求掌握不好:这种简单的通过用户名id查找用户功能,应该是很简单的,但没有这个功能,应该是开发者没有很好的掌握用户的需求,因为很多人的昵称很复杂,有特殊字符或是火星文,不易于输入搜索,但用户名id是比较好输入的,而且不会有很少见的字符或汉字。
第三部分 建议和规划
市场概况
目前许多公司和个人都正在采用Cloud IDE解决方案,尤其是那些需要协作开发或需要快速开发和部署应用程序的企业和团队。直接用户数量难以确定,但是据观察,越来越多的开发者和团队正在转向Cloud IDE,包括创业公司、中小企业和大型企业等。
潜在的用户数量则更加巨大,包括那些正在考虑将开发环境迁移到云端的企业和团队,以及那些希望能够更高效地协作开发的个人开发者。因此,Cloud IDE市场仍有很大的增长潜力。
市场现状
目前市场上有:vs code online;GitPod;Ligthly;Codeanywhere;Eclipse Che;CodeSandbox;Codenvy;Koding;Coder;StackBlitz等等。
其中大多数的优势在于:提供版本控制功能:为用户提供集成的版本控制系统,如Git或SVN,以便团队成员可以协作开发和管理代码。支持自动化构建和部署:为用户提供自动化构建和部署工具,以便将代码快速且安全地部署到生产环境中。保障数据隐私和安全:加强数据隐私和安全措施,确保用户的代码和数据不被非法获取或泄漏。
Cloud IDE产品这个领域可以说正处于成长和风口阶段
市场与产品生态
核心用户群:学习计算机技术的大学生研究生;工作的IT行业经常需要使用多种编程语言进行开发和测试的程序猿;
在产品生态方面,Cloud IDE的用户群体之间存在着一定的关系,例如不同团队之间的合作和交流。此外,Cloud IDE与其他相关产品(如代码托管平台、DevOps工具、项目管理工具等)之间也存在紧密联系,可以互相补充和增强功能,进而形成一个完整的产品生态系统。
产品规划
我要在当前软件的基础上设计实时协作编辑功能:在Cloud IDE中实现多人实时协作编辑,可以让团队成员更加高效地共同完成一个项目的开发。可以有个人空间和团队空间,团队空间可以协作开发。
Need(需求):用户需要一个能够帮助他们更好地实现团队协作的开发工具,可以让多个人同时编辑同一份代码,避免因为等待、沟通等原因导致的项目延误。
Approach(方法):Cloud IDE通过实时协作编辑功能来满足用户需求,提供了一种高效的协作方式,可以让团队成员同时编辑同一份代码,减少不必要的等待和沟通,并且可以随时查看其他成员的编辑进程。
Benefit(益处):实时协作编辑功能可以帮助用户提高项目管理和协作效率,缩短项目开发周期,提高开发质量并降低错误率,提高整个团队的生产力和工作效率。
Competition(竞争):与其他类似产品相比,Cloud IDE的实时协作编辑功能使得团队协作更加高效,同时还集成了其他创新型的功能,如AI辅助编码、智能代码搜索引擎等,可以帮助用户更快速地完成开发任务。
Differentiation(差异化):Cloud IDE通过实时协作编辑等创新功能来与竞争对手区分开来,提供更好的用户体验和功能特点,吸引用户选择使用该产品。
团队分工
一名项目经理:负责项目规划、进度控制、资源管理和团队协作等工作。
两名前端开发工程师:负责前端开发、UI设计和用户体验等相关工作。
两名后端开发工程师:负责后端服务的开发、数据库设计和维护等工作。
一名测试工程师:负责软件测试、质量控制和缺陷修复等工作。
周数 | 项目任务 |
---|---|
第1-2周 | 项目启动和需求分析,确定产品功能和技术架构。 |
第3-4周 | UI设计和前端开发,完成产品的界面设计和前端框架搭建。 |
第5-6周 | 前后端服务的搭建和数据模型设计,包括数据库的设计和建立 |
第7周 | 对于前端与后端接口进行测试和调试,并进行必要的修改。 |
第8-10周 | 前端和后端的联合开发,完成基本功能的实现和测试。 |
第11-12周 | 加入高级功能,如实时协作编辑等,需要持续测试和改进 |
第13周 | 测试和修复缺陷,准备发布前的最终版本。 |
第14-15周 | 软件部署和系统监控,确保软件的稳定性和可靠性 |
第16周 | 正式发布产品,并进行推广和反馈收集等工作。 |