个人作业——软件评测
这个作业属于哪个课程 | 软工班级 |
---|---|
这个作业要求在哪里 | 作业要求 |
这个作业的目标 | 结合构建之法的内容学习对腾讯即时通信IM产品的测评 |
作业正文 | 作业 |
其他参考文献 | 即时通信IM体验 、 《构建之法》 |
一、调研,评测
评测
本次测试demo总共测试三个端的bug:web端、微信小程序端(以下简称wx端)、android端
使用截图展示
web端demo使用截图
android端demo使用截图
wx端demo使用截图
BUG发现如下
web端:
BUG01:好友列表无法更新,当其他用户向web端用户发起好友申请时,同意后,查看web端好友列表,发现好友列表仍然显示暂无好友。这里我们用android的账号android_jhin来进行添加web端好友
首先输入web端id,发起添加申请
接着可以看到在android端已经成功添加web端的好友web_jhin
接着我们可以看看web端的好友列表,是不是已经有android的好友android_jhin
可以看到依然显示暂无好友
现在我们用web端登陆wx的账号wx_jhin,看看会不会有好友列表
wx_jhin原来的好友列表
web端登陆wx_jhin以后的好友列表,可以看到仍然存在bug。
为什么没有发现这个bug
- 测试人员也许仅在wx和android端进行了测试,因为web端是没有添加好友功能的,要想验证web端的好友列表是否正常,就需要其他端的联动,因此测试人员很有可能在某端进行了详细的测试,但是端之间的联动与同步被忽视了
- 开发人员并为打算为web端实现好友功能,因此测试人员有可能漏过测试这个部分
BUG02:无法进行换行输入
可以看到换行输入在回车后都变成了一行
为什么没有发现这个bug
- 测试人员也许认为这个功能应该是一行表示而非分行表示
- 测试人员也许没有测试到这个功能
android端:
BUG01:可以自己添加当前登陆账号的好友
在android端账号jhin1999上搜索jhin1999的id
可以看到能够通过,且在好友列表中也存在jhin1999的昵称android_id
为什么没有发现这个bug
- 没有测试到,因为这个是属于比较细节的部分,需要测试人员比较细心才有可能发现这个问题,很有可能测试人员没有漏过了自己添加自己好友的操作
BUG02:若自己添加自己为好友后,在切换个人界面再切换回来后,就会发现“自己”的好友消失了
即若已经成功添加“自己”为好友后,再点击“我”的界面,接着再点回“通讯录”的界面,就会发现之前的“自己”android_jhin消失了
若切换消息界面再切换会来后,则又会出现android_jhin在好友列表中
为什么没有发现这个bug
- 如果测试人员添加完自己的好友,可能也不会注意到切换界面对好友列表的修改,因为除了添加自己,添加其他人的情况下,切换界面是不会引起这个bug的,所以有这个遗漏也很正常
BUG03:若此时再次添加自己为好友,则会提示对方已是你的好友
我们可以再次搜索jhin1999,则会提示对方已经是你的好友了,可在好友列表中却没有显示出来
为什么没有发现这个bug
- 在添加完自己好友后,切换列表后发现列表缺失了“自己”的好友,可能测试人员会将其计入bug,但不会想到再去添加一次自己的好友,其实“自己”是没有消失的,只不过因为某些原因导致在通讯录列表的显示有问题,因此实际上还是有好友的,故再次添加时,会显示已是好友无法添加,测试人员很有可能没有在列表异常后再次选择更深入的测试
采访
1.根据该SDK想要开发的产品,产品主要功能、产品面向的用户
我想开发的产品:我想通过腾讯即时通信IM来开发一个可以提供面向农户种植养殖的在线通信通讯平台。
产品主要功能:为农业专家可以在此平台提供专业的农业相关的远程指导,农行业人员可以在线接收来自农业专业的指导和资源,实现双向交互,推动农业的发展
产品面向的用户:服务需求方:农民等农业从事人员 服务提供方:农业领域专家或者研究人员
2.用户采访
- 采访对象的背景和需求
采访对象背景:这次采访的对象,我去求助了我的好朋友的帮助,他是一位来自中国人民大学的学生,他主修信息管理,辅修经济学,在高中期间听他提起过对农业有一定的兴趣,大学也有想过学习农业相关专业。
采访对象需求:通过与他交流,得到了一个信息:基于我国农业分散和农户技术水平低下的普遍现状,希望把公立技术研究所的成果实现价值转化。目的是让广大农民以低成本实现与专业技术人员的咨询互动,促进农业新技术和基本农业知识普及,提高我国农民的劳动力素质。 - 采访对象使用10-30分钟体验腾讯即时通信的demo
下面就是我的好朋友彭彭在使用腾讯IM的截图
- 描述用户使用这个demo的过程, 用户的问题解决了么?软件在数据量/界面/功能/准确度上各有什么优缺点?用户体验方面有问题么?
用户的问题得到了解决:最主要的功能还是实现即时的通信,在这一点上,腾讯IM做的还算比较完整,可以实现各端的交流,包括群聊等等
用户体验:如果这些BUG都能改掉,服务都能上线,那么使用起来会更舒服,毕竟一个就等于用了微信+TIM+腾讯会议。
优点 | 缺点 | |
---|---|---|
数据量 | 作业要求 | |
界面 | 界面整洁,配色比较舒服,按钮布局都比较直观,能够很迅速找到需要的功能 | 界面还是缺乏一定的美观性和层次感,在前端方面一些布局和细节比较粗糙,没有调整好一个合适的比例 |
功能 | 在聊天功能上开发的还算比较完整,包括发起会话,好友聊天,发送图片文件表情等等,还有群组内的聊天,禁言等都是比较正规且完善的,比较高效;通讯录设置界面一目了然,跟现有的通讯软件比较靠近;可以发起视频通话; | 没有朋友圈功能,这个在社交软件方面也是比较重要的功能;自定义消息的定义不明确,如何使用和使用场景也没有详细说明,用户使用起来是懵的;视频通话中在有些端也是存在着无法获取画面的问题;缺少消息提醒功能,容易使得用户错过某些重要通知,这个点比较重要;缺少消息提醒例如震动和响铃的功能;群聊时缺少@功能和单独的消息提醒设置功能 |
准确度 | 在消息推送方面还是比较及时的,体现在文本、文件、多媒体内容的准确传输上,消息延迟严重的现象并没有很明显 | 个人信息刷新不及时,如头像等 |
- 介绍我想用这个SDK开发怎样的产品
我想为以下两个人群开发一个在线农业种植养殖指导平台
- 农业从事人员,包括农民、工人等
这类人群能够在这个平台上向专业领域的研究者进行提问和专业知识的求助,例如可以获取远程指导,包括语音和视频等多媒体交互,当然考虑到用户的受教育水平,考虑将界面做的极其简单。
- 农业专家,包括研究者等
这类人群拥有比较专业的知识,能够在这个平台上对农业从事人员进行一个远程的指导,传输一些科技资料,或者拍照等等。
开发背景:
基于我国农业分散和农户技术水平低下的普遍现状,希望把公立技术研究所的成果实现价值转化。目的是让广大农民以低成本实现与专业技术人员的咨询互动,促进农业新技术和基本农业知识普及,提高我国农民的劳动力素质
开发意义:
进而实现农业现代化,农业大发展,农业增产,解决三农问题。
- 用户对腾讯即时通信的功能有什么改进意见
- demo的bug太多,特别是像好友列表的同步做的比较差,改进了以后用户体验会上升一个等级
- demo的界面过于简单了,只有一些简单的按钮和布局,希望可以更加美观一点,可以更加具有层次感
- demo的功能不够丰富,比较起目前市场上已经上线的通信产品,腾讯IM的功能显得太单薄了,例如朋友圈的功能缺少
- 用户对我想开发的产品有哪些意见
-
农业平台的受众包括农民,那么应该将农民的界面设计得易懂好用,符合文化水平
-
需要能够传输一些科技资料,对于直播和视频的清晰度和质量需要得到保证
-
需要有至少web和app两个端,app端用来给用户使用,web端作为后台的管理
- 结论
推荐
二、分析
1.分析估计
- 估计这个SDK做到这个程度大约需要多少时间?(团队人数大约6人左右,计算机大学毕业生)
考虑到开发者是毕业生,可能在产品架构设计、技术运用方面还不是很有经验,而且要做到适应多个平台,对硬件也是有一定的要求的,难度相当大的。还需要考虑到在开发过程中,团队成员可能会要去学习一些专业的知识,计算上这些时间成本的话,我预计需要至少6个月以上才能够很好的完成这个sdk。
2.优劣比较
和腾讯IM大致功能相似的还有网易云信,环信,容能云等。
(1)对比网易云信
优势:
- 在群的容量上限方面,腾讯IM可以达到1W人的,而网易云信的群容量在200人,当今对群组的需求应当不只是停留在200人这么少的一个数量上,我从QQ上随便找一个群,人数都是大于200,因此在这一点上网易云做的有待改进。
- 腾讯IM在对词汇的审查方面做的比较好,拥有敏感词过滤的功能,这个在当今重视网络环境的社会是具有很大的优势的。
群容量无限制,网易群容量200人;
支持敏感词过滤,对维持良好社交环境很有帮助; - 网易云信是不向个人开放的,想要使用是需要进行审批,有些还需要付费,而腾讯IM则是免费对外开放的,这也是为什么我们这次作业的评测会选择腾讯IM。
劣势:
- 网易云信更专业、更正式,具有24小时的技术支持,还具备相应的论坛供开发者讨论。
- 网易云信的功能更加强大,能够显示好友的状态,可以随意更换自定义头像,还可以在app上将信息发送给电脑端,与现阶段流行的通信软件QQ十分靠近。
- 网易云信在音视频通话过程中做的更好,对于有这方面需求的用户更加友好。
3.具体建议
(1)bug修复
一个软件要先能用,才能考虑其他的优化问题,针对上述提出的bug,还有一些我可能没有发现的bug,总之腾讯IM还是存在着许多的bug,这对用户来说非常的不友好,并且这些bug都是比较明显的,基本每个使用者都会遇到,这就需要引起开发团队足够的重视,我建议他们可以在软件测试方面花费更大的功夫,可以将软件发布给更多的人,在这些用户的使用中可以提供更多的建议来修复他们的bug,并将收集bug作为一项长久的活动,可以定期的获取来自用户的反馈,并且尝试着能否在技术上解决这些bug。
(2)界面美观优化
bug修复了之后,可以多注重一下在界面方面的设计,比如一些边框、布局细节的调整,目前腾讯的IM软件显得十分粗糙和随意,就像一个半成品,我建议可以在后续的工作中在前端和ui部分多花费点时间,因为现在的趋势是用户往往会选择看起来最舒服的那款产品,虽然说有时候在软件功能细节方面,A产品胜于B,但这些对于非专业的用户来说是透明的,他们更在乎软件的美观程度,因为这关乎到他们的愉悦程度,倘若此时B产品在界面部分下了一定的功夫,那就说不准那个产品更加热门了。
但是我并不推崇花里胡哨的界面设计,我认为还是应该在简洁的基础上进行设计,例如可以设计成大众常用的版式,这包括了按钮的摆放位置、菜单的布局、导航栏的显示等等,在界面切换上面,也可以采用比较平滑的方式,像腾讯IM这样非常生硬的转化和非常简单的配色搭配是不太推荐的,颜色的搭配也是具有一定的说法的,切忌胡乱搭配使得界面花花绿绿,有些颜色的组合会让人心情愉悦,当然有些颜色的组合会让人恼火,在颜色的选取方面也可以多进行一些研究。
(3)功能拓展
作为一款专业的IM软件,腾讯IM有着最基本的通信功能,但是在某些细节部分却都没有实现,举个例子,在群内,当一个用户修改了群昵称,却没有在聊天面板显示出来;用户的状态是离线还是在线我们不得而知;所以这些微小的细节方面,我希望腾讯IM可以进行一定的拓展,比如我建议可以增加一个朋友圈的功能,因为IM有很大部分与社交扯上关系,参考微信和QQ,朋友圈的功能可以拉近人与人的距离,在设计上也不会显得很突兀,但是类似直播、运动记录等功能大可不必,因为作为一款通信软件,重点在于通信,而直播和运动记录则将方向带偏至娱乐和体育方面,这就显得十分多余了;再者,可以增加一下消息的提示,避免用户错过某些重要的会议通知等等,可以采取的方式有手机弹框提示、手机振动提醒、手机响铃提醒,这都是可以让用户得知当前有消息送达。
总而言之,紧扣IM软件的核心-通信来进行功能的增删,对于不必要的功能也可以采取删除的手段来保证软件具有简洁性和针对性。
三、建议和规划
Q:目前市场上有什么样的类似的产品?
(1)赛诺优农-EN系列数字农业智联监控系统
专注服务于高端农业科研、培育、种植等所需的高精密设备的研发、制造、服务等。
(2)农业种植网app
农业种植网客户端主要以生态农业行业为主,提供生态农业资源报价信息、行业资讯等,致力于打造国人生态农业行业最专业、最权威、为用户着想的公共服务平台。
Q:对你的产品进行NABCD分析。考虑为何要做这个功能,而不是其他功能?你的创新在哪里?为什么用户会用你的产品/功能?对于C:Competitors,结合同类产品分析,描述如何从竞争中获胜
-
Need:
1.农业方面从业者包括许多低文化水平的农民在进行农业种植时可能会由于专业知识的受限而无法解决遇到的一些问题,而农业方面的问题是比较严谨且急迫的,如果在适当的时机没有得到一个好的反馈,可能会影响更多面积的农业种植,因此对于这类人群,需要一个专业的平台能够有农业资源的援助,包括静态的视频文字资料和动态的专家在线远程指导。
2.农业领域的研究人员和专家本身是具备专业的农业知识的,但可能由于地域的受限无法将自身的研究成果和经验素养广泛的传播给需要的人群,他们需要一个平台能够供他们上传最权威最新颖的科研成果,也可以在线为需要帮助的农业从事人员提供专业性的指导、包括语音、直播、视频等等的多媒体方式进行远程指导。 -
Approach
通过将腾讯即时通信的SDK嵌入到一个普通的农业咨询网,分为web和app两端,其中app端为用户服务,而web端作为管理员后台管理的工具,其中app端分为专家端和用户端是考虑到农业从事者中可能存在地文化水平的农民人群,因此在用户端的界面设计将采用傻瓜式设计。
农业资讯网的设计参考目前比较权威的网站进行开发和改进。 -
Benefit
1.把公立技术研究所的成果实现价值转化
2.让广大农民以低成本实现与专业技术人员的咨询互动
3.促进农业新技术和基本农业知识普及,提高我国农民的劳动力素质
4.现农业现代化,农业大发展,农业增产,解决三农问题 -
Competitors
目前市场上的同类产品大多侧重在农业咨询和资料查询方面,这就要求使用者本身具备一定的文化素养,并且没有提供在线的远程指导,这就相当于用户只能对照着一些静态文字去实践去工作,这样可能会造成效率的降低和许多不必要的错误发生。
因此我所开发的这个产品解决了以上所述的两个最大的问题
1.通过对界面进行划分,分为专家和用户,可以考虑到一些文化水平降低的群众,他们也拥有了与现代农业成果交互的可能性。
2.通过嵌入IM,将增加援助新渠道,那就是有专家的在线辅导,这个在线体现在打字沟通、语音交流、视频交互、直播指导等等,后续可能会加入更全面更合适的指导方式,用户在遇到困难时除了只能查看冰冷的文字,还可以和真人在线交流,提高了工作的效率,减少了因为自己尝试而造成的损失。 -
Delivery
1.电视媒体,特别是官方的或者与农业相关的报纸、杂志、电视台可以帮助刊登广告,让尽可能多的人知道这个产品的存在
2.大学内农业相关专业的宣讲,可以去一些侧重农业专业的大学进行针对性的宣讲和引导
3.考虑基层农业的需求,可以下乡做宣传,去一些发达程度较低的地区进行宣传和引导(至少得具有网络和手机配备的地区)
4.QQ、微信等现代使用量较大的软件来进行广告宣传
Q:如果你来领导这个团队,会有什么不一样?
- 观点自由
我的团队大家可以说说自己内心的想法和不满,比如对我的工作存在着哪些异议或者对工作量有哪些抱怨,都可以向我反馈,我也会以此来进行调整和协商 - 工作分发到日
我要确保大家每天都有任务可以做,不会存在某一段时期特别赶、某一段时期特别闲的情况 - 极高的宽容性
倘若因为特殊原因而使得我的同伴无法按时完成任务或者完成的任务与预期出现了偏差,我不会将担子放在他一个人身上,我会召集大家看看有没有可以提供帮助的地方给他,并且自己多花费一点精力去保证项目的顺利进行 - 具备原则性
如果因为某些同伴的懈怠或者是偷懒导致项目的拖沓或者效率降低,会进行惩罚,但是事后一定会帮助他一起解决这些困难 - 提供资料
在开发过程中需要进行的学习资源和一些开发资料,我都会尽可能的去寻找并且提供给我的同伴,极大的降低因为技术原因而导致时间和精力上面的浪费
Q:如果你的团队有5个人, 4个月的时间,你作为项目经理,应该如何配置角色(开发,测试,美工等等)?
需求分析和设计阶段我会要求所有人都参与,提供自己的想法和建议
原型设计阶段我会交给对原型工具运用的较好的那个人,根据需求来进行初版设计,多次汇报-修改循环,达到最完美的原型版本
数据库设计和接口API等需要协商的地方我也会让大家都参与进来,因为这个是软件开发最主要的初级阶段,我希望能够吸取尽可能多的人意见,凝结尽可能多的人的力量来缩小时间,提高效率
具体开发过程中我会分前端和后端分别两人,其中包括了web和app的前后端,=我自己则作为前端的一部分加入到前端的开发,美工部分会安排最擅长的人来进行设计,最后安排大家都加入到项目产品的测试中,增大测试用例
Q:描述你的团队在周期为16周,每周都要做什么,才能保证在第16周如期发布软件
第1周:用户调查
第2周:产品需求分析
第3周:原型设计
第4-5周:完成数据库设计,确定接口传输数据格式,搭建项目基本框架
第6-8周:前后端进行独立开发,分别汇报每日进程和需要帮助的地方
第9-10周:前后端进行对接,完成接口测试,发现错误
第10-12周:界面优化、错误排查
第13-14周:功能测试、修复bug、二次调整
第15周:项目部署、编写开发手册
第16周:发布正式版本、项目总结和汇报
Q:项目发布后,有没有考虑过项目该怎么部署才能满足需求?依据下图(某校教务处系统的部署)作为参考,分析16周后你所完成的项目上线需要哪些配套设备(服务器、带宽、数据库需求数量与配置)
应用服务器配置:4核8G x 2
后端服务器配置:8核16G x 3
关系型数据库:MySql数量:3(读写分离、备份 x 1)
缓存数据库:Redis数量 :2(主备)
网站安全性:WAF,DDOS
-------------------------------------------
个性签名:满天的星星都在你的眼里
如果觉得这篇文章对你有小小的帮助的话,记得在右下角点个“推荐”哦,博主在此感谢!