软件工程-案例分析作业-牛客

项目 内容
这个作业属于哪个课程 2021春季软件工程(罗杰 任健)
这个作业的要求在哪里 案例分析作业
我在这个课程的目标是 学习软件工程基础知识以及培养软件开发能力和项目组织能力
这个作业在哪个具体方面帮助我实现目标 从用户体验、软件评测、市场分析、设计规划等方面去分析一个软件,从而把握住软件开发的要点

P1 软件初体验

本次作业我对所要求的三款app进行了初步的体验,其中由于牛客是重点书写部分,因此接下来会对牛客的体验做出重点说明,csdn与微信公众号的体验主要用来后续的产品对比部分,因此介绍较为简短。

1.牛客

“牛客网是一个集笔试面试系统、题库、课程教育、社群交流、招聘内推于一体的招聘类网站”

虽然看完百度百科后我对这个网站所提供的服务内容已经有了初步的心里预期,但当对该网站进行了一定程度的体验之后,还是惊叹于牛客网的内容之多、板块划分细小且精准,在知识提升上,它能够以较为专业的方式去引导与规划你的学习路线;在实践应用方面,又提供了诸多模拟笔试、模拟面试等内容,来帮助你进行一次较为真实的面试体验;更重要的,他还提供了一个良好的讨论社区,让大家来相互交流自己的学习经历、面试经历等,从而让“一个人的面试”不再只是“一个人”的,让大家都能一同享受这零距离的面试体验。

虽然此次要体验的软件是牛客的app版本,上面的长篇大论只是针对于牛客网,但是牛客app也不过只是在牛客网的基础上做了一定程度的内容阉割,因此app版本在整体内容上不会有太多偏差。

软件使用截图

csdn_组合 csdn_组合

学习板块

登录牛客app后的第一个板块便是学习板块。这一块主要包含了一些备考面试所需要的知识储备,并且以练习的形式给出。

用户可以使用“每日一练”功能来进行每日的随机题目的练习,或者针对某一岗位的某一方向的知识点进行专项训练。训练后的错题会加入到错题集中,方便用户之后再来对错题进行分析与学习。

牛客在这一板块中也通过“面试宝典”功能给出了一些常见岗位的学习路线与考点导图,来引导用户进行较为系统的学习。

除了上述功能,我认为这一板块一个较吸引我的功能就是给出了各公司的招聘笔试真题,这一部分是牛客与这些企业合作,获得了相应的授权后,免费开放给用户使用与练习的。这里往往会开放一些刚刚结束的笔试真题,既方便未参加该场笔试的用户进行最新的体验,也方便刚参加完的用户进行复盘分析。

除此之外,该板块还加入了校招日程、最新面经、求职攻略、求职专刊等内容,这里不再描述。

社区板块

在这里用户可以自由发部帖子,来描述自己的面试经历或者一些求职经验等,也可以与其它用户进行积极的互动与交流。这里也有部分公司内部人员在社区里进行招揽宣传,或者大牛对某些问题阐述自己的看法等,总之就是一个以求职内容为中心的讨论区。

牛客app在这一板块中专门将面经、内推、薪资等这些高频内容划分出来,并将类型相同的帖子进行聚合,从而方便用户按类型挑选自己所需的帖子。

同时这一板块中还推出了“找内推”功能,各公司的正式员工注册后,可以在这里发布自己的名片,方便想要找内推的用户寻找到自己;同时其它用户可以看到其他人对这些名片的评价,以挑选更加靠谱的员工内推自己。

求职板块

这里牛客提供了“笔试日历”与“校招日程”功能,来方便用户获取各公司的招聘安排信息。同时在这里牛客会张贴各招聘公司在牛客发布的岗位,并标注公司、岗位类型、工作base、时间要求、薪酬、发布时间等信息,而且会通过用户对该招聘岗位的评价给出一些特性化标签,如“有反馈”、“处理快”等,以帮助用户选取更加合适的岗位。

个人信息板块

这里牛客会给出个人的练习统计,将所练习的试卷、收藏的题目、做错的题目等以列表或者图标的形式给出,以及有正确率、程序提交次数等统计信息。同时牛客在这里给出了一个“成就值”的设定,以徽章、挂件等奖励形式来激励用户去更加积极的提升自己与建设社区。

软件使用感受

虽然相比牛客网,app版本的内容明显少了许多,但是作为移动端的应用,软件本身就应该以精简为主,牛客app在这方面做的也确实很不错,不仅UI做的比较简洁精美,而且对内容的把握也很精准,只把牛客网中的最为核心的内容,比如题目练习、面经资源、校招日程等功能放到了这上面。

