app软件开发的基本流程_app项目开发流程

app软件开发的基本流程_app项目开发流程 本文转载自互联网,如有侵权,请联系我及时删除。谢谢。(一)项目启动前  从事产品的工作一年多,但自己一直苦于这样或者那样的困惑,很多人想要从事产品,或者老板自己创业要亲自承担产品一职,但他们对产品这个岗位的认识却不明晰,有的以为是纯粹的画原型,有的是以为做项目管理跟踪项目进度,有的是做竞品分析给老板看。实际上,这些都不是产品经理的核心和重点。在较为成熟的企业,因为产品的壮大和人员的增多,…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全家桶1年46,售后保障稳定

 本文转载自互联网,如有侵权,请联系我及时删除。谢谢。

(一)项目启动前
  从事产品的工作一年多,但自己一直苦于这样或者那样的困惑,很多人想要从事产品,或者老板自己创业要亲自承担产品一职,但他们对产品这个岗位的认识却不明晰,有的以为是纯粹的画原型,有的是以为做项目管理跟踪项目进度,有的是做竞品分析给老板看。实际上,这些都不是产品经理的核心和重点。在较为成熟的企业,因为产品的壮大和人员的增多,为了便于协作和沟通,岗位会细化的很清楚,如产品经理、交互设计师、UI设计师、用户体验分析师、1师、运营等等。但是创业型公司中产品经理往往都是身兼数职,创业公司追求的是效率最大化、成本最低化,根本没精力将岗位分的那么细致。下面我以一个创业者的视角或者说负责一个产品项目的产品经理角度出发,来审视整个过程,看一个产品从无到有,产品经理需要哪些事情。

  产品从概念到产出到流程
这里写图片描述
  做任何东西之前,首先要考虑其背后的用户需求、商业价值、技术难度。只有用户有需求,你的产品才会有人用;只有其商业价值成立,才能为企业带来利润,毕竟企业最最基本的目标就是要盈利;只有技术上的总体评估是可行的,整个项目才可被执行。现在的互联网创业,大家都在追求”快“,比如2个月融资,4月用户过百万,3年后纳斯达克上市。但是这都是大家看到别人创业成功的表象,殊不知做任何事情的前提是,你得了解你在做什么,诚然,不排除哪些胆子大运气好随便干就成了的,但那只是个案,不值得深究。

一、用户需求
  1.1产品定位
这里写图片描述
  在项目的执行过程中,我们经常陷入一种情景,就是一堆人在一块,讨论的氛围可谓是情绪高涨,A说这个地方的按钮不行,B说这个地方应该像人家APP那样做,C又说你们都不对应该是这个模块不要换成这个云云。经常参加这种讨论,会无比的耗费时间和体力,动辄好几个小时过去,但一散会,发现什么结果也没得出来。多数情况下,一定是产品定位出了问题。执行的人一定要清楚的明白产品是用来干什么的,给什么人用,才能正常的去讨论具体细节。如果热血沸腾、蹬鼻子上脸的的讨论了好久,发现没结果,发现会议的讨论跑偏了,不妨回归本质,想想我们的产品定位是什么。

  产品定义:产品定位包含两个大的内容一个是产品定义,另一个是需求定义。产品定义要分析的内容包含产品的使用人群、主要功能和产品特色。

这里写图片描述
  举例,你现在要创业搞一个移动端招聘APP取,作为产品经理首先应该干什么?中国每年的就业人口非常庞大,行业也各种各样,那你就有要想,你的产品是要给什么样的人提供服务,你如果想服务所有行业的人群那是不可能的,首先一个小公司去整合这么多行业招聘信息本身就非常困难,另外并不是每个行业的人对互联网的接受程度那么高。

  通过数据分析和调研,发现现在国家鼓励创业,创业的高峰期必然产生大量的人力需求,尤其是现场几乎说到创业没有哪个是跟互联网无关的,而且从事互联网的人对于APP的接受程度也很高,至少都愿意尝试。所以你把互联网这个行业的从业人群作为你产品的使用人群。

  当你分析完其他招聘类APP后,你发现这些APP有很多问题,比如我就是要找北京西二旗那边的工作,但是很多APP目前都是没位置筛选;虽然可以海投,但是得到的反馈的寥寥无几;能够了解的企业信息太少;在投递建立前,作为求职者希望知道这个公司的老板是谁;现在都互联网时代,电子简历完全可以了,为什么每次招聘还需要招聘者自己打印简历,要知道打印简历对于求职者来讲并不是很方便,因为随时会改动,这对求职者非常不方便。所以你打算做这个APP,他的特色功能就是:1、岗位支持企业所在位置分类;2、招聘方应该时时给予求职者反馈;3、取消纸质简历。主要功能就是招聘。现在我们给APP取名叫做飞鸽招聘。

  需求定义:需求定义的分析包含目标用户、使用场景、用户目标三个方面。目标用户是什么类型的人会用你的产品;主要功能是指你的产品是用来干什么的,是工具是社交还是其他;你的产品相对于其他市面上的产品有什么不同的地方,这就是产品特色。
