688
社区成员
发帖
与我相关
我的任务
分享| 这个作业属于哪个课程 | 2023年福大-软件工程实践-W班 |
|---|---|
| 这个作业要求在哪里 | 软件工程实践——软件评测作业 |
| 这个作业的目标 | 作为一个 IT 行业的学生,每天都在使用各种各样的软件,而本次实践则要给这些软件写一个评测博客 |
| 其他参考文献 | 见文末 |
测评环境
设备规格:
设备型号 Legion Y7000 2020 处理器 Intel(R) Core(TM) i5-10200H CPU @ 2.40GHz 2.40GHz 机带 RAM 16.0 GB 系统类型 64 位操作系统, 基于 x64 的处理器操作系统: Windows 10 家庭中文版
浏览器: FireFox 111.0.1(64位)
BUG量化标准
| 严重程度 | 名称 | 评判标准(满足其一即可判定) |
|---|---|---|
| ★★★★ | 致命错误 | 1、常规操作引起的系统崩溃、死机、死循环 2、造成数据泄漏的安全性问题,比如恶意攻击造成的账户私密信息泄露 3、涉及金钱,如支付类软件,金钱计算错误 |
| ★★★ | 严重错误 | 1、重要功能不能实现(例如:微信没有实现语音聊天、朋友圈,等) 2、错误的波及面广,影响到其他重要功能正常实现 3、非常规操作导致的程序崩溃、死机、死循环 (非常规操作:用户使用软件时不会进行的操作) 4、外观难以接受的缺陷(例如:直播平台的封面图片的失真、压缩,完全变形) 5、密码明文显示 |
| ★★ | 一般错误 | 不影响产品的运行、不会成为故障的起因、但对产品外观和下道工序影响较大的缺陷,具体为: 1、次要功能不能正常实现 2、操作界面错误(包括数据窗口内列名的定义,含义不一致),例如:列名与列名下的内容不一致 3、查询错误、数据错误显示 4、简单的输入限制未放在前端进行控制(格式显示,如登录和注册中的格式判断可由前端判断) 5、删除操作未给出提示 |
| ★ | 其他错误 | 程序在一些显示上不美观,不符合用户习惯,或者是一些文字的错误,具体为: 1、界面不规范 2、辅助说明描述不清楚 3、提示窗口文字未采用行业术语 4、界面存在文字错误 |
未登录状态进入主页,显示如下页面:

用户可以在未登录情况下,移动到页面下方的项目栏,可以拖动项目条并点击项目进入项目页并查看预览

点击开始键进行预览,点击Stop停止预览

点击查看文件,查看项目目录和具体内容;点击打开网页,预览框内的项目会在新标签页打开

滑动页面可以看到评论,登录后可发布和回复评论


点击导航栏中的社区,进入社区页,在这里可以看到所有发布的项目,点击项目即进入详情页
可以切换查看热门或最新的模板,也可以通过热门标签查找对应的模板

点击导航栏的模板中心,可以看到InsCode目前所支持的所有模板语言

点击导航栏的博客选项,跳转到博客页面

InsCode的登录与CSDN相同,且如果CSDN已登录,InsCode会自动登录
未登录状态下点击创建项目则弹出登录页

用户登录后显示主页,包含搜索框、创建项目、我的项目、热门和关注等内容

点击创建项目,选择对应模板并填写右栏信息后进入项目页面


点击创建项目后,进入编辑器
可以在左边点击打开任意文件

修改文件内容后,文件会自动保存,点击Run按钮将文件在终端运行,点击预览(前端)或输出(后端)查看项目运行结果

项目编辑完毕后,点击左上角项目标识可以发布项目

填写相关内容后点击发布到社区,即可进入本项目的详情页面

进入我的项目页面,可以看到自己创建的所有项目,暂未发现如何将项目设置为动态和星标

点击左边栏设置,进入个人资料编辑,可以对基本信息进行对应修改、查看SSH密钥和配置Git

优缺点分析
优点:
缺点:
改进意见
能很明显地感受到网站还处于建设阶段,界面风格一如既往地保持了csdn的简洁、美观,但是目前实现的主要IDE功能还不尽如人意,希望能尽快完善。
BUG1

BUG2

BUG3

