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

222000331林玥利 学生 2023-04-07 23:38:36
这个作业属于哪个课程 2023年福大-软件工程实践-W班
这个作业要求在哪里软件工程实践——软件评测作业
这个作业的目标InsCodeIT屋-程序员软件开发技术分享社区Online Compiler and IDE三个软件写一个评测博客
其他参考文献邹欣老师发布的软件工程-案例分析作业、《构建之法》

目录

  • 第一部分 调研,评测
  • 一、InsCode
  • 1、体验
  • 1.1 登录登出
  • 1.2 查看项目
  • 1.3 创建项目并使用
  • 1.4 发布项目
  • 2、BUG
  • 2.1 BUG-1 项目详情页关注数不增加
  • 2.2 BUG-2 通知下拉框被遮挡
  • 2.3 BUG-3 点击/取消“创建项目”主菜单栏位移
  • 3、结论
  • 二、IT屋
  • 1、体验
  • 1.1 浏览首页
  • 1.2 使用在线工具
  • 1.3 使用问答库
  • 2、BUG
  • 2.1 BUG-1 类别标签没有突出显示
  • 2.2 BUG-2 部分搜索功能无效
  • 3、结论
  • 三、Online Compiler and IDE
  • 1、体验
  • 1.1 运行代码
  • 1.2 浏览并使用范例
  • 1.3 查看最近通过的代码
  • 2、BUG
  • 3、结论
  • 第二部分 分析
  • 一、开发时间估计
  • 1、开发团队假设
  • 2、开发过程大致分析
  • 二、同类产品对比排名
  • 三、软件工程方面的建议
  • 1、InsCode
  • 2、IT屋
  • 3、Online Compiler and IDE
  • 四、BUG存在的原因分析
  • 1、InsCode
  • 2、IT屋
  • 3、Online Compiler and IDE
  • 第三部分 建议和规划
  • 一、市场概况
  • 1、首先市场有多大?
  • 2、其次直接的用户有多少?
  • 3、潜在的用户有多少?
  • 二、市场现状
  • 1、目前市场上有什么样的产品了?
  • 2、上述产品的定位、优势与劣势在哪里?
  • 3、上述产品之间呈现什么样的关系,哪些为竞品关系?以及竞争中的各方态势如何?
  • 4、这个领域正处于(萌芽/成长/风口/下降)阶段?
  • 三、市场与产品生态
  • 1、这个产品的核心用户群是什么样的人?典型用户是什么样的?学历,年龄,专业,爱好,收入,表面需求,潜在需求都是什么?
  • 2、产品的用户群体之间是否存在一定的关系?是否有利用其相互作用二次构成特定用户生态的可能性?
  • 3、产品的子产品,以及其他相关产品之间是否存在一定的关系?是否有利用各个产品特性之间的相互关系二次构成产品生态的可能性?
  • 四、产品规划
  • 1、你要在当前软件的基础上设计什么样的新功能?为何要做这个功能,而不是其他功能?为什么用户会用你的产品/功能?你的创新点在哪里?可以用NABCD分析。
  • 2、如果你是项目经理,可以招聘6个人,并且有4个月的时间,你认为应该如何配置角色(开发,测试,美工等等) 才能在第16周如期发布软件的改进版本,并取得预想中的成绩。
  • 3、请为你的团队设计16个周期每周的详细规划。

第一部分 调研,评测

一、InsCode

1、体验

