《物流管理信息系统详细设计.ppt》由会员分享,可在线阅读,更多相关《物流管理信息系统详细设计.ppt(39页珍藏版)》请在金锄头文库上搜索。
1、第八章 物流管理信息系统详细设计 主讲人:陈颖彪博士/副教授E-mail: TEL:020-31878078(小灵通)/36230186(家)广州大学地理科学学院系统总体设计阶段已经确定了软件的模块结构和接口描述,划分出不同的GIS目标子系统,即各个功能模块,并编写了总体设计文档,但此时每个模块仍处于黑盒子级,需要进行更进一步的设计。详细设计阶段的根本目标是确定怎样具体地实现所定义的系统,也就是为各个在总体设计阶段处于黑盒子级的模块设计具体的实现方案。教学提纲一、详细设计的基本原则 二、详细设计的内容和具体任务三、详细设计的表达工具四、数据结构和数据库详细设计五、详细设计规格说明书退出一、详细
2、设计的基本原则 结构化程序设计(Structured programming)是进行以模块 功能和处理过程设计为主的详细设计的基本原则。结构化 程序设计概念最早由Dijkstra于1965年提出,是软件发展的 一个重要里程碑,它的概念、方法和其支持的软件工具组 成了所谓的“结构化革命”。结构化程序设计技术采用自顶 向下、逐步求精的设计方法和单入口/单出口的控制结构, 并且只包含顺序、选择和循环三种结构。结构化程序设计 的目标之一是使程序的控制流程线性化,即程序的动态执 行顺序符合静态书写结构,这就增强了程序的可读性,不 仅容易理解、调试、测试和排错,而且给程序的形式化证 明带来了方便。结构化程
3、序设计原则具体表现在以下方面: 尽量少用或不用GoTo语句。 采用自顶向下逐步求精的设计方法。 采用顺序、选择、循环三种基本结构组成程序的控制结构。 尽量使用单入口/单出口的控制结构,减少传递参量(数)的 个数。 提高模块的内聚度,降低模块间的关联度。返回二、详细设计的内容和具体任务系统详细设计的主要内容是在具体进行程序编码之前, 根据总体设计提供的文档,细化总体设计中已划分出的 每个功能模块,为之选一具体的算法,并清晰、准确的 描述出来,从而在具体编码阶段可以把这些描述直接翻 译成用某种程序设计语言书写的程序。其设计成果可用 程序流程图描述,也可用伪码描述,还可用形式化软件 设计语言描述。详
4、细设计的结果基本上决定了最终程序 代码的质量。详细设计以总体设计阶段的工作为基础,但又不同于总体设 计阶段,这主要表现为以下两个方面: 在总体设计阶段,数据项和数据结构以比较抽象的方式描 述,例如,总体设计阶段可以声明矩阵在概念上可以表示一 幅遥感图像,详细设计就要确定用什么数据结构来表示这样 的数字矩阵。 详细设计要提供关于算法的更多细节,例如,总体设计可 以声明一个模块的作用是对一个表进行排序,详细设计则要 确定使用哪种排序算法。总之,在详细设计阶段为每个模块 增加足够的细节,使得程序员能够以相当直接的方式对每个 模块编码。 详细的算法 数据表示和数据结构 实现的功能和使用的数据之间的关系
5、详细设计的模块内容详细设计的具体任务细化总体设计的体系流程图,绘出程序结构图,直到 每个模块的编写难度可被单个程序员所掌握为止。为每个功能模块选定算法。确定模块使用的数据组织。确定模块的接口细节,及模块间的调度关系。描述每个模块的流程逻辑。编写详细设计文档。主要包括细化的系统结构图及逐个模块的描述,如功能、接口、数据组织、控制逻辑等。返回三、详细设计的表达工具 系统详细设计的任务是给出软件模块结构中各个模块的内部过 程描述,也就是模块内部的算法设计。根据软件工程的思想, 在GIS软件设计过程中,尤其是大型GIS软件的开发,系统设计 和系统实现是两个阶段的任务,通常由不同的人员来进行。因 此,需
6、要采用一种标准的、通用的设计表达工具来实现两阶段 的沟通,使设计人员设计的系统,实现人员通过分析设计的文 本和资料得到无歧义的理解,即详细设计表达工具的选择可以 促进系统设计成果的表达和实现。详细设计的表达工具可分为 图形、表格和语言三种。无论是哪种工具,对它们的基本要求 都是能提供对设计的无歧义的描述,即能指明控制流程、处理 功能、数据组织以及其它方面的实现细节。从而方便在编码阶 段把设计描述直接翻译成程序代码。三、详细设计的表达工具 (一) 程序流程图(二) N-S盒式图(三) 问题分析图(四) 类程序设计语言返回程序流程图程序流程图(Program Flow Chart,简称PFC)又称
7、为程序框 图,它是应用最广泛的描述过程的方法,具有简单、直观、 易于掌握的优点,特别适用于具体模块小程序的设计。下图 所示为程序流程图常用符号,图中方框表示处理步骤,菱形 框表示逻辑判断,箭头表示控制流。(1) (2) (3) (4) (5) (6)程序流程图常用符号可执行单元then部分的 可执行单元else部分的 可执行单元可执行单元else部分, 选择构造then部分,repeat- until循环构造FT 判断语句判断语句判断语句FT可执行单元FT在程序流程图中,结构化单元可以嵌套,例如一个if-then-else构 造单元的then部分是一个repeat-until构造单元,而els
8、e部分是一个 选择构造。而这个外层的选择构造单元又是顺序构造中的第二个 可执行单元。下图所示为结构化单元嵌套示意图,以此嵌套结构 可以导出复杂的程序结构。程序流程图的缺陷 程序流程图本质上不是逐步求精的好工具,它使程序员过早地考虑程序的控制流程,而不去考虑程序的全局结构; 程序流程图中用箭头代表控制流,因此程序员可以完全不 顾结构化程序设计的精神,随意转移控制; 程序流程图不易表示数据结构。 详细的程序流程图每个符号对应于源程序的一行代码,对于提高大型系统的可理解性作用甚微。返回N-S盒式图N-S(Nassi-Shneiderman)盒式图是另一种用于详细设计表达 的结构化图形设计工具。最初由
9、Nassi和Shnei derman开发,后 经Chapin扩充改进,所以又叫N-S图或Chapin图。同PFC相比, N-S图具有功能域表达明确,容易确定数据作用域的优点。作 为详细设计的工具,N-S图易于培养软件设计的程序员结构化 分析问题与解决问题的习惯,它以结构化方式严格地实现从一 个处理到另一个处理的控制转移。每一个N-S图开始于一个大 的矩形,表示它所描述的模块,该矩形的内部被分成不同的部 分,分别表示不同的子处理过程,这些子处理过程又可进一步 分解成更小的部分。其基本结构见图。 第一项任务下一项任务再下一项任务F 条件 TElse Then部分 部分循环条件do-while部分r
10、epeat -until部分循环条件 case条件值 值 . .case case . . 部分 部分 . .N-S盒式图基本结构 N-S盒式图的特征 是一种清晰的图形表达式,能定义功能域(重复或if- then-else的工作域) 控制不能任意转移 易于确定局部或全局的数据工作域 易于表示递归返回问题分析图问题分析图(Problem Analysis Diagram,简称PAD)是由日本 日立制作所研究开发的,综合了流程图、盒式图和伪码等技术 的一些特点,在Pascal 语言基础上发展而成的系统详细设计工 具。基于Pascal的控制结构,用二维树状图的形式描述程序的 逻辑,下图反映了问题分析
11、图的基本原理。问题分析图的主要 优点是结构清晰,能直接导出程序代码,并可对其进行一致性 检查。问题分析图可用于Basic、Fortran、Pascal、C等编程语 言,它不仅支持软件的详细设计,还支持软件的需求分析和总 体设计,也是当前广泛使用的一种软件设计方法。头脑中粗略模糊问题解的概念(1)顺序过程的细化 (2)循环过程的细化 (3)选择过程的细化H1HnH1Hn循环条件HmH1HnHmHm+1Hm+2循环 条件问题分析图方法的基本原理问题分析图采用自顶而下、逐步细化的结构化设计的原则 ,力求将模糊的问题解的概念逐步转换为确定的和详细的 过程。下图中列出了问题分析图的基本符号,有了问题分
12、析图的基本符号和基本图式,根据系统的要求可写出系统 的问题分析图。 由问题分析图转换出相应的源程序,必须按照以下步骤进 行: 根据问题解画出问题分析图; 把问题分析图看做横向生长的树,沿着树前进,写出源程 序。符 号 名 称 说 明输入框 框内写出输入变量名输出框 框内写出输出变量名处理框 框内写出处理名或语句名子程序框 子程序处理框,框内写出子程序名重复框 先判定,再重复,框内写出重复条件重复框 先执行,然后判定,再重复,框内写出重复条件定义框 框内写定义名选择框 可一路、二路、三路或多路选择,框内写条件语句标号 圆内写出语句标号定 义 用于PAD图的增加或分解返回类程序设计语言类程序设计语
13、言(Program Design Language,简称PDL)又称为 伪码,这是一个笼统的名称,现有多种不同的PDL在使用。 PDL是一种混杂语言,它使用一种结构化程序设计语言(如 Pascal、C)的语法控制框架,而在内部却可灵活使用一种自然 语言(例如英语)来表示数据结构和处理过程。PDL虽然不具 有图形工具描述的直观清晰,但用来表示算法灵活自由,且便 于翻译成高级语言程序,是介于自然语言与程序设计语言之间 的一种伪码。PDL是用正文形式表示数据和处理过程的设计工 具,一方面具有严格的关键字外部语法,用于定义控制结构和 数据结构;另一方面,又具有灵活自由的内部语法,以适应各 种工程项目的
14、需要。PDL与实际的高级程序设计语言的区别在 于:PDL的语句中嵌有自然语言的叙述,是不能被计算机识别 和编译的。PDL的特点 关键字的固定语法,提供所有结构化构造、数据说明以 及模块化的手段。 自然语言的自由语法,用于描述处理过程和判定条件。 数据说明的手段,既包括简单的数据结构(例如变量和数组),又包括复杂的数据结构(例如链表)。 模块定义和调用的技术,提供各种接口描述模式。返回四、数据结构和数据库详细设计建立一个良好的数据组织结构和数据库,使整个系统都可以 迅速、方便、准确地调用和管理所需的数据,是系统开发的 必然要求。 通常,GIS数据库建设分为关系型数据库和空间数据库建设两 部分内容
15、,其中,空间数据库在某些情况下也可以用关系型 数据库进行管理。在第八章将对空间数据库的建设进行详细 介绍,此处主要介绍如何用关系型数据库技术来建立非地理 数据的数据库。(一) 数据结构规范化(二) 关系数据库建库四、数据结构和数据库详细设计返回数据结构规范化在系统定义阶段对系统的数据流、数据类型等进行了分析和定 义,并用数据流图、数据字典等手段对其进行了描述,但是要 用关系型数据库来对这些数据进行管理,还必须将它们转换成 关系型数据库支持的数据结构,即对这些数据进行规范化的重 新组织。关于数据组织的规范化形式是关系型数据库的创始人 之一IBM公司的科德(EFCodd)首先提出的。早在 1971年科德就提出了规范化理论(normalization theory),并 在随后一系列的论文中逐步形成一整套数据规范化模式。这些 模式已经成为建立关系数据库的基本范式。第一范式 第一范式(first normal form,简称1st