工作方法

最后更新于:2022-04-01 20:19:17

**一:列计划法** ![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2016-08-22_57ba9ebd27892.jpg) ![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2016-08-22_57ba9ebd54366.jpg) **二:工作流程规范法** ![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2016-08-22_57ba9ebd88861.jpg)
';

产品经理与项目经理

最后更新于:2022-04-01 20:19:14

原则:产品经理要有谦虚的心态,不要认为产品经理大于项目经理。 **产品经理跟项目经理的区别:** 产品经理:负责做正确的事情,提出做这件事情的方法和方式,全程跟进并保证这件事情是按照预先构思的方法和方式在前进。 项目经理:负责把事情做正确,尤其是在时间和成本,资源在一定的限制的情况下。 **实际情况下,有些产品经理可能兼项目经理,项目经理也兼产品经理。**
';

产品经理的工作职责

最后更新于:2022-04-01 20:19:12

**以下内容根据学习刘文智老师课程整理:** **![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2016-08-22_57ba9ebcec7ee.jpg)** ### 一:市场调研与需求 1:了解市场需求。整理需求,分析评估(是否迫切,是否强烈,是否高频) 2:分析竞争状况(市场报告,行业文章,使用竞争对手的产品) 3:自身资源与满足用户需求的匹配程度(技术资源,市场资源,运营资源) 4:阶段目标:发现创新产品的机会,改进现有产品的机会 5:输出文档:商业需求文档BRD(Business Requirement Document)       市场需求文档MRD(Market Requirement Document) 6:注意事项: ### 鞋子的故事 大胆设想,小心求证 切勿陷入自己营造的主观主义情绪中 ### 二:产品的规划定义与产品设计 1:规划定义 产品的愿景:目标,方向 目标市场 竞争分析 产品功能与详细描述 产品功能的优先级 产品用例(便于团队成员理解你的想法) 性能需求(最大并发数,同时在线人数峰值,峰值系统影响时间等等) 其他部门支持需求  2:产品设计 明确产品调性(一种感觉:例如启动画面,风格) 用户体验设计 (交互设计Interaction Design, 用户体验设计User Experience Design, 用户界面设计User Interface Design, 前端开发工程Web Developer) 3:输出文档 产品信息架构图 产品原型图 产品需求文档(PRD:Product Requirement Document) ### 三:产品研发过程中的项目管理(做项目经理部分的事情) 1:与各团队充分有效的沟通 协作并确保各方都按照既定目标前进 和研发沟通合作,确定产品的基本时间节点 产品开发过程中,与项目经理协作,跟踪产品开发进度 与公司高层及时沟通,汇报产品开发过程中的各种问题,进度,困难,协调资源 及时与团队汇报产品进度,确保信息对等 2:需求管理(新需求,需求变更) 3:本阶段目标(产品测试并验收完成) ### 四:产品宣讲 1:为什么要产品宣讲:进入研发阶段,根据实际情况一般会在合适的时候,让其他相关的 团队开始了解产品,进行内部的宣讲。 2:宣讲的对象:客服,市场,销售,运营,其他…… 3:宣讲的目的: (1)内部培训,让团队成员熟知产品特性与调性 (2)获得认知 (3)统一愿景 (4)激励士气 (5)获取新人支持 不用的部分看产品宣讲对其意义和作用不一样。 4:宣讲的方式:产品内部推荐会(前景预测,产品演示,产品试用),注意控制气氛,引导。技巧: (1)可以一个一个部门来。每个部门关心的点不一样,人多也不理由沟通。同一个部门的人 气氛更活跃,提示各种合理的意见。 (2)开场先活跃气氛。 (3)对象不一定专业,注意考虑对象的接受程度。 ### 五:市场推广协助       对产品的宣传资料进行内容的把关,       确保产品调性与产品描述的一致性(注意是提出意见,不是对别人的工作横加干涉) ### 六:产品退出后的管理和迭代 1:运营数据的整理分析 2:深入一线体验产品 3:关注用户的需求反馈 4:持续与各部门保持协调沟通 5:新版本迭代与优化
';

程序猿想要一个什么样的工作环境

最后更新于:2022-04-01 20:19:10

  ![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2016-08-22_57ba9ebc39fac.jpg)     今天跟一位老师谈了一上午话,受益匪浅。通过交流,你不但能从别人身上学到一些东西 ,可能是自己以前没有涉及到的知识。更重要的是,谈话过程中,你会反思自己,发现自己的问题,然后请教一下别人怎么看?也许自己当局者迷呢。 **![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2016-08-22_57ba9ebc67061.jpg)** **![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2016-08-22_57ba9ebcaf788.jpg)**       最近几年,程序员跳槽的概率越来越大,为什么很多程序员不能在一个公司沉下心来待个三五年呢? 一个巴掌拍不响,如果公司特别好,很适合自己的发展,待遇也好,谁有选择跳槽呢?当今社会,技术面越来越宽,就业机会越来越多,有些程序员的心就开始浮躁,不知道 自己该学些什么。该不该跳槽,跳槽后会不会发展更好呢。那么程序员想要一个什么样的环境?从我自身考虑,我觉得主要有三点: (1)需要一个关心团队成员发展和进步的中层领导,技术不一定要大牛。 (2)需要一群激情的小伙伴,互相学习,激情碰撞。 (3)需要一个能提升自己的工作氛围,能够全面认识产品功能,公司战略。不做井底之蛙。 谈话期间,学到了一些新的感悟: (1)慢编程不一定是缺点,编程不要特意追求快。 (2)有时候,自己觉得自己懂了,其实没懂。 (3)有时候,转行,或者放下以前用的知识,不一定就是负面的影响。背上的包袱越重,可能会限制你前进的步伐,跟上时代,学习最新,最实用的技能。
';

物联网安全的重要性

最后更新于:2022-04-01 20:19:08

 物联网的发展加速了科技融入生活的进程,使人们开始了解并体验智能化生活。比如智能家居带来的家庭自动化,智慧城市带来的城市数字化,物联网带来的好处远不止这些,它的发展前景也将更美好。但在,物联网可以实现智能化,是基于一定的信息采集与分析处理过程,物联网想要发展的长久,就必须要保证信息安全。可以说,信息安全是物联网发展的基本底线。 ![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2016-08-22_57ba9ebc05db6.jpg) 大数据时代的到来,用户的私人信息越来越不安全。好多人每天都被骚扰电话,广告推销所折磨,越来越多的人知道你的电话,姓名,职业,朋友圈。严重的后果是,某些不法份子利用这些信息对你或者你的亲友进行诈骗。现在各种网站,各种应用注册的时候可能会捆绑手机,QQ,邮箱等信息,商家拿到这些信息,一定要保护用户的私人信息,保证用户的信息安全,这方面好多公司还做得很不到位。 周鸿祎提过用户信息安全三原则,具体内容如下: 第一,用户的信息是用户的个人资产。很多互联网大公司可能比较抵制我这个观点,因为互联网大公司在用户协议里说:因为用户号码是我给的,所以用户是我的,用户的好友列表也是我的,用户产生的内容也是我的。但是,它又发表一个免责声明,说用户产生的任何法律问题,都与自己无关。先不说这种自相矛盾的逻辑,我的观点是,用户使用厂商的服务产生的信息,是属于用户自己的个人资产。用户使用各种设备、各种软件产生的数据,虽然存储在厂商的服务器上,但是从所有权方面讲,它应该明确地属于用户,是用户的财产。      二是平等交换的原则。在大数据时代,通过云端的数据交换,厂商为用户提供服务。只要用户使用了厂商的服务,就会有相关的数据产生。你用微信的时候,为了匹配朋友,你的地址本自然要上传。为了与朋友聊天,你的聊天记录自然会保存在厂商的服务器上。但是,用户的信息和厂商之间,应该遵循平等交换的原则。什么叫平等交换?用户享受服务,厂商获取信息,但在这个过程中,用户要有知情权,厂商要得到用户授权才能使用用户信息,也就是说,用户要有选择权,有拒绝权。 举个例子,如果是一个类似大众点评这样的应用,因为要根据用户的地点给他找饭馆,自然它需要用户的位置信息,我认为这是合理的。这就是平等交换。但如果是一个小说阅读软件,也要获取用户的位置信息,我认为这个服务就不再是一个平等的交换,实际上它要了不该要的东西。平等交换原则也符合《消费者权益保护法》的基本原则,就是消费者要有知情权、选择权。  三是安全处理原则。有的人认为安全就是互联网安全公司干的事,就是杀毒软件的事,我觉得这个观点是错的。任何一家互联网公司,包括现在做可穿戴硬件的公司,都会变成一个互联网服务公司,用户会使用这些硬件产生大量的数据。所以,任何一家互联网公司都有责任保护用户信息的安全,要在云端对用户数据进行足够强度的加密,包括安全存储和安全传输。
