软件设计的主要方法:
软件设计,不外乎寻找一个软件系统的计算机表示。在表示的过程,我们需要从实际需求之中,去伪存真、去叶子存主干,
将软件的系统模型表示出来。
主要会用到以下三种方法:
抽象:说白了,将是将一些细枝末节的东西先去掉,考虑主要的需求。从一些现象和需求中找到共同点,这些共同点就是我们需要关注的东西。
分解:是解决复杂问题的利器,一个项目若不能分解,就只好交给项目经理一个人去完成了。分解没有定式,必须根据问题本身的结构进行分解。即所谓“庖丁解牛”是也。分解得好,模块之间的关联就少(一个最好),项目小组之间需要沟通的就少。
层次:模型在表示的时候,自然就是层次的,这是由于人类的认知结构所决定的,人对于新东西的认识,总是将它纳入已有的框架、认识模型之中,进行比较、分析、归纳,纳入进了原有的框架,就认识了。不能,就不认识。而该模型显然是层次的。 所以,组织你的模型时,也把它们置于一个层次结构之中。
软件设计,不外乎寻找一个软件系统的计算机表示。在表示的过程,我们需要从实际需求之中,去伪存真、去叶子存主干,
将软件的系统模型表示出来。
主要会用到以下三种方法:
抽象:说白了,将是将一些细枝末节的东西先去掉,考虑主要的需求。从一些现象和需求中找到共同点,这些共同点就是我们需要关注的东西。
分解:是解决复杂问题的利器,一个项目若不能分解,就只好交给项目经理一个人去完成了。分解没有定式,必须根据问题本身的结构进行分解。即所谓“庖丁解牛”是也。分解得好,模块之间的关联就少(一个最好),项目小组之间需要沟通的就少。
层次:模型在表示的时候,自然就是层次的,这是由于人类的认知结构所决定的,人对于新东西的认识,总是将它纳入已有的框架、认识模型之中,进行比较、分析、归纳,纳入进了原有的框架,就认识了。不能,就不认识。而该模型显然是层次的。 所以,组织你的模型时,也把它们置于一个层次结构之中。