热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

软工实践·第六次作业团队选题报告

JarvisForChat团队选题报告组长博客链接本次作业链接NABCD在项目中的使用N(Need,需求)QQ和微信已经成为人们社交的必需品,在QQ有7.8亿活跃用户,微信更是

"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

    • 我们团队也会尝试训练自己的机器人模型,同时支持在多种语气间进行选择


  • C(Compete,竞争)

    竞品1:第五代QQ机器人

    优点:



    1. 拥有较多的插件库

    2. 运营模式清晰

    缺点:



    1. 插件较多但多为论坛开发者贡献,下载需要论坛币

      1. 不支持微信平台

        1. 无法提供消息监控、数据分析功能

        2. 无法提供关键信息提醒功能



    竞品2:酷Q机器人

    优点:



    1. 插件较多,可拓展性强

    2. 界面美观,操作友好

    3. 可以很方便的使用图灵机器人的API

    4. 盈利模式清晰,主要通过软件Pro版、论坛币来进行收费

    缺点:



    1. 插件较多但多为论坛开发者贡献,下载需要论坛币

    2. 不支持微信平台

    3. 无法提供消息监控、数据分析功能

    4. 无法提供关键信息提醒功能

    竞品3:wxpy等代码库

    优点:



    1. 提供微信接口,可以实现智能微信公众号等功能

    缺点:



    1. 用户学习成本大,需要用户有一定的编程知识且需要自己动手编程来实现相关功能

    2. 界面不友好

    3. 未支持消息监控功能


  • D(Delivery,推广)



    • 福利推广



      1. 新用户功能免费体验

        用户完成注册后,可免费获得本产品7天会员福利。此期间用户可以使用所有付费功能,方便用户体验到我们产品的完整功能。7天会员期后恢复到初始功能,用户可自行决定是否续订会员。


      2. 好友邀请福利

        用户每通过自己的邀请码邀请一位新用户,就可获得三天会员使用期,奖励时长可以叠加,以达到扩充用户量的目的。



    • 宣传推广



      1. 群聊推广

        有偿招募交际圈较广的学生人手,在空间及群聊中推广产品,通过同为学生身份的便利性,更容易扩展学生群体成为本产品用户。


      2. 空间推广

        在QQ空间及朋友圈等平台发布宣传广告,并设置转发抽奖等福利来增大转发量,迎合当前年轻人的网络使用习惯。


      3. 推文宣传

        与知名公众号、微博大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:我方会加强学习您所说的数据分析,谢谢!

建议:同类产品会给人上不了台面的感觉,希望能做的高端大气上档次



  • 改进:我们争取,谢谢!


第九小组:

建议:可以加强群发短信的门槛,削弱营销号的数量。



  • 针对定制化消息群发功能,做了补充,补充内容为

    考虑到部分商家或个人可能试图将本功能应用于垃圾广告推送、诈骗消息推送等,我们考虑加入一定的审查机制,当发现用户频繁发送广告或其它不良内容时,先发出警告,不加收敛的直接予以封号处理。


建议:提高安全级别,防止信息的泄露



  • 我方认为,该方面内容已在商业计划书的【风险分析】部分做出了分析,无须再次补充


其他内容



  • 本组评审表链接

  • 本组选题报告链接