InsCode所目标实现的线上编辑器功能非常令人期待,但是目前仍处于初步建设阶段,除去界面UI构建完毕,其他主要功能大多还有待改进,所有的后端项目目前修改内容都无法提交,GPT相关的模板也因为请求超时而无法体验,而前端功能面临时不时无法使用的严重问题。在其前端功能可以使用的前提下,对在线编程还是有一定的帮助,也可以通过社区查其他用户发布的成功案例进行学习。综上所述,我对其的评价是:c) 一般。
首页由导航栏和搜索框以及页面内容组成,页面内容包括菜鸟教程、最新问答和热门标签



点击任意教程,即新建并跳转到对应教程的页面

点击任意问答,进入问答详细页面,文章内容包括问题描述和推荐答案,页面左边栏是当前问题所属分区的最新文章列表,左上方搜索栏内容变为当前问题

下滑可以看到左边栏还有热门教程和热门工具,文章下方是广告和相关文章

查看全文需要微信关注公众号获取验证码

首页,鼠标悬停在导航栏问答库位置时,显示下拉菜单

点击菜单项进入问答库对应模块,点击具体问题即跳转到上述问答详细页面

首页点击导航栏菜鸟教程项,进入菜鸟教程页面,点击任意教程,新建并跳转到上述对应教程页面

首页点击导航栏在线工具项,跳转到在线工具页

点击任意在线工具,跳转到对应工具页,页面内容包括编辑器、html工具链接和其他工具



编写代码,点击运行,过了一会儿,运行结果显示在框中

代码有误时,也会将错误打印在结果框中

在编辑器的选择框中选择其他语言,页面自动跳转到该语言的在线工具页

优缺点分析
优点:
缺点:
改进意见
首先是减少广告的投入,或者减少广告内容在页面的占比,不能让广告影响正常使用;其次可以为问答库添加评论功能,增加用户参与度,也有助于用户更进一步解决问题。
BUG1

BUG2

BUG3




IT屋提供了种类众多且免费的在线编译工具,为用户编译简单代码提供了方便,但其由于广告多、功能过于简单等问题,对用户的正常使用造成了一定的影响,所以我的评价是:c) 一般
进入首页,可以看到首页中间的代码编辑器、右侧的推广以及下方的指引

在代码编辑器中,可以点击左下第一个按钮切换语言

点击第二个按钮添加输入

点击地球、眼镜和锁图标,更改代码属性:公共、秘密和私有
点击more options增加其他内容

编写代码,填写输入

点击Run按钮执行代码,跳转到代码执行页,给出对应的输出

代码错误也会有提示

可以点击该页面左上角的edit继续编辑,也可以点击fork复制代码返回主页、点击download下载代码文件

首页点击导航栏范例,进入范例页面,网站官方编写并展示了各种语言代码的范例,供用户参考

首页点击导航栏recent code,进入该页面,可以查看其他人通过public发布的代码

点击进入详细页面,可以看到他人的评论,登录后可以发布评论

点击导航栏登录,可以注册账号,登录后可以发布私人代码,仅自己可见


优缺点分析
优点:
缺点:
改进意见
为公共代码页面添加查找或筛选功能,或是在代码编辑器处添加密钥,用户可以用已发布的代码生成的网址后缀字符串作为密钥访问对应代码,充分运用公共代码页面的功能,增加用户参与感。
BUG1

IDEONE 支持多种编程语言,用户可以在平台上编写、调试和分享他们的代码,并且还提供了一些额外的功能,如自动格式化代码和检查语法错误等,非常适合那些想要快速测试和共享代码的开发者,尤其是对于初学者来说,它是一个很好的学习工具。但是目前国内用户无法注册,导致部分功能无法使用。所以我的评价是:d) 好,不错