';

临时想到的,团队怎么进步

最后更新于:2022-04-01 20:19:05

1:  工作不忙的时候,同事之间多交流学习,技术也好,理念也罢 2:团队一起回顾一下自己的产品,那些功能做的好?为什么?那些不好,为什么,怎么优化? 3:活跃工作氛围,协同作战。 4:提升自己,以高级程序员,或者项目经理的态度来要求自己。 5:打磨产品,站在普通用户的角度,看产品是否好用? **谈一谈团队的工作效率?** **效率应该有三个元素:目标,人,规模** **首先应该有工作的目标,工作的产出是什么?这是谈效率的基础** **然后找到合适的人,合适的团队,什么合适的人?理念相同,自我激励,气场要合** **团队小的时候,效率比较容易保障,规模变大一些,就难了,这个时候,不要刻意追求效率,而限制团队,失去团队的可扩展性。** **总结一句话:** **对的方向,合适的人,做对的事情** Find the right  way With the right  guy  Do    the right  thing
';

往者不可谏,来者犹可追

最后更新于:2022-04-01 20:19:03

### 开始篇:     2014年3月17日加入**公司**,职位是**研发部java工程师**。     我很清晰地记得入职时间,是因为我的生日是4月17,生日的那天也是我转正的日子。当时心理窃喜,这是不是一种缘分呢?2014若白驹过隙,就这么毫无眷恋地离我而去,在这一年有收获也有遗憾,很喜欢论语中的一句话"**往者不可谏,来者犹可追**"。是啊,悔恨毫无意义,有意义的事情是,总结一下自己的过去,"前车之鉴,后事之师",古人真的是有大智慧啊。 ### 工作篇:      2014,从加入公司,主要就负责了**普慧之窗**产品服务器端的研发。中间偶尔也参与一些其他产品部分模块的开发。负责的产品不多,但是也倾入自己的许多心血和努力。从需求分析,框架搭建,数据库设计,研发,测试,上线,后期维护,都参与进去,锻炼了自己独立思考,独立完成任务的能力,还能主动地帮助别人,一起进步。     "智慧城市"的概念,是我加入公司才知道的。  智慧城市smart city,维基百科解释:是把新一代信息技术充分运用在城市的各行各业之中的基于知识社会下一代创新(创新2.0)的城市信息化高级形态,实现信息化、工业化与城镇化深度融合,有助于缓解“大城市病”,提高城镇化质量,实现精细化和动态管理。    当今社会技术水品,人们的生活水平发展可以说是日新月异。**物联网,云计算,移动互联**技术的兴起,人们的愿望也越来越美好,想提高自己的生活水平,想让生活变得更智能,智慧城市在这个背景下,显得非常重要。刚进公司,听了吴总关于"普慧之窗"的背景介绍之后,说热血沸腾有点夸张,不过很期待这个产品,希望自己能够参与进去,打造一个好的产品,给公司带来利益,更重要的是能够为提高人们生活质量贡献自己的一份力量。    "理想很丰满,显示很骨干",愿望是美好的,但是实现愿望,会有很多的阻力。    需求依然明确,但是自己的技术水平有限,首先公司之前没有一套成熟的框架,就像大楼还没有坚固的地基,何谈像雨后春笋平地而起。于是公司通过招聘或者请外援的形式,打造团队,提升团队协作能力。后来一套相对比较成熟且流行的技术框架产生了。**html+RESTful(Jersey实现)**,前台用html技术,后台用了Jersey实现的RESTful架构。用RESTful架构不仅是顺应技术潮流(许多大公司都是用的RESTful架构),更重要的是RESTful架构的优越性:可以降低开发的复杂度,提高系统的可伸缩性,增强系统的可扩展性,简化应用系统之间的集成,采用Html是因为前后台的解耦合,就这样第一步艰难地迈出去了,有时候你走出一步,以为可以松口气了,但是现实不允许你松懈。我深切地体会到,做研发跟玩游戏有异曲同工之妙,要想好玩游戏,你需要勤加练习,熟悉每个关卡,过了一关又一关。研发也是这样,技术框架确定了,面对具体需求,可能还需要了解或者掌握一些其他技术。     举个例子,"普慧之窗"中用到**推送服务**,后台服务器跟终端设备pad,手机之间有通讯,推送通知或者消息。如果公司开发自己的推送模块,研发周期肯定会拖长,当时形势也不允许我们这样做。因为当今社会,竞争太激烈,只有你尽快推出产品,才能抓住先机,抓住更多的用户。于是我们采用了第三方的JPush激光推送,但是我们清晰地知道,用第三方的推送服务只是逼不得已,暂时的,因为第三方的东西有太多的不确定性,不稳定性。以后工期不紧张的话,肯定会拿出人力物力来研发自己的推送模块。    将近一年的时间,我们不断地打磨"普慧之窗"的功能和用户体验,产品现在已经在几个小区试用,政府也很支持这个项目,当时听到这个消息的时候,心理很受鼓舞,觉的我们努力是值得的。 ### 总结篇: 成果大家都看得到,但是也存在很多的遗憾和不足,需要我们反思。 **先说说产品**的缺陷 (1)活跃用户。检验一个产品的好与坏,主要看产品的活跃用户,例如腾讯QQ,号称有8亿多的活跃用户,微信也抓住了大量的用户。这不仅仅是简单的数字,8亿数字背后还有8亿人的资料,人群,职业,爱好等信息。这是一笔巨大的财富,当时数据爆炸时代,谁掌握更多的数据,通过数据获得更多的信息,就能把握先机,出奇制胜。遗憾的是,我们目前的活跃用户很少,为了自尊心,我就不说具体数字了。    (2)用户体验。活跃用户是表象,真正能抓住用户的是用户体验,只有好的体验,用户才肯去花费自己宝贵的时间是体验你的产品,使用你的产品。用户不缺产品,缺的是友好的,能真正帮助到自己的产品。但是,普慧之窗,在稳定性和操作性上还存在很多问题,主要表现为产品功能不太稳定,操作过于复杂,不直接,用户体验较差。    (3)丰富功能。现在产品的功能相对还比较单薄,要实现智慧小区,那么应该尽最大的努力,方便人们生活的方方面面,这样才更吸引用户,更能体现智慧的概念。  **再说说**研发人员**,包括自己**  (1)用心爱。用心才能做出好产品,这方面不用解释,大家都清楚,我觉得自己,包括其他一些技术人员,还没有真正用心。不能说把产品当自己的孩子来对待吧,最起码要喜欢这个产品。  (2)求知欲 程序员应该有好奇心,比如看到别人做出的成果,很炫,很牛!那么你只是停留在佩服人家,感概一下的层面,不会有大的提升。我们的第一感受应该是,人家是怎么实现的,花点时间了解一下,变成自己的技能,这样才能更快地进步。 (3)敢尝试 有的时候,我们遇到问题,解决问题的时候,脑子中可能很快出现几种方案,但是一直在纠结哪种方法好,或者某种方案行不行。或者一遇到问题,就需求别人帮助,让项目经理或者其他人做决定。这样永远不能锻炼自己独立解决问题的能力,无法提示自己的设计能力。我们要勇于迈出第一步,一步步尝试,就会找出最佳方案,并从中获益。    (4)知识面     如果你不想一辈子做个程序员的话,如果你想更好提升自己的话,请拓宽自己的知识面。现在科技发展日新月异,互联网,物联网,云计算,大数据……技术更新很快,你必须了解更多的知识,才能不落伍。只有扩宽自己的知识面,才能为进阶高级程序员,项目经理,产品经理……打下坚实的基础。   说了自己的太多不足,为了提高自己的自信心,说一下自己2014的进步吧。 (1)2014工作态度明显比之前端正了很多,能够做到对项目负责,踏踏实实做事。 (2)2014了解了智慧城市的概念,了解了当今技术发展的趋势:物联网,云计算,移动互联网。只有了解了技术趋势,才能知道以后关注什么,提升什么。   (3)2014开始写技术博客,主要在CSDN。这是一个好的开始,写博客主要是为了自己,写博客对自己的提升,毋庸置疑。可以强化经验和知识点;可以作为一个知识的宝库,以后遇到相同的问题,可以拿来借鉴;可以提升学习能力;锻炼逻辑思维;锻炼文字表达能力;其次启发他人,赠人玫瑰,手有余香。我的博客地址:**[http://blog.csdn.net/u013628152 ](http://blog.csdn.net/u013628152%C2%A0);**欢迎大家一起学习讨论,也希望更多的人加入博客大军。 ### 展望篇:      制定目标是一件非常有必要的事情,**目标不一定要很远大,可以是短期的**目标。它能够指引你在什么时间应该做什么事情,并且给你完成它的动力。        2015年我想给自己定一些目标:     (1)用心工作,提升自己。      (2)争取更多的周末,假期时间陪陪孩子,老婆。          (在工作总结中写这个是不是不合适呢?但是我觉得工作和生活几乎是我们生活的全部,只能生活的好,才能更有效地工作)      (3)拿下高级项目管理师证书。      (4)搭建一套真正实用的RestFul框架。      (5)至少精读10本书。       (6) 至少再学习两门流行语言比如:Android,Ruby,Python ### 结束篇:     这就是我的2014工作总结,感谢公司,让我在这一年里,感悟了这么多。我发现我的爱上了这个公司,爱上了可爱的你们。最近很喜欢极客这个词,什么是极客呢?**对技术有信仰,有追求。能够探索未知世界,对世界充满好奇,相信用自身的能力可以改变世界**的人。让我们拥抱极客精神,加入极客。 最后做一句话总结让我们一起共勉:加油吧!既然选择了这条路,就要踏实地走,努力地走,给自己定一个目标,不忘初心,方得始终!
';

