知识库201608

心理基础

本我:无意识

自我:潜意识

超我:教练(OB)视角,对话自我,反思过去和计划未来

 

认识

 

 

本我 观察

自我 加工

超我 质检

抽象

从表面到本质

演绎

从本质到表面

 

 

素材:依赖直接的感知, 过滤间接的感知,审视注入的成见

归因:关注样本数量, 时间跨度, 自身关联性, 主次因素

 

警惕:小样本(自利、单因素、无因果并存、短期),先入为主(政治、世俗注入),大概率非必然(一棍子打死)

推理

从已知到未知

创造

从原料到产品

 

 

分解:按关联程度分解,模块对外呈现抽象接口(稳定),对内封装具体实现(被隔离)

泛型:正反向推理、反证、排除、谓词、穷举

类比:通过记忆或联想解决问题

比喻:化未知为已知,化抽象为形象,例如UML

 

警惕:忽视其他可能性,充分条件与必然条件

记忆

从过去到现在

 

 

结构:多级,类似ROMCPU缓存、内存、硬盘

l生活:三观 》习惯,思维方法》常识 》照片,随笔,书籍

l编程:本文 》常用技能 》知识纲要,代码库(通用模块,项目模板)》参考资料(书籍、文章),参考项目

 

思绪:便签

 

情感

 

 

本我 - 本能

自我 - 成见

超我 - 原则

基础

身体感觉

安全感、幸福感

自信感、透视本质与核心价值

倾向

从疲劳到休息,从无聊到刺激

占有欲、道德感、集体归属感(尊重、友爱、欺压、攀比虚荣,陌生防御,政治倾向)、成就感(创造与毁灭,知难而退)、美感

基础:做有乐趣并且能维持生活的工作,承担起家庭的责任,对物质需求要知足常乐

社会:诚信和控制距离能让合作变得简单,政治是少数人的游戏

充实:良性的亲情友情,漫游(旅行、虚拟世界),身体的活力

 

行为

 

 

本我 - 基础

自我 - 主导

超我 - 引导

基础

条件反射、体力脑力作息节奏

情感沉淀、情绪惯性、行为思维惯性,外部刺激、约束

跳出环境、对话自己、透视本质

倾向

