抽象(Abstraction)是简化复杂的现实问题的途径,它可以为具体问题找到最恰当的类定义,并且可以在最恰当的继承级别解释问题。它可以忽略一个主题中与当前目标无关的那些方面,以便更充分地注意与当前目标有关的方面。抽象并不打算了解全部问题,而只是选择其中的一部分,暂时不用部分细节。抽象包括两个方面,一是过程抽象,二是数据抽象。它侧重于相关的细节和忽略不相关的细节。抽象作为识别基本行为和消除不相关的和繁琐的细节的过程,允许设计师专注于解决一个问题的考虑有关细节而不考虑不相关的较低级别的细节。

 

​软件​​工程过程中的每一步都可以看作是对软件解决方法的抽象层次的一次细化。在进行​​软件设计​​时,抽象与​​逐步求精​​、​​模块化​​密切相关,帮助我们定义​​软件结构​​中模块的实体,由抽象到具体地分析和构造出软件的​​层次结构​​,提高软件的可理解性。

 

逐步求精

  将现实问题经过几次​​抽象​​(细化)处理,最后到​​求解​​域中只是一些简单的算法​​描述​​和​​算法​​实现问题。即将系统功能按层次进行分解,每一层不断将​​功能​​细化,到最后一层都是功能单一、简单易实现的​​模块​​。求解过程可以划分为若干个阶段,在不同阶段采用不同的工具来描述问题。在每个阶段有不同的规则和标准,产生出不同阶段的文档资料。


------------------越是喧嚣的世界,越需要宁静的思考------------------ 合抱之木,生于毫末;九层之台,起于垒土;千里之行,始于足下。 积土成山,风雨兴焉;积水成渊,蛟龙生焉;积善成德,而神明自得,圣心备焉。故不积跬步,无以至千里;不积小流,无以成江海。骐骥一跃,不能十步;驽马十驾,功在不舍。锲而舍之,朽木不折;锲而不舍,金石可镂。蚓无爪牙之利,筋骨之强,上食埃土,下饮黄泉,用心一也。蟹六跪而二螯,非蛇鳝之穴无可寄托者,用心躁也。