极客语录

最后更新于:2022-04-01 20:19:01

什么是极客:对技术有信仰,有追求。能够探索未知世界,对世界充满好奇,相信用自身的能力可以改变世界 1:大数据时代,数据至关重要。我们需要生产数据,处理数据,挖掘数据,第三步比较难,也比较重要。 2:智慧即选择。 3:云,正如它的写法,下面有一个三角支架。表示一些IT基础资源:网络资源,存储资源,计算资源。 4:产品交叉营销,是一个很好的策略,但是前提是你必须有一个强大的产品做支撑。一堆垃圾产品,再交叉营销也不能带来用户。 5:正确的时间做正确的事情。人无我有,人有我优。 6:威信是慢慢积累起来的 7:站在时代的交接点,如何转变?技术的信仰+用户至上,站在用户的角度看问题。 8:想法可以很大,开始的时候步子要小一点,走好第一步。抓住更多的用户。 9:技术+模式创新 10:真正的节能不能牺牲舒适的体验,节能的本质是杜绝浪费。 11:智能联动,只是智能家居的起点! 12:硬件是承载,软件是核心,是用户体验。 13:什么是好公司?一流公司向市场汇报,二流公司向老板汇报,三流公司向文档汇报。 14:大象不能跳舞,不要给自己太多的束缚,有一些发展的空间。 15:产品经理可以懂技术,也可以不懂技术,但是必须对技术敏感。技术的问题都是可以解决的。 16:抛开概念,抛开宏观的战略。时刻问自己:产品解决用户什么问题?哪些用户去用?为什么会用?强需求还是弱需求?强拉动还是弱拉动?给用户创造什么价值? 17:产品不属于老板,更不属于产品经理,应该属于公司,属于整个团队。这个前提,团队所有成员一定要认识到。 18:产品经理的大我和小我 大我:产品经理要为产品负责,跟各部门打交道,把自己当CEO,CEO的另外一层 含义 chief experience officer用户首席体验官,自己心里有一个大我。 把责任担起来。自我肯定。 小我:时刻记着,产品经理是为用户做产品,把自己放空一些,模拟用户的体验。 19:脱离了用户的产品,就是无源之水,无本之木,空中楼阁!
';

由IT行业技术变革 谈当今技术趋势

最后更新于:2022-04-01 20:18:58

IT行业变化日新月异,每次技术变革都会带动一些行业或者应用的兴起,所以无论是创业者,还是程序员,了解IT行业的技术变革和趋势意义重大。 下面是IT行业的几次重大技术变革: ### 一:PC机时 上世纪70-90年代,主机时代结束,PC机时代到来。一些公司抓住机会,研发Pc机,例如微软,联想。 ### 二:互联网时代 上世纪90年代末-2000年,互联网时代到来。一些公司抓住了机遇,最突出的是Google。  ### 三:物联网+云计算+移动互联 **(1)物联网(Internet of Things):物与物相连的互联网。**         物联网时代主要用到的技术:标识技术,通信技术,组网,软件和算法,硬件 技术。         这里说说标识技术,就像每一台计算机都有唯一的ip地址一样,未来的事物生产的时候,都会有一个出场标识,就像超市的条形码一样,以后可能会被RFID所代替。 [RFID](http://baike.baidu.com/view/26303.htm)(Radio Frequency Identification)技术,又称[无线射频识别](http://baike.baidu.com/view/11208022.htm),是一种[通信技术](http://baike.baidu.com/subview/158690/13619166.htm),可通过无线电讯号识别特定目标并读写相关数据,而无需识别系统与特定目标之间建立机械或光学接触。 看看下面的例子: ![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2016-08-22_57ba9eba55711.jpg) 某超市顾客排队结账的画面,目前这种模式还是很不方便的。国外的一家超市已经利用标识技术,即时扫描购物车中商品的价格,无需排队结账。 ![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2016-08-22_57ba9ebabb262.jpg)       再举一个例子:未来物联网时代,顾客想买蔬菜的话,不用想菜农下订单,而是直接面向蔬菜。例如南瓜,标识之后,南瓜播种到发芽,开发,结果,成熟,都会采集数据。顾客上网查询附近合适的南瓜,直接跟南瓜下订单就可以了。瓜农可能无需跟顾客讨价还价。 ![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2016-08-22_57ba9ebb1cdbd.jpg) ![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2016-08-22_57ba9ebb485c6.jpg) ![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2016-08-22_57ba9ebb72ec9.jpg) ![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2016-08-22_57ba9ebb96b56.jpg) ![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2016-08-22_57ba9ebbc092f.jpg) **(2)云计算** 什么是云:[分布式计算技术](http://baike.baidu.com/view/7011548.htm)的一种,其最基本的概念,是透过[网络](http://baike.baidu.com/view/3487.htm)将庞大的计算处理程序自动[分拆](http://baike.baidu.com/view/1382608.htm)成无数个较小的子程序,再交由多部[服务器](http://baike.baidu.com/view/899.htm)所组成的庞大系统经搜寻、计算分析之后将处理结果回传给用户。 这个概念比较抽象,云的两个主要的特点:云是由无数个小水滴聚合在一起形成的;云是可以变化的,可以重组。 计算机中的云,同样也有这两个特征:超大规模;高可扩展性。云是由很多的IT基础设施资源组成,这些资源包括服务器,硬件,软件,存储设备等等。将这些资源集中在一起完成一些工作,这就是云计算模式。 云计算为什么产生,解决什么问题?以前数据量比较小,主要采用关系型数据库存储数据,但是当今社会,数据量猛增,有些业务,关系型数据库已经不能满足需求,因为mysql和Orace等关系型数据库单表存储数据量是有限的,如果数据量比较大的话,只能采取拆表策略,但是这就会产生另外一个难题,就是这些数据不易整合,分析,复杂度很高。于是云计算产生了,云计算就是为了解决超大规模数据。 云计算很好的例子Google搜索。2008年数据显示,当时谷歌有服务器128万,占全球服务器总数的2.3%。用户一次搜索平均用时0.26秒,但是一次搜索会扫描158亿个网页。关系型数据库已经不能完成这样一个数量级的运算。 **(3)移动互联** 移动互联的兴起,软件发生了变化。软件动了起来,PC机上的应用逐渐移植到移动设备上。借助手机平台产生了很多新的应用。例如LBS,微信,传感器,语音识别通话,社交网站(Faceook,人人网,开心网)。以前手机的主要功能是打电话,发短信,而现在数据显示,智能手机用户90%手机时间是在娱乐,游戏后者上网。手机费用中,通话费用占的比例也在下降,流量费,游戏费用上升。有一些公司抓住了这个机遇,例如Apple,腾讯。腾讯号称有8亿QQ用户,这是一笔巨大的财富,这不仅仅是8亿的用户,还是8亿用户的资料,它能知道用户的群体,职业等数据。移动互联的兴起,腾讯也不甘落后,研发了微信产品,也取得了成功,又抓住了大量的活跃用户,这是战略的胜利!  手机,pad市场巨大的机会,让很多公司就加入这个市场,阿里巴巴,华为,联想,小米,魅族,360,百度等等,都想分一块饼。
';

