定义
功能结构图就是按照功能的从属关系画成的图表,图1中的每一个框都称为一个功能模块。功能模块可以根据具体情况分的大一点或小一点,分解得最小功能模块可以是一个程序中的每个处理过程,而较大的功能模块则可能是完成某一个任务的一组程序。
程序模块
功能结构图是对硬件、软件、解决方案等进行解剖,详细描述功能列表的结构,构成,剖面的从大到小,从粗到细,从上到下等而描绘或画出来的结构图。从概念上讲,上层功能包括 (或控制)下层功能,愈上层功能愈笼统,愈下层功能愈具体。
功能分解的过程就是一个由抽象到具体、由复杂到简单的过程。图1中每一个框称为一个功能模块。功能模块可以根据具体情况分得大一点或小一点。分解得最小的功能模块可以是一个程序中的每个处理过程,而较大的功能模块则可能是完成某一任务的一组程序。
设计
建立
功能结构的建立是设计者的设计思维由发散趋向于收敛、由理性化变为感性化的过程。它是在设计空间内对不完全确定设计问题或相当模糊设计要求的一种较为简洁和明确的表示,它以图框形式简单地表示系统间输入与输出量的相互作用关系,是概念设计的关键环节。
设计步骤
系统功能结构图的设计步骤,可以分成两个步骤进行:
(1)从新系统数据流程图出发导出初始结构图。即首先把整个系统看作一个模块,然对其逐层分解。分解时,要遵守划分模块的基本原则和完成数据流程图所规定的各项任务及其处理顺序。每分解出一层模块,都要标明信息传递情况并考虑每一模块的实现方法,同时还要考虑系统结构的层数。
(2)对系统结构图进行改进。即从提高模块的独立性目标出发,检査每一个模块,是否还可以降低关联度,提高聚合度,如果可以,就要对其改进,直到理想为止。
模块划分原则
把一个系统设计成若干模块的方法称为模块化。划分模块的目的是把一个系统分解为一些规模较小的,功能较简单的,更易于建立和分解的部分。各个模块都有自己的独立性,模块之间的相互关系(如信息交换关系、调用关系)则通过一定的方式予以规定和说明。划分模块在总体结构设计中十分重要,模块划分是否合理将直接影响系统设计的质量、开发时间和开发费用,以及系统实施维护的方便程度。划分模块并没有严格和绝对的标准,一个好的模块划分方案也不是惟一的,通常划分模块的原则如下:
(1)模块之间低耦合( Low Coupling,模块内部高聚合( High Cohesion)。
好的模块设计应做到:模块之间低耦合,模块内部高聚合。模块之间低耦合是指尽量减少模块之间的联系程度,其中任一模块运行时,与其他模块尽量无关。因为模块之间的联系越多,则相互间的关系也越复杂模块内部高聚合是指功能上高聚合,并具有大的独立性,即要求系统中的每一个模块都具有较强的聚合,它的各个组成部分都是彼此密切相关的。
(2)恰当的模块大小。
如果模块划分得过大,将会造成程序阅读、测试和维护困难;如果模块划分过小,就会增加模块个数,增加模块接口的复杂性,增加模块接口的调试工作,增加花在调用和返回上的时间开销,降低工作效率。
(3)尽可能把与硬件相关的部分集中在一起,放在一个或几个模块内。
(4)尽可能把变动的部分集中在一起,以便在变动时能方便地处理,减少影响的范围。
(5)尽可能消除重复的工作,建立公用模块,减少冗余,也减少不必要的重复劳动。
(6)每一模块只有一个人口和出口,每一模块只归其上级模块调用。
(7)保持合理的模块扇入数和扇出数。
作用
功能结构图主要是为了更加明确的体现内部组织关系,更加清晰的理清内部逻辑关系,做到一目了然规范各自功能部分,使之条理化。
应用范围
功能结构图多应用于程序开发、工程项目施工、组织结构分析、网站设计等模块化场景。
常用软件
常用软件如Microsoft Office Visio,Visio 是office软件系列中的负责绘制流程图和示意图的软件,是一款便于IT和商务人员就复杂信息、系统和流程进行可视化处理、分析和交流的软件。使用具有专业外观的 Office Visio 图表,可以促进对系统和流程的了解,深入了解复杂信息并利用这些知识做出更好的业务决策。