当前位置:
文档之家› 最新七章节物流信息系统总体设计
最新七章节物流信息系统总体设计
模块独立性
模块独立性的概念是模块抽象和信息隐蔽的直接结果,是保 证软件质量的关键性因素。采用结构化设计方法进行系统总 体设计强调把系统设计成具有层次式的模块化结构。模块独 立性程度较高的软件,其功能易于划分,接口简单,因此开 发、测试和维护都较容易,修改引起的副作用也较小。 模块独立性有两个定性的标准来度量,即内聚(cohesion,又 称块内联系)和耦合(coupling,又称块间联系)。内聚是模 块内部各成分之间的联系,如果一个模块的内聚度大,模块 的独立性则会提高。耦合是指模块间的联系,耦合度是对模 块独立性的直接衡量,很显然,块间联系越小,模块的独立 性则会越高,耦合度就会降低。在系统中,内聚度和耦合度 是相互联系的,模块的内聚度越高,则耦合度就越低。
采用好的设计规则,改进软件结构,提高模块独立性,设计 出软件初步结构以后,应该审查和分析这个结构,通过模块 的分解和合并,力求降低模块耦合度,提高模块内聚度。例 如,多个模块公用的一个子功能可以独立成一个模块,供这 些模块调用。有时则可通过分解或合并模块以减少控制信息 的传递及对全局数据的引用,降低接口的复杂程度。经验表 明,模块规模应当适中,过大则可能导致独立性降低,引起 开发、测试和维护的不便。
模块化原则
➢每一个模块表示一个自我包含的逻辑任务; ➢每个模块都是简单的; ➢每个模块都是封闭的; ➢每个模块都是可以独立测试的; ➢每个模块对应单一、独立的程序功能; ➢每个模块有单一的入口和出口; ➢每个模块都由一个标准返回点返回上层模块开始执行该模块的那
一点; ➢可以把多个模块组合成较大的模块,而不必了解模块内部构造的
信息隐蔽是模块的另一重要特征。“信息隐蔽”意味着有效 的模块化可以通过定义一组独立的模块来实现,这些独立的 模块彼此之间仅仅交换那些为了完成系统功能所必须交换的 信息。一个模块内部所包含的信息(数据或过程),如果它 不允许外部的模块访问的话,其它模块是不能对它们访问的 。 抽象和信息隐蔽从两个不同方面说明了模块化设计的特征。 “抽象”帮助定义构成软件的过程实体,而“信息隐蔽”实 施对过程细节的存取约束。
返回
二、系统总体设计工具
(一) 层次图 Biblioteka 二) HIPO图 (三) 结构图返回
层次图
层次图(hierarchical chart)是在软件总体设计阶段最常用 的工具之一,用来描绘软件的层次结构。下图为某土地定 级信息系统的局部层次图,图中的每个方框代表一个模块 ,方框间的连线表示模块的调用关系。层次图适合于在自 顶而下设计软件的过程中使用。
某土地定级信息系统 数据输入 数据编辑 因子分析 因素复合 级别划定 面积量算 专题制图 成果输出
空地 间形 内坡 插度 分分 析析
平 均曲引 高面力 程分模 分级型 析
空分 间 值分 扩 频值 散 率分 分 分级 析析
样级 点差 级收 别益 提测 取算
返回
HIPO图
HIPO图是由美国IBM公司发明的“层次+输入/处理/输 出图”的英文缩写。HIPO图实际上由H图(即层次图)和 IPO图两部分组成。这里的H图是在层次图的基础上对每个 方框进行编号,使其具有可跟踪性。编号规则如下:最顶 层方框不编号,第一层中各模块的编号依次为1.0,2.0,3.0 ,……;如果模块2.0还有下层模块,那么下层模块的编号 依次为2.1,2.2,2.3,……;如果模块2.2又有下层模块, 则下一层各模块的编号根据上面的规律依次为2.2.1,2.2.2 ,2.2.3,……,依次类推。
采用结构化设计方法需解决的问题
➢ 设计方法和策略问题——如何构造(导出)软件的总 体结构
➢ 软件评估准则问题——什么样的软件结构是“最优” 的
➢ 软件设计工具问题——如何表述软件的结构
结构化设计中的模块
在结构化设计过程中,模块是一个重要的概念。模块指的是具 有输入和输出、逻辑功能、运行程序、内部数据四种属性的一 组程序语句。其中,输入、输出和逻辑功能是其外部属性,反 映功能,是可见的;运行程序、内部数据是其内部属性,反映 具体实现途径,是不可见的。除了上述四个主要属性外,模块 还有其它的属性。例如,它有一个名称,可以使用别的模块, 也可以被别的模块使用,即“调用”和“被调用”。在结构化 系统总体设计中,主要关心的是模块的外部属性,即它的功能 ,而不是它的内部属性,即如何去实现。
七章节物流管理信息系统 总体设计
在系统定义阶段确定系统建设的目标和任务之后,需要进 行系统的总体设计。系统总体设计阶段的主要任务是将系 统需求转换为数据结构和软件体系结构,即数据设计和体 系结构设计。数据设计就是把分析阶段所建立的信息域模 型变换成软件实现中所需的数据结构。体系结构设计则是 把系统的功能需求分配给软件结构,形成软件的模块结构 图,并设计模块之间的接口关系。在总体设计阶段,各模 块还处于黑盒子状态,模块通过外部特征标识符(如名字 )进行输入和输出。使用黑盒子的概念,设计人员可以站 在较高的层次上进行思考,从而避免过早地陷入具体的条 件逻辑、算法和过程步骤等实现细节,以便更好地确定模 块和模块间的结构。
返回
总体设计的准则
采用结构化设计方法进行系统总体设计的最大优势是它 提供了一种便于衡量软件设计质量的广泛的评价准则。 这些评价软件设计质量的主要准则包括: ➢模块化 ➢抽象和信息隐蔽 ➢模块独立性
模块化
软件可以简单地理解为模块的集成。目前,几乎所有的 软件体系结构都体现为模块化。模块化是软件设计的一个 基本准则,它使得一个程序易于为人们所理解、设计、测 试和维护。高层模块可使我们从整体上把握问题,隐蔽细 节以免分散我们的注意力,在需要时,又可以深入到较低 的层次以了解进一步的细节。模块化往往将较复杂的问题 转化为一些简单问题的集合,使我们可以将工作量分散到 各个工作组以集中力量解决各个问题。
知识; ➢每个模块都有严格规定的接口,其中包括由入口和出口形成的控
制连接、由参数和共享的公用数据形成的数据连接以及由模块间 的服务支持形成的功能连接。
抽象和信息隐蔽
抽象是抽出事物的本质特性而暂时不考虑它们的细节, 它反映在数据和过程两方面。在模块化问题求解时,在 最高抽象级可以采用面向问题环境语言的抽象术语进行 叙述;而在较低抽象级,则可采用过程性术语。模块化 的概念加上逐步求精的方法将面向问题的术语和面向实 现的术语两者结合起来,前者是后者的一种抽象。在软 件模块结构图中,下层模块是上层模块的细化,因此顶 层或上层模块的抽象程度较高,而在下层模块中则体现 功能实现的细节。