推荐阅读
  • Python应用实例大揭秘:七大令人惊叹的高阶技巧展示
    2020年,Python无疑成为了最炙手可热的编程语言,其影响力已远远超出程序员的范畴。从初学者到资深从业者,甚至小学生,都在纷纷加入Python的学习热潮中。凭借其低门槛、易上手和强大的功能,Python正逐渐成为各行业不可或缺的工具。本文将揭示七个令人惊叹的Python高级应用技巧,帮助读者进一步提升编程水平。 ... [详细]
  • 免费赠送《Python Selenium WebDriver 3.0 自动化测试框架实战指南》电子书资源
    免费赠送《Python Selenium WebDriver 3.0 自动化测试框架实战指南》电子书资源 ... [详细]
  • 利用Python与Android进行高效移动应用开发
    通过结合Python和Android,可以实现高效的移动应用开发。首先,需要安装Scripting Layer for Android (SL4A),这是一个开源项目,旨在为Android系统提供脚本语言支持。SL4A不仅简化了开发流程,还允许开发者使用Python等高级语言编写脚本,从而提高开发效率和代码可维护性。此外,SL4A还支持多种其他脚本语言,进一步扩展了其应用范围。通过这种方式,开发者可以快速构建功能丰富的移动应用,同时保持较高的灵活性和可扩展性。 ... [详细]
  • 2020年9月15日,Oracle正式发布了最新的JDK 15版本。本次更新带来了许多新特性,包括隐藏类、EdDSA签名算法、模式匹配、记录类、封闭类和文本块等。 ... [详细]
  • 高端存储技术演进与趋势
    本文探讨了高端存储技术的发展趋势,包括松耦合架构、虚拟化、高性能、高安全性和智能化等方面。同时,分析了全闪存阵列和中端存储集群对高端存储市场的冲击,以及高端存储在不同应用场景中的发展趋势。 ... [详细]
  • 如何在Eclipse中配置Python开发环境
    本文详细介绍了如何在Eclipse中配置Python开发环境,包括安装PyDev插件和设置Python解释器的步骤。 ... [详细]
  • 本文节选自《NLTK基础教程——用NLTK和Python库构建机器学习应用》一书的第1章第1.2节,作者Nitin Hardeniya。本文将带领读者快速了解Python的基础知识,为后续的机器学习应用打下坚实的基础。 ... [详细]
  • WinMain 函数详解及示例
    本文详细介绍了 WinMain 函数的参数及其用途,并提供了一个具体的示例代码来解析 WinMain 函数的实现。 ... [详细]
  • Python 数据可视化实战指南
    本文详细介绍如何使用 Python 进行数据可视化,涵盖从环境搭建到具体实例的全过程。 ... [详细]
  • 精选在线API编辑工具推荐
    本文将介绍几款优秀的在线API编辑工具,包括它们的功能特点和使用方法,帮助开发者提高工作效率。 ... [详细]
  • 本指南详细介绍了在Linux环境中高效连接MySQL数据库的方法。用户可以通过安装并使用`mysql`客户端工具来实现本地连接,具体命令为:`mysql -u 用户名 -p 密码 -h 主机`。例如,使用管理员账户连接本地MySQL服务器的命令为:`mysql -u root -p pass`。此外,还提供了多种配置优化建议,以确保连接过程更加稳定和高效。 ... [详细]
  • 如何在IntelliJ IDEA中生成Maven项目的所有Jar包依赖关系图
    本文详细介绍了如何在IntelliJ IDEA中生成Maven项目的完整Jar包依赖关系图。通过具体步骤和示例,帮助开发者清晰地理解并掌握这一重要功能,适合希望深入了解Maven依赖管理的读者学习参考。 ... [详细]
  • 开发心得:深入探讨Servlet、Dubbo与MyBatis中的责任链模式应用
    开发心得:深入探讨Servlet、Dubbo与MyBatis中的责任链模式应用 ... [详细]
  • 稳操胜券,35K薪资,字节跳动商业数据分析岗位
    在数字化浪潮中,掌握数据即掌握未来。正如马云在IT领袖峰会上所言:“未来的竞争将是数据的竞争,只有实现业务的数据化和数据的业务化,企业才能在激烈的市场竞争中脱颖而出。”字节跳动的商业数据分析岗位,正是这一趋势的体现,提供35K的薪资,吸引着众多数据精英。 ... [详细]
  • 2019年斯坦福大学CS224n课程笔记:深度学习在自然语言处理中的应用——Word2Vec与GloVe模型解析
    本文详细解析了2019年斯坦福大学CS224n课程中关于深度学习在自然语言处理(NLP)领域的应用,重点探讨了Word2Vec和GloVe两种词嵌入模型的原理与实现方法。通过具体案例分析,深入阐述了这两种模型在提升NLP任务性能方面的优势与应用场景。 ... [详细]
author-avatar
无情的有情人家_834
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有