软件工程实践作业——软件测评
这个作业属于哪个课程 | 福州大学软件工程2020春季W班 |
---|---|
这个作业要求在哪里 | 作业要求 |
这个作业的目标 | 对腾讯IM 的多平台Demo版本进行评测,找出bug,并在产品角度提出意见 |
作业正文 | 本文连接在这里!!! |
其他参考文献 | 《构建之法》 |
Part 1 SDK评测(方式一)
BUG1
- WXmini端,接收的消息未能及时同步。如图所示,在同一网络环境下,IOS端应用与WXmini端应用互发消息,WXmini端均未接受到对方发来的消息。WXmini端需要退回到微信页面再重新登录才能正常同步消息。(释放运行内存)
开发时未发现bug的原因:没有处理好小程序的运行内存分配,或者测试环境运行内存充足,导致测试人员忽略。
BUG2
- Android端,当两位用户都使用Android端进行聊天时,当接收者确实看到了发送者所发消息,但是发送者的消息仍然显示“未读”状态。此时还需要发送者打开其他功能,或切换其他应用,或者切换平台登录,消息状态才会从未读转化为已读状态。
开发时未发现bug的原因:测试者频繁互相发送信息,切换平台,使聊天界面不断刷新,使得消息未读转态容易转为已读状态,从而忽略。
BUG3
- web端,文字编辑框内有未发出的消息时,即使切换回话对象,文字编辑框内的文字不会改变。如下图所示。
开发时未发现bug的原因:开发人员可能没有考虑到文字未发送离开的场景。测试人员可能只测试了文字是否能正常发送,同样没有考虑到文字未发送离开的场景。
Part 2 想利用SDK开发的产品&用户调研
利用腾讯IM开发一套求职-招聘在线交流平台
-
产品面向的主要用户:
求职者,企业HR人员 -
产品的主要功能:
企业招聘人员可以发布招聘信息
求职者可以发布个人简历信息
招聘信息和个人简历信息下方都有聊天入口,从这里接入腾讯IM的即时聊天功能。 -
NABCD分析:
N(Need,需求):
受疫情影响,许多就职活动都转入线上。许多求职平台只发布信息(web端居多),沟通交流等常常依赖第三方软件,用户迫切需要在求职平台上就能向HR或求职者进一步沟通的需求。
A(Apporach,做法):
运用即时通讯SDK,以及各种api,开发出跨平台的招聘沟通网站。
B(Benefit,好处):
求职者或HR无需跳转到第三方软件沟通,且可以在多个平台沟通且信息同步。
C(Competitors,竞争):
例如智联招聘,在职位详情页推出了线上视频功能。但是我们的产品除了视频功能还有聊天,语音等功能,并且是双向的:即,求职者可通过招聘信息直接与HR发起会话,HR也可以通过简历与求职者发起会话。
D(Delivery,推广):
面向应届毕业生和企业进行推广,推广时突出产品能提高求职效率的优势。
推广渠道包括但不限于QQ,微信,微博等(主要面向校招社招相关群体)
采访
- 采访对象背景:即将毕业的大学毕业生
- 采访对象需求:寻找自己的理想职位,并能迅速和HR进行初步会话。
- 用户使用demo体验:和微信差不多,消息还能同步,操作也挺方便的。但是感觉功能还并不是很完善,比如并不支持一些常见格式的文件传输,语音通话质量不算很好,数据同步也存在一点延时。还有存在一些小bug,界面及显示还有待提高。
- 用户对腾讯即时通信的功能有什么改进意见?
界面可以再美化,发送的表情可以放大一点,修复一些bug - 用户对你想开发的产品有哪些意见?
可以添加一些简历的审核机制 - 结论:
推荐
Part 3 分析
-
估计做SDK大约需要花费的时间:
考虑到团队成员为6人左右,且都有一定的编程能力和分析能力,预计开发出beta版本需要花费100天左右的时间
需求调研及分析5天
原型设计及类图设计5天
系统设计及数据库设计10天
搭建项目架构5天
SDK开发60天
界面美化及软件测试5天
bug修复及准备发布10天 -
软件目前的优劣
优势:1:能在多平台同步文字,图片,视频等信息。
2:软件的兼容性好,能在Web,IOS,Android等不同平台的运行;
3:软件使用便捷,简单易懂,方便上手。
劣势:对比智联招聘,职业信息的分类,标签管理等还有差距。
-
团队在软件工程方面可以提高的一个重要部分:
团队协作能力,只有团队成员之间相互配合,相互交流,不断磨合,才能造就高效率的开发团队。
Part 4 建议和规划
-
如果你是产品经理,如何让你的软件在众多竞品中胜出?
面对智联招聘、BOSS直聘、拉钩网等市场上的竞品,让我的软件胜出的策略有:
1、保证软件的基本质量,对核心功能的开发及测试多花心思。
2、分析竞品的功能,将其再优化后加入软件,做到“人有我优”
3、美化界面,添加交互动效,提升用户体验。
4、调研潜在用户,根据用户需求不断调节和优化软件 -
你要设计什么样的功能?为什么要设计这个功能?
1、企业招聘人员可以发布招聘信息————最基本功能,也是整个软件的数据基础
2、求职者可以发布个人简历信息————最基本功能,也是整个软件的数据基础
3、个人简历信息和招聘信息分类管理,按多个维度进行检索(维度:如工作城市,工作经验要求等)
————让用户以多种方式最快搜索到他们想要的信息,优化用户体验
4、招聘信息和个人简历信息下方都有聊天入口,从这里接入腾讯IM的即时聊天功能。
————让用户更快捷地进行对话,了解对方信息,提高效率。 -
为什么用户会用你的产品/功能?
界面美观,容易使用。
信息分类,多维度检索。
即刻聊天,无需切换。 -
你的创新在哪里?
我的创新在于将信息检索与及时通信聊天结合起来,给用户一个快捷的体验。 -
如果你来领导这个团队,会有什么不一样
我会为团队营造轻松和谐的氛围,更加注重团队成员之间的协作与交流,每个成员需要定期汇报自己的进展,成员之间可以互相帮助。 -
如果你的团队有5个人, 4个月的时间,你作为项目经理,应该如何配置角色(开发,测试,美工等等)?
开发阶段前2周安排4人来开发,1人负责美工。
第三周起从开发组抽一人做测试。即3人开发,1人测试,1人美工。
开发中后期(6~16周)美工也可协助开发组进行开发。 -
描述你的团队在16 周期间每周都要做什么,才能在第16周如期发布软件:
第1周:进行市场调研和分析,确定产品的基本功能,完成需求分析。
第2周:完成数据库的设计,界面原型图的设计,软件体系结构设计。
第3~5周:进行软件第一阶段的开发,完成信息发布及分类管理功能。
第6周:接入SDK,完成基本的通讯功能。
第7周:软件测试及界面美化,规划第二阶段开发。
第8~11周:第二阶段软件开发,完成多维度检索,即时通讯功能的完善。
第12周:软件测试,修复bug,发布beta版本。 -
项目发布后,有没有考虑过项目该怎么部署才能满足需求。分析16周后你所完成的项目上线需要哪些配套设备(服务器、带宽、数据库需求数量与配置) :
应用服务器配置:4核8G *3后端服务器配置:8核16G *4
关系型数据库:SQL Server/Oracle/Mysql数量:3(读写分离 2,备份 1)
缓存数据库:Redis 数量:2(主备)