解决问题创造力及个人知识管理(程序员).ppt

上传人:牧羊曲112 文档编号:6605978 上传时间:2023-11-17 格式:PPT 页数:38 大小:352.50KB
返回 下载 相关 举报
解决问题创造力及个人知识管理(程序员).ppt_第1页
第1页 / 共38页
解决问题创造力及个人知识管理(程序员).ppt_第2页
第2页 / 共38页
解决问题创造力及个人知识管理(程序员).ppt_第3页
第3页 / 共38页
解决问题创造力及个人知识管理(程序员).ppt_第4页
第4页 / 共38页
解决问题创造力及个人知识管理(程序员).ppt_第5页
第5页 / 共38页
点击查看更多>>
资源描述

《解决问题创造力及个人知识管理(程序员).ppt》由会员分享,可在线阅读,更多相关《解决问题创造力及个人知识管理(程序员).ppt(38页珍藏版)》请在三一办公上搜索。

1、解决问题,创造力及知识管理,Leayo2012年6月27日,我们每天都在面对问题,早上如何上班?如何保持自己和家人的健康?3x+5=23 x=?如何提高写作能力?如何实现靠泊示意图的动态刷新?如何赚到500W?我怎么才能上月球溜达一圈?,聚焦主题,解决问题的方法和工具软件开发中的问题解决及思考学习成长及知识管理,解决问题,解决问题的第一要素,信心!,问题的分类标准,知识贫乏性问题与丰富性问题,特定领域的知识定义明确的问题与定义不明确的问题.语义贫乏型问题与语义丰富型问题.适合用计算机算法解决的问题:定义明确的能在有限步骤解决的问题,解决问题的步骤,问题定义理解问题查找资料,思考,生成备选的解决

2、方案选择最合适的解决方案实施解决方案验证正确性得出结论,总结,解决问题的方法,类比法手段-目标分析法(分治法)试误法爬山法循序渐进(从简单到复杂),解决问题的工具,互联网搜索引擎,Google,Baidu,Yahoo问题相关书籍图形化表达问题一图胜千言TODO list,持续思考,一个不想思考的人是顽固者,一个不能思考的人是傻瓜,一个不敢思考的人是奴隶。-杜伦孟德,高创造性人的人格特征,创造性思维,突破思维定势逆向思维方法使用拉而不是推的方法多角度思考问题,开辟新视角考虑间接的方法运用想象力换位思考.,示例,一只鸟飞到了教室里,任凭同学们怎么驱赶它,它就是飞不出去,抓到它也不是件容易的事,如何

3、简单地解决这一问题?,影响问题解决的因素,认知结构的限制感知功能局限大脑记忆的局限。思维定势功能固着动机与情绪状态,认知结构的限制,认知结构是个人面对问题时,对问题的认识、看法和印象。认知结构代表个人以往生活中对人、对事、对知识所累积的经验。如果问题情境远超过个人的认知结构,就会感到困难。,思维定势示例?,A由生成,在沸水中生成,在空气中氧化成,有臭鸡蛋气味,问,B,C,D各是什么?,功能固着,人们把某种功能赋予某种物体的倾向。在解决问题的过程中,人们能否改变事物固有的功能以适应新的问题情景的需要,常常成为解决问题的关键(功能变通)问题:一根蜡烛、一盒火柴、一盒图钉,如何把蜡烛固定在墙上?,请

4、利用给定的工具将两根悬挂在天花板上的绳子接在一起,创造性思维品质,不要坚持唯一信仰不要轻易否定一个方法不要说“一定”,“一定不能”,“一定这样做”没有什么是不可以改变的,创造性思维工具,策略树鱼骨图矩阵图发现,合并功能笔和纸,策略树,鱼骨图,矩阵图,软件开发中的问题和思维,开发哲学需求分析和获取设计编码开发过程学习实践技巧,软件开发哲学,简单的就是最好的Dont Repeat Yourself(DRT)提取重复代码,类或函数.自动化重复的步骤,软件开发的自动化,持续集成.Java 开源工具ant,cruisecontrol等.net MSBuild.提取重复的功能-组件.提取重复的业务-行业软

5、件.,需求分析和获取,用例方法思维体现:手段-目标分析法手段-用例的操作序列目标-用用户有价值的业务目标示例,自动柜员机取款用例示例,取款用例目标银行客户通过IC卡从自动柜员机取款前置条件银行客户拥有银行卡,柜员机可以使用后置条件银行客户取得所需钱款,其账号存款减少相应存款主参与者银行客户基本流1.银行客户插入IC卡。2.系统提示银行客户输入密码。3.银行客户输入密码。4.系统验证密码成功,则进入主界面。5.银行客户选择取款功能,输入取款金额。6.账户可用余额大于取款金额,系统提供相应金额钱款,客户取款。7.银行客户取回磁卡。8.系统打印交易记录。扩展流4a 密码验证失败,则退出磁卡,用例结束

6、。6a 如果余额不足,则返回5,重新输入取款金额。补充约束取款机响应时间不应超过2s,面向对象的设计,面向对象的设计(OOD)思维体现:类比的问题解决方法。设计模式:面向对象设计的高层抽象UML:面向对象的图形化表达方式面向方面的软件开发(AOP),编码,测试驱动的开发方法自底向上的开发方法防卫性编程,代码安全性.从Demo入手,从简单到复杂。编写TODO list,测试驱动开发,开发正式代码先编写测试用测试的代码组装类.,编写测试的方法,编写测试的方法,编写测试的方法,工作的类,工作的类,软件组件,list 示例,1.根据id获取分公司作业计划列表 2.生成berth结点 3.循环列表 4.

7、读取船舶长度和宽度,生成结点 5.读取位置信息和朝向,生成结点 6.读取状态信息,生成结点 7.读取理货员和桥吊信息,生成结点,面向对象软件开发的原则,针对接口而不是针对实现(依赖接口)类的单一职责原则。保持每个类只做一件事开闭原则。当有新的功能加入时,不需要修改以前的代码.迪米特(最少知识原则),只与你直接的朋友通信,不要和陌生人说话。里氏代换原则,开发过程,RUP,CMMI重型软件开发过程(文档为中心)敏捷软件开发过程(以人为本)勇于接受改变可以工作的软件胜过文档,学习和实践,快速实践,Do it Now!学习观察别人是如何解决问题的!看书是进入一个未知领域最好的方式。Internet上的学习。开放源代码阅读.,关于工具,工欲善其事,必先利其器.熟悉问题域的工具.问题示例:调试JavaScript工具:VenkmanCheckList:记录容易遗忘的操作序列.,专业精神,成为解决问题型的人以ugly难看的代码为耻辱持续进步,追求完美。,知识管理,日常的本地信息管理工具-MyBaseInternet上的新知识-RSS订阅记录和传播你的思想-Blog随时记录你的想法-随身携带的Pocket note社会和组织的知识管理-Wiki,参考资料,绝对创造力创新者的工具箱问题解决心理学Google Hacks程序员修炼之道从小工到专家成为技术领导者解决问题的有机方法,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号