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

这个作业属于哪个课程 2023年福大-软件工程实践-W班
这个作业要求在哪里 软件工程实践作业要求
邹欣老师的案例分析作业要求 软件工程 案例分析作业
这个作业的目标 软件评测
其他参考文献 《构建之法》、CSDN、InsCode、IT屋-程序员软件开发技术分享社区、Online Compiler and IDE

0 第零部分

推荐标准 推荐结论 推荐指数
少部分功能有作用 浆糊
部分功能有作用 凑合 ☆☆
部分功能有作用且设计良好 一般 ☆☆☆
大部分功能有作用 良好 ☆☆☆☆
绝大部分功能有作用且设计良好 优秀 ☆☆☆☆☆

1 第一部分——调研与评测

1.1 软件一:InsCode

1.1.1 体验描述

1.1.1.1 基本功能介绍和使用

InsCode是一款由GitCode提供代码托管服务,在线运行项目,并能分享自己项目或查看他人项目的产品。
主要功能有创建项目(提供导入项目选择),在线编辑修改代码和分享发布作品。

注册与登录:微信关注CSDN会员,扫一扫即可登录用CSDN账号创建的GitCode账号,由于InsCode是由GitCode托管代码,因此即可登录成功,对其项目所进行的操作也会直接提交同步到本人的GitCode上。

登录

创建项目:有两种方式,可以直接导入本人GitCode上的项目,也可以根据模板中心提供的模板进行选择创建,此处以MarkDown模板为例,点击模板中心,选择MarkDown打开点击使用该模板,自定义模板右侧的标题、描述、项目标识和可见性,其分别对应了项目创建之后在gitcode 的项目中的名称、描述、URL和项目可见性,创建后的.inscode和.nix是InsCode 的项目配置文件,记录对应的入口文件等信息。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

编辑项目:在线修改代码后能直接运行,在线能够同步演示,修改后的内容会自动提交到对应在 gitcode 的项目中,此处以HTML模板文件演示。

发布作品:用户可以将自己的项目发布到社区共享,也可以到社区fork感兴趣的项目进行修改学习。
在这里插入图片描述

1.1.1.2 优缺点分析

优点:1、所写即所见,及时演示的功能可以让用户在需要演示项目的场景使用,不需要纠结环境等配置,直接进行演示,也可以保存制作成相关demo用于展示。
2、编写后的代码能够同步更新在GitCode上,并且在该产品上编写更改上手更容易,不需要去学习下载Git提交推送等辅助信息。

缺点:大多数人主要是在自己的编译器上编写运行,演示需要该平台的时候不同语言和代码文件演示方法不同,上手性差。
2、仅适合个人gitcode项目编写,没有多人开发功能,不适合团队项目运行。
3、在该平台修改项目同步到GitCode上的更新并不及时,需要将项目退出再次打开运行后才能在GitCode上看到更新代码。

1.1.1.3 改进意见

可以考虑为用户增加不同代码如何在线运行演示的指南,另外可以改善GitCode的同步速度和方式,能够让用户及时看到GitCode上的更新。

1.1.2 Bug描述

右上角不同按钮显示的界面重叠,影响美观和选择,自动折叠需要手动再点击一次才能收起界面,并且单击其他地方只能偶尔自动折叠,有些地方单击后能够折叠有些地方不能。
在这里插入图片描述

创建项目时仍然能够更改项目的信息,不利于项目创建。
在这里插入图片描述

1.1.3 结论

☆☆☆☆
总体项目建造良好,能够在线运行演示代码利于用户在特定场景使用,不过有一些细节之处体验不够好,比如UI界面卡片显示折叠不合理,创建项目等运转时间比较长,简单运用模板创建项目时间大概就有2-3秒,如果加入自己的代码估计时间更长,用户体验不太好,并且在跳转时间期间可以编辑信息,虽然最后以初次创建前的内容为准。

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

1.2.1 体验描述

1.2.1.1 基本功能介绍和使用

IT屋是一款为码农提供各种在线工具和学习教程以及问答专区的产品。主要功能有在线工具、菜鸟教程和问答区。

首页:用另外一种形式展示菜鸟教程和问答区。
在这里插入图片描述
在这里插入图片描述

在线工具:该产品的默认页面,分为编译工具、数据工具和前端工具。此处为了对比InsCoded用前端工具中的HTML/CSS/JS 工具为例,输入代码后可以选择默认模板后修改,也可以选择搜索相应库后执行。
在这里插入图片描述

在这里插入图片描述