1.1 登录登出

  • 登录功能

    在这里插入图片描述

    • 功能介绍
      点击右上角注册/登录,页面弹出登录提示框。推荐登陆方式为微信登录(同CSDN),用微信“扫一扫”功能扫描二维码后,页面跳转到主页,完成登录
      同时,还具备以下几种方式登录

      在这里插入图片描述

    • 优点分析
      优点1和CSDN登录状态保持一致,即CSDN处于登录状态则InsCode也处于登录状态,已经登录CSDN的用户可以免去登录直接使用。
      优点2:推荐的微信登录方式方便快捷,用户只需要通过微信扫描二维码就可以完成登录。
    • 缺点分析及改进意见
      缺点分析:虽然说提供了多种登录方式,但是微博、百度这两个登录方式是无法实现登录的,登录后会提示“暂不支持除微信外的其他第三方账号注册”。
      改进意见:根据市场调研了解用户常用的登录方式,将用户很少用的或者用户登录不方便的登录方式取消。要保证提供给用户的登录方式是可以正常使用的,而不是一味展示多种登陆方式。
  • 登出功能

    在这里插入图片描述

    • 功能介绍
      用户点击自己的头像,弹出下拉菜单,选择“退出登录”,即可完成退出功能,退出后跳转到InsCode官网首页。
    • 优点分析
      将推出功能折叠在用户头像下面,
    • 缺点分析及改进意见
      缺点分析:因为是一边在CSDN写博客一边测试InsCode功能的,测试推出功能的时候发现InsCode登出时,CSDN同时登出,登出后写的文章内容是无法提交的。(正在写博客的我被吓了一跳,刚写的内容差点没了
      改进意见:因为是两个平台,可以考虑将各自的登录登出功能分离开来,这样一来,用户在退出其中一个平台的账号时,另一个账号还能正常使用。就不会出现退出InsCode后CSDN一直要求登录的情况。

1.2 查看项目

在这里插入图片描述

  • 功能介绍
    点击项目卡片进入项目详情页,再点击开始按钮在线运行项目。在项目详情页,除了可以在线运行外,还可以选择查看源代码收藏项目fork项目到自己的仓库或者分享该项目。在详情页下方,还可以留言互动,讨论与该项目有关的问题,同时还提供了关注发布者的功能。

  • 优点分析
    优点1:设计美观大方,将项目预览窗口放大置于中间位置,用播放按钮提示用户点击运行项目,很好的实现了项目可视化。
    优点2:用户可以查看项目的源代码,还可以将喜欢的项目直接fork到本地仓库,方便用户学习。除此之外还提供了评论区,供用户之间交流或者直接向项目发布者提问。

  • 缺点分析及改进建议
    缺点:项目的源地址链接没有做成链接的形式,用户需要自行复制链接到浏览器打开,比较麻烦。

    在这里插入图片描述

    改进建议:可以为项目源地址提供链接功能,使得用户点击链接就能直接跳转到相应地址打开项目。

    1.3 创建项目并使用

    InsCode创建项目的方式有两种,一种是从平台提供的模板创建,一种是导入GitHub中的项目

  • 从平台提供的模板创建

    在这里插入图片描述

    • 功能介绍
      用户点击“创建项目”后进入项目信息编辑界面填入相关信息后跳转到项目编辑界面,用户可以在这里编写代码并运行
    • 优点分析
      为用户提供了可供选择的模板,为用户搭建了基本的框架,使用起来较为便捷
    • 缺点分析及改进建议
      缺点1:为用户提供的模板不够全面,本来一开始想找java模板,发现没有,还是比较不理解的。
      缺点1的改进建议:希望能不断扩充可供用户选择的模板,去除掉一些用户很少会用到的模板(比如markdown项目),并将实用的模板放到列表前面显示,提升用户体验。
      缺点2:创建项目速度慢。在排除掉网络影响的前提下,项目创建时间比较长,平均在二十秒左右。如果只是创建一个html的基本页面结构却让用户等十几秒钟,或许会影响用户积极性。
      缺点2的改进建议:可以通过修改代码逻辑结构或其他优化方式,提高创建项目的速度,避免影响到用户积极性。
  • 导入GitHub中的项目

    在这里插入图片描述

    • 功能介绍
      点击“从GitUrl导入”,弹出项目信息编辑模态框,需要正确填写GitUrl,然后填写相关信息后完成项目的创建。
    • 优点分析
      考虑到大部分用户的项目都存放在github上,可以通过GitUrl地址将自己的项目迁移到InsCode上运行,可移植性高。
    • 缺点分析及改进建议
      缺点分析:尝试使用gitcode的HTTPS导入项目,点击“导入项目”后,提示“项目创建失败,请联系客服”。本学期的作业都要求保存在GitCode上,很多用户也有将自己的代码从GitCode导入InsCode的需求,如果不能直接导入,用户还需要先上传到GitHub后再导入,比较麻烦。(如果这样的话,不如直接使用GitHub,可能会影响用户使用gitcode的积极性)

      在这里插入图片描述


      改进建议:扩展功能,使用户可以通过HTTPS从GitCode导入项目,或者直接同步GitCode上的项目,提升用户体验感。

1.4 发布项目

在这里插入图片描述

  • 功能介绍
    用户在编辑项目页面点击“发布项目”,即可将编写完成的项目发布到社区。发布的项目需要经过审核,通过审核的项目将会被发布到社区共所有人学习交流。
  • 优点分析
    用户在编写完成项目代码后即可选择将项目发布到社区,方便快捷。此外,可以确保项目的正确性,用户在线运行成功后再发布到社区,确保了浏览该项目的用户也能正常运行。
  • 缺点分析及改进建议
    缺点分析:发布功能折叠在项目名称下,第一次使用InsCode的用户可能找不到发布选项 ,对新用户不是很友好。

    在这里插入图片描述


    改进建议:可以将发布按钮独立出来,放置在编辑项目的菜单栏中,让用户清晰直白地看到发布项目按钮。

2、BUG

  • BUG量化指标
严重程度(从低到高)详细描述
建议,不会影响系统功能,只是增强用户体验方面的建议
★★轻微系统故障,对产品外观和下道工序可能会有轻微影响的缺陷。
★★★一般系统故障,不影响产品的运转和运行,但对产品的外观和下道工序影响较大的缺陷。
★★★★严重系统故障,影响系统功能或操作,但不会影响到系统稳定性。
★★★★★致命系统故障,可能会造成程序瘫痪。
  • 测试环境
    • 电脑型号:Lenovo Legion Y7000 2020
    • CPU配置:Intel Core i7-10750
    • 内存容量:16GB
    • 硬盘容量:512GB
    • 屏幕尺寸:15.6英寸

2.1 BUG-1 项目详情页关注数不增加

  • 具体描述
    在项目详情页里想要关注发布者时,点击“+关注”后,在页面不刷新地情况下,关注者数量没有增加

    在这里插入图片描述

  • 可复现性:必然发生
  • 具体分析
    • 可能成因:在编写js逻辑时,当鼠标点击“+关注”触发点击事件后,只是处理了数据库的部分(发送请求将数据库里的关注数+1),忘记了要同时渲染下方关注者的数量。此时,用户需要刷新网页,才能看到实际的关注者数量,用户体验感较差。
    • 严重性:★★★(系统功能:一般影响;安全性:无影响;用户体验:影响体验,交互体验严重下降。)
  • BUG预期及改进建议
    • BUG预期:用户点击关注发布者后,发布者人数立即更新,增强用户交互体验
    • 改进建议:将发布者人数的更新渲染放到点击事件的监听函数中。

2.2 BUG-2 通知下拉框被遮挡

  • 具体描述
    当点击头像后,头像栏向下弹出,接下来如果点击通知栏,通知栏向下弹出,但被头像栏遮挡住。此时,用户无法正常使用通知栏中的功能,只能重新点击。

    在这里插入图片描述

  • 可复现性:必然发生

  • 具体分析

    • 可能成因:在编写函数逻辑时,当菜单栏的另一个元件被点击时,并没有让其他元件隐藏,导致遮挡住接下来点击的通知栏。
    • 严重性:★★★★(系统功能:严重影响;安全性:无影响;用户体验:影响体验,交互体验严重下降。)
  • BUG预期及改进建议

    • BUG预期:用户点击头像后如果想查看通知栏,则点击通知栏后,头像栏隐藏,不会遮挡住通知栏的正常使用。
    • 改进建议:在通知栏的点击事件中编写逻辑,使得当通知栏被点击时,头像栏隐藏。

2.3 BUG-3 点击/取消“创建项目”主菜单栏位移

  • 具体描述
    当用户点击创建项目的"+"号时,主菜单栏向右侧位移;当用户取消创建项目时,主菜单栏向左侧位移

    在这里插入图片描述

  • 可复现性:必然发生

  • 具体分析

    • 可能成因:在UI设计时,没有考虑到点击“创建项目”后,右侧滚动条会消失,空出的大小主菜单栏会自行填充。
    • 严重性:★(系统功能:无影响;安全性:无影响;用户体验:影响体验,交互体验下降。)
  • BUG预期及改进建议

    • BUG预期:用户点击或取消创建项目,主菜单栏不会发生位移。
    • 改进建议:为主菜单栏设置大小为滚动条宽度的padding,使得滚动条消失/隐藏不会影响到主菜单的正常显示。

3、结论

经过以上的体验以及bug的发掘,我对InsCode的评价是d) 好,不错。接下来从以下几个方面对InsCode进行打分。