| 开发环节 | 预估时间 |
|---|---|
| 需求分析与规划 | 15天 |
| 原型设计与工具选择 | 15天 |
| 程序编码 | 90天 |
| 软件测试 | 60天 |
| 网站部署 | 15天 |
| 运行维护 | 长期 |
| 总计 | 195天+ |
需求分析与规划
该环节开发团队会与客户沟通并了解项目需求和目标,制定开发计划和时间表等。由于三个产品的需求都比较明确,都是建立在线编译工具,所以这三个网站在这个环节花费时间较少。
原型设计与工具选择
该环节开发团队需要根据确定的需求与规划进行网页的原型设计并选择接下来实现产品需要的工具。由于InsCode网页UI与CSDN衍生的GitCode类似,而IT屋和IDEONE的UI非常简单,所以三者在这个环节花费的时间也不会太多;
程序编码
这个环节开发团队开始着手产品的具体编码。InsCode的编辑器是类似本地编辑器软件的,并且实现了前端的编写、终端和预览等具体功能;而IT屋和IDEONE的编辑器都只支持单文件编译,这两者支持非常多种的语言,但是实现功能有限,很可能是批量生产的,不同语言的编辑器之间只有微小的差别,而且只支持后端语言的编译,所以前者在这个环节花费的时间明显要比后两者多出很多。
软件测试
该环节开发团队对程序编码环节编写完毕的代码进行测试。如上文所述,IT屋和IDEONE的代码编辑器是批量生产的后端编辑器,各个编辑器之间的差别很小,所以对他们的测试也不尽相同;而InsCode所支持的语言从文件结构到编译原理都存在很大的差别,所以针对不同语言的编辑器的测试也存在较大差别,并且InsCode除了支持前后端代码的编译外,还支持预览、终端等功能,与本地编辑器功能相近,又因其是网页端应用,其在测试上花费的时间也是比另外两者高出不少。
网站部署
在这个阶段,软件系统会被部署到生产环境中。三个产品都需要把在线编辑器部署到编译环境,InsCode还额外需要部署可以实现终端的虚拟机和展示前端的预览功能,所以开发时间也会比另外两个长。
运行维护
开发团队需要对产品进行维护和更新,这个阶段的时间通常是长期的。就现阶段来看,IT屋和IDEONE基本不需要进行维护,后续的更新也是再增加新的语言;而InsCode目前还在测试阶段,很多功能仍在改善,所以所需的维护时间也远远长于另外两者。
总结
综上所述,IT屋和IDEONE的开发时间大概是半年,而InsCode的开发时间大约1年。
我设计了以下表格对三款产品的具体方面进行打分比较:
| 考量指标 | 分值 | InsCode | IT屋 | IDEONE |
|---|---|---|---|---|
| 界面是否精简美观 | 10 | 10 | 6 | 9 |
| 使用是否方便 | 10 | 8 | 7 | 9 |
| 是否满足在线编译的需求 | 35 | 20 | 25 | 30 |
| 用户参与度 | 10 | 10 | 6 | 8 |
| 额外功能 | 10 | 10 | 8 | 9 |
| 存在的BUG的严重性(分值越高严重性越低) | 25 | 13 | 18 | 20 |
| 总分 | 100 | 71 | 70 | 85 |
综上所述,三者的排名为:IDEONE>InsCode>IT屋。
InsCode:完善后端代码提交功能,提高前端服务器稳定性
IT屋:减少网站在页面内容的占比,增加输入参数功能
IDEONE:检查注册功能,为代码分享页添加筛选功能
InsCode:
BUG1:功能测试存在问题,用户对该功能的使用权利被开发人员临时收回;
BUG2:功能需求未实现;
BUG3:搜索条具体设计质量不高。
IT屋:
BUG1:具体的设计质量不高;
BUG2:开发人员未注意到进入和返回页面的微小差别;
BUG3:测试把关不严,敷衍了事。
IDEONE:
BUG1:测试把关不严,没有注意在特殊的配置或环境下测试。
市场有多大?
根据市场研究报告,到2024年全球软件从业者的总数有望达到近3000万人。作为软件从业者,编程工具可以说是不可或缺的,而在线编程工具在其中占重要部分。在线编程工具市场是一个不断扩大的市场,因为越来越多的人开始使用在线平台进行编程和开发。根据市场研究报告,到2025年,全球在线编程工具市场的价值预计将达到200亿美元左右,这主要受到云计算、远程工作和在线教育等趋势的推动。

