美文网首页
一个完整软件产品需要的功能

一个完整软件产品需要的功能

作者: penguin517 | 来源:发表于2016-12-11 18:50 被阅读0次

    做一个demo很容易,但是真正要交到用户手中时,应该是一个成熟的产品,一些功能是必不可少的,这些功能主要作用如下:

    • 提供不断完善产品的方法
    • 方便定位问题
    • 保证产品的可扩展性
    • 用户数据安全

    基本功能

    用户反馈渠道

    用户在使用产品时发生了Bug或者对产品有一些新的需求,应该有一个明显的入口提供给用户完成反馈

    用户行为数据统计

    用户行为统计最基本是用来看一个产品的活跃用户数、转化率等指标,但更重要的是根据用户在产品上面的操作习惯,可以用来改进产品设计,对于一些特殊的涉及用户个人信息的产品,还可以知道用户是一个什么样子的人,从而进行针对性营销

    对内对技术和对外的帮助文档

    对内的技术文档主要是方便开发人员之间的协同开发,对外的帮助文档主要是面向最终用户,帮助用户处理产品常见问题

    方便获取日志

    产品发布后,如果发现问题,用户反馈给开发人员,开发人员一般会要求用户抓取日志,但不是每个用户都懂得或者愿意抓取日志,有条件的话,应该设计一个更方便的日志抓取逻辑,比如产品留一个监听端口,开发人员可以通过这个端口获取日志,整个过程只需要用户告诉IP就可以了

    方便查看版本信息

    产品的UI界面一般显示的是App的信息,如果想知道App所使用其他SDK的版本信息,需要查看日志,SDK应保证在日志中可以方便的查看到版本信息

    用户数据安全

    软件产品常常设计到用户的个人信息,产品发布的时候一定要Review一下整个流程有么有可能造成用户个人信息泄漏

    第三方库是否可商业化

    产权问题就像生小孩,等肚子大了才看的出来,当你的产品用户数量越来越多,你用的第三方库的产权问题就会受到更多的关注,所以在第一个版本发布的时候,就需要把那些无法商业化的第三方库去掉

    在线升级

    新旧产品之间的不兼容,一直是软件开发中的硬伤,每个程序员都希望用户用的是最新版本,但是现实很残酷,开发人员应该提供一种方便的升级方式来帮助用户升级,当一个人做一件事成本很低的时候,他会愿意试一试的,比如说网购

    版本信息交互

    如果产品设计到多个端之间通信,交互时需要加入版本信息保证兼容,随着业务逻辑的增加,很容易出现协议之间不兼容的情况,这时候就需要根据对方的版本来选择不同的协议,所以多个端之间交互时加入版本号信息是一个很好习惯

    配置产品特性

    一般可以通过界面来配置一些产品特性;如果是通过配置文件来修改,那么主要针对面向程序开发人员的产品,比如IDE,开发者可以根据自己的喜好和机器环境,修改配置

    高级功能

    基本功能主要是针对最终用户,高级功能主要是面向开发人员

    插件化

    插件化让新增一个功能不需要重新编译和部署,可能只需要简单的重启一下程序,像Eclipse一样

    SDK支持

    当用户不喜欢默认UI时候,可以根据SDK重新设计自己的UI

    相关文章

      网友评论

          本文标题:一个完整软件产品需要的功能

          本文链接:https://www.haomeiwen.com/subject/eiupmttx.html