类别
描述
评分 (满分 10 分, 良好 6 分, 及格 4 分,聊胜于无 1 分, 很差 -3 分)
功能
核心功能
分析三个核心功能,功能设计和质量。
8
细节
有什么为用户考虑的细节?
8
用户体验
当用户完成功能时,不干扰用户 (例如: 是否不断弹出不相关广告)。
10
辅助功能
一些辅助功能如皮肤等
6
差异化功能
这个软件独特的功能. 它对用户的吸引力有多大?
8
软件的效能
占用内存, 启动速度, 内存泄漏情况
7
体验
软件的适应性
在联网/断网, 大小屏幕, 没有鼠标的情况下都可以顺畅操作. 和不同平台的软件能流畅协作
10
成长性
记住用户的选择, 适应用户的特点,用户越用越方便
7
用户有控制权
系统状态有反馈,等待时间要合适。关键操作有确认提示,有明确的错误信息。 让用户方便地从错误中恢复工作, 快捷操作键可调整。
9
自选
自选评分项目
软件能否满足用户的需求,解决用户的问题
9
总分
82
综合来看,InsCode能够为用户提供一个在线运行代码和交流技术的平台,用户使用起来比较方便很快就能上手,对新手比较友好。

二、IT屋

1、体验

1.1 浏览首页

在这里插入图片描述

  • 功能介绍
    首页主要内容为教程和问答板块,向下滑动依次为“菜鸟教程”、“最新问答”。
  • 优点分析
    优点:突出网站最有特色的两个重点。
  • 缺点分析及改进建议
    缺点:菜鸟教程的配图颜色单调,起初以为没有加载出来,最后发现使用的是灰色图片,影响用户体验。
    改进建议:可以将教程的图片设计成彩色,加强用户感官。