菜鸟教程:展示不同技术的新手教程参考手册,右上角有搜索功能,页面上部分是所有教程种类目录,默认展示全部教程,此处以java教程为例,搜索java跳转的是全部带有java字样的文章,并不是直接对应到相应教程去查看,精细了搜索范围,点开java教程后以目录形式展示其所有内容,如果目录过长,划到底部点击相应目录后会划到顶部显示对应目录的教程页面,并且搜索和查看一个技术教程不是打开新的标签页面,是直接覆盖原有页面,查看具体的搜索文章是另外打开一个页面。

java教程

问答库:在页面上即可选择想查看的问答种类跳转,此处仍以java为例,点击跳转后与菜鸟教程搜索java的文章相同,看来菜鸟教程搜索后的具体文章是属于问答库里而非教程目录中的文章,同样在右上角搜索框中搜索java,搜索框被清空,跳转出相应搜索内容。
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

1.2.1.2 优缺点分析

优点:1、整体界面简介清晰,功能明了,不需要注册登录就可以直接查看,十分良心。
2、不同语言技术教程目录都很详细,目录较长的选择后也能直接自动滑到顶部查看对应目录内容,用户体验感很好。
3、在线工具的说明很详细,不需要点开就能知道这个工具的大概作用,分的类别也能很容易查看。

缺点:1、偶尔查看页面的时候会跳出广告,广告界面导致整个页面都不能点击,会有点懵而跳转到具体的广告界面,影响体验。
2、该产品的默认界面是“在线工具“,”首页“展示的是导航栏中已有的”菜鸟教程“和”问答库“的综合,一般大家都默认首页即是打开产品的第一个默认页面,而多出来的这个首页也只是一个简单的汇总,并且必须自己点击首页后才知道是这样,个人觉得没有必要。
在这里插入图片描述

1.2.1.3 改进意见

1、建议广告植入可以以一个卡片框展示在页面一小部分,页面其他功能仍然能够正常使用。
2、可以考虑将默认页面调回首页,首页内容改成美观且能够体现该产品的图片或LOGO,简单介绍该产品是做什么的以及增加联系反馈功能等等。

1.2.2 Bug描述

广告触发机制很奇怪,有时候是你点击在线工具后再点击首页会跳出广告,有时候是点击教程查看的时候跳出,并且跳出时只有广告界面能够操作。
在这里插入图片描述

菜鸟教程中的图标UI设计不统一,有些是彩色的有些是黑白色的
在这里插入图片描述

在”菜鸟教程“和”在线工具“中搜索得到的内容属于问答库中的内容,并不是教程或在线工具中的相关内容,并且显示有问题,这里以在线工具页面搜索为例。我是从在线工具页面搜索的,在我搜索后跳出来应该是能够返回刚刚的在线工具,却显示只能返回首页,而首页上述有提到,此时的首页设计其实是很多余的存在。
在这里插入图片描述
在这里插入图片描述

开设的所有搜索功能里,在搜索关键词后,内容都会被从搜索框中删除,很不利于用户对比再次搜索,并且将搜索的内容放在应当是显示等级页面跳转关系的左上角,将原本的上一级页面覆盖掉,一来是很不利于返回上一个页面,二来用户搜索的内容直接被展示在类似目录作用的页面上,有损美观。
在这里插入图片描述

1.2.3 结论

☆☆☆☆
总体功能良好,教程目录详细丰富,很利于新手学习,在线工具反应速度良好,分类清楚明了利于使用,只不过首页的设计多此一举并且不是默认页面,还有搜索上的细节还需加强完善,广告上的设计可以再做考虑。

1.3 软件三:Online Compiler and IDE

1.3.1 体验描述

1.3.1.1 基本功能介绍和使用

Online Compiler and IDE是一款提供在线运行代码和查看他人上传的优秀代码的产品。
主页new code:首页便是能够直接运行新代码的界面,默认有一种语言和其模板代码,不需要注册就可以直接使用该功能,可以修改代码的分享设置是公开还是私人,能另外展开输入。
在这里插入图片描述

注册与登录:正常填写信息注册,却显示解决验证码,而页面并没有验证码输入框,并且也没有向我的邮箱发送验证码。
在这里插入图片描述

已发布代码recent codes:查看使用该产品的用户编辑权限为公开的代码,显示了该用户代码的名称,所用语言和发布时间。
在这里插入图片描述

范例:可查看不同语言类的优秀代码,有fork和下载功能,可fork后在线编辑使用。
在这里插入图片描述

1.3.1.2 优缺点分析

