我们很多时候都是在解决问题,问题一般是根据目前的现有情况,来达到一定的目的。不同领域使用的工具也不尽相同,例如在软件开发中是通过构建程序来达到目的,数学是通过推理和运算来达到目的的。一个问题包含两个核心因素,1,现有情况是如何的 2, 要完成什么事情,如何来衡量。对于软件领域的通过构建的手段来解决的问题,我们一般从最简单的构建开始,逐渐认识问题并优化,例如要解决多制式的开展问题,我们最简单的构建无疑是每种制式一套接口,一套代码,但这样就引入了代码重复的问题,在确保最简单的方案能够解决问题的基础上,解决新产生的问题。
问题里面一种特殊的问题是优化问题,这是人工智能领域的精华和重点。
软件开发的几个基本问题:如何分析,使之分层,分块;如何处理多样性(非统一事物的隔离);如何处理依赖;如何处理以后变化和扩展;