不过我对牛客app体验的过程中,还是觉得首页,也就是学习板块内放的内容有些繁杂,有些内容并不与“学习”这一主题相不匹配。除了练习题、面经资源、求职攻略、专刊、课程、教程等这些与学习有着密切关系的部分,像“帮你内推”、“薪资爆料”这些并不属于学习的部分也一同放入到了学习板块中。因此在分类这方面有些地方还是稍显混乱。

除此之外牛客为了精简app版本,似乎并没有采纳牛客网首页的那种目录结构,然而我在使用网页版的时候最满意的就是首页的目录式结构,它将资源进行了更好的分类,并且会以较为系统的形式去引导你找到想要的内容。但是也许是开发团队认为app的内容比较少,还不至于用到目录结构来帮用户进行引导,亦或者是目录结果在移动端的显示效果并不好,牛客app并没有这种目录页,我还是有点小失望的。

但是总体上看来,牛客app的使用体验还是很不错的,不仅内容十分契合受众人群,内容质量比较高,而且软件的布局安排、ui设计、交互逻辑还是很好的。

2.csdn

软件使用截图

csdn_组合

软件大致内容

首页部分采用了资讯软件常用的布局方式,“关注”、“推荐”、“热榜”等标签的分类也符合当下潮流,因此软件的上手是很舒适的。同时csdn会将常见的交流内容划分为一个个频道,以便用户去选择更加贴合自己的圈子。会员板块提供了一些付费服务,比如购买一些精品书籍,一些VIP课程等。直播板块会对一些热门直播进行预告,同时也可以查看过去的直播回放。个人板块就不再叙述。

软件使用感受

作为一个IT交流社区,文章的阅读体验无疑是最优先的。不过由于手机屏幕比例的问题,导致比较宽的代码块的阅读体验极差,通常需要用手指向左滑动代码块才能看到代码块右边的部分,这很大的影响了阅读体验,(相比于网页版的csdn就没有这种问题)。

同时文章页面的“内容”、“评论”、“相关推荐”没有分区提示词,以及这三者的间隔外间隔与各自的内间隔比例不协调,再加上评论区内部、相关推荐内部没有分割线的缘故,查看的时候会显得稍显别扭,给人一种较为混乱的感觉。

截图如下:

同时文章的审核机制较差,不仅有很多转载类的文章,点进去你就只能看到一个连接,然后再点跳转链接过去才能看到原文章,有时甚至会有转载文章互相转载的现像,而且有些文章内容比较低下,不能很好的解决读者的问题。而这部分的体验对于一个交流社区来说往往是很核心的。

总之csdn在软件交互逻辑方面与当下主流软件较为契合,因此比较容易上手,但是在内容以及排版方面还有待改进。

3.微信公众号

由于公众号大家平时都在用,这里就不再放软件使用截图。只对体验进行一个比较简单的阐述。

微信公众号给无论是商家还是客户都提供了较大的遍历,这里就像是一个应用商店,你仅仅只需要搜索到自己想要的公众号,无需像一般软件一样经过下载与安装等步骤,直接点击即可以享受到公众号所提供的服务。因此公众号给我的感觉就是“小巧且精致”,因此对于大部分情况,使用体验还是蛮好的。

不过美中不足的是,微信公众号的搜索功能并没有推荐机制,也就是公众号并不会根据你的需求或者爱好向你推荐你可能需要的公众号,而是需要你从别的地方了解到相应功能的公众号的名称,然后对名称进行搜索后,才能找到你想要的公众号,这一点还是不太便利的。

P2 软件评测

在上面的初体验过程已经对三款app做出了初步的评价。牛客app UI精美、内容划分较为明确、内容靶向度很高,并且内容有很高的实时性,因此我对有求职需求的群体还是很推荐这款app的;csdn虽然在国内是一款很知名的IT社区交流软件,软件大部分效果也比较不错,但文章的排版不太契合移动端,以及内容参差不齐,较为繁杂,有时用户很难找到自己想要的内容,因此我对该app的评价一般;公众号为开发者或者客户都提供了一个很好的服务平台,并且当下几乎所有人都在使用这个功能,也足以见证它的成功,除了搜索部分不太如人所愿之外,整体上效果还是很好的,因此我对公众号的评价也是很不错的。

接下来我会对这三款app进行一个定量分析:

类别 描述 牛客 csdn 微信公众号
核心功能 分析三个核心功能的设计和质量 技能掌握与个人提升、经验交流与经历分享、企业招聘安排(8分) 经验交流、问题搜索、社区建设(3分) 平台提供、消息推送、门店小程序(9)
细节 有什么为用户考虑的细节? 内容安排方面,由于移动端编码环境的问题,题目形式大多以选择、问答形式给出;并且首页的广告会在你滑动时进行位置调整与透明度设置(8分) 推荐不只是根据你曾经所浏览的内容生成,也会推荐你曾经关注的人发表的内容(6分) 公众号聊天框的回复内容可由商家自定义,且可以设置默认回复内容,来对客户进行引导(8分)
用户体验 当用户完成功能时,不干扰用户 首页有广告,静置时会遮挡视线;社区浏览过程中右下角的加号图标也会遮挡视线。不过总体上没有太大问题(7分) 虽然有广告但是是以插入的方式排版,不会出现遮挡现象,但也会影响阅读体验,不过也没有太大问题。但是文章内容没有把关,导致体验较差(4分) 没有广告弹出现像,不过按钮点击效果以及加载效果不太好(6分)
辅助功能 一些辅助功能如皮肤等 具有黑名单、屏蔽功能和勿扰模式,以及可以生成图片水印,但是没有夜间模式(6分) 具有隐私设置和夜间模式(7分) 没有辅助功能,不支持客户个性化配置(3分)
差异化功能 软件独特的功能,对用户的新引力 可以进行模拟笔试与模拟面试,并且会提供最新鲜的企业真题,以及显示各企业招聘日程(9分) 基于用户的交流社区(6分) 提供运营平台,支持商家个性化制作公众号,并且上手难度低。(10分)
软件的效能 占用内存,启动速度,内存泄漏 启动较快且内存占用不高(7分) 启动也较快(7分) 无需下载无需安装,不过必须启动微信使用,且按钮点击较为卡顿(6分)
软件的适应性 在联网/断网, 大小屏幕, 没有鼠标的情况下都可以顺畅操作. 和不同平台的软件能流畅协作 会对屏幕进行适配,且操作较为顺畅(7分) 没有太大问题(6分) 没有太大问题(6分)
成长性 记住用户的选择, 适应用户的特点,用户越用越方便 每日一练能够记录上次训练的方向,且会有错题集专门保存用户的错题,有浏览历史,会对过去情况进行统计分析,不过没有个性化推荐(7分) 有浏览历史,具有个性化推荐,具备数据分析(7分) 虽然关注公众号会得到相应的推送,但关注量多后各种推送繁杂,使用体验较差(3)
用户有控制权 系统状态有反馈,等待时间要合适。关键操作有确认提示,有明确的错误信息。 让用户方便地从错误中恢复工作, 快捷操作键可调整。 用户可以自定义免打扰时间段,且有相应反馈信息(7分) 有反馈信息(6分) 有反馈(6分)
自选评分项目 要求软件学习成本低,上手容易 软件逻辑设计清晰,上手难度低(8分) 逻辑设计也较为清晰,上手难度低(7分) 对于客户来说,商家提供的功能会在下方罗列出,上手难度很低(8分)
总分 74 59 65

P3 bug调研

bug量化标准

名称 描述 星级
Blocker(崩溃) 阻碍开发或测试工作的问题;造成系统崩溃、死机、死循环,导致数据库数据丢失,与数据库连接错误,主要功能丧失,基本模块缺失等问题。 ⭐⭐⭐⭐
Critical(严重) 系系统主要功能部分丧失、数据库保存调用错误、用户数据丢失,一级功能菜单不能使用但是不影响其他功能的测试。功能设计与需求严重不符,模块无法启动或调用,程序重启、自动退出,关联程序间调用冲突,安全问题、稳定性等 ⭐⭐⭐
Major(一般) 功能没有完全实现但是不影响使用,功能菜单存在缺陷但不会影响系统稳定性。 ⭐⭐
Minor(次要) 界面、性能缺陷,建议类问题,不影响操作功能的执行,可以优化性能的方案等。

测试环境:操作系统:Android 10、牛客app版本号:3.26.3

可复现性:必然发生

具体复现步骤:点开”每日一练“ -> 点击”练点别的“ -> 找一个专项点击”练习“->迅速点击后退键-> 确认离开 -> 再立刻点击一个专项进行练习

bug具体情况描述:得到了”操作太快,请稍后再试。Too Many Requests!“的反馈,配图如下:

QQ图片20210409181914