用户至上!=上帝

最后更新于:2022-04-01 20:18:56

      之前谈了产品设计必须遵循客户至上的原则,但是并不是说用户就是上帝,不能说用户提出的所有需求,我们都要满足。       要做一个好的产品经理,需要**经常接触用户**,倾听用户的心声。就是古诗人一样,需要出去采风,游历千山万水,才能写出脍炙人口,意味深长的诗句。产 品经常不要进入误区,认为产品是给公司做的,是给老板做的,应该时时刻刻记住,产品是给用户做的。产品经理要把自己当做用户,反反复复地审视产品,**打磨**产品。不要陷入自己设计的流程中,以设计者的角度看产品,那你就会当局者迷了。        说的有点跑题了,言归正传,如何正确对待用户反馈?有些产品经理,当有几个用户提出一个需求建议时,就觉得产品应该增加功能,这是不对的。用户的建议分两种,一种是系统存在**bug**,这种问题,如果验证确实存在,就应该立刻去解决。另外一种是**需求**建议,这种建议,就需要分析一下了,看看产品是否有必要增加功能,或者说当前阶段,有没有必要。
';

学习360产品,用户至上原则

最后更新于:2022-04-01 20:18:54

       ![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2016-08-22_57ba9eba18482.jpg) 产品的好与坏,不是开发者说了算的,真正有权利做评价的是产品的用户。所以做产品要时时刻刻谨记一条**根本原则:用户至上。** 以下是围绕这个根本原则具体描述。 ### 一:产品功能选择 在设计产品时,可能产品经理有许多的构想,产品能干这个,能干那个。但是总要有个侧重点,优先实现那些功能,那些功能是最基本的。这里有几条这样的原则: (1)刚性需求         就是这个需求是必要的,用户肯定会用到的。比如360的杀毒软件,云拦截(拦截垃圾电话和短信)。 (2)感知强  这个功能做出来,用户肯定会用的很舒服,体验很好,给产品加分。 (3)粘合性 这个功能是用户会经常频繁用到的。比如云拦截,骚扰电话和短信现在几乎是铺天盖地,影响了大多数的生活和工作。但是像杀毒这样的功能,可能就不满足这个原则,因为杀毒不是经常会用到的。 (4)易传播 用户会主动去传播这个功能的实用性,不管是用过微博,微信,QQ还是口述。 ### 二:微创新 目前同行业竞争激烈,如何抓住更多的用户,只能在一些细节上做的更加友好,让用户用着更舒服,自然。举个例子,现在很多人装了360,其中一个功能可以识别垃圾电话,如果您有心的话,还可以标记垃圾电话的分类。但是如果你的分类做的很多很杂,那么用户在接到垃圾电话的时候,心情已经糟糕了,哪有心思去想刚才那个电话属于那个分类?这会给用户造成压力,浪费成本。360做出的调整是,第一类为:骚扰短信,下面的分类可能是房产中介,推销服务等等。按逻辑上,这样分类会有问题,因为房产中介和推销服务可能都属于骚扰电话,出于用户至上的原则,为了降低用户的成本和压力,用户只要看选择骚扰电话就行了。某些耐心的用户可能选择具体的分类,给别人贡献自己的分享。这就是微创新的例子,做产品就要打磨细节,做出创新,更加友好。 ### 三:运营 时代发展日新月异,产品如果不发展,不进步,就会被用户所抛弃。产品以前可能是满足人们的需求,但是过段时间可能就会失效。举个有趣的例子,比如垃圾短信的识别和拦截。垃圾短信最主要的特征是,短信中有留下发短信人的电话。比如像360云拦截这样的功能,怎么去识别垃圾短信呢。最开始,可能是识别一连串的数字就可以了,但是后来有的骚扰短做了修改,在电话数字之间加上标点符号隔开,或者用字母I代替数字1,用字母O代替数字0等等手段。如果360不做出对应调整的话,那么这个功能就会失效,用户至上的原则就会遭到破坏。于是垃圾识别技术也要运营,改善。
';

软件开发形态发展

最后更新于:2022-04-01 20:18:52

### 一:命令行       比如Unix设计原则是:让每一个命令完成一件简单的功能,然后通过这些命令的组合,来完成一些复杂的事情。每一个命令都很简单,但是非常的快速和高效。并且这种模式对计算机硬件的要求也比较低。 ### 二:GUI GUI时代,开始有了图形界面,跟人的交互变得非常的直接,界面也非常的漂亮,生动。交互方式也从传统的键盘输入转向鼠标操作为主。正是由于这种交互的简单化,才使得个人PC的普及。 ### 三:CS 例如早期的FTP,就是这种模式。缺点是开发难度大。 ### 四:BS 建立了浏览器的标准,定义了HTTP规范。应用程序开发变得更加的标准,跨平台能力更强。应用程序升级或者修改BUG变的简单,可能就是在服务器修改JS和HTML代码,就可以及时生效。 ### 五:移动设备 移动设备的普及,人们的要求越来越高,PC操作已经不能完全满足客户需求,人家想通过手机随时随地访问应用程序。 #### 三种主流开发模式: Native App:使用厂商提供的原生的gdk文件开发,效率高,功能强大,但是手机本地的存储有限。 Hybrid App:混合使用Native App和Web App模式。 Web App:web开发适配手机访问,借助手机浏览器访问。运行效率可能低一些,由于浏览器的兼容,一些功能可能无法使用。 一般建议采用的模式为:本地的功能,通过Native App的方式开发,需要做的一些存储和计算,在本地不能满足的话,放到云端来实现,通过云端的REST API来调用。
';

LBS定位服务

最后更新于:2022-04-01 20:18:49