1.2 使用在线工具

在这里插入图片描述


在这里插入图片描述

  • 功能介绍
    以java在线工具为例。在代码编辑区编写好代码后,点击“点击运行”后,代码开始执行,执行的结果将打印在下方文本框区域。
  • 优点分析
    优点1:编译速度快,使用简单,没有复杂的步骤。
    优点2:为用户提供了可以嵌入到自己代码中的在线工具,便于用户开发自己的程序。

    在这里插入图片描述


    优点3:提供下拉菜单,可以快速切换语言
  • 缺点分析及改进建议
    缺点1:如果输出内容很多,输出区域就会变成可以滑动的滚动区域。如果输出结果出现问题,还需要拉动页面查看代码内容,使用起来很不方便。
    **缺点1改进建议**:可以让用户`自由选择代码编辑区和输出区域的位置`。如果用户代码量和输出结果偏多,可以选择将代码编辑区和输出区并排放置,方便查看。
     **缺点2**`广告`占据了页面的很大一部分![在这里插入图片描述](https://img-blog.csdnimg.cn/9f181340d62b42129ed7665db2f5c397.png)  
     **缺点2改进建议**:在线运行的页面`去除`掉广告,避免打扰到用户。
    
    缺点3:只能运行单独的java文件,而不能运行java项目,使用范围较小
    缺点3改进建议:提供更强大的功能,使得能直接运行整个项目,拓展使用范围。

1.3 使用问答库

在这里插入图片描述

  • 功能介绍
    可以利用下拉菜单选择需要查看的分类,可供选择的有JAVA、C/C++、Python、前端开发、移动开发、数据库、C#/.NET、PHP。点击分类即可进入相应的问答板块。可以选择利用右上角的搜索功能搜索网站内容,也可以选择自己感兴趣的内容点击进入问答详情页
  • 优点分析
    优点1分类清晰,用户可以根据自己的需要选择合适的分类浏览。
  • 缺点分析及改进建议
    缺点1:点击到问答详情页后被要求登录才能查看内容,并且需要关注公众号后发送验证码才能完成登录,登录复杂,用户使用起来不方便。
    **缺点1改进建议**:可以使用`微信扫码登录、短信验证码登录`等这一类方便快捷的登陆方式。
    **缺点2**:在问题描述等区域放置了`醒目的广告`,影响用户浏览文章。
    **缺点2改进建议**:去除掉这部分广告或者不要用黄色突出显示,避免严重影响用户浏览。
    

2、BUG

  • BUG量化指标
严重程度(从低到高)详细描述
建议,不会影响系统功能,只是增强用户体验方面的建议
★★轻微系统故障,对产品外观和下道工序可能会有轻微影响的缺陷。
★★★一般系统故障,不影响产品的运转和运行,但对产品的外观和下道工序影响较大的缺陷。
★★★★严重系统故障,影响系统功能或操作,但不会影响到系统稳定性。
★★★★★致命系统故障,可能会造成程序瘫痪。
  • 测试环境
    • 电脑型号:Lenovo Legion Y7000 2020
    • CPU配置:Intel Core i7-10750
    • 内存容量:16GB
    • 硬盘容量:512GB
    • 屏幕尺寸:15.6英寸

2.1 BUG-1 类别标签没有突出显示

  • 具体描述
    在选择在线工具时,选中的在线工具类别没有像其他页面一样突出显示

    在这里插入图片描述

  • 可复现性:必然发生

  • 具体分析

    • 可能成因:在编写js代码的时候,当分类标签被点击,应该为该分类标签的a标签增添“yellow"类。开发人员或许是在开发过程中忘记了这个步骤。

      在这里插入图片描述

    • 严重性:★★★(系统功能:一般影响;安全性:无影响;用户体验:影响体验,交互体验严重下降。)
  • BUG预期及改进建议

    • BUG预期:用户点击分类标签后,标签名高亮显示,增强交互体验
    • 改进建议:为点击的a标签增加yellow类

2.2 BUG-2 部分搜索功能无效

  • 具体描述
    当用户浏览“菜鸟教程”,点击切换内容时,右上角搜索框会自动填充提示用户搜索相关内容。但是点击后发现搜索不到结果
  • 可复现性:必然发生
  • 具体分析
    • 可能成因:可能没有编写相关模糊查询的语句,查询语句过于具体,导致用户只能搜索类似”java"、“c++"、“前端”等一类的关键词。
    • 严重性:★★★★(系统功能:严重影响;安全性:无影响;用户体验:影响体验,交互体验严重下降。)
  • BUG预期及改进建议
    • BUG预期:用户无论输入什么关键词,系统都要给出结果。
    • 改进建议:编写模糊查询语句,扩大用户的搜索范围。

3、结论

经过以上的体验以及bug的发掘,我对InsCode的评价是b)不推荐。接下来从以下几个方面对IT屋进行打分。