Bug分析:bug成因可能是由于上一张试卷还在加载过程,就立刻选择去加载另一张试卷,从而造成请求数目过多而产生的一种保护性措施。虽然这一定程度上可能是处于安全性考虑,但是这无疑挫败了用户的使用体验,当用户点开练习时,不小心误触或者由于没注意等原因选择了一张错误的试卷,想要返回重新选自己需要的试卷的时候,却会因为该bug而暂时不能选取新的试卷,从而白白浪费客户时间,可能会造成客户心情急躁等不好的影响。因此我给此bug的评级为"☆☆"

P3 分析

使用此服务的所有功能,估计这个软件/网站/服务做到这个程度大约需要多少时间(团队人数6人左右,计算机大学毕业生,并有专业UI支持)。

假设用户规模并没有大到一定规模(百万千万级,即不考虑分布式部署、服务器集群、SSH专用通道等),采用一个极简化的架构:“网络接入->负载均衡->后台(服务器、数据库等)”。且只考虑在Android平台的部署(不考虑跨平台设计)。并且这些大学生具备开发app相应的基础知识(会对项目以及代码进行基本的管理、熟悉Android app 开发语言、会搭建基本的服务器以及数据库等),并且可以自由使用开源框架(UI框架、云服务框架等)。

那么整个团队的研发过程大致如下:

  • 交互设计与UI设计(这部分完全仿照牛客即可,不需要自己做出设计)

  • 基本编程语言、开发工具、缓存、监控、数据库产品、服务器系统等工具的挑选:2周

  • 文件系统、邮件系统与图片处理:2周

  • 前台UI搭建、设备适配:2周

  • 用户账户管理、验证与安全:1周

  • 学习板块中的资源搜集以及题目生成与管理功能:2周

  • 讨论区、讨论热度排行榜以及圈子等社交系统的建立:3周

  • 求职板块中的日程功能以及职位的发布、筛选、排序等功能:2周

  • 个人消息:1周

  • 个人信息管理以及个人活跃信息统计:2周

  • 搜索功能:2周

  • Android推送、短信发送等服务:1周

  • 社交登录分享:0.5周

  • 单元测试与集成测试:4周

  • 高并发压力测试与性能优化、内存优化与网络优化:3周

  • 真机调试、证书、打包、上架等App发布流程:2周

总之倘若不考虑过大规模与各类平台,并且在已经有过设计基础的前提下以最低程度(可能在较大压力下不符合性能要求,但不损失功能完整性)实现一个牛客app的话,一个6人的大学生团队或许只用七个半月的时间(毕竟牛客app的功能相较于其它平台的功能来说比较简单)。

分析这个软件目前的优劣(和类似软件相比),这个产品的质量在同类产品中估计名列第几?

这里我们仅将牛客app与上文中介绍过的csdn和微信公众号进行比对。

首先牛客app的靶向性很高,服务对象精准——面向求职者与招聘公司,且服务内容明确——为求职者提供招聘信息以及整合面试考点。其精准的为互联网/汽车/金融/地产/快消五大热门行业提供求职学习平台,因此其内容也比较明确专一。

其次牛客的内容质量较高,这很大程度上取决于官方出品的精品内容,并且能够以一个系统的方式去引导用户进行学习。相较于csdn,后者由于充斥着许多滥竽充数的内容,因此再一直被诟病。这也与上述的靶向性有关。虽然csdn也有着明确的服务对象(IT行业),但是由于整个IT行业的学习体系过于庞大,所以官方很难介入交流过程中,因此内容的好坏基本上取决于用户所发表的内容。

再后来牛客的UI设计比较精美,以及内容相较于网页版阉割得当,同时习题兼顾了移动端的用户,多采用了选择题的形式,因此牛客这个产品的质量还是较高的。

综上我觉得牛客在上述三种产品中排列第一。

从各方面的问题,推理出这个软件团队在软件工程方面可以提高的一个重要方面(具体建议)。

针对于牛客学习板块(首页)的内容编排方面,我觉得应该调整内容与板块主题的协调性。官方可能是想处于“学习板块”是“首页”的原因,因此把一些比较特色的内容,例如“找内推”、“薪资”等内容也放入到了这个板块中,以此来获取用户的注意,但是我觉得还是应当保证学习板块里的内容尽量与学习贴合。

以及之前我所说过的,牛客网页版的一个重要的且很有用的特色:即首页的目录式结构,他可以使得用户索引到自己想要的内容,并且目录也能够较为系统的引导用户去做出选择。虽然在app上首页这样一个重要的内容也不应当被目录代替,但是我觉得可以新开辟一个板块,并加入这块内容。

P4 建议和规划

市场概况

“我国每年IT人才市场供给约200万新人,目前国内IT相关行业从业人员约1500万人,按照年增长15%的速度,每年约225万新增岗位,加上5%退休和离职率,每年大约有300万市场需求 ”