直接的用户有多少?潜在的用户又有多少?
目前全球使用在线编程工具的用户数量很难准确估计,因为这些工具属于互联网上广泛使用的公共资源,任何人都可以免费或付费地使用它们。但是,根据市场研究和调查,一些知名的在线编程工具如GitHub、CodePen、JSFiddle等已经吸引了数百万甚至上千万的用户。此外,由于数字化转型和远程工作的趋势,越来越多的人开始使用在线编程工具进行编程和开发,潜在用户群体正在不断扩大。预计未来几年,随着在线编程工具的不断发展和更新,其用户数量将继续增加。
目前市场上有什么样的产品了?
目前市面上有很多种类型的在线编程工具,如:
上述产品之间呈现什么样的关系,哪些为竞品关系?以及竞争中的各方态势如何?
在线代码编辑器、在线协作工具和代码托管平台可以被视为相关但不完全重叠的产品类别。它们都涉及编写、管理和协作开发项目中的代码,但在功能和目标方面有所不同。虽然这些产品有许多相似之处,但它们的核心功能和目标不同,因此通常不被视为直接的竞品关系,然而在某些情况下,一些厂商可能会提供跨越这些类别的产品,以尝试捕获更广泛的市场份额。在竞争中的各方态势方面,由于本地代码编辑器的功能和兼容性国娱强大,使得在线编译器目前很难撼动其地位,所以市场更偏向于在线协作工具和代码托管平台这两类本地编辑器无法实现的功能。但随着数字化转型和远程工作的趋势,许多厂商在不断改进其产品功能和用户体验,并竞争于更好地满足开发者的需求。
这个领域正处于 (萌芽 / 成长 / 风口 / 平台 / 下降)阶段?
这个领域正处于成长阶段。
核心用户群是程序员、学生和教育工作者。典型用户是具有计算机科学或相关专业背景的技术人员,年龄范围在 18 到 35 岁之间,他们可能来自不同的国家和地区。这些用户通常具有较高的收入水平,对于编程有着浓厚的兴趣和热情,他们主要使用在线代码编辑器进行开发、调试和测试等工作。除此之外,一些非技术人员也会使用在线代码编辑器,例如项目经理、数据分析师等,以便能够更好地了解和与开发人员进行沟通和协作。这些用户的表面需求是便捷的、易用的、高效的代码编辑器,并且需要支持多种编程语言和框架。潜在需求则包括更多的功能和定制化选项,以及更好的性能和安全性。
产品的用户群体之间存在的关系例如:程序员、学生和教育工作者都需要使用在线编程工具进行编程任务,也可以通过其分享自己的代码、阅读他人的代码,这使他们有着相似的需求和使用场景。一些技术人员也会使用在线代码编辑器来协同工作或与非技术人员沟通。不同用户之间的交叉使用,可能带来创新和新的应用场景,因此有利用其相互作用二次构成特定用户生态的可能性。
在线编程工具的子产品和其他相关产品之间存在一定的关系,例如代码托管平台、开发协作工具、持续集成/部署服务等。这些产品可以相互补充,提供全面的解决方案来满足用户在软件开发生命周期不同阶段的需求。
同时也有利用各个产品特性之间的相互关系二次构成产品生态的可能性,例如将在线编程工具与代码托管平台相结合,可以为用户提供一个完整的代码开发环境,包括代码编辑、版本控制、协作等功能;将在线编程工具与持续集成/部署服务相结合,则可以实现自动化的测试和部署流程,提高开发效率和质量。
我要在当前软件的基础上设计软件市场功能,用户可以在该区域发布软件需求,也可以根据其他用户的需求提供代码片段或完整项目,实现软件交易的功能。
NABCD分析:
我认为应该开发难度主要在后端的开发,例如买家和卖家的单独沟通途径、卖家的支付方式和买家的验收方法等,故按如下人人员配比进行开发:
| 角色 | 人数 |
|---|---|
| 美工 | 1名 |
| 前端开发 | 1名 |
| 后端开发 | 2名 |
| 软件测试 | 1名 |
| 产品经理 | 1名 |
| 周数 | 工作内容 |
|---|---|
| 1 | 指定工作计划、需求分析 |
| 2 | 需求分析 |
| 3 | 与目标用户群体沟通交流、进行原型设计 |
| 4 | 原型和UI设计 |
| 5 | 数据库设计 |
| 6 | 前端依据原型开发出大体框架 |
| 7 | 前端框架开发 |
| 8 | 后端开始开发 |
| 9 | 前后端开发 |
| 10 | 前后端开发 |
| 11 | 前后端开发 |
| 12 | 前后端交互实现,进行初步测试 |
| 13 | 进行集成测试,邀请业内人员参与内测 |
| 14 | Alpha测试并改进 |
| 15 | Beta测试并改进 |
| 16 | 产品公测 |
非常感谢你的评测! 现在我们有一个新功能: https://inscode.csdn.net/@aresn/inscode-ai@aresn/inscode-ai InsCode 支持AI 编程了, 我们认为这是一个 killer feaature (杀手功能),请试试看。 😄