这里写图片描述
  刚才明确了APP的适用人群、主要功能和产品特色。市面上的招聘APP,有的是做猎头的专门针对于希望跳槽的,你的APP的目标用户是谁?基于特色功能分析和用户痛点,分析出出产品的目标用户是那些有想在具体位置找工作的人,比如已经定居北京后沙峪的人,希望工作在望京;当你刚刚搬家到回龙观时,此时你面临着换工作,你可能会倾向于找西二旗那边的工作。

  1.2需求分析
  以上就是所有产品定位的内容。这些完成之后,紧接着的就是竞品分析和用户调研,一方面这是对我们的需求进行一定的验证,另一方面也是我们直接接触用户的一个机会,看用户存在什么需求。
这里写图片描述

  1.3需求筛选
这里写图片描述
  早期需求筛选是个非常苦逼的事情,如果产品经理自己就是老板,自己心里很清除还行,如果不是很容易陷入海量的需求中拔不出来,讨论着讨论着就跑偏了,讨论完之后好像什么功能都需要,这个功能有用,必须加;那个功能太好玩了,用户肯定有趣。这话总完全凭个人主观臆断的东西,往往都是当时听起来貌似合理,但事后却经不起推敲。所以我们需要始终把握住我们的产品定位和优先级,万不可盲目的在这个地方做很多无畏的牺牲和奋斗(少做不经思考的、拍脑袋的、不经过大脑的决定)。
  需求记录表:
这里写图片描述
  早起需求筛选期间,会出现很多这样或者那样的需求,有些我们不能立马做出判断说做还是不错,这些点子有可能以后会成为我们产品迭代的启发点,也会给产品的发展带来更广的思路。做好管理,尊重每一个人的想法,在出现模棱两可时,记录下载,对会议的推动和进展会有很大的帮助。

二、商业价值
这里写图片描述
  市场需求文档和商业需求文档,一般在大公司会得到比较成熟的体现。小公司往往多数都是老板自己决定,老板可能不会搞这样或者那样的文档,但他自己肯定会去做基本了解,或者本身自己就很了解某个行业。这两个文档并不是多余的,也不是累赘,如果在项目启动前,能够花一定的时间去深入了解行业和用户是非常必要的。具体文档细节在这里不做阐述,网上有很多可以去借鉴的。

三、技术评估
这里写图片描述
  作为不是技术出身的人,就不再这里转笔了。尊重开发人员,和开发相处融洽一点,会对产品的推动非常有帮助。

(二)项目执行中
  在前文中已经给大家讲了项目启动前应该做的三大块1、需求;2、商业;3、技术。在这些准备工作整理完之后,接下来就是执行,执行过程中不像之前需要考虑的那么宏观,但需要你足够的细心和耐心。

一、产品层面
这里写图片描述
  需求产生了之后,紧接着产品人员就可以产出需求文档,需求文档对接下来交互设计(创业公司往往产品经理会担任)、UI设计起着关键性的作用,当然在需求闻文档产生的过程中,如果有专职的交互设计,在需求阶段最好和产品人员一起来探讨需求文档的细节,这对于交互设计自己理解整体的需求有帮助,也对他进行原型设计和撰写交互说明有很好的帮助。

  需求文档大致包含的内容会有如下几个方面:

  背景描述:为什么开展这个项目?解决用户什么问题?会有多大的价值?大致就是把项目启动前做的功课进行一下总结说明,务必精简明了。

  用户画像:对用户特征进行虚拟说明,阐明用户情况。

这里写图片描述
  项目时间规划:什么时候出来原型?什么时候出来真实设计稿;什么时候进入开发?什么时候开始测试?什么时候开始提交应用商店? 这些都需要明确出来,不然如果没有时间概念,什么事情都会拖拖拉拉,没有紧迫感。

  信息结构图:APP的内容组织结构。下面是举例,简单的给出微信的基本结构。