优点:1、可在线运行不同语言代码,不用考虑配置环境的问题。
2、也可查看与分享相关语言的优秀代码,有助于启发代码灵感。
缺点:1、加载和运行时间过慢,不同页面跳转就需要大概3-4秒的时间,更别说运行时间,简单的一个模板代码大概就需要等待几秒钟,反应速度较差。
2、总体页面采用英文叙述,但其中总是夹杂着中文并且是繁体,不太理解其中的意义,如果是针对国外用户,繁体字的使用似乎不论对国外还是国内用户都有一定的理解难度。

1.3.1.3 改进意见

1、建议改善注册功能,以便其能够正常使用。
2、建议改善页面语言设计,决定是要全部英文还是将繁体中文改为简体中文。

1.3.2 Bug描述

1、注册功能缺失,没有找到验证码入口,却提示我需要完善验证码。
在这里插入图片描述

2、注册登录功能存在的必要性:里面并没有相关类似个人中心的入口,并且不登录时运行的代码就能够显示在recent code里。
在这里插入图片描述
在这里插入图片描述

3、recent code存在的必要性:该页面显示的是实时运行的各个代码记录,包括其他人的,如果是考虑让用户能够回溯自己之前的代码,那应该设置只有自己,而注册登录的功能却又未完善,如果是想查看大家的代码,页面信息只能查看该代码所分配的名字和所使用的语言,并没有任何其他信息提供区分自己所需要的代码,并且代码鱼龙混杂很难找到自己需要的代码,而需要查看优秀代码的功能却已经提供范例页面查看了,所以存在的必要性有待商榷。

1.3.3 结论

☆☆
总体在线运行与查看优秀代码功能具备,但运行加载时间过长,注册、回溯功能的存在有矛盾和重复,需要再做改善。

1.4 用户采访

采访对象介绍:采访用户Z,所属22级软件工程专业学生,符合要求,希望能够找到能为平时学习提供有效帮助的产品
采访记录:
在这里插入图片描述
在这里插入图片描述

采访对象反馈:

我用了在线工具中C++工具,将我平时写的代码贴了一个进去,开始的这个模板让我一下子没反应过来代码要贴在哪儿,后来我就把模板删除贴了,但是不知道为什么六百多行的代码贴进去后只有最后几行有代码,前面几百行全是空的,粘贴30行代码是正常的,运行也没有问题。
再试了一下查看教程,结果直接跳出了一个广告页面,不过还好点击关闭后就没有了,但界面就和之前的完全不一样了,我也不知道哪个是真的,我就退出去重新点教程,这会界面是样式一样的了,我想这个才是正确的。
简单浏览了一下C++的教程(开始的的时候在目录里找了半天才找到),还挺惊讶的,没想到有这么多教程,感觉会收藏一下这个网址以后用,这个数据类型里一会有表格一会没有表格线的看着难受,讲的比较详细,内容挺丰富的,后面这学期不学的内容也有,就是看了还是不咋会写
大概就这么多了,总体感觉对我基础内容的学习挺有帮助的,在编译代码上代码量太大了就有些问题,其他时候想不下载软件或者换个地方试试代码能否运行还是挺好用的,不过具体的练习没有,练习目录后面可以增加一些题量进行巩固。

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2 第二部分

2.1 产品开发时间预估及理由

项目 预估开发时间 预估理由
前提条件 团队人数6人左右 计算机大学毕业生,并有专业UI支持
InsCode 30h 主要部分为社区开发,模板数据和项目创建同步
IT屋-程序员软件开发技术分享社区 40h 主要部分为大量的在线工具和教程问答
Online Compiler and IDE 20h 主要部分为代码编译和优秀范例

2.2 同类产品对比和排名

该三款软件进行对比的话,三者都有在线编译功能,InsCode主要设计与GitCode的关联同步交互与演示,IT屋主要设计各种编译工具和教程的选择,更适合新手在线学习,Online Compiler and IDE更注重历史记录的保存,不需要登录即可编译。
三者进行排名的话,IT屋功能更加丰富,排第一,InsCode更加美观,利于使用GitCode的用户上手,排第二,Online Compiler and IDE排第三。

2.3 软件工程方面的建议

InsCode:建议在与同步GitCode上的反响能够快一些,并且能够给出相应的反馈,就不用用户时刻到GItCode上却反复确认,这毕竟是它的最大亮点。
IT屋:UI可以设计的再美观一些,有些过于朴实无华了,可以考虑渲染一下背景之类的,搜索部分的功能希望可以考虑再完善一些,别直接跳转到问答库里的内容了。
Online Compiler and IDE:只能说建议考虑再多加改善代码运行和页面加载时间吧。

2.4 Bug存在的原因分析