类别
描述
评分 (满分 10 分, 良好 6 分, 及格 4 分,聊胜于无 1 分, 很差 -3 分)
功能
核心功能
分析三个核心功能,功能设计和质量。
6
细节
有什么为用户考虑的细节?
6
用户体验
当用户完成功能时,不干扰用户 (例如: 是否不断弹出不相关广告)。
-3
辅助功能
一些辅助功能如皮肤等
6
差异化功能
这个软件独特的功能. 它对用户的吸引力有多大?
6
软件的效能
占用内存, 启动速度, 内存泄漏情况
8
体验
软件的适应性
在联网/断网, 大小屏幕, 没有鼠标的情况下都可以顺畅操作. 和不同平台的软件能流畅协作
10
成长性
记住用户的选择, 适应用户的特点,用户越用越方便
6
用户有控制权
系统状态有反馈,等待时间要合适。关键操作有确认提示,有明确的错误信息。 让用户方便地从错误中恢复工作, 快捷操作键可调整。
7
自选
自选评分项目
软件能否满足用户的需求,解决用户的问题
8
总分
60

综合来看, IT屋 能够满足用户的基本需求,但是在界面上过于老旧且广告很多 ,影响了用户体验。可能大部分用户都是在搜索引擎搜到相关内容后,才会点击到该网站,很少一部分用户会收藏并持续关注此网站。用户使用起来较为不便,界面、功能和内容都有待提高。

三、Online Compiler and IDE

1、体验

1.1 运行代码

在这里插入图片描述

  • 功能介绍
    在代码编辑区编写完代码之后,点击“Run"运行代码,下方出现“编译中”的加载圆圈,加载完成之后在下方控制台输出结果。
  • 优点分析
    优点1:操作简单,用户能快速上手。
  • 缺点分析及改进建议
    缺点1:编辑代码的时候没有代码提示功能,用户编写代码的时候容易出错。
    **缺点1改进建议**:建议`增加代码提示功能`,用户编写代码的时候可以提示单词或结构 ,避免拼写错误。
     **缺点2**:有广告的植入 ,但是看看起来会比IT屋的广告舒服许多,没有那么夸张。
    **缺点2改进建议**:建议`缩小广告的位置`,将代码编辑区的位置扩大 。
    

1.2 浏览并使用范例

在这里插入图片描述

  • 功能介绍
    这里有各个语言编写的模板,需要复制下来粘贴到自己的代码编辑器里使用。
  • 优点分析
    优点:为用户提供了 基本的模板,用户免去了编写 一些基础语句的麻烦
  • 缺点分析及改进建议
    缺点:这边写道用户可以“点击执行”,但是下方的范例并没有执行的选择,用户只能复制下来才能使用,使用起来会比较不方便。

    在这里插入图片描述

    **缺点1改进建议**:设置一个按钮可以直接`跳转到代码编辑区`,范例的内容也直接复制过去,用户就可以直接开始编写代码。
    

1.3 查看最近通过的代码

在这里插入图片描述

  • 功能介绍
    用户可以查看最近通过的代码,可以看到不同人的成果,从而从中学习。用户还可以复制到自己的代码编辑区里进行编辑。
  • 优点分析
    可以查看到同行业的IT爱好者们的成就,从中学习知识,来获得技术上的进步。
  • 缺点分析及改进建议
    缺点:没有语言的分类,很多用户缠上的只有一到两种语言,并且希望看到特定语言相关的内容。没有语言的分类多种语言会混杂在一起,用户使用起来会比较不方便。
    改进建议:为语言增加分类功能,类似于范例那边的分类,有利于用户找到自己需要的内容。

2、BUG

  • BUG量化指标
严重程度(从低到高)详细描述
建议,不会影响系统功能,只是增强用户体验方面的建议
★★轻微系统故障,对产品外观和下道工序可能会有轻微影响的缺陷。
★★★一般系统故障,不影响产品的运转和运行,但对产品的外观和下道工序影响较大的缺陷。
★★★★严重系统故障,影响系统功能或操作,但不会影响到系统稳定性。
★★★★★致命系统故障,可能会造成程序瘫痪。
  • 测试环境
    • 电脑型号:Lenovo Legion Y7000 2020
    • CPU配置:Intel Core i7-10750
    • 内存容量:16GB
    • 硬盘容量:512GB
    • 屏幕尺寸:15.6英寸

经过测试暂未发现bug

3、结论

经过以上的体验已经bug的发掘,我对Online Compiler and IDE的评价是c) 一般。接下来从以下几个方面对Online Compiler and IDE进行打分。