上述是百度只针对于IT行业的求职情况的介绍,而牛客所服务的行业除了IT行业外(虽然以IT为重头),还包括金融、地产、快消等其它几个热门行业。因此与这几个行业相关的求职市场规模应该是百万级快千万级的规模的。再加上这几年毕业生也越来多,以及这几门热门行业的热度也是丝毫不退散,因此未来的市场规模只会越来越大。目前牛客也已经有了71万次的安装量,再加上每年都会有大约400、500万的求职人员,因此每年的潜在用户也是百万级的。

市场现状

目前市场上与找工作招聘类相关的软件很多,例如“脉脉”、“BOSS直聘”、“智联招聘”、“前程无忧”等。

软件名称 定位 优势 劣势
脉脉 职场社交及招聘 脉脉会根据你的通讯录联系人来帮你分析和深挖关系链。社交程度较高,用户粘性强。 社交属性太强,不适合专心学技术
BOSS直聘 上级直接在线面试 能够直接快速的和公司负责人或者HR聊天、发送简历作品到HR的邮箱。发布简历合适的话,也常常会有相关行业的HR找你聊聊 公司质量参差不齐,容易上当受骗
智联招聘 招聘和人力资源服务商 干货集中,能够按照地区提供岗位排行榜,且分类清晰 信息量太大,广告太多
前程无忧 综合招聘 提供许多免费简历模板 职位区分不太清晰

这些软件均为竞品关系,因为都是为求职者打造一份求职平台。

市场与产品生态

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

这个产品的核心用户群是:为计算机行业/机械汽车行业/金融行业/地产行业/快消行业这五大行业的求职者与学习者。典型用户有:

  • 当年的毕业生或者想要为来年就职准备一份实习经历的学生,年龄基本上集中在2122岁(本科毕业生)与2425岁(研究毕业生),专业为上述所说的几门热门专业,因为都没有就职因此都还没有收入,需求是想要一个以面试考点为核心内容的学习平台以及能够展示各大公司招聘安排的平台。
  • 人力资源部门从业者,想要在该平台上为本公司招揽新的从业人才
  • 一些已经入职的正式员工,大多为刚入职但入职不久的员工,想要通过内推的方式来增加自己的收入并在该平台上寻找合适的内推人选
  • 一些已经有了许多年工作经历的大牛,年龄可能在30岁以上, 想要在该平台上为萌新答疑解惑,对萌新进行正确的引导

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

用户主要以“招聘方”-“被招聘方”为主,前者为想要找工作的后者提供入职渠道与入职信息,后者为前者提供人才资源。招聘成功的“招聘方”可能会继续在这里招揽人士,在该平台上成功获取到入职资格的“被招聘方”将来也可能会回到这里帮助下一届人入职。在这里,大家相互学习,共同为通过招聘这一目标砥砺前行。因此在这里的用户相互都是比较尊重的,用户生态良好。

产品规划

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

我想要在当前软件基础上增加软件制作以及提供软件模板的新功能。因为。目前牛克上也确实没有这一功能,不过要想要为求职者打造一个完整平台,我觉得还是应当添加简历制作功能的。

项目 内容
Need 目前牛客没有简历制作这一功能,而作为求职最开始一环,制作一个好的是非常重要的。一个良好且精美的简历可以帮助你通过第一轮的简历筛选环节,而不至于由于简历问题导致前功尽弃
Approach 开辟一个新的板块,实现模板下载、简历编辑、方向提示词、简历评分、简历保存、简历下载导出功能
Benefit 帮助求职者做一份精美的简历
Competitors 目前已经有wonderCV这种专业简历制作软件,且同样属于招聘类的前成无忧软件已经有简历制作功能
Delivery 可以在牛客网页版上进行宣传(牛客网页版的使用人数更多)

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

美术设计人员:1人

文案设计人员:1人

前台开发人员:2人

后台架构师:1人

后台开发与测试人员:2人

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

第一周:共同做需求分析

第二周~第四周:美术师进行前台UI设计,文案设计人员为出简历评分机制以及提示词给出指导,后台人员进行系统设计并梳理业务逻辑,并设计相关接口文档

第三周~第七周:后台前台进行开发

第八周:进行集成测试

第九周~第十二周:进行alpha测试、Beta测试,并进行一些性能测试与压力测试

第十三周~第十四周:由文案设计人员设计一些免费的模板并提交

第十五周~第十六周:上线测试版本,等待用户反馈

十六周后:项目正式上线

原文地址:https://www.cnblogs.com/miku-mylife/p/14638809.html