前言:
本文承接上文,主要从设计基础、系统结构设计、数据设计、文件设计、过程设计五个方面来分别进行阐述。
设计基础:
自顶向下,逐步细化:
将软件的体系结构按自定向下的方式,对各个层次的过程细节和数据细节逐层细化。把一个大问题分解成若干个子过程,分解的时候从最底层开始,以此类推,直到不能分解或一个模块智能完成一个单一的功能为止。
软件结构:
软件结构包括两部分。一个是程序的模块结构,另一个是数据的结构。把一个问题分解成子问题,然后把子问题解决了就能把总的问题解决啦,这样做,能大幅度提高效率,降低复杂性。那么如何分解?分解成几个?这要根据开发经验和具体问题而言。
程序结构:
程序结构有两个树状结构和网状结构。树状结构层次清晰,概要设计要把树状结构设计出来。网状结构没有隶属关系,各个模块的接口相对较复杂。
结构图:
结构图反映了程序中模块之间的层次调用关系。结构也也叫S-C图。能清晰表达模块之间所划分的层次。下面对一些基本概念做一些讲解。模块的命名应该以主要功能作为模块名。模块之间存在调用关系和信息传递,被调用模块一定要想调用模块返回查找成功的信息。有条件的调用关系(顺序调用、循环调用)如何表示。