贪(吃、睡

逃避阴暗(失败、丧失),沉迷虚拟世界(游戏、影视)

见“思维方法”

 

思维方法

动机(值不值得做)

透视本质:看清本质的需求和本质的服务

判断价值:喜欢/需要/适合; 投资与回报

 

警惕:成见、片面、不考虑后果,冲动

 

目标(做成什么样)

认知模型:感官/理解/交互

业务逻辑:交互流程(信息、资源的输入输出,加工路径)

 

警惕:认知不流畅,流程不全面,接口不精确

 

计划(怎么做-框架)

设计方案:可行性分析,原型实验

划分阶段:逐步消除风险(沟通、复杂、抽象、新事物)

分解任务:降低思维难度,按关联程度将问题分块分层分工,依赖抽象接口

 

警惕:复杂问题三思而后行,无风险意识导致的返工、无用功,模块耦合度大、接口不抽象

 

执行(怎么做-细节)

方法思路:依据体力脑力能实现的步骤、方法

用脑节奏:专注,反思(跳出定势),休息

l创造环境:选择清静、单调的环境,设置免打扰

l划分时段:自我专注1-2小时,跳出自我,反思感悟10-30分钟

l难点预警:分时段多次设计和审核,考虑多种方案和方案全面性,参考多种渠道资源

l场景预警:警惕与问题逻辑、环境习惯、认知过程(例如开头难)相关的常见缺陷

l状态预警:当情绪起伏、精力不足,暂时搁置、睡觉

结果应变:沟通反思,修正目标、计划

 

警惕:蛮干,无法自拔

 

工程管理

总目标:

l团队的稳定性在于责权平衡,健壮性在于责任交叉,高效性在于目标明确、奖罚分明

l软件的创造过程可能模糊和复杂,需要不断的实践来探索和修正,开发人员和客户之间、开发团队内部,都必须围绕简洁的沟通和频繁的测试,持续完善

 

企业文化

目标:严谨务实、积极进取

方案:深入客户、透视需求,建立人才库、知识库和赏金制度

警惕:无学习和探讨的氛围,低效加班,绩效大锅饭,项目结束定奖金

 

迭代产品

目标:宏观上逐步消除风险

方案:

l风险识别:需求理解不准确,模块设计不抽象,质量检测不精确

l阶段规划:从原型产品到最终产品,从核心功能到扩展功能,从功能可用到功能好用

l进度监测:统计全局、阶段、个人的速度与状态,以当前速度推测和调整

警惕:严重偏离客户需求,导致大量返工;凭感觉制定计划,影响工作积极性;测试不严谨,陷入bug泥潭;复杂问题、核心问题设计草率,导致流程复杂,模块耦合度高,扩展和维护成本高

 

分工合作

目标:建立职责明确、并行高效、结构稳定的团队合作交互流程与平台

方案:

l衡量能力:责任感、悟性、合作、专注、知识库

l划分角色:客户、产品经理、测试、工程与售后服务;开发经理、开发

l流程环节:划分、分配、执行、审核

l开发步骤:理解动机、业务调研、方案设计,需求分析、软硬件实现,实施与运营

l业务事件:查看、提交;提问、批注、求助、分享、讨论、重构、总结、登记工时

警惕:分配时任务完成的标准不清晰,导致功能理解分歧,逻辑不严谨;分配时同一任务没有多人交叉负责,导致设计质量低,复用率低,维护性低,知识分享差;角色固化,导致人员不能充分利用,各角色间不能互相体谅、接口不精确抽象

 

执行平台

目标:设计核心流程的公司视图、团队视图、个人视图

方案:

l公司视图:项目概览

n立项:业务调研,设计方案,分析可行性

n规划:组建团队,划分阶段,奖罚标准

n状态:当前阶段,风险

l团队视图:里程碑与版本

n划分任务:分解任务,分配任务,提供完成任务的思路与模板

n查看产品:版本、指标、目标、系统与模块任务(具体的产品设计)

n查看过程:任务流程状态、任务执行阶段、触发事件

l个人视图:任务

n任务:来源、输入、输出、规划(步骤、时间、模板)、状态

n执行:时段、计划、演绎、反思,部署新计划、结果

n领悟:思绪、知识库

警惕:仅有缺陷管理、周报的平台,缺少其他流程的平台,缺少整体展示各视图的平台


 

逻辑建模

总目标:通过封装和抽象,分解从想法到产品的复杂度

总方案:上层决定下层,下层提供可行性约束,层次以抽象接口形式存在

警惕:

l各步骤职责的核心理解不准确,接口描述不清晰;寄希望通过文档模板(或者项目管理软件)解决所有问题

l缺少从人的思维能力、思维过程出发看问题,缺少务实总结、大胆尝试、持续优化

 

业务:为什么做

原则:为客户创造价值才能为自己创造价值

方案:以业务流程为基础,透视本质的技术、需求、服务

l捕捉动机:发现问题场景,描述业务流程、成功指标、用户数量、投资意向

l依赖资源:输入输出、运算、存储、通信, 技术积累

l设计方案:细分用户,设计新业务流程、定义产品功能, 技术验证

l市场分析:竞争环境、市场时机、营销策略, 估算成本与回报

 

警惕:

l仅调研客户中的领导角色

l看不透客户表面的要求,抓不住问题核心,设计不出优秀的方案

l被动客服,不主动深入调研使用反馈,积极完善

 

需求:做成什么样

原则:逻辑严谨、操作简洁、界面美观

方案:感知理解信息、执行步骤完成目标

l描述交互步骤:通过用例描述产品与边界交互, 以时序图和类图为主, 状态图辅助

l制作交互原型:作为评审依据,降低沟通误差

l设计测试数据:作为用例的操作说明和验收标准


警惕:

l闭门造车,面向开发人员设计产品,而不是面向最终客户

l测试人员未参与到需求分析,开发和测试人员依赖的用例没有统一

l没有频繁的迭代反馈

l不重视面向测试人员开发测试和部署工具

 

设计:怎么做-框架

原则:逐步抽象、控制风险、重用资源

方案:

l分解用例实现:依据逻辑耦合度和复杂度,将逻辑分解成对象逻辑树, 以类图、时序图为主,状态图辅助,典型2种结构如下

 

Service就专注于user的需求,并组合Glue Code提供的服务完成需求。

Glue Code专注于组合business的调用,管理Business里面对象的生命周期,并且通过Repository保存或加载Business的状态

Business专注于实现业务的核心模型。

Repository专注于数据的保存,并和存储设备一一对应。

以上只是针对典型用例的分析,在逻辑复杂的情况下,用例逻辑可以划分成多个模块,每个模块的下一级都可以认为是Repository,每个模块的上一级都可以认为是User;在逻辑简单的情况下,用例中的单元是可以进行合并的。

l抽象对象实例:对各用例中的对象及成员进行抽象, 形成类型,领域以及领域间概要关联, 通过继承/包含/泛型实现对象间公用

l生成实现框架:依据类型/领域复杂度,生成层与组件;依据性能指标,选择部署方式和相关组件;选择已有通用组件(工具类/SDK类);创建代码目录,明确编程规范;

l编写核心代码:核心业务逻辑,典型模块,难点模块,风险大的模块

 

实现:怎么做-细节

方案:

l编码

n从上而下:从上层(外部服务)接口到单元测试(未养成习惯),再到伪代码,再到主要代码,再到下层接口,此处递归,最后从上而下补充次要代码

n透视规范:母语命名、首字母识别用途

n代码自查:复读复杂逻辑, 过滤常见异常

l调试

n工程日志:边界的输入输出,包括异常

n开发日志:主要接口(时序/状态)日志, 异常

n  检测代码覆盖率:通过单元测试工具(未形成习惯)

n通用访问:开放核心对象的实时状态访问

l定位异常

n信息来源:观察到的现象,工程日志, 开发日志,系统日志,断点调试,通用访问

n分析日志:定位异常, 定位时间,定位功能、定位设计、定位代码

n挖掘异常:验证测试用例设计的全面性,分析并归纳到常见异常表(非预期的交互顺序;边界非法输入;内存泄露; 非预期的多线程并发顺序)





posted @ 2014-05-03 18:55  K.NET  阅读(257)  评论(0编辑  收藏  举报