这里写图片描述
  任务流程图:对于APP中的大功能,把用户从开始到结束的整个过程梳理出来,把各种可能性考虑进来,否则之后如果开发碰到问题了问你,你还得重新考虑,更可怕的是开发不问你直接就开发了,而结果还不是你想要的。下面以一个简单的登录为例:
这里写图片描述
  需求说明:把每个操作的条件和结果说清楚,如果能够用文字说清楚的就用文字,说不清楚的最好用图片。可能有的人会说,这个时候还没有线框图,怎么解释啊。这个并不矛盾,早起的需求文档是用来给交互看的(再次强调,创业型公司的产品可能会兼着交互),交互设计师再根据你的功能结构和流程梳来设计线框图和高保真的原型图。

  数据埋点:把后期需要查看的数据列成清单,比如说这个按钮的点击率,这个页面的打开率等等,这个时候需要和运营多交流,对需要做埋点的地方理清楚。这对于产品上线后的数据分析很有帮助,数据也可以辅助产品功能的迭代。

二、交互设计
  需求整理完成之后,接下来大致要进行的就是线框图、页面流程、高保真原型图和交互说明的设计和产出。高保真原型是具体情况来定,有的公司有要求,有的没有。

  2.1线框图:
  力求简单清晰的表达出每个页面的视觉效果,这里最好不要加入交互,也不要搞的五颜六色,最好是黑灰色。每个情形就是一个页面,把各个情况用页面分别表达出来,一方面你会更加清晰APP整体的界面数量,另外设计也会更加清楚你想要什么,否则加入了交互,设计也不知道怎么点,你还得解释半天。
这里写图片描述
  2.2页面流程图:
  比较类似之前的信息结构图,页面流程图这是用各个页面来做连接,视觉上更加清晰各个环节的衔接和跳转。
这里写图片描述
  2.3高保真原型图:
  对交互的要求会更高。需要比较完整的展现各个功能之间的交互动作,另外在视觉上尽量还原真实产品的样子。(关于Axure,可以学习金乌的课程,很不错,很多人觉得讲的太罗嗦,但是你认真看下来还是很有收货的)
这里写图片描述
  2.4交互说明:
  我个人觉得,交互说明和高保真原型有重合之处,如果做了高保真,那么多数的交互动作基本上都可以展现。但是有些地方的交互动效是软件无法搞定了,这个时候就需要你用交互说明了。

  如果文字和图片都不要说明的就直接用纸片来模拟。不要小看这种方式。
这里写图片描述
  这里做交互标记的工具推荐几个给大家:mac电脑果断是sketch了;windows下有snagit、圈点、FScapture,另外viso也可以标注。
这里写图片描述
三、UI设计
  一般情况下,交互设计师讲线框图交给设计师,设计师就可以开工了。这个过程,交互也要多和设计去沟通,毕竟UI也会有自己的专业度,她会有自己的设计见解,这很正常。

四、项目执行
  设计产出了,交互的工作也做完了,该去交给项目经理执行了,这个身份目前来看那只有很大的公司里才会有,一般情况下是由产品经理直接兼任了。这里需要提醒的是,在执行前,各种相关的规范要先建立起来。比如:

  4.1,apk、api文件的命名规范和不同类型安装包的管理:
  这里全是我个人的经验,做好这些,会对以后安装包的管理会有极大的帮助。我们当时把搭建了一个开发者环境,这个环境下的APK、API文件只能在局域网类使用,在这个环境下可以任意折腾和测试,不会影响到已经上线的应用。

  开发者环境下打包的安装包图标和命名要和线上环境下的应用区别开。以后在续测试时就不会因为各个版本搞的手忙脚乱。
这里写图片描述
  4.2APK、API文件管理
  4.2.1开发版:纯开发自己使用或者产品使用,其他无关人员一般情况下不会接触到这个版本。网络环境:仅特定网络环境下使用(需要技术人员搭建环境)。
  4.2.2公测版:经过产品和测试人员的详细测试后,基本没有什么BUG了,就可以拿出来给公司的人使用,也算是上线前的稳定性测试。网络环境:仅在特定环境下可以使用(需要技术搭建环境)。
  4.2.3商店版:准备提交到市场的APK、API文件。在经过开发版本、公测版的全面测试后,排除一切不稳定bug,此时打包的商店版仍然需要经测试人员的最后把关,最后一定要保证的是,准备上线的APK、API文件是经过测试人员的最后把关的,否则如果开发如果做了改动不通知测试和产品人员,上线后出了问题再改就晚了。