类别
描述
评分 (满分 10 分, 良好 6 分, 及格 4 分,聊胜于无 1 分, 很差 -3 分)
功能
核心功能
分析三个核心功能,功能设计和质量。
4
细节
有什么为用户考虑的细节?
8
用户体验
当用户完成功能时,不干扰用户 (例如: 是否不断弹出不相关广告)。
8
辅助功能
一些辅助功能如皮肤等
6
差异化功能
这个软件独特的功能. 它对用户的吸引力有多大?
4
软件的效能
占用内存, 启动速度, 内存泄漏情况
8
体验
软件的适应性
在联网/断网, 大小屏幕, 没有鼠标的情况下都可以顺畅操作. 和不同平台的软件能流畅协作
10
成长性
记住用户的选择, 适应用户的特点,用户越用越方便
6
用户有控制权
系统状态有反馈,等待时间要合适。关键操作有确认提示,有明确的错误信息。 让用户方便地从错误中恢复工作, 快捷操作键可调整。
9
自选
自选评分项目
软件能否满足用户的需求,解决用户的问题
8
总分
71

综合来看,Online Compiler and IDE是一个为用户提供在线编程的平台。功能比较专一,但是界面简洁大方,能满足用户的基本需求。希望后期能不断完善功能,继续为用户提供良好的服务。

以下是对同学的采访

在这里插入图片描述

第二部分 分析

一、开发时间估计

1、开发团队假设

6人团队,均为计算机相关专业毕业的本科生,分别具备前端、后端、UI基础,通过以往经验以及查找资料能够自主开发项目

2、开发过程大致分析

通过对以上三个技术社区的使用和测评,我对技术社区的功能有所了解,他们在功能上
结合团队成员水平,我发现对于这样的网站,在开发商可能会遇到以下几个困难:
困难一美观并且合理的UI设计(在本科阶段的教学过程中,并没有接触到UI设计相关的知识,所以在UI设计上所花费的学习事件可能会比较长)
困难二:复杂数据库的建立以及大批量数据的处理(以往的数据库实践课程只是建立了类似图书管理系统的简单系统,而如今要开发的系统功能上要复杂许多,缺乏开发经验的开发者要花更多时间在数据库设计与实现上)
困难三开发完成的测试(网站上线之前的测试是至关重要的,这关系到用户的体验以及网站的影响力,但是目前为止具备的测试能力是不足以完成各功能测试的,因此在测试上大概要花费掉很多时间)
综合以上的困难和对技术平台的了解分析,我认为敏捷开发更适合现在这种条件的小团队。因为团队成员对技术还不是很熟练,所以可以先开发一些基础功能,后期不断更新迭代。开发基础功能的时间预估如下:
|阶段 | 预估时间(天)|
|--|--|
| 学习相关知识(穿插进行) | 30 |
| 原型设计 | 15 |
| 需求分析 | 15 |
| 数据库设计 | 15 |
| 开发 | 90 |
| 测试 | 30 |
| 合计 | 195 |

预估需要6~7个月的时间完成基础功能的开发,后期还需要不断运营维护。
在此基础上,对以上三款产品的开发时间估计如下:

  • InsCode:8个月
  • IT屋:5个月
  • Online Compiler and IDE:3个月

二、同类产品对比排名

InsCodeIT屋Online Compiler and IDE
界面设计的美观程度(20)181018
用户的交互性 (15)131010
功能完整程度(20)181210
bug没有影响正常使用(15)121315
内容质量(15)101210
整体活跃度(15)1088
总分816571

综合来看,同类产品中的排名是InsCode > Online Compiler and IDE > IT屋

三、软件工程方面的建议

1、InsCode

  • 加强市场调研,分析用户需求。可以在csdn中创建InsCode相关社区,积极收集用户需求,对一些呼声很高的功能加以扩充。
  • 积极收集用户反馈。收集用户使用过程中遇到的bug以及问题,并及时加以修改完善。
  • 建议在发布功能里增加需要让发布者填写项目相关介绍的功能,使得对该项目感兴趣的用户能快速理解项目的大致内容,有利于学习。

    2、IT屋

  • 优化页面设计,吸引用户使用。可以利用现在比较常用的组件库,优化UI设计,使得布局更加合理。
  • 优化代码编辑器的摆放位置,使得用户可以自由调整代码编辑区和输出区域的位置。
  • 去除广告,避免过于打扰到用户浏览。
  • 增加交互效果,比如用户选中了一个分类,当前标签应该高亮显示。

3、Online Compiler and IDE

  • 不断完善功能,增加一些代码编辑相关的功能(如代码提示、范例自动导入等)
  • 在细节方面加以注意(如为最近通过的代码添加分类功能),增强交互体验。

四、BUG存在的原因分析

