[2017BUAA软工]第三次博客作业:案例分析
第三次博客作业:案例分析
1. 调研和评测
1.1 BUG及设计缺陷描述
主要测试博客园在手机端上的使用情况。
[BUG 01] 不能后退到上一界面(IOS)
重现步骤:打开博客首页中任意博文,点击博文中的链接跳转到其它网页,点击左上角返回按钮
测试结果:直接回到博客首页,而非回到博文
分析:博文中引用链接是非常常见的情况,而当阅读了链接网页的内容后,用户一般会选择继续阅读博文,而直接跳转到博客首页意味着还要重新寻找之前阅读的博文,这样下来看完一篇博文要反复打开若干次,不仅很麻烦,还容易出现找不到博文的情况,不符合用户使用习惯
严重度:★★★
[BUG 02] 代码不能折叠(IOS)
重现步骤:打开含有可折叠代码的博文,点击代码左上角“+”折叠按钮
测试结果:无效果
分析:有些长度过长的代码如果不能折叠,将占用大量博文篇幅,影响阅读体验,“+”按钮没有任何意义
严重度:★★
[BUG 03] 不能评论(IOS)
重现步骤:打开任意博文,点击写评论,写些内容后发表
测试结果:弹出“发布失败!”提示
分析:评论属于最基本功能,对用户十分不友好
严重度:★★★★
[BUG 04] 表格不能正常显示(IOS)
重现步骤:打开任意含有表格的博文,查看表格内容
测试结果:表格框线消失,只剩下文字
分析:博文中插入表格是很正常的事,有时候为了让文字显示更加清晰,会用框线进行分割,简单明了。现在框线无法显示,表格的优点就无法体现了,严重影响阅读体验
严重度:★★
[BUG 05] 不能收藏(IOS)
重现步骤:打开任意博文,点击下方“☆”收藏按钮
测试结果:无效果
分析:这也是基本功能,既然不支持收藏,为什么还要显示这个按钮呢?顺便一提,取消收藏功能APP是支持的,对于已收藏的博文,下方的“★”是黄色实心的,点一下颜色会消失变为“☆”,随即取消收藏。问题是万一用户手滑点了取消收藏,却不能再将其收藏,是个十分糟心的事……干脆要不把收藏功能加上,要不索性把取消功能去掉,换做是我因为这种事情找不到之前收藏的博文,估计就要卸载了
严重度:★★★★
[BUG 06] 不能分享(IOS)
重现步骤:打开任意博文,点击下方右起第二个按钮(收藏与显示评论中间的按钮)
测试结果:上方出现白色对话框,但是无其它效果
分析:作为一个移动客户端,分享功能是必须,这一点很影响用户体验
严重度:★★★
[BUG 07] 意见反馈不能存储草稿(IOS)
重现步骤:进入用户中心-设置-去吐槽,写入任意内容,点击右上角“取消”,选择“存储草稿”
测试结果:找了半天都没找到存在了哪,再点击“去吐槽”,发现之前写的内容还是没有
分析:“存储草稿”可能是没实现,考虑到用户可能反映了许多问题,保存草稿之后却发现只能重新再写,估计也不会再反馈了。反馈代表着制作方的诚意,连反馈功能都没实现好会让用户对于软件的印象大打折扣
严重度:★★★
[BUG 08] 横屏搜索不能覆盖整个屏幕(IOS)
重现步骤:在横屏模式下点击搜索按钮
测试结果:右半部分依然为博客首页界面
分析:并非核心功能,只是影响了用户体验
严重度:★★
[BUG 09] 手机端访问网站出现部分选项无法显示的情况
重现步骤:用手机竖屏访问博客园首页,看不到“班级”和“找找看”的功能,横屏即可见;点击“班级”,点击右上角菜单,看不到“我的班级”选项,竖屏即可见
分析:页面布局考虑不充分,导致手机端使用网页版博客园很不顺手
严重度:★★★
[BUG 10] 班级界面返回博客园方式不同
重现步骤:需要两个账号,一个已经加入了班级,一个还没有加入班级。使用两个账号分别从班级返回博客园首页
测试结果:已经加入班级的账号可以直接在顶部找到返回的按钮,而没有加入班级的账号却需要点击个人名称,从下拉菜单中找到返回的按钮
分析:这是设计的缺陷,假如我之前加入过班级,后来又退出了班级,那么在班级页面我会产生不适应性,一个功能的位置不应该由于不相关因素发生改变
严重度: ★★
个人感觉cnblogs的各项功能在手机上的实现不算合格,很难正常使用,很多基本的功能(如班级、写评论、写博文、收藏、分享)都没有实现完全,感觉就像是一个半成品APP,这让我对博客园的印象大打折扣……
1.2 用户采访
对象背景和需求
采访了某不愿透露姓名的五系同学,该同学表示虽然并非计算机专业的学生,但对计算机有着强烈的兴趣,想通过阅读一些博客获取计算机知识。
在注册了博客园的账号之后,这名同学的需求自然是寻找我的账号并关注我啦,在此之后,他还想访问我所在的班级,看看班级动态。
少年使用中...
使用过程
这名同学先是在“找找看”中搜索了我的用户名,发现什么也没有找到,后来发现搜的是博客,又转到了“个人搜”,结果还是什么也没找到。后来这名同学机智地进入了个人中心,点了“关注”,奇迹般地在右下角发现有个“搜索园友”的功能,但还是没有找到。这时候我让他试试我的昵称,终于成功关注了我。
但是寻找我的班级却没那么顺利,他先是点进了首页的“小组”(虽然我知道应该点“班级”,但我没有告诉他XD),然后在小组里搜索我的班级名字,未果。之后他又进入了我的个人中心,企图在我的个人中心寻找进入班级的入口,未果。最终他在这一部分耗费了近十分钟时间,我才告诉他正确的进入方法。
可以看到如果没有我的提醒,他的问题并不会得到解决,反反复复的页面切换可以感受到,在他看来这个产品用户体验差透了。
分析与建议
经过分析,我们认为之所以他的问题难以解决,主要有以下几点:
- 一个用户拥有两个名字(用户名和昵称),而真正能搜到用户的却只有昵称,这一点不符合我们的习惯
- 搜索的地方太多了,首页的“找找看”功能并不能找到用户,而真正搜索用户的地方却在个人中心的一个小角落,若不是运气好,不费些工夫根本不可能找到
- “班级”和“小组”概念模糊,以至于他认为班级是小组的一种特例;
- 班级未在个人资料中显示,导致他无法从我的个人资料了解到我所在的班级信息
评价
c)一般。
功能:
核心功能 6
细节 -3
用户体验 9
辅助功能 8
差异化功能 4
软件的效能 9
体验:
软件的适应性 2
成长性 0
用户有控制权 6
其它:
界面风格和美观度 4
2. 分析
2.1 使用此服务的所有功能,估计这个软件/网站/服务做到这个程度大约需要多少时间(团队人数6人左右,计算机大学毕业生,并有专业UI支持)。(必答)
目前网站开发的经验还不足,不太好评估,直觉来看4周应该能规划并实现博客核心功能,菜单中的9大功能每一个大概一周左右,并留出2周进行最后测试,4个月内大概能完成。
2.2 分析这个软件目前的优劣(和类似软件相比),这个产品的质量在同类产品中估计名列第几?(必答)
博客园朴素的界面设计是它的特点,但是上面提到的bug中也有很多都属于界面问题,以至于到了影响用户体验的地步。
之前很多人已经对CSDN和博客园进行了比较,二者孰优孰劣没有定论。
[1]支持CSDN的:谈谈我眼中的CSDN吧
[2]支持博客园的:博客搬家——从CSDN到博客园
总的来说,博客园的优劣主要有以下几点:
优点
- 使用静态网页技术,打开博文很快
- 博客皮肤丰富
- 稳定,报错少
- 支持图片拖动上传
缺点
- 编辑器用户体验较差,如粘贴带格式文本时部分格式会被清除、Markdown编辑器无法即时预览等
博客中提到,CSDN相比于博客园更加商业化,博文[1]作者谈到商业化的好处是能为用户提供很多福利,打造博客明星可以为博主个人发展带来帮助。
CSDN的推广渠道很多,如果你写出了好文章,会在微信、CSDN首页、订阅邮件甚至微博里推广,这样你文章的曝光率就很大了,各种评论膜拜粉丝就纷至沓来了,对博主个人的发展很有帮助。
很多猎头、HR都喜欢来CSDN找寻人才,时不时的给你私信提供各种工作机会。另外,一些大老板们也喜欢去CSDN找专业人才提供接私活的机会
而博文[2]作者表示,博客园的非商业化也有它的好处
更侧重于.NET开发人员,搜索资源和浏览博文也更有针对性,写博客的人更加专注,对技术也更加执着
总的来讲,CSDN和博客园都属于同类软件中的佼佼者,但二者孰优孰劣很难给出定论。
2.3 团队在哪一个层次还有问题?为何这么著名的团队还有这些问题?
我认为博客园的功能太过分散,如博客园首页和班级首页的关系应当是平行关系还是父子关系?为什么界面风格会出现如此大的差异?我认为在设计的时候这一点并没有想清楚。而且正如上面用户采访环节展现的那样,同样是搜索,博文搜索和用户搜索却分别设置在了两个地方,导致用户体验十分糟糕。
我想造成这一问题的原因主要是架构,而博客园创始人杜勇也表示:
由于多年的演变,目前我们现有应用在架构上比较混乱,大量的代码需要被重构或重写。
前端就用了jQuery,没有使用前端框架。后端有WebForms,有ASP.NET MVC,博客中已经使用了ASP.NET MVC 5.1。
文章内容与用户信息保存在SQL Server数据库中。
大量使用Memcached保存缓存数据。
目前我们新的开发、代码重构与重写会基于DDD(Domain Driven Design)架构。
每一个著名的团队都是从默默无闻开始慢慢转变的,初期设计上的模糊会对项目产生深远的不良影响,由此看来早期保证设计的灵活性是很重要的。
2.4 从各方面的问题,推理出这个软件团队在软件工程方面可以提高的一个重要方面(具体建议)。(必答)
我认为最需要改进的部分是编辑器。就如问题2中博主反映的那样,博客园的编辑器用户体验并不好,不支持粘贴带有格式的文本,对Markdown用户也不友好(我也有同感)。作为一个博客网站,发博文是最核心的功能,这是我认为最需要改进的地方。
2.5 根据各种公开资料,推测这个App/系统是用什么语言+架构实现的,做到目前这个水平总的工作量应该是多少(人×月)
如2.3中所说:
前端就用了jQuery,没有使用前端框架。后端有WebForms,有ASP.NET MVC,博客中已经使用了ASP.NET MVC 5.1。
如2.1中所推测那样,大概在24人x月,但实际情况可能要比我预想到的复杂得多。
2.6 你在第一部分发现的bug,为何软件团队不能在发布前修复?他们是不知道,还是有意不修复?你觉得是什么原因?
测试把关不严,敷衍了事,没有注意在特殊的配置或环境下测试
我认为有可能,如果是一个合格的测试产品,不可能我随便用一用就能找出若干个BUG来,但我觉得这可能不是最根本的问题。以下是我的猜测:
首先博客园的用户群体是IT行业人员,他们在日常工作中会经常利用计算机编写程序(而非手机),而在编写程序遇到问题,有时候就要在网路上查阅博文解决问题,这时候用网页端是十分便利的。而对于编写博文这种录入文字工作,明显使用键盘要比使用手机效率更高,这也是网页端受欢迎的理由。
相比之下,我认为一定要用手机访问博客园的理由就很少了,除了看博文,了解班级动态,我认为也没有其它必要。而且手机也可以通过网页访问博客园,一些简单的工作也能很顺利完成,因此APP的需求量相比与网页端就会下降许多。可能开发团队也考虑到了这一点,于是就没有花费太多资源在移动端上,不过这也只是我的猜测,目前并没有找到相关数据支撑……
3. 建议和规划
3.1 首先,市场有多大?全中国IT专业的学生和职业人士都可以是用户,总共有多少人?
根据2014年数据分析公司IDC发布的数据,全球的软件开发者(包括爱好者)数量达到1850万,其中中国占10.1%,约为185万。
数据来源:IDC Study: How Many Software Developers Are Out There?
3.2 目前市场上有什么样的产品了,它们的优势劣势在哪里?和它直接竞争的产品在那里?
目前我所知道的就是CSDN,优劣在上面已经分析过了,二者有很多共通点,我认为CSDN就是和博客园直接竞争的产品。
3.3 作为新的项目经理,这个产品的核心用户群是什么样的人,典型用户长什么样?学历,年龄,专业,爱好,收入,表面需求,潜在需求都是什么?
我认为核心用户群有以下几种:
- IT行业精英,利用博客园发博文,总结经验或者编写教程
- 想要提升自己的IT行业的专业人士,通过浏览大牛的博文增长知识,并将实践中取得的经验记录在自己的博客中
- IT技术学习者,在博客园中查阅教程学习技术
- 通过查阅博文解决遇到的问题(如环境配置问题等)
- 学生,利用班级功能完成布置的任务,不管他们对计算机行业的态度如何
3.4 你要设计什么样的功能?为何要做这个功能,而不是其他功能?为什么用户会用你的产品/功能?你的创新在哪里?可以用NABCD分析
Need
为不同用户个性化推送首页博文。
目前博客园首页的热门博文涉及各个领域,但大多数用户只会关注自己所从事的领域,或是感兴趣的领域,首页出现的博文在某一位用户看来大多是无用的,因此个性化定制首页内容很有必要。
Approach
对不同的博文贴标签,并通过标签获得分数的高低推测用户偏好:用户访问了某个博文,就为博文下的每个标签加1分;用户收藏了某个博文,就为博文下的每个标签加3分。
除此之外,还可以设置关注话题的功能,首页除了推送含有用户感兴趣标签的博文外,还可以推送和用户关注话题相关的博文,甚至用户关注者收藏的博文等等。
为了更加个性化满足用户需求,用户可以在个人中心对推送博文的类型进行设置(如可以取消推送关注者收藏的博文)。
Benefit
好处在于用户可以很容易获取到他们感兴趣的内容,甚至可以捕获到关注者的动态,增加社交性。
Competitor
目前CSDN在首页可以看到某一篇博文所属的分类和专题,而博客园首页只是把若干不相关的、受欢迎的博文推送到首页上,相比之下,前者的博客分类更加完善,但是二者都没有实现根据用户偏好个性化推送博文。我认为如果博客园能够实现这一功能,会是一个亮点。
作业实际花费时间记录:4.5h
[2017BUAA软工]第三次博客作业:案例分析的更多相关文章
- [2017BUAA软工]第0次博客作业
第一部分:结缘计算机 1.你为什么选择计算机专业?你认为你的条件如何?和这些博主比呢? 当初选择计算机专业作为自己报考大学的第一志愿,主要是看重了市场对于计算机行业人士的巨大需求,同时也感慨于计算机行 ...
- [BUAA2021软工]结对第一阶段博客作业小结
作业链接 结对项目-第一阶段 优秀作业推荐 本次博客作业虽然是简单总结,但是以下作业中都不乏有思考.有亮点的精彩内容,推荐给同学们阅读学习. 山鸣谷应,相得益彰--杰对项目-第一阶段总结 该组对于可能 ...
- [BUAA OO]第三次博客作业
OO第三次博客作业 1. 规格化设计的发展 我认为,规格化设计主要源自于软件设计的两次危机.第一次是由于大量存在的goto语句,让当时被广泛应用的面向过程式的编程语言臃肿不堪,在逻辑性上与工程规模上鱼 ...
- OO第三次博客作业——规格
OO第三次博客作业——规格 一.调研结果: 规格的历史: 引自博文链接:http://blog.sina.com.cn/s/blog_473d5bba010001x9.html 传统科学的特点是发现世 ...
- [2017BUAA软工助教]第0次个人作业
学习别人的经验和体会 零.前言 我认为人生就是一次次地从<存在>到<光明>. 一.软件工程师的成长 0.这是一个博客索引 同学们在上这门课的时候基本都是大三,觉得在大学里,到教 ...
- 【2017集美大学1412软工实践_助教博客】团队作业10——项目复审与事后分析(Beta版本)
写在前面的话 转眼轰轰烈烈本学期的软工实践就结束了,这个过程中想必在熬夜敲代码,激烈讨论中留下诸多回忆的同时,也收获了不少.恭喜所有团队完成了本阶段冲刺,此外,由于大家的贡献分给的都很平均,将个人贡献 ...
- 【2017集美大学1412软工实践_助教博客】团队作业3——需求改进&系统设计 成绩公示
第三次团队作业成绩公布 题目 团队作业3: 需求改进&系统设计 团队成绩 成绩公示如下: 缩写 TD BZ GJ CJ SI WBS GS JG DB SS SJ CS DC Total 分值 ...
- 【2017集美大学1412软工实践_助教博客】团队作业4——第一次项目冲刺(Alpha版本)小组 成绩
第四次团队作业成绩公布 题目 团队作业4: http://www.cnblogs.com/happyzm/p/6722264.html 团队成绩 成绩公示如下: 检查项 会议内容 代码签入 心得体会或 ...
- 【2017集美大学1412软工实践_助教博客】团队作业5——测试与发布(Alpha版本)
第五次团队作业成绩公布 题目 团队作业5: http://www.cnblogs.com/happyzm/p/6788792.html 团队成绩 成绩公示如下: 检查项 测试报告 Alpha版本发布说 ...
随机推荐
- 短连接、长连接、轮询、长轮询、WebSocket
短连接 建立连接——数据传输——关闭连接...建立连接——数据传输——关闭连接 定义:短连接是指通讯双方有数据交互时,就建立一个连接,数据发送完成后,则断开此连接,即每次连接只完成一项业务的发送. 应 ...
- Python3中高阶函数lambda,filter,map,reduce,zip的详细用法
在Python里有五大高阶函数,他们分别是lambda()匿名函数,filter()筛选函数,map()函数,reduce()函数,zip()函数.下面就让我们来详细的了解一下这五种函数的具体用法吧. ...
- SQLSERVER字符串处理函数
sqlserver提供了一系列字符串处理函数:substring.left.right.len.charindex.patindex.replace.replicate.stuff.upper.low ...
- C语言中while语句里使用scanf的技巧
今天友人和我讨论了一段代码,是HDU的OJ上一道题目的解,代码如下 #include<stdio.h> { int a,b; while(~scanf("%d%d",& ...
- linux内存碎片的概念
一般在内核术语中的“碎片”都是基于物理内存而言的,我没有太看懂你得出碎片是针对地址空间这个结论的逻辑.但我认为,既然你知道了malloc是用户空间调用的,那么你所谓的碎片也是从用户空间的视角而言的,但 ...
- 思维水题 poj1852
题目链接:http://poj.org/problem?id=1852 题意:木板长为n, 蚂蚁数量为k, 后面k个数,依次代表蚂蚁的位置, 当蚂蚁到达边界的时候会立马掉下,当两个蚂蚁相 ...
- 北京Uber优步司机奖励政策(4月10日)
滴快车单单2.5倍,注册地址:http://www.udache.com/ 如何注册Uber司机(全国版最新最详细注册流程)/月入2万/不用抢单:http://www.cnblogs.com/mfry ...
- centos安装smokeping
本文摘自网友博客,并亲自验证 博客地址:https://blog.csdn.net/erica_yue/article/details/78455101 1.安装依赖包: yum install -y ...
- OpenCV中对Mat里面depth,dims,channels,step,data,elemSize和数据地址计算的理解
原文:OpenCV中对Mat里面depth,dims,channels,step,data,elemSize和数据地址计算的理解 Title : cv::Mat depth/dims/channels ...
- WPF DrawingContext Pen
<Window x:Class="WPFDrawing.MainWindow" xmlns="http://schemas.microsoft.com/winfx/ ...