这里写图片描述
五、APP测试和版本号管理
  版本好号的管理,前期就要搞清楚,否则后面产品上线后,出现bug要改进,或者添加新功能后对老版本是否有影响,这个时候版本号管理的好就会起到很大的作用,一方面你可以随时找出之前上线过的apk、API文件,另一方面面对不断修改打包的文件不至于把自己搞混。

  下面是我个人的意见,如哪个大牛有好方法可以分享出来。版本号始终是唯一的,是依次迭代递进的,不要为了上线时版本号好看就去刻意干扰版本号,严禁搞多套版本号。

测试须知:

  UI、交互、产品在技术人员开发阶段,要多和技术人员沟通,最好是将大功能细化成小功能模块,每次做好一部分就通知相关的人进行检查,以免累计到最后问题过多修改动作太大。UI负责盯着开发是否按照自己的设计实现的,交互负责关注交互效果是否符合你的标准,产品负责关注各个功能的实现是否正确。
这里写图片描述
  测试用例:好的测试用例能够有效的推进测试的进程,好的测试用例在于尽可能的把APP的各种需要测试的情况用人话描述清楚,这点就看你的文字能力了,测试用例写出来会交给测试人员来测,这也是他们评判APP是否达标的标准。

  Bug管理工具:bugtags,bugclose等等,市面上有很多,多是免费的,即使是收费也不要在意那么点钱,借助bug管理工具能够有效的提高测试人员和技术人员的协作效率。

(三)项目上线后
  之前给大家介绍了两个部分,项目启动前和项目执行中。项目上线后,作为产品需要关注的事情有几个方面,一是APP数据,二是用户反馈,三是需求提取。

一、APP数据
新增用户:第一次启动应用的用户;

新增独立用户:全体应用的新增用户的总和(去重)

活跃用户:当天启动一次的用户即为活跃用户,含新用户和老用户;

活跃独立用户:当天应用的活跃用户总和(去重)

MAU:MAU(monthly active users)月活跃用户人数。

DAU:DAU(Daily Active User)日活跃用户数量。常用于反映网站、互联网应用或网络游戏的运营情况。

用户留存率:在互联网行业中,用户在某段时间内开始使用应用,经过一段时间后,仍然继续使用该应用的用户,被认作是留存用户。这部分用户占当时新增用户的比例即是留存率,会按照每隔1单位时间(例日、周、月)来进行统计。

用户留存率中的40-20-10法则:如果你想让游戏、应用的DAU超过100万,那么日留存率应该大于40%,周留存率和月留存率分别大于20%和10%。

次日留存率:(当天新增的用户中,在往后的第1天还活跃的用户数)/第一天新增总用户数;

第2日留存率:(第一天新增用户中,在往后的第2天还有活跃的用户数)/第一天新增总用户数;

第7日留存率:(第一天新增的用户中,在往后的第7天还有活跃的用户数)/第一天新增总用户数;

第30日留存率:(第一天新增的用户中,在往后的第30天还有活跃的用户数)/第一天新增总用户数。

  另外就是APP的埋点数据,这个功能的点击率是多少?这个功能有多少人打开,又有多少人使用了?有多少人在频繁使用这个功能?等等,这些埋点数据要时常关注。结合数据变化来反思功能设计的问题,从而优化产品。

二、用户反馈和评论
  产品上线后,用户的反馈和评论对于产品人员来讲是尤为珍贵的材料,一方面这是你的真实用户的直观感受,另一方面他们再表达直接的需求。那么,怎么样处理用户的意见就显得格外重要。用户反馈什么我们就做什么,这是肯定不行的。很多情况下用户表达的只是一种表面现象,要学会去挖掘用户背后的需求本质。多去研究世界上一些革命性的产品,多去了解人。
这里写图片描述
这里写图片描述
当看到四处飞来的意见时,我们要学会思考,而不是全盘接受、全盘照抄。

是不是我们的目标?想想我们的目标用户是谁。

使用场景是否成立?还是这只是极个别人的场景需求。

用户目标是否正确?我们的APP是不是用来满足用户这个需求的?

产品定位还正确吗?如果做了这个功能,还符合我们产品的定位吗?

如果要做这个功能,那么自身的项目资源是否能够满足?如果需要举全部资源来做这件事情,那就要慎重再慎重。
这里写图片描述
三、需求提取
也许用户的意见是个圆形,但经过分析之后,很有可能得到需求是个三角形。

