2018软工实践第六次作业——团队选题报告
"Jarvis For Chat"团队选题报告
NABCD在项目中的使用
-
N(Need,需求)
QQ和微信已经成为人们社交的必需品,在QQ有7.8亿活跃用户,微信更是有10亿的活跃用户,这中间伴随着巨大的信息流,在大数据时代,信息是潜在的财富,监控和分析如此庞大的信息流无疑会带来巨大的收益。与此同时我们又要意识到,我们是普通人,我们不是腾讯,我们也不是网络警察,我们无权分析QQ和微信上所有的信息流,但我们有机会也有能力来分析我们自己微信、QQ的信息流。我们每天都会面临大量的信息流,隔几个小时就有群聊就开始99+了,在这样的情况下,一个新需求就会产生,一款可实时监控、分析聊天信息,帮助用户提取信息关键内容的软件。
与此同时,市面上明没有较为成熟的同时支持QQ、微信的助手软件,无法快速满足用户"定制化小心群发"、"批量清理单向好友"等需求。
于是乎,我们就想做"Jarvis For Chat"网络聊天中的贾维斯这款软件。
我们的需求调查以网络问卷为主,实地采访为辅,调查对象主要为年龄在19-22岁的年轻用户,网络问卷共收集到141份。
通过问卷调查,我们发现客户对"群消息监控"、"群消息分析"、"定制化消息群发"、"24小时自动抢红包"、"批量清理单向好友"的功能很感兴趣。
-
A(Approach,做法)
考虑到手机算力不足,项目初期会在桌面平台上落地(Windows Linux通用)。项目后期会考虑为用户提供服务器级的7×24小时服务,首先可以为用户提供可靠的7×24小时的数据监控、聊天记录保存等服务,同时可以为手机用户提供便捷的C/S服务。
做法概述:
-
项目综合使用数据挖掘、数据分析、自然语言处理技术
-
项目整体将使用Python语言,使用
PyQt
进行桌面开发,实现与核心Python模块的高度耦合 -
数据分析可视化会考虑使用
javascript
语言进行分析 -
使用
qqbot
模块实现与QQ的对接、使用itchat
模块与微信实现对接 -
使用应用前需要先注册好本应用的账号,以实现账号同步、使用高级功能(如7×24的服务器端数据监控、聊天记录保存等)
聊天机器人部分:
-
可以使用诸如图灵机器人、小i机器人等商业API
-
我们团队也会尝试训练自己的机器人模型,同时支持在多种语气间进行选择
群消息监控与分析部分:
- 针对客户指定的群聊,在群消息监控服务开启时将群里的每一条消息保存在本地,同时检索是否有用户设置的关键词,如果有,可以通过短信或者邮件的方式转达给用户。
- 热词分析的实现:考虑到中文分词技术日臻成熟,我们只需要结合合适的热词词库,就可以实现热词分析功能。
定制化消息群发部分:
- 用户提前编写好要群发消息的模板,程序自动根据好友的昵称、备注更改模板,以实现定制化消息群发功能。
批量清理单向好友:
- 向每一个好友发送一条测试信息,根据消息的返回的状态信息来判断是否已经是单向好友即可
-
-
B(Benefit,好处)
- 提供了针对于QQ和微信的消息监控、分析功能,满足有消息监控需求的用户
- 提供了傻瓜式的批量清理单向好友功能,用户可以批量删除不需保留的单向好友
- 可以提供7×24小时的服务器端挂机、消息监控、分析功能
- 针对到了节日群发祝福语显得很Low还很尴尬的问题,提供定制化消息群发功能,轻松实现根据备注来发送节日祝福语,更具有人情味
- 提供一键让用户的账号变为聊天机器人功能,参与到指定群聊中,活跃群的气氛
项目最初版本的原型图如图所示
-
C(Compete,竞争)
竞品1:第五代QQ机器人
优点:
- 拥有较多的插件库
- 运营模式清晰
缺点:
- 插件较多但多为论坛开发者贡献,下载需要论坛币
- 不支持微信平台
- 无法提供消息监控、数据分析功能
- 无法提供关键信息提醒功能
竞品2:酷Q机器人
优点:
- 插件较多,可拓展性强
- 界面美观,操作友好
- 可以很方便的使用图灵机器人的API
- 盈利模式清晰,主要通过软件Pro版、论坛币来进行收费
缺点:
- 插件较多但多为论坛开发者贡献,下载需要论坛币
- 不支持微信平台
- 无法提供消息监控、数据分析功能
- 无法提供关键信息提醒功能
竞品3:wxpy等代码库
优点:
- 提供微信接口,可以实现智能微信公众号等功能
缺点:
- 用户学习成本大,需要用户有一定的编程知识且需要自己动手编程来实现相关功能
- 界面不友好
- 未支持消息监控功能
-
D(Delivery,推广)
-
福利推广
-
新用户功能免费体验
用户完成注册后,可免费获得本产品7天会员福利。此期间用户可以使用所有付费功能,方便用户体验到我们产品的完整功能。7天会员期后恢复到初始功能,用户可自行决定是否续订会员。
-
好友邀请福利
用户每通过自己的邀请码邀请一位新用户,就可获得三天会员使用期,奖励时长可以叠加,以达到扩充用户量的目的。
-
-
宣传推广
-
群聊推广
有偿招募交际圈较广的学生人手,在空间及群聊中推广产品,通过同为学生身份的便利性,更容易扩展学生群体成为本产品用户。
-
空间推广
在QQ空间及朋友圈等平台发布宣传广告,并设置转发抽奖等福利来增大转发量,迎合当前年轻人的网络使用习惯。
-
推文宣传
与知名公众号、微博大v等合作,通过社交网络平台(如微博、微信等)推送博文广告及开展系列主题活动等,借助知名公众号所附加的巨大流量进行宣传推广。
-
-
个人贡献分分配计划
- 本着多干多得的原则,我们尽可能地降低基础绩效的占比,目的在于鼓励大家多参与软件开发的过程。不作为的队员在我们队伍里是得不到高分的。
- 定期分析团队成员的贡献情况,届时每个成员得到一个单次总分,待最终评分时,根据大家的总分按比例分饼。
- 单次总分上限为120分,其中特别贡献分额外计分,原则上不超过20分,如果做得真的特别特别好,可以考虑突破20分。
个人单词贡献分表格如下:
待评分项 | 衡量指标 | 评分方式 | 项目占分 | 备注 |
---|---|---|---|---|
基础绩效 | 固定分数 | 25 | 无 | |
工作时长 | 总工作时长 | 项目经理计算 | 40 | 参与了什么工作、工作的重要程度 |
工作质量 | 代码可用性、可靠性 | 团队互评得到 | 20 | 工作做得怎么样 |
参与协作程度 | 线上及线下议会出席情况 | 项目经理评估 | 15 | 一般情况下为满分,视具体情况扣除 |
特别贡献分 | 特殊贡献(范围不定) | 团队讨论得出 | 20 | 额外计分 |
总分 | 120 |
本次作业个人贡献分(去除基础绩效)
本次作业个人贡献分占比
现场得分及QA总结
本组的现场答辩得分:78.33
第一组提出的问题:
问:聊天机器人功能与微信、QQ消息助手的功能之间缺乏必要的逻辑关联性?
- 聊天机器人只是作为趣味功能,并非核心功能。聊天机器人可以用于帮助活跃聊天气氛,且根据情况自动回复消息,这点可以参考当初新生群里的机器人。
问:如何规避读取用户信息时可能触犯腾讯用户协议的法律风险?
- 这在某种意义上客户使用我们的软件登录QQ、微信相当于客户使用第三方软件来进行登录,这并没有触犯腾讯的用户协议,腾讯没有完全反对第三方软件,只是说当用户使用第三方软件进行登录时需要用户自行判断第三方软件的安全性和可用性并自行承担相应的责任。我们作为第三方软件的提供商,用户在登录时直接扫描二维码与腾讯后端建立链接,我们无法得到用户的登录密码等账户数据,我方也绝不尝试获取这些数据。
问:如何防止软件被用在不正当的途径上面?
- 我们在提供更方便更高效的工具的时无法保证也无法更改全部客户的品性、使用意图。就好比我们不能说邮箱平台也有可能沦为诈骗或者广告投放商投放广告的工具而拒绝使用它。我们会考虑设定一定的机制去发现有不良使用意图的用户对其发出警告或实施冻结账号的处罚。
第二组提出的问题:
问:我觉得你们这个产品不好推广,前期你们是打算如何招揽前期粉丝的
- 总的会有类似新用户福利之类的大方案。具体的实现上会以主要功能和趣味功能为卖点去吸引用户,通过空间和朋友圈的转发,试用福利等来吸引新用户。相信快捷查看群聊热点话题以及群聊机器人等功能能够引起年轻人或者工作族的兴趣,其他一些功能比如一键清理微信单向好友也是很实用的。
第三组提出的问题:
问:热词分析算法是有一定难度的,你们的算法可靠性有多少呢?
虽然我们没有NLP的经验,但中文分词技术日臻成熟,配合适合的热词词库,我们认为还是可以实现的,谢谢!
问:关于被@,qq微信都可以在锁屏,屏幕顶部显示,你们发邮件是否有必要?
首先当有人@我们时一定是有很重要的事情,这个时候如果手机未联网或者说处于专注于其他事情并没有注意到手机QQ的通知(很多用户并不会设置QQ、微信消息的震动提醒),我们才利用短信、邮件的方式识图提醒用户有紧急消息。至于您组所提到的发邮件,邮件的可见性确实未必有QQ、微信本身来的高,但短信的可见性一般是比QQ、微信要来的高的。况且,我们这个功能是可选的,我们并不会强求用户开启这样的服务
问:ppt展示时需要控制好时间
第一这是我们的不足,我们下次一定注意改进,谢谢;第二功能较多,组长花了大量时间解释前面市场分析、功能介绍、开发计划等重点内容,后面的财务分析、团队介绍并非本次演讲的重点。
第四组提出的问题:
问:宣讲未注意时间,没完成宣讲,缺乏说服力
- 第一这是我们的不足,我们下次一定注意改进,谢谢;第二功能较多,组长花了大量时间解释前面的市场分析、功能介绍、开发计划等重点内容,后面的财务分析、团队介绍并不是我们本次演讲的重点;至于您说到的说服力,可能是我们讲的够清楚了,只是您不是我们的受众群体或者您没get到我们的点吧,如果您有需要我们可以再讲一遍给您。
问:有部分功能实现难度大,比如聊天记录的获取
- 您所提到的聊天记录的获取,我们之前也考虑过,从可行性角度分析确实是无法实现的,一方面是QQ、微信的聊天信息是加密发送出去的无法通过抓包的形式获取消息内容,另一方面是保存在本地的聊天记录也是经过专门加密的。所以我们采用的是实时聊天消息保存,收到一条消息就保存下来,而非直接从本地聊天记录中获取相关信息。
问:该产品可能存在恶意使用的功能,可能会被用于发送垃圾消息骚扰别人
- 我们在提供更方便更高效的工具的时无法保证也无法更改全部客户的品性、使用意图。就好比我们不能说邮箱平台也有可能沦为诈骗或者广告投放商投放广告的工具而拒绝使用它。我们会考虑设定一定的机制去发现有不良使用意图的用户对其发出警告或实施冻结账号的处罚。
第五组提出的问题:
问:核心功能中群消息监控将消息保存到本地的意义在哪?qq已经有保存消息的功能了
- 保存到本地只是监控的前提,我们做的是监控,而不是单纯的保存,您专门把保存拿出来问就略有偏颇了。
问:消息分对图片适用吗?qq群中图片很容易引起的话题但是又有大量的表情包,又要如何区分
- 初期暂时没有考虑实现这个功能,会先从文本消息分析做起。再者,其实表情包在群里的使用大部分情况下是用于调侃和互怼,相对于文本所蕴含的信息意义性会小一些。如果真的有这样的需求的话,之后我们会根据用户的反馈情况去考虑是否有必要设定这个功能。
问:关于群@的邮箱和短信提醒存疑,一天可能大几十个@这又要产生几十封邮件和几十条短信。如果没有时间打开聊天软件的话,何谈邮箱呢
- 首先当有人@我们时一定是有很重要的事情,这个时候如果手机未联网或者说处于专注于其他事情并没有注意到手机QQ的通知(很多用户并不会设置QQ、微信消息的震动提醒),只有在这样的情况下我们才想到利用短信、邮件的方式识图提醒用户有紧急消息。至于您组所提到的发邮件,邮件的可见性确实未必有QQ、微信本身来的高,但短信的可见性一般是比QQ、微信要来的高的。况且,我们这个功能是可选的,我们并不会强求用户开启这样的服务。另:被@或者消息中含有用户设定的关键词时,都会以短信、邮件的方式通知用户,不是局限在被@的时候。
第六组提出的问题:
问:怎样处理好信息泄露的问题,如何保证安全性?
- 首先,在项目前期,服务运行在桌面端,消息也保存在用户自己的电脑上,安全性可以得到保障;在项目中后期引入服务器阶段时,我们会考虑寻找有网络攻防经验的外援协助搭建服务器,竭尽所能保证安全性。任何一款应用都存在潜在的风险,任何一台接入外网的服务器都存在被黑的风险,我们会通过技术手段、通过请外援尽量规避这方面的风险。但我们不能无限放大这些风险,否则很多应用都无法做了。
问:怎样处理好有人恶意利用群发功能来谋取私利?
- 我们在提供更方便更高效的工具的时无法保证也无法更改全部客户的品性、使用意图。就好比我们不能说邮箱平台也有可能沦为诈骗或者广告投放商投放广告的工具而拒绝使用它。我们会考虑设定一定的机制去发现有不良使用意图的用户对其发出警告或实施冻结账号的处罚。
问:怎样处理关键字统一的问题?
- 由于没有get该提问者的意思,再次询问提问者后,提问者对问题的补充描述为"就是他们通过关键字来识别,但是如果双方没有规定好关键字,就会识别不出来"。我们结合提问者的补充描述进行回- 可能您未能理解我们说的关键词,我们项目中是说当用户收到别人发来的带有含有用户已设置的关键词时用邮件、短信的方式来通知用户。并不存在您所说的双方规定关键词这一过程,这个问题可能是您理解错了。
第七组提出的问题:
第八组提出的问题:
问:对于项目组来说,所有的用户聊天信息都保存在服务器上,如何保证产品的资质和规避政策风险,再者,服务器的安全是否有相应的技术预案?
- 首先,并非所有用户的聊天信息都保存在服务器上,项目前期提供桌面端的服务,信息保存在用户主机上而并非我们的服务器上。只是到了中后期我们会考虑为用户提供服务器端的服务,由服务器来帮助用户监控、分析数据。您所提到的政策风险,我们默认您指的是腾讯方面的用户政策,在我们查阅腾讯的用户政策后,我们认为我们软件的功能并没有政策风险。我们将我们的功能定义为通过第三方软件帮助用户实现QQ、微信登录以实现更多功能。腾讯并没有明令禁止第三方软件的登录,只是用户在使用第三方软件时需要自行审查第三方平台的安全性、可行性并为之负责(QQ号码规则第5点第2条)。更多条款您可以查看QQ号码规则。至于服务器安全,我们认为,任何一款应用都存在潜在的风险,任何一台接入外网的服务器都存在被黑的风险,我们会通过技术手段、通过请外援尽量规避这方面的风险。但我们不能无限放大这些风险,否则很多应用都无法做了。
问:短信超过500条之后的收费情况需要用户自费吗?
- 运营前期可能会为用户提供尽量多的免费短信数量,当用户的短信数量到达一定数量后,我们会进行合理的收费。
问:智能聊天机器人预计做到什么地步?
- 我们的目的是让用户可以方便的在我们的软件上实现让“自己的账号”变成聊天机器人,并参与到群聊中。在前期为了能尽快落地并达到预期效果,将辅助用户使用图灵机器人的API,引导用户自行注册图灵机器人的API;项目迭代过程中,会考虑训练我们自己的机器人模型,提供不同语气的机器人以供用户选择。
第九组提出的问题:
暂无
各小组对我组提出的建议及我组改进总结
第一小组:
建议:寻求规避法律风险的方法
- 改进:经过我方分析并未觉得有法律风险,暂未做出任何改进
建议:与已有的类似竞品做出更明显的差异化
- 改进:经过我方分析我们认为已经有很明显的差异化了,暂未做出任何改进
第二小组:
建议:1. 软件功能与用户需求要更为明确2. 采取措施来防止恶意使用。
-
改进1:我方认为软件功能、用户需求已经描述的足够清楚,所以没有做出修改
-
改进2:针对定制化消息群发功能,做了补充,补充内容为
考虑到部分商家或个人可能试图将本功能应用于垃圾广告推送、诈骗消息推送等,我们考虑加入一定的审查机制,当发现用户频繁发送广告或其它不良内容时,先发出警告,不加收敛的直接予以封号处理。
第三小组:
建议:是否可以考虑在固定时间间隔内发送消息通知,并让用户自己设定优先级。
- 改进:是个好建议,将会在项目实现的过程中予以考虑,并未在选题报告中做出修改
第四小组:
建议:修改商业计划书,适量删除项目部分模块
- 改进:我方并不明白要删除哪一部分,未作出修改
第五小组:
建议:没能完整的展示完PPT内容
- 改进:下次注意
建议:用户需求方面还需要加强考虑
- 改进:我方会不断收集用户反馈意见,不断迭代升级我们的产品
建议:推广上应该多下文章
- 改进:谢谢您的建议,我方会考虑
第六小组:
建议:具体完善怎样实现提醒事项功能,处理好关键字问题
- 改进1:我方并未提及到"提醒事项"功能,所以不知道从何改进;
- 改进2:关键字不是功能,而是当含有关键字时通过短信、邮件告知用户
建议:在筛选app用户者方面也可以做出努力
- 改进:抱歉无法做出该方面的改进,因我们无权也无法审查用户的背景
第八小组:
建议:精简删除部分繁杂功能,学习处理大量数据的分析。
- 改进:正如我方所言,我方初期考虑实现选题报告中的内容,所以并未考虑删除
- 改进2:我方会加强学习您所说的数据分析,谢谢!
建议:同类产品会给人上不了台面的感觉,希望能做的高端大气上档次
- 改进:我们争取,谢谢!
第九小组:
建议:可以加强群发短信的门槛,削弱营销号的数量。
-
针对定制化消息群发功能,做了补充,补充内容为
考虑到部分商家或个人可能试图将本功能应用于垃圾广告推送、诈骗消息推送等,我们考虑加入一定的审查机制,当发现用户频繁发送广告或其它不良内容时,先发出警告,不加收敛的直接予以封号处理。
建议:提高安全级别,防止信息的泄露
- 我方认为,该方面内容已在商业计划书的【风险分析】部分做出了分析,无须再次补充
其他内容
学习进度条
第N周 | 新增代码(行) | 累计代码(行) | 本周学习耗时(小时) | 累计学习耗时(小时) | 重要成长 |
---|---|---|---|---|---|
1 | 900 | 900 | 40 | 40 | 复习了C++ Primer Plus,学习单元测试等代码分析方法 |
2 | 0 | 900 | 6 | 46 | 学习《构建之法》3~8章,学习使用Axure、Min构建原型和导图 |
3 | 1000 | 1900 | 30 | 76 | 学习C++实现爬虫,复习python实现爬虫 |
4 | 0 | 1900 | 40 | 116 | 学习itchat等语聊机器人API的使用 |
5 | 0 | 1900 | 8 | 124 | 研究itchat的源代码,赶第六次作业(这次时间安排不太合理) |