1、InsCode

  • BUG1(项目详情页关注数不增加)分析开发人员粗心大意,点击事件的处理不够全面,要同时渲染页面数据,而不是等待下一次的刷新。

  • BUG2(通知下拉框被遮挡)分析开发人员粗心大意、测试把控不严。开发的时候逻辑设计不够缜密,没有注意到头像下拉框和通知下拉框两者是互斥的关系;在测试的时候测试用例设计的不够全面,从而忽视了这个漏洞。

  • BUG3(点击/取消“创建项目”主菜单栏位移)分析具体设计质量不高。代码设计阶段没有考虑到滚动条对页面布局的影响,在后面的测试中可能也找不到很好的办法解决。

2、IT屋

  • BUG1(类别标签没有突出显示)分析开发人员粗心大意、测试把控不严。开发人员在开发测试工具功能的时候忘记像前面的页面一样增加yellow类;测试人员在测试的时候没有注意到这个功能,测试用例不够全面。
  • BUG2(部分搜索功能无效)分析对用户需求掌握不好。在设计数据库时没有意识到用户可能需要模糊查询,从而影响到了用户体验。

3、Online Compiler and IDE

暂未发现BUG

第三部分 建议和规划

一、市场概况

1、首先市场有多大?

  • 2014-2023年我国IT服务市场规模及预测

在这里插入图片描述

  • 具体分析
    从图中可知,我国IT市场规模成上升趋势,且市场占比将近达到20%的比重。可见,当前的IT从业者数量庞大,IT学习者也相当多。所以像InsCode、IT屋这类技术交流平台的点击量、浏览量是十分可观的。

2、其次直接的用户有多少?

  • 使用类似的IT技术交流平台,直接用户主要有有IT从业者、未来打算从事IT相关职业的学习者
    以下是2023年求职期望从事行业情况,从图中可以看出,希望从事IT行业的求职者数量庞大

    在这里插入图片描述

3、潜在的用户有多少?

不同于IT从业者以及正在学习IT技术的求职者,技术交流平台的潜在用户主要是一些对IT感兴趣的人群,他们的工作领域与IT无关,但是却喜欢关注行业内的最新走向以及最新技术

以下是高考搜索关键词数量统计图。从图中可以看出,IT专业的搜索比例是很高的,也就是说大部分的高中毕业生选择专业的时候都会考虑IT专业。但是因为录取人数的限制,很多对IT感兴趣的同学并没有办法进入IT相关专业学习,他们或许会通过转专业的方式在大学进入IT专业,又或许会自学技术,毕业后找到一个适合的工作或者通过考取研究生的方式转向IT专业。

在这里插入图片描述

二、市场现状

1、目前市场上有什么样的产品了?

除了做评测的三个产品以外,还有一些IT技术平台也不错,包括:CSDN、博客园、51CTO、Product Hunt等等。

2、上述产品的定位、优势与劣势在哪里?

  • 定位:
    上述产品本质上都是IT交流平台,他们主要为软件开发者提供知识传播、在线学习、职业发展等全生命周期服务。
  • 优势
    • InsCode:它的优势在于界面美观、无广告。界面上更能被用户接收,简洁美观;并且网站内部是没有广告的,不会影响到用户正常浏览。
    • IT屋:它的优势在于“在线编程工具”“菜鸟教程”内容丰富。当用户想要格式化json或者学习java知识汇总时,IT屋是个不错的选择。
    • Online Compiler and IDE:它的优势在于操作简单,满足那些仅仅需要运行自己代码来验证结果的用户的需求。
  • 劣势
    • InsCode:它的劣势在于模板不够丰富、社区内容大量重复。可能是因为刚开始运营的问题,InsCode的模板不够丰富,一些比较常见且重要的模板还没有添加到其中;其次,社区内容重复较多,并且因为都是学生在测试,内容质量低。
    • IT屋:它的劣势在于界面老旧、广告多。IT屋的界面设计比较简陋而且不够美观,可能会造成用户不想继续浏览;其次,点击测试工具、菜鸟教程、问答都会弹出广告,严重影响体验,大部分用户可能会直接关掉另找网站。
    • Online Compiler and IDE:它的劣势在于功能不够强大、代码编写不够方便。Online Compiler and IDE的功能比较单一,比较适合刚接触语言的人群学习,网站会提供一些模板,使得学习者能快速创建代码。但是代码编辑器不带代码提示功能和错误检测,使得学习者很容易犯错,不利于学习者的学习。

3、上述产品之间呈现什么样的关系,哪些为竞品关系?以及竞争中的各方态势如何?

  • 上述产品在主要功能上比较类似,都是IT交流平台,使用InsCode的用户可以在平台上发布或者fork项目来学习技术;使用IT屋的用户可以使用问答库提问、使用在线工具调试代码还可以浏览技术相关教程;使用Online Compiler and IDE的用户可以在线运行自己的代码,还可以看到同行的提交情况。
  • 因为三个产品都具有在线运行代码的能力,所以在这个方面,三个产品互为竞品。在这个方面,排序的方式应该是InsCode > IT屋 ≈ Online Compiler and IDE,InsCode的呈现方式会略胜一筹。因为现在许多项目的运行都是有界面的,InsCode就很好的满足了这一需求,在展示效果上要比较好。其次,InsCode具有代码提示功能,这一点是其他两款产品都没做到的,用户编辑起来会非常方便。所以InsCode的效果会比较好。