“如果我最初问消费者他们想要什么,他们应该是会告诉我,‘要一匹更快的马!’”

——这是亨利·福特的一句经典名言,如今我们在《乔布斯传》里又见到了它。

  100多年前,福特公司的创始人亨利·福特先生到处跑去问客户:“您需要一个什么样的更好的交通工具?”几乎所有人的答案都是:“我要一匹更快的马”。很多人听到这个答案,于是立马跑到马场去选马配种,以满足客户的需求。但是福特先生却没有立马往马场跑,而是接着往下问。

福特:“你为什么需要一匹更快的马?”

客户:“因为可以跑得更快!”

福特:“你为什么需要跑得更快?”

客户:“因为这样我就可以更早的到达目的地。”

福特:“所以,你要一匹更快的马的真正用意是?”

客户:“用更短的时间、更快地到达目的地!”

于是,福特并没有往马场跑去,而是选择了制造汽车去满足客户的需求。

这里写图片描述

  客户需求有显性需求和隐性需求两大类。我们通过市场调查得知的往往都是一些诸如“我要一匹更快的马”这类显性需求。客户的显性需求并不是客户真正的需求。企业需要根据所收集的显性需求信息进行深度挖掘和捕获,以了解客户的隐性需求是什么,进而分析出客户的真正需求是什么(例如:用更短的时间、更快地到达目的地)。这就是一个需求分析的过程。

乔布斯所言:“我们的任务是读懂还没落到纸面上的东西。”实际上就是用户隐性需求的深度挖掘。

本文为作者华飞(微信huaguolong179),文章来源:鸟哥笔记,转载请注明来源鸟哥笔记并附带作者信息。
转载地址:http://www.jianshu.com/p/9251dbf9bb6b#

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/226590.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • join方法的使用

    join方法的使用一、join方法1.1jon方法的作用使所属的线程对象x正常执行run()方法中的任务,而使当前线程y无限期的阻塞,直到x线程销毁后再继续执行线程y后面的代码。join方法具有使线程排队运行的作用,有些类似同步的运行的效果。1.2join与synchronized的区别join在内部使用wait()方法进行等待,而synchronized关键字使用的是”对象监视器”原理作为同步。…

  • 提取汉字拼音首字母_药上面有vc字母是什么药

    提取汉字拼音首字母_药上面有vc字母是什么药Author:lixiaosanDate:05/26/2006/********************************************************************************************/*Syntax/*      GetFirstLetter(CStringstrName,CString&strFir

  • ntp协议原理_ntp服务器连接失败

    ntp协议原理_ntp服务器连接失败ntp协议,c语言实现PAGEPAGE26ntp协议,c语言实现篇一:NTP协议格式(中文)NTP协议格式(中文)NTP协议格式1.NTP时间戳格式SNTP使用在RFC1305及其以前的版本所描述标准NTP时间戳的格式。与因特网标准标准一致,NTP数据被指定为整数或定点小数,位以big-endian风格从左边0位或者高位计数。除非不这样指定,全部数量都将设成unsigned的类型,并…

    2022年10月10日
  • IntelliJ IDEA 2019.3安装激活破解使用教程[通俗易懂]

    一、 前言 作为一枚程序员,你肯定对IntelliJ IDEA这个工具一点也不陌生!或许你没有用过,但你也一定听说过。作为在业界被公认为最好的java开发工具,IDEA每次大版本更新都备受瞩目。划重点

  • 认识设备树(二)——设备树文件的格式

    认识设备树(二)——设备树文件的格式目录1DTS文件的格式1.1DTS文件的总体布局1.2memoryreservations的格式1.3属性的格式1.3.1有关属性名1.3.2有关属性值1.4节点的格式1.4.1推荐的节点名1.4.2节点的路径名1.5一些特定的属性1.5.1#address-cells1.5.2#size-cells1.5.3compatible1.5.4model1.5.5phandle1.5.6interrupt-controller1.5.7interrupt-parent1.5.

  • linux tcp发包工具_怎么用命令行查IP

    linux tcp发包工具_怎么用命令行查IPSendip是一个linux平台的命令行发数据包工具,目前(2018年2月)支持的协议有ipv4、ipv6、icmp、tcp、udp、bgp、rip、ntp,作者表示其他协议将会后面支持,当他有空写的时候。Sendip很强大,它支持自定义头部和数据(也就是IP层以上的整个包),没有过多的限制,所以连源IP都可以随意写,而且里面也提供了一些默认的选项,可以择需而发,非常方便。又因为它是命令行的,还支…

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号