InsCode:同步上的速度以及一些UI设计的小问题,我想是在测试时对于时间和多个功能同时应用的情况考虑欠佳的原因。
IT屋:主要原因是设计的质量还能够再提升一下,像图标颜色不统一首页设计都是这样的原因。
Online Compiler and IDE:对用户需求把握的不够好,登录和历史记录等的关联性很差没有联系起来以至于有些功能浪费。

3 第三部分

3.1 市场概况

市场大概是针对于计算机代码上有运行或学习需求的用户。
直接用户是计算机专业学生,潜在用户是自学计算机的学生和已就业想学习新语言的工作者。

3.2 市场现状

目前市场上对于在线运行的产品已经有很多,比如几个大型的针对不同类型题目训练的OJ平台,像力扣,pta等等,而教程文章和视频也有许多大型平台有提供,像万能B站和知乎还有高数帮都在提供相应的学习教程。
上述产品定位于有刷题需求的学生,优势在于能够帮助学生通过题海战术学习总结打代码能力,而学生用户十分庞大,所以用户来源量就比较大,针对宣传和使用率不用太过担心,劣势在于不同平台都有类似刷题,竞争性强,需要有针对性的创新。
上述产品之间关系其实是交织的,教程类带领新手学习知识,在线运行的刷题类帮助新手掌握巩固知识,两种类别对应的是用户不同的需求情景,相同类之间才是竞品关系,竞争中的产品分别有不同的针对性,像pta针对的是算法题,而力扣却能够让用户在应聘前刷相应题去巩固准备,应对的情况不同能够有所区分,即大同类中见大方向。

3.3 市场与产品生态部分

在线运行刷题类产品的核心用户群是学生,典型用户是计算机相关专业对于语言或知识有实践需求的学生,主要是18-22岁之间计算机相关专业可能爱好写代码无收入或收入较低需要解决应试或赛事要求的大学生。
教程类产品的核心用户群是学生,典型用户是计算机相关专业对于语言或知识有理论需求的学生,主要是18-22岁之间计算机相关专业可能爱好学习无收入或收入较低需要解决应试的大学生,潜在用户可能有想自学计算机相关专业内容的成人。
产品的用户群体之间存在一定关系,可能是从学习的学生再到学更多技术掌握更多可能性毕业工作者的过渡,有利用其相互作用二次构成特定用户生态的可能性,例如既能满足向大学生提供理论或实践知识的需求,又能满足给就业需求的毕业生提供工作知识或应聘知识的需求。
由此衍生的子产品或其他产品之间也存在一定的关系,既然有大学知识的教程那也可以有工作知识上的普及教程,而二者也可以同时存在,增高用户粘性,有利用其相互作用二次构成特定用户生态的可能性。

3.4 产品规划

3.4.1 功能以及NABCD分析

我希望刷题类和教程类的产品能够融合,由于计算机语言较多,知识面也很广,可以针对有代码需求的内容增加教程补充,从开始学习知识点再到巩固知识点练习的流程化学习,很能够满足当代大学生的应试需求。
所以它的针对面其实是大学生对于大学考试和比赛知识掌握的需求,从教程融合成基础知识学习到理论如何与实践想结合最后到如何应用在工作中,从头到脚全部考虑,这样无论是刚开始学习还是已经掌握想要精进打比赛还是想要靠此就业的同学都可以用到该产品,针对的不同用户时间范围周期就会很长,自然用户量也会更高。

3.4.2 角色配置

1人A负责美工和前端设计,3人BCD配置功能即开发,1人E测试,1人F负责数据整理需求调研等信息处理。

3.4.3 16周的详细计划

周数 任务
第一周 众人商讨确定项目目标,分析确定每人能力与职责,调研市场和用户意见,简单确定功能。
第二-三周 众人分析需求,BCD确定功能板块画出类图,E跟进审查功能合理性,A根据前端展示合理和美观性提出功能修改意见,F跟进汇总整理
第四周 ABCD根据需求分析制定原型设计,E进行页面设计排查,F再次根据需求调研用户意见
第五-六周 BCD分别进行系统设计,优化类图,E跟进测试,A设计初步页面,F设计初步的数据库
第七-八周 BCD试写初步的功能设计,A优化页面,E跟进测试,F继续设计数据库
第九-十周 初步的功能整合后商讨优化细节,分工执行优化改善
第十-十二周 继续优化改善
第十三-十四周 初步投放,采纳用户意见
第十五周 根据用户需求改善优化
第十六周 初次试运行发布,并处理相应反馈需求

猜你喜欢

转载自blog.csdn.net/s_2622/article/details/130022188