4、这个领域正处于(萌芽/成长/风口/下降)阶段?

经过市场调研,我发现这个领域正处于风口阶段。随着GPT的发展,越来越多的人开始了解计算机技术,而大部分人了解计算机技术的方式则是浏览技术博客。像csdn这样的交流平台,每天都有关于新技术的交流,计算机开始被越来越多的人重视。

三、市场与产品生态

1、这个产品的核心用户群是什么样的人?典型用户是什么样的?学历,年龄,专业,爱好,收入,表面需求,潜在需求都是什么?

  • 核心用户群
    这个产品的核心用户群是正在学习IT的学习者或者从事IT相关职业的从业者
  • 典型用户
    典型用户将围绕以上两种核心用户展开

正在学习IT的学习者

刻画指标结果
学历大三在读
年龄21
专业软件工程
爱好打游戏、看电影
收入
表面需求想要毕业后找到一份合适的计算机相关工作
潜在需求要学会计算机相关技能

从事IT相关职业的从业者

刻画指标结果
学历211本科毕业
年龄25
专业计算机科学与技术
爱好打游戏、旅游
收入10000+
表面需求想要年底跳槽到工资更高的公司
潜在需求需要继续磨练自己的专业技能

2、产品的用户群体之间是否存在一定的关系?是否有利用其相互作用二次构成特定用户生态的可能性?

产品的用户群体之间存在着联系,他们都有提升自己技术能力的需求。从业者因为具有工作经验,可以给予学习者一些专业上的指导和知识的分享;学习者因为对知识掌握的不太牢固,所以犯错是难免的,这些错误又能帮助从业者从中吸取教训,从而更好的磨练技能。

3、产品的子产品,以及其他相关产品之间是否存在一定的关系?是否有利用各个产品特性之间的相互关系二次构成产品生态的可能性?

比如CSDN和InsCode,他们两者之间可以形成互补关系。CSDN上的内容是一些技术博客,主要是一些理论知识,而InsCode偏向于代码的分享,学习者可以直接运行项目。可以在CSDN的博客里写下可运行的InsCode项目地址,这样一来学习者可以很好的掌握知识。

四、产品规划

1、你要在当前软件的基础上设计什么样的新功能?为何要做这个功能,而不是其他功能?为什么用户会用你的产品/功能?你的创新点在哪里?可以用NABCD分析。

以InsCode为例,我的建议是新增一个互动板块,用户可以选择话题在这里讨论研究。
|关键点| 分析 |
|--|--|
| N(need,需求) | 很多用户对一些技术还不是很了解,如果让他们一开始就接触一些实际的项目可能会难以接受。用户或许有先了解该技术的需求,增加互动板块可以满足用户的需求。 |
| A(Approach,方法) | 建立互动板块,并创建分类,用户可以在这里畅所欲言。每个分类里 还可以收集一些学习资料,方便用户查阅。|
| B(Benefit,好处) | 这样一来 ,用户是在了解该技术的情况下查看项目文件的,不会出现因为不了解 而造成的一头雾水。懂技术的人肯定是有的,但是如果没有相关入门资料的话对一些新手来说就不太友好。所以如果有这样一个板块能够接纳新人,让新学习的用户能快速入门,那么网站的浏览量应该会有所增加。 |
| C(Competition,竞争) | 主要的竞争应该是其他的IT社区平台中的交流功能,他们的交流内容有可能也是使用InsCode用户关系的。
| D(Delivery,推广) | 可以通过CSDN进行推广,利用公告或者弹窗的形式提示用户新开发的InsCode网站以及相关功能。 |

2、如果你是项目经理,可以招聘6个人,并且有4个月的时间,你认为应该如何配置角色(开发,测试,美工等等) 才能在第16周如期发布软件的改进版本,并取得预想中的成绩。

我认为比较合理的配置是1人美工,2人前端,2人后端,1人测试

3、请为你的团队设计16个周期每周的详细规划。

周数计划
1项目启动
2原型设计
3原型设计
4原型最后审查、需求分析
5需求分析
6数据库设计
7数据库设计
8召开小组会议,分配前后端任务
9前后端开发
10前后端开发
11前后端开发
12前后端开发,基本功能完成
13阶段测试,发现程序漏洞
14修改漏洞
15发布前的内测
16正式发布
...全文
52 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

688

社区成员

发帖
与我相关
我的任务
社区描述
2023年福州大学软件工程实践课程W班的教学社区
软件工程团队开发软件构建 高校 福建省·福州市
社区管理员
  • FZU_SE_teacherW
  • 张书旖
  • 郭渊伟
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