大多数人都用过谷歌地图,百度地图等产品,但是很多人不知道LBS是什么,今天就来谈谈LBS。 ### 一:概念 LBS位置服务(Location Based Services)又称定位服务,LBS是由移动通信网络和卫星定位系统结合在一起提供的一种增值业务,通过一组定位技术获得移动终端的位置信息(如经纬度坐标数据),提供给移动用户本人或他人以及通信系统,实现各种与位置相关的业务。实质上是一种概念较为宽泛的与空间位置有关的新型服务业务。 ### 二:目标 1994年,美国学者Schilit首先提出了位置服务的三大目标:你在哪里(空间信息)、你和谁在一起(社会信息)、附近有什么资源(信息查询)。这也成为了LBS最基础的内容。 ### 三:现状 LBS被认为是移动领域的杀手级业务,普遍被行业看好,也有众多公司试水这一领域。2010年初,拉手网、玩转四方、街旁等创业公司纷纷涌现,网易、腾讯、新浪等门户公司也纷纷投入到LBS的研发中,甚至中国移动等传统通信厂商也开始试水LBS。 ### 四:举例 拿百度地图来说,它提供的就是这种服务。 ![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2016-08-22_57ba9eb9dacfd.jpg) LBS服务,主要解决四个问题:数据,定位,存储,计算。比如我想获取公司附近既便宜又实惠的餐馆,首先得获取周边所有餐馆的数据信息,定位餐馆的位置,哪些离自己比较近,用户可能还想记录这次用餐餐馆的体验数据,便于与其他餐馆比较,或者推荐给朋友。这就会用到LBS服务。 目前,百度地图是国内做的最好的地图API产品。这个产品面向的不是普通用户,面向的是开发者。这与普通的产品区别很大。它直接服务与应用开发者,间接服务大众。 这里说一些题外话,为什么百度地图API会在这几年兴起,难道几年前百度没有这样的能力吗?不是的。这可能是百度的产品规划路线,产品策略。在正确的时间做正确的事情,当人们有这方面的需求时候,百度推出了Javascript地图API,解决Web定位服务,近几年,物联网和移动设备的兴起,百度抓住机遇,推出IOS,Android地图API。当HTML5兴起时,百度API又兼容HTML5.真正做到了人无我有,人有我优。 还有之前我也有一个疑问,产品经理需要懂技术吗?后来了解才知道,百度API的产品经理原来也是做研发的。其实产品经理需不需要懂技术,要看具体的产品是什么?如果做一个餐饮APP,我觉得产品经理没必要懂相关技术,因为餐饮APP是服务普通用户的,产品经理肯定了解用户需求,其实自己就是用户。如果做像百度地图API产品,产品经理必须懂相关的技术,才会使用产品,规划产品,因为百度地图API面向的是开发者,如果不了解开发者的需求,那么怎么做好产品,做出来的产品也不会得到好评。 言归正传: ### 五:常用的定位技术: 常用的定位方式有:GPS定位、基站定位、wifi定位、IP定位、RFID/二维码等标签识别定位、蓝牙定位、声波定位、场景识别定位。
';

程序员鸭梨为什么这么大

最后更新于:2022-04-01 20:18:47

**一: 任务多,精神紧绷**          调研发现86%的程序员认为“近1~2 年压力越来越大”,还有一部分程序员表示“因为工作太多,情绪总处于紧绷状态,所以精神压力也非常大”。        互联网兴起引发的软件项目的暴增以及软件开发周期的变短,这两种主要原因相互作用并最终导致了工作数量的增加。        老板和产品人不停地拉回项目,可他们大多对软件开发知识缺乏专业的培训,他们不清楚开发软件的难易程度和需要的开发工期。结果,倒霉了干活的程序员。 **二: 新技术频频爆发,没时间学习**         在科技高速发展的今天,新技术出现的频率超乎想象,平时由于工作忙,好不容休息下,如果你不抓紧时间学习,就被甩在后面了。        “客户一从网上听到什么新型技术,就找我们说‘这种技术不错’,立即就要使用在最新的系统里。但是程序员要学会刚出现的技术必须需要一段时间;客户总是说‘事在人为’、‘必须要在规定的工期内完成’,我们真是太累了!”一程序员说道。 **三:晚上周末加班,身体不健康** 国内的软件公司中程序员是常常加班的,每日加,周未也常加。基于这种性质,出现了一种很莫名其妙的现象:每天程序员的实际下班时间总是要晚于规定下班时间,至于晚一个小时还是两个小时还是更多这就另说,总之,程序员这份工作,如果按时下班反而自己感觉自己像是做贼似的。表面上公司并没有强迫谁加班,但实际上在潜移默化中有一种威慑力,要求你要多为公司工作几个小时,而且表面上你所工作的这几个小时还是你自己愿意的。正因为是“自己愿意的”,所以公司更有理由认为是无偿的。 还有就是周未加班,一般周未加班是因为“忙”(关于这个带引号的“忙”,见“软件公司的‘忙’对程序员的影响”)。但周未加班一般是无偿的,至于法律所规定的那种“偿”就更尝不上了。不过一般公司是这样规定的:周未加班可以倒休。关于倒休,一般是周未的班真的加了,倒休却遥遥无期,原因很简单,公司“忙” 嘛! 推荐几个不错的解压网站:珍爱生命,健康编码! **1. Calm** 网站链接:http://www.calm.com/ 这个网站就像它的名字一样“平和”,网站的设计是通过自然图片(阳光下的暖流、流淌的消息等)与缓缓的音乐相结合,帮你在短时间内即可放松下来。同时你不仅可以设定放松时间,还可以改变音频和图像等,很火的一个网站。 ![Calm](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2016-08-22_57ba9a413e632.jpg "Calm") **2. Do Nothing For 2 Minutes** 网站链接:http://www.donothingfor2minutes.com/ 此网站简单到极点,当你打开的时候,会自动开始计时2分钟,这个时间内你不能触碰鼠标和键盘,不然2分钟会重置。所以这个时候你要做的就是放下手头的工作,静静地享受波浪声。这个网站对于崇尚极简主义的人来说是个不错的选择。 ![Do Nothing For 2 Minutes](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2016-08-22_57ba9a41520ad.jpg "Do Nothing For 2 Minutes") **3. Get Relaxed** 官网链接:http://www.getrelaxed.com/ 打开Get Relaxed时,第一感觉就是网站有点儿简陋,但是网站精选的音乐结合着图片的轮换,也足以能够达到让你身心放松的效果。 ![Get Relaxed](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2016-08-22_57ba9a416986d.jpg "Get Relaxed") **4. LoungeV Studio** 官网链接:http://www.loungev.com/ 这是小编最喜欢的一个网站,打开网站后,会展现出一个温馨的客厅画面,右侧可以选择视频。网站不仅提供高清的图片和音乐,还有自然风光视频展示,有沙滩、瀑布、水下景色等。想象着躺在沙发上,欣赏着美景和音乐…想想都美有木有? ![LoungeV Studio](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2016-08-22_57ba9eb91bec6.jpg "LoungeV Studio") **5. A Soft Murmur** 网站链接:http://asoftmurmur.com/  这是一个非常amazing的网站,里面包括雨声、火柴燃烧声、波浪声、海潮声、鸟叫声等等,你可以通过混合不同的声音随意创造,还可以自己调节音量。很赞吧!但是这个是不是不太利于放松啊==|| ![A Soft Murmur](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2016-08-22_57ba9eb940f7b.jpg "A Soft Murmur") **6. Nature Sounds For Me** 官网链接:http://naturesoundsfor.me/ 这个其实跟上面那个差不多,但是它提供了很多你想不到的自然类声音哦,比如厨房叮当的声音和马气愤跺脚的声音,这些声音也可以自由搭配哦。小编偷偷告诉你,千万不要试蜜蜂嗡嗡的声音,立马让你脑袋一团糟…… ![Nature Sounds For Me](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2016-08-22_57ba9eb95b3b7.png "Nature Sounds For Me") **7. Noisli** 网站链接:http://www.noisli.com/ 这个网站最独特的一点是它可以根据你的情绪变化,选择不同的背景颜色和音乐。另外,右侧便签的设计也很人性化,你可以一边享受静谧时光一边随手记点事。 ![Noisli](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2016-08-22_57ba9eb979acf.png "Noisli") **8. Soundrown** 网站链接:http://soundrown.com/ 网站非常有设计感,它提供了十种不同的背景,不同的背景配有不同的音乐,同时也可以混合使用,小编比较喜欢“夜晚星空”这张背景,图片分享给大家。 ![Soundrown](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2016-08-22_57ba9eb99b319.jpg "Soundrown") **9. Raining.Fm** 网站链接:http://raining.fm/ 不知道你有没有这样一种感觉,当我们静下心来听雨声的时候,会觉得它很美妙,很容易平静内心。这个网站就如它的名字Raining一样,专门提供雨声。 ![Raining.Fm](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2016-08-22_57ba9eb9bebe0.jpg "Raining.Fm")
';

再谈用户体验

最后更新于:2022-04-01 20:18:45

### 一:场景分析 首先来看一个糟糕的应用添加页面! ![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2016-08-22_57ba9a40caba6.jpg)         只有亲自操作之后,才发现操作是有多么繁琐,用户体验极差。更重要的是手动,输入不但浪费了管理员的宝贵时间,而且手动输入的准确性很难保证。         需要手动输入apk的大小,排列序号手动输入,这用户体验简直是坑人!应该程序计算。        其实上传apk文件的同时,可以解析apk文件,从apk中可以拿到版本号码,版本名称,包名,权限, 支持的android平台最低版本号,支持的SDK版,建议的SDK版本,应用程序名,程序的图标等一系列信息。        应用类型表示:是公司应用,还是其他应用。也是不需要手动输入的,因为通过apk的包名就可以区分了!如果包名以"com.XX.A"开头,就表示是公司A的应用,反之,就表示其他第三方的应用!         apk名称也是不需要输入的,因为通过apk的applicationLable应用程序名就可以获取。 下图为简化之后的操作:         不仅介绍了app信息的输入项,而且是否发布,是否置顶,序号都加上默认值。只有特殊情况,再进行选择!添加app的时候,几乎只需要上传apk就行了!大大减少了用户操作! ![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2016-08-22_57ba9a40e728f.jpg) ### 二:什么是用户体验 用户体验是用户使用产品的心理、感受,之后对产品的印象、评价。”其实,用户体验(user experience)是用户在使用产品过程中建立起来的一种主管感受! ### 三:为什么要注重用户体验 用户体验很重要,最大的理由是:它对你的用户很重要! (1)最起码的是要让产品有用,这个有用是指用户的需求。 (2)其次是能用,所有的流程都走得通,没有致命的bug。 (3)然后是易用,操作起来很便利,这非常关键。 (4)设计的下一个方向就是友好,关注用户的情感需求。 以上四者都做好了,就融会贯通上升到品牌。 ![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2016-08-22_57ba9a41099e5.jpg) ### 四:用户体验如何体现 (1)感官体验,呈现给用户视听上的体验,强调舒适性。 (2)交互体验,呈现给用户操作上的体验,强调易用/可用性。 (3)浏览体验,呈现给用户浏览上的体验,强调吸引性。 (4)情感体验,呈现给用户心理上的体验,强调友好性。 (5)信任体验,呈现给用户信任体验,强调可靠性。 ![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2016-08-22_57ba9a4123a86.jpg) ### 五:优秀的用户体验 (1)为用户设定清晰的目标,告诉用户产品能够完成什么事。 (2)提供及时反馈,让用户感觉到离目标还有多远。 (3)更高效的设计,用户会希望能够更有效地使用产品。 (4)允许发现,让用户知道总有新的东西,避免枯燥感。 任何在用户体验上所做的努力,目的都是为了提高效率,基本上以两种方式体现出来: (1)帮助人们工作的更快; (2)减少他们犯错的几率。
';

增量更新

最后更新于:2022-04-01 20:18:42

**一:  增量更新的概念**  增量更新是指在进行更新操作时,只更新需要改变的地方,不需要更新或者已经更新过的地方则不会重复更新,增量更新与完全更新相对。这种更新的概念[应用范围](http://baike.baidu.com/view/11762036.htm)比较广泛,凡是需要进行[数据更新](http://baike.baidu.com/view/286818.htm)的地方都会用到,如软件更**新、数据库更新、[杀毒软件](http://baike.baidu.com/view/33433.htm)的[病毒库](http://baike.baidu.com/view/176772.htm)更新、CMS更新和[路由表](http://baike.baidu.com/view/149989.htm)更新等。** **特点** **1.只更新需要更新的地方;** **2.相对于完全更新更快捷,处理量减少;** **3.采用增量更新需要在更新前设定规则,规定更新的策略;** **二:应用管理需求** (1)图标,应用名称,应用类型,版本号码,版本名称,包名,大小都是通过上传apk文件获取的。 其中应用类型,是根据apk的包名,判断的,如果报名以com.saiwen.osd开头,就属于 普慧应用=预安装应用,反之,则为 其他应用 = 自选安装 (2)不能重复上传apk,判断依据apk的包名 (3)编辑应用,不能上传低于当前最新版本的应用 (4)版本删除为软删除,以delete_flag作为状态标志  0:正常  1:已删除 (5)app新增修改时间updateTime字段,软删除应用的时候,也更新下updateTime,如果以后设置做增量更新的时候,可能会用到!
';

软件测试基本流程与要求

最后更新于:2022-04-01 20:18:40

### 1、目标   制定完整且具体的测试路线和流程,为快速、高效和高质量的软件测试提供基础流程框架。   最终目标是实现软件测试规范化,标准化。 ### 2、测试流程说明 ![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2016-08-22_57ba9a40af53f.jpg) ### 3、测试需求分析   测试需求是整个测试过程的基础;确定测试对象以及测试工作的范围和作用。用来确定整个测试工作(如安排时间表、测试设计等)并作为测试覆盖的基础。而且被确定的测试需求项必须是可核实的。即,它们必须有一个可观察、可评测的结果。无法核实的需求不是测试需求。所以我现在的理解是测试需求是一个比较大的概念,它是在整个测试计划文档中体现出来的,不是类似的一个用例或者其他.   ·测试需求是制订测试计划的基本依据,确定了测试需求能够为测试计划提供客观依据;   ·测试需求是设计测试用例的指导,确定了要测什么、测哪些方面后才能有针对性的设计测试用例;   ·测试需求是计算测试覆盖的分母,没有测试需求就无法有效地进行测试覆盖;   3.1、测试方法与规范   3.1.1、测试方法   随着软件技术发展,项目类型越来越多样化。根据项目类型应选用针对性强的测试方法,合适的测试方法可以让我们事半功倍。以下是针对目前项目工程可以参考的测试方法:   --β测试(beta测试)--非程序员、测试人员   β测试,英文是Betatesting。又称Beta测试,用户验收测试(UAT)。   β测试是软件的多个用户在一个或多个用户的实际使用环境下进行的测试。开发者通常不在测试现场,Beta测试不能由程序员或测试员完成。   当开发和测试根本完成时所做的测试,而最终的错误和问题需要在最终发行前找到。这种测试一般由最终用户或其他人员完成,不能由程序员或测试员完成。   --α测试(Alpha测试)--非程序员、测试人员   α测试,英文是Alphatesting。又称Alpha测试.   Alpha测试是由一个用户在开发环境下进行的测试,也可以是公司内部的用户在模拟实际操作环境下进行的受控测试,Alpha测试不能由该系统的程序员或测试员完成。   在系统开发接近完成时对应用系统的测试;测试后,仍然会有少量的设计变更。这种测试一般由最终用户或其他人员来完成,不能由程序员或测试员完成。   --兼容性测试--测试人员   兼容性测试是指测试软件是否可以成功移植到指定的硬件或者软件环境中,例如在B/S项目中各个不同浏览器之间的测试。   --用户界面测试-UI测试 --测试人员   用户界面测试,英文是User interface testing。又称UI测试。   用户界面,英文是User interface。是指软件中的可见外观及其底层与用户交互的部分(菜单、对话框、窗口和其它控件)。   用户界面测试是指测试用户界面的风格是否满足客户要求,文字是否正确,页面是否美观,文字,图 片组合是否完美,操作是否友好等等。UI 测试的目标是确保用户界面会通过测试对象的功能来为用户提供相应的访问或浏览功能。确保用户界面符合公司或行业的标准。包括用户友好性、人性化、易操作性 测试。   用户界面测试用户分析软件用户界面的设计是否合乎用户期望或要求。它常常包括菜单,对话框及对 话框上所有按钮,文字,出错提示,帮助信息 (Menu 和Help content)等方面的测试。比如,测试Microsoft Excel中插入符号功能所用的对话框的大小,所有按钮是否对齐,字符串字体大小,出错信息内容和字体大小,工具栏位置/图标等等。   --冒烟测试--版本编译者   冒烟测试,英文是Smoketesting。   冒烟测试的名称可以理解为该种测试耗时短,仅用一袋烟功夫足够了。也有人认为是形象地类比新电路板功基本功能检查。任何新电路板焊好后,先通电检查,如果存在设计缺陷,电路板可能会短路,板子冒烟了。   冒烟测试的对象是每一个新编译的需要正式测试的软件版本,目的是确认软件基本功能正常,可以进行后续的正式测试工作。冒烟测试的执行者是版本编译人员。   --随机测试--测试人员   随机测试,英文是Adhoctesting。   随机测试没有书面测试用例、记录期望结果、检查列表、脚本或指令的测试。主要是根据测试者的经验对软件进行功能和性能抽查。随机测试是根据测试说明书执行用例测试的重要补充手段,是保证测试覆盖完整性的有效方式和过程。   随机测试主要是对被测软件的一些重要功能进行复测,也包括测试那些当前的测试样例(TestCase)没有覆盖到的部分。另外,对于软件更新和新增加的功能要重点测试。重点对一些特殊点情况点、特殊的使用环境、并发性、进行检查。尤其对以前测试发现的重大Bug,进行再次测试,可以结合回归测试(Regressivetesting)一起进行。   --黑盒测试(功能测试)--测试人员   黑盒测试,英文是BlackBoxTesting。又称功能测试或者数据驱动测试。   黑盒测试是根据软件的规格对软件进行的测试,这类测试不考虑软件内部的运作原理,因此软件对用户来说就像一个黑盒子。   软件测试人员以用户的角度,通过各种输入和观察软件的各种输出结果来发现软件存在的缺陷,而不关心程序具体如何实现的一种软件测试方法。   --性能测试   性能测试,英文是PerformanceTesting。   性能测试是在交替进行负荷和强迫测试时常用的术语。理想的"性能测试"(和其他类型的测试)应在需求文档或质量保证、测试计划中定义。性能测试一般包括负载测试和压力测试。   通常验证软件的性能在正常环境和系统条件下重复使用是否还能满足性能指标。或者执行同样任务时新版本不比旧版本慢。一般还检查系统记忆容量在运行程序时会不会流失(memoryleak)。比如,验证程序保存一个巨大的文件新版本不比旧版本慢。   3.1.2、测试规范   测试规范是根据开发规范而制定的测试标准,测试规范也是后期测试用例编写的重要依据。因为开发规范因公司而异,因产品而异,所以测试规范的标准程度每个公司都不一样。   从理论到方法到各类流程到各类报告模版,都属于测试规范的范畴,当一整套规范形成之后,可使得测试工作进行更加稳健,所有问题有据可查。   3.2、软件需求规格说明书   软件需求规格说明书是软件达到的各项功能的目标。是测试人员各项工作的依据,没有需求就无法判断测试结果是正确的。   3.3、软件设计说明(概要与详细设计)   设计说明书包含软件的一些框架、字段、数据库设计等。软件设计说明对测试工作开展有很大影响,没有软件设计说明很多问题将无法溯源,测试准备的前期工作也是根据软件设计说明来制定的。   3.4、页面原型(demo)   页面原型是项目人员快速熟悉项目的最佳路径。在需求不够明确,设计说明书不够全面的情况下,页面原型也是后期测试用例编写思想的重要根据。 ### 4、测试过程设计   明确测试目的,最终达成目的并验证结果是测试要做的事情。包括:   1.测试范围:描述本次测试中的测试范围,如:测试软件功能范围、测试种类等。   2.简单的描述如何搭建测试平台以及测试的潜在的风险。   3.项目信息:说明要测试的项目的相关资料,如:输入输出文档,产品描述,软件主要功能。   4.人力资源的分配。   5.测试需求:笼统说,就是测试中的所有设计和需求文档。作为本次测试的依据   4.1、测试策略制定   这一阶段在于需求、详细设计、测试计划完成之后,主要是本次测试的策略阶段。很多公司少这个一个阶段,需要有计划性的分出产品的功能扣出测试的功能点,现阶段大多公司都是直接拿着文档就开始做用例设计。   对需求进行分析,列出具体的功能列表。(一般根据功能交互文档就能明确出此功能的大体功能,一层层的分下去,一直到没个功能表单。然后考虑到使用那些测试方法?工作一旦做到执行阶段,我们可以更好的根据这些功能表一点一点的覆盖。也能让我们在用例评审时,充分的证实我们的工作是有效的能够保证产品的质量。)一般在此之前,一些业务培训和需求评审是有必要是听一下的。这样能够更早更熟练的理解需求,也能保证产品设计中出现的一些误区。   对于一个个测试该如何进行测试?如下:   a)功能测试   ---功能范围(划分出各自负责的功能模块)   ---使用测试方法(等价类、边界值等测试方法方法)   ---测试标准(符合设计、需求和规范文档对该功能的描述)   b)界面测试   c)兼容性测试   4.2、测试计划   1)要充分考虑测试计划的实用性,即测试计划与实际之间的接近程度和可操作性。编写测试计划的目的在于充分考虑执行测试时的各种资源,包括测试内容、测试标准、时间资源、人力资源等等,准确地说是要分析执行时所能够调用的一切资源以及受各种条件限制,可能受到的各种影响。   a)测试内容:对一个软件来说测试计划中会明确本次测试做哪些测试?   如:系统测试:在整个系统测试中会有(界面测试、功能测试、性能测试、兼   容性测试、安装卸载测试、可靠性测试等测试)。   b)测试目的:一般多为保证产品质量是否达到预期的指标。这个指标也就是在测试中定义的结束标准。   c)测试标准:需要考虑本次测试需要输入那些文档,该项目结束标准定义、测试结束标准的定义?bug级别定义、优先级定义、bug管理流程定义。这个都需要在执行测试事明确。计划中应该包含这些内容。   d)资源分配:这里分为人力资源、软硬件资源等划分。一般会把人力资源的利用写入一个测试人员任务分配表里,按照不同的阶段,每个阶段提交相应的成果(难度很大)。软硬件资源中主要是在做计划时考虑到需要多少电脑或别的工具,列出清单。   e)测试风险:大多考虑到的就是项目开发延期、测试人员不足用例无法全面覆盖测试点、时间不足用例无法全部执行、bug无法及时修改导致无法验证、测试人员技能不足导致测试进度拉长。   f)软件测试策略一般都是分开来做相关测试方案。   4.3、测试附件   用例模板、缺陷报告模板   测试环境的搭建   缺陷管理流程和缺陷级别定义   缺陷状态一般分为:新建、打开、已分配、已修复、关闭、重新打开,中间会有:延期、重复、拒绝等状态 缺陷管理流程:   1.测试人员或开发人员发现bug后,判断输入哪个模块的问题,填写bug报告后,系统会自动通过Email通知开发组长和该模块开发者。   2.开发组长根据具体情况,重新reassigned分配给bug所属的开发者。   3.开发者收到email信息后,判断是否为自己的修改范围。   若不是,重新reassigned分配给开发组长或应该分配的开发者。   若是,进行处理,resolved并给出解决方法。(可创建补丁附件及补充说明)   4.测试人员查询开发者已修改的bug,进行回归测试。   经验证无误后,修改状态为verified。待整个产品发布后,修改为closed。   还有问题,reopened,状态重新变为"new",并发送邮件通知。   5.如果这个bug一周内一致没被处理过。Bugzilla就会一直用email骚扰它的属主,直接采取行动。管理员可以设定最迟采取行动的期限,比如3天,系统默认7天。 ### 5、测试实施   5.1、执行   开发就会转版本给我们测试部门进行系统测试了。拿到版本我们首先搭建测试环境   做一个预测试,目的是来评断这个版本是不是可测试的。如果预测试不通过,打回开发部返工,如果通过了,就开始我们第一轮的系统测试。   第一轮系统测试我们会执行我们所编写的所有测试用例,做好测试结果的记录,发现缺陷了提交缺陷报告。当第一轮测试结束后,我们把所有的bug单提交给开发人员,由他们进行修改。   在他们修复bug期间,我们会对第一轮系统测试做一个测试评估,出一个测试报告。还要根据实际情况,对我们写的测试用例进行修改和增加。开发改bug结束,提交一个新的版本给我们,我们重新搭建测试环境开始第二轮系统测试。首先是回归我们提交的缺陷报告,然后会在用例中挑选一些优先级别比较高的用例来进行测试,发现问题了继续提交缺陷报告,只到缺陷率低于用户要求了,我们就进行最后一轮的回归测试,结束系统测试。具体测试轮次是根据版本质量和项目复杂度而决定的。 ### 6、测试评估   ---执行阶段结束了进入测试评估阶段,我们会出一个总的测试报告对我们测试的这个过程和版本的质量做一个详细的评估   1)需求需要评审那些?   2)用例需要评审那些?   3)计划应该评审那些?   4)缺陷评审那些?   5)bug评估?   测试总结报告文档的输出:   1、可以让具体的任务负责人对该本次测试中个人负责的模快进行评价,提出相关建议。给出总体的评估   2、整体上的bug按照不同等级统计出来、用例数量、用例执行数量   3、对项目中测试人力资源的统计。(单位:人/天)   4、项目中软硬件资源统计。   5、提出软件总体的评价。   6.1、测试报告   测试报告包括对软件功能的结论,说明为满足此项功能而设计的软件能力以及经过一项或多项测试已证实的能力。   说明该项目软件的开发是否达到预定目标,是否可以交付使用。   总结测试工作的资源消耗数据,如工作人员的水平级别数量、机时消耗等。   记录测试结果与发现及本项目测试工作所得到的各项输出的承载体,根据输入与计划、要求的对比来总结此次项目所或得的经验.
';

程序员为什么离职

最后更新于:2022-04-01 20:18:38

**1、低薪** ![低薪](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2016-08-22_57ba9a3fe159a.jpg "低薪")        这个应该是所有辞职原因中最基础的一个,也是最有可能成为导火索的一个…… **2、各种乱改需求** ![各种乱改需求](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2016-08-22_57ba9a400d275.jpg "各种乱改需求")        各种乱改需求是猿猿们的痛处,碰到这个,猿猿们也很是无奈。关于这件事,网上还出了程序员和产品相互残杀的故事,当然也有相亲相爱的美谈。        但是大多数程序员无奈的时候还是只能这样了: ![程序员那些事儿:我是这样辞职的!](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2016-08-22_57ba9a40266d8.jpg "程序员那些事儿:我是这样辞职的!") **3、没有高手** ![程序员那些事儿:我是这样辞职的!](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2016-08-22_57ba9a40435d7.jpg "程序员那些事儿:我是这样辞职的!")        不爽的应该不是没有高手,而是leader吧~~ **4、没有发展空间** ![没有发展空间](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2016-08-22_57ba9a405d8f9.jpg "没有发展空间")        这个理由应该是最官方、最大众,也是最好的理由。对正值青春的我来说事业很重要,没有发展空间,那我待在公司还有什么意思呢?哼~ **5、各种加班** ![各种加班](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2016-08-22_57ba9a407888f.jpg "各种加班")        加班是让每个人都崩溃的事情,工作也要讲求劳逸结合嘛~ **6、被挖墙角** ![被挖墙角](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2016-08-22_57ba9a4090285.jpg "被挖墙角") 公司如果没有给出充分让员工留下来的理由,看来是很容易被挖走的。 因为喜欢,我们才可以更有激情的做好每一件事情,编程亦不例外,如果真的有几个理由是你想要逃离这个公司,这个地方,早早的做出自己的打算也好,毕竟不喜欢的时候,留下来也是一种痛苦。如果有几个理由是你想要留下来的话,就踏踏实实的努力吧,人生难得清清楚楚,糊里糊涂。
';

程序员不止是写代码!

最后更新于:2022-04-01 20:18:36

我是一个简单的人,毕业参加工作后,选择了程序员这个职业,本来想每天简简单单写写代码。不断提升自己的技术,就万事大吉了。后来走的一步步,充分验证了,这种想法太幼稚了。如果你只想靠一两种语言技能,闯天下,那么你肯定会到处碰壁,程序员应该是多面手! **(1)沟通能力** 会写代码还不够。如果想从优秀发展到卓越,你必须培养起有效沟通的能力:与你的同事沟通,与你的老板沟通,与用户沟通。 不与人沟通的程序员不是好程序员。一个优秀的解决方案需要计算机世界与人类世界的双重技能。只有连接起两个世界,才能成为一个真正的优秀程序员. **(2)学习能力** 编码中,经常复制,粘贴不丢人。但是,不要复制垃圾代码,比如把人家的注释,人家的命名全部照搬,那么你的项目只会越来越糟糕。另外,复制粘贴要走心,复制的过程,也是学习的过程。 要想提示自己的技能,光靠工作中的项目远远不够的,因为项目中用到的技术,一般就是那么几种。公司经营几年,一般就有了惰性,懒得创新。因为创新就会消耗更多的人力,财力和时间。所以,培养自己的学习能力很重要,看看技术网站,看看最近技术相关的书,研究一些框架的源码,受益匪浅! **(3)好奇心** 程序员应该有好奇心,比如看到别人做出的成果,很炫,很牛!那么你只是停留在佩服人家,感概一下的层面,我也只能哈哈了。我们首先应该想,人家是怎么实现的,我应该学会,变成自己的技能,这样才能更快进步。 **(4)敢于尝试** 有的时候,我们遇到问题,解决问题的时候,脑子中可能很快出现几种方案,但是一直在纠结哪种方法好,或者某种方案行不行。或者一遇到问题,就需求别人帮助,让项目经理或者其他人做决定。这样永远不能锻炼自己独立解决问题的能力,无法提示自己的设计能力。我们要勇于迈出第一步,一步步尝试,就会找出最佳方案,并从中获益。 **(5)意见相左,不可怕** 无论是项目立项,还是需求分析,还是编码设计阶段,研发人员之间存在意见分歧在所难免,有的人(我也是)就永远想做“老好人”,就是别人的意见跟自己想法不一致,也懒得表达,懒得讨论,怕跟别人分歧,争执!会议中,意见相左,据理力争是正确的,只有这样,才会碰撞出火花,可能会出现最佳方法,项目才会健康进行。如果你不发表意见,项目进行到一定阶段,才发现一些致命问题,那么浪费的还是自己的时间和精力,还给公司利益带来损害! **(6)拓宽自己的知识面** 如果你不想一辈子做个程序员的话,如果你想更好提升自己的话,请拓宽自己的知识面。现在科技发展日新月异,互联网,物联网,云计算,大数据……技术更新很快,你必须了解更多的知识,才能运筹帷幄。只有扩宽自己的知识面,才能为进阶高级程序员,项目经理,产品经理……铺下平坦的道路。 **程序员们,加油吧!既然选择了这条路,就要踏实地走,努力地走,给自己定一个目标,不忘初心,方得始终!**
';

前言

最后更新于:2022-04-01 20:18:33

> 原文出处:[IT工作杂谈](http://blog.csdn.net/column/details/sayjob.html) 作者:[u013628152](http://blog.csdn.net/u013628152) **本系列文章经作者授权在看云整理发布,未经作者允许,请勿转载!** # IT工作杂谈 > 工作中遇到的问题,总结,项目经验,工作趣事等等。
';