什么是软件结构

来源:岁月联盟 编辑:zhu 时间:2010-02-08
  

软件结构(Software Structure)是指一种层次表况,由软件组成成分构造软件的过程、方法和表示。它是影响软件质量的内在因素,结构良好的软件可以提高软件的可靠性和易维护性。软件结构主要包括程序结构和文档结构。文挡描述的对象往往很复杂,所以文档结构需要简明、清晰和有层次。程序结构有两层含义,一是指程序的数据结构和控制结构;另一是指由比程序低一级的程序单位(模块)组成程序的过程、方法和表示。在后者含义下,具有代表性的是块结构和嵌套结构两种。块结构比较自然,各个部分之间通过一些公用变量取得联系,嵌套结构是在嵌套分程序的基础上引进局部性和动态性,以减少程序的初始信息量,嵌套结构不如块结构直观,调试不方便。

对于模块,可理解为具有如下特性的程序单位,即把这些模块组合成较大的程序时,不要求了解各个模块的内部工作细节,而各模块的正确性也不用置于整个程序中就可检查。按照面向对象的方法来构造软件时,这种模块的概念就可以理解为类(参见面向对象程序设计)。

有些程序是单模块结构,有些是多模块结构。这些模块在程序的逻辑上是不可分离的,可以用不同的程序设计语言编写,可以由相应的编译程序分别编译,可以和其它的程序单位组合并装入计算机内运行。由于编写大程序的需要,且模块可以多次使用,实行模块化是一个很好的手段。

由一组模块组成的大型程序可有三种结构,即顺序结构、并发结构和分布结构。顺序结构的程序是最古老的,所采用的程序设计语言是顺序程序设计语言,如ALGOL、FORTRAN、C等。并发结构的程序由若干个可以同时执行的模块组成。这些模块可以在多台处理机上并行执行,也可以在同一台处理机上交叉执行,所采用的程序设计语言是并发程序设计语言,如并发PASCAL、Modula-2等。分布结构的程序由若干个可独立运行的模块组成,这些模块可以分布于一个分布式系统中,在几台计算机上同时运行,所采用的程序设计语言是分布式程序设计语言。对于大型程序,也可以是这三种结构的混合。

图片内容