1 / 39

第八章 物流管理信息系统详细设计

第八章 物流管理信息系统详细设计. 主讲人 : 陈颖彪博士 / 副教授 E-mail:chenyingb@21cn.com TEL:020-31878078( 小灵通 )/36230186( 家 ). 广州大学地理科学学院. 系统总体设计阶段已经确定了软件的模块结构和接口描述,划分出不同的 GIS 目标子系统,即各个功能模块,并编写了总体设计文档,但此时每个模块仍处于黑盒子级,需要进行更进一步的设计。详细设计阶段的根本目标是确定怎样具体地实现所定义的系统,也就是为各个在总体设计阶段处于黑盒子级的模块设计具体的实现方案。. 教学提纲. 一、详细设计的基本原则

aldona
Download Presentation

第八章 物流管理信息系统详细设计

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 第八章 物流管理信息系统详细设计 主讲人:陈颖彪博士/副教授 E-mail:chenyingb@21cn.com TEL:020-31878078(小灵通)/36230186(家) 广州大学地理科学学院

  2. 系统总体设计阶段已经确定了软件的模块结构和接口描述,划分出不同的GIS目标子系统,即各个功能模块,并编写了总体设计文档,但此时每个模块仍处于黑盒子级,需要进行更进一步的设计。详细设计阶段的根本目标是确定怎样具体地实现所定义的系统,也就是为各个在总体设计阶段处于黑盒子级的模块设计具体的实现方案。系统总体设计阶段已经确定了软件的模块结构和接口描述,划分出不同的GIS目标子系统,即各个功能模块,并编写了总体设计文档,但此时每个模块仍处于黑盒子级,需要进行更进一步的设计。详细设计阶段的根本目标是确定怎样具体地实现所定义的系统,也就是为各个在总体设计阶段处于黑盒子级的模块设计具体的实现方案。

  3. 教学提纲 一、详细设计的基本原则 二、详细设计的内容和具体任务 三、详细设计的表达工具 四、数据结构和数据库详细设计 五、详细设计规格说明书 退出

  4. 一、详细设计的基本原则 结构化程序设计(Structured programming)是进行以模块功能和处理过程设计为主的详细设计的基本原则。结构化程序设计概念最早由Dijkstra于1965年提出,是软件发展的一个重要里程碑,它的概念、方法和其支持的软件工具组成了所谓的“结构化革命”。结构化程序设计技术采用自顶向下、逐步求精的设计方法和单入口/单出口的控制结构,并且只包含顺序、选择和循环三种结构。结构化程序设计的目标之一是使程序的控制流程线性化,即程序的动态执行顺序符合静态书写结构,这就增强了程序的可读性,不仅容易理解、调试、测试和排错,而且给程序的形式化证明带来了方便。

  5. 结构化程序设计原则具体表现在以下方面: • 尽量少用或不用GoTo语句。 • 采用自顶向下逐步求精的设计方法。 • 采用顺序、选择、循环三种基本结构组成程序的控制结构。 • 尽量使用单入口/单出口的控制结构,减少传递参量(数)的 个数。 • 提高模块的内聚度,降低模块间的关联度。 返回

  6. 二、详细设计的内容和具体任务 系统详细设计的主要内容是在具体进行程序编码之前,根据总体设计提供的文档,细化总体设计中已划分出的每个功能模块,为之选一具体的算法,并清晰、准确的描述出来,从而在具体编码阶段可以把这些描述直接翻译成用某种程序设计语言书写的程序。其设计成果可用程序流程图描述,也可用伪码描述,还可用形式化软件设计语言描述。详细设计的结果基本上决定了最终程序代码的质量。

  7. 详细设计以总体设计阶段的工作为基础,但又不同于总体设计阶段,这主要表现为以下两个方面:详细设计以总体设计阶段的工作为基础,但又不同于总体设计阶段,这主要表现为以下两个方面: • 在总体设计阶段,数据项和数据结构以比较抽象的方式描述,例如,总体设计阶段可以声明矩阵在概念上可以表示一幅遥感图像,详细设计就要确定用什么数据结构来表示这样的数字矩阵。 • 详细设计要提供关于算法的更多细节,例如,总体设计可以声明一个模块的作用是对一个表进行排序,详细设计则要确定使用哪种排序算法。总之,在详细设计阶段为每个模块增加足够的细节,使得程序员能够以相当直接的方式对每个模块编码。

  8. 详细设计的模块内容 • 详细的算法 • 数据表示和数据结构 • 实现的功能和使用的数据之间的关系

  9. 详细设计的具体任务 • 细化总体设计的体系流程图,绘出程序结构图,直到 每个模块的编写难度可被单个程序员所掌握为止。 • 为每个功能模块选定算法。 • 确定模块使用的数据组织。 • 确定模块的接口细节,及模块间的调度关系。 • 描述每个模块的流程逻辑。 • 编写详细设计文档。主要包括细化的系统结构图及逐个 模块的描述,如功能、接口、数据组织、控制逻辑等。 返回

  10. 三、详细设计的表达工具 系统详细设计的任务是给出软件模块结构中各个模块的内部过程描述,也就是模块内部的算法设计。根据软件工程的思想,在GIS软件设计过程中,尤其是大型GIS软件的开发,系统设计和系统实现是两个阶段的任务,通常由不同的人员来进行。因此,需要采用一种标准的、通用的设计表达工具来实现两阶段的沟通,使设计人员设计的系统,实现人员通过分析设计的文本和资料得到无歧义的理解,即详细设计表达工具的选择可以促进系统设计成果的表达和实现。详细设计的表达工具可分为图形、表格和语言三种。无论是哪种工具,对它们的基本要求都是能提供对设计的无歧义的描述,即能指明控制流程、处理功能、数据组织以及其它方面的实现细节。从而方便在编码阶段把设计描述直接翻译成程序代码。

  11. 三、详细设计的表达工具 (一) 程序流程图 (二) N-S盒式图 (三) 问题分析图 (四) 类程序设计语言 返回

  12. (1) (2) (3) (4) (5) (6) 程序流程图常用符号 程序流程图 程序流程图(Program Flow Chart,简称PFC)又称为程序框图,它是应用最广泛的描述过程的方法,具有简单、直观、易于掌握的优点,特别适用于具体模块小程序的设计。下图所示为程序流程图常用符号,图中方框表示处理步骤,菱形框表示逻辑判断,箭头表示控制流。

  13. 可执行单元 then部分,repeat-until循环构造 else部分,选择构造 T F 判断语句 可执行单元 判断语句 F T 判断语句 then部分的可执行单元 else部分的可执行单元 F T 可执行单元 在程序流程图中,结构化单元可以嵌套,例如一个if-then-else构造单元的then部分是一个repeat-until构造单元,而else部分是一个选择构造。而这个外层的选择构造单元又是顺序构造中的第二个可执行单元。下图所示为结构化单元嵌套示意图,以此嵌套结构可以导出复杂的程序结构。

  14. 程序流程图的缺陷 • 程序流程图本质上不是逐步求精的好工具,它使程序员过 早地考虑程序的控制流程,而不去考虑程序的全局结构; • 程序流程图中用箭头代表控制流,因此程序员可以完全不 顾结构化程序设计的精神,随意转移控制; • 程序流程图不易表示数据结构。 • 详细的程序流程图每个符号对应于源程序的一行代码,对 于提高大型系统的可理解性作用甚微。 返回

  15. N-S盒式图 N-S(Nassi-Shneiderman)盒式图是另一种用于详细设计表达的结构化图形设计工具。最初由Nassi和Shnei derman开发,后经Chapin扩充改进,所以又叫N-S图或Chapin图。同PFC相比,N-S图具有功能域表达明确,容易确定数据作用域的优点。作为详细设计的工具,N-S图易于培养软件设计的程序员结构化分析问题与解决问题的习惯,它以结构化方式严格地实现从一个处理到另一个处理的控制转移。每一个N-S图开始于一个大的矩形,表示它所描述的模块,该矩形的内部被分成不同的部分,分别表示不同的子处理过程,这些子处理过程又可进一步分解成更小的部分。其基本结构见图。

  16. 第一项任务 下一项任务 再下一项任务   循环条件 do-while部分 repeat -until   部分 循环条件  case条件 值    值   ... ... case case... ... 部分   部分  ... ... F 条件  T Else Then   部分      部分 N-S盒式图基本结构

  17. N-S盒式图的特征 • 是一种清晰的图形表达式,能定义功能域(重复或if- then-else的工作域) • 控制不能任意转移 • 易于确定局部或全局的数据工作域 • 易于表示递归 返回

  18. 问题分析图 问题分析图(Problem Analysis Diagram,简称PAD)是由日本日立制作所研究开发的,综合了流程图、盒式图和伪码等技术的一些特点,在Pascal 语言基础上发展而成的系统详细设计工具。基于Pascal的控制结构,用二维树状图的形式描述程序的逻辑,下图反映了问题分析图的基本原理。问题分析图的主要优点是结构清晰,能直接导出程序代码,并可对其进行一致性检查。问题分析图可用于Basic、Fortran、Pascal、C等编程语言,它不仅支持软件的详细设计,还支持软件的需求分析和总体设计,也是当前广泛使用的一种软件设计方法。

  19. 头脑中粗略模糊问题解的概念 (1)顺序过程的细化 (2)循环过程的细化 (3)选择过程的细化 H1 … Hm H1 H1 循环 条件 Hm+1 … Hm+2 … 循环条件 Hm … Hn … Hn Hn 问题分析图方法的基本原理

  20. 问题分析图采用自顶而下、逐步细化的结构化设计的原则,力求将模糊的问题解的概念逐步转换为确定的和详细的过程。下图中列出了问题分析图的基本符号,有了问题分析图的基本符号和基本图式,根据系统的要求可写出系统的问题分析图。问题分析图采用自顶而下、逐步细化的结构化设计的原则,力求将模糊的问题解的概念逐步转换为确定的和详细的过程。下图中列出了问题分析图的基本符号,有了问题分析图的基本符号和基本图式,根据系统的要求可写出系统的问题分析图。 • 由问题分析图转换出相应的源程序,必须按照以下步骤进行: • 根据问题解画出问题分析图; • 把问题分析图看做横向生长的树,沿着树前进,写出源程序。

  21.   符 号     名 称           说    明  输入框      框内写出输入变量名  输出框      框内写出输出变量名  处理框      框内写出处理名或语句名  子程序框    子程序处理框,框内写出子程序名  重复框      先判定,再重复,框内写出重复条件  重复框    先执行,然后判定,再重复,框内写出重复条件  定义框      框内写定义名  选择框     可一路、二路、三路或多路选择,框内写条件  语句标号     圆内写出语句标号  定 义      用于PAD图的增加或分解 返回

  22. 类程序设计语言 类程序设计语言(Program Design Language,简称PDL)又称为伪码,这是一个笼统的名称,现有多种不同的PDL在使用。PDL是一种混杂语言,它使用一种结构化程序设计语言(如Pascal、C)的语法控制框架,而在内部却可灵活使用一种自然语言(例如英语)来表示数据结构和处理过程。PDL虽然不具有图形工具描述的直观清晰,但用来表示算法灵活自由,且便于翻译成高级语言程序,是介于自然语言与程序设计语言之间的一种伪码。PDL是用正文形式表示数据和处理过程的设计工具,一方面具有严格的关键字外部语法,用于定义控制结构和数据结构;另一方面,又具有灵活自由的内部语法,以适应各种工程项目的需要。PDL与实际的高级程序设计语言的区别在于:PDL的语句中嵌有自然语言的叙述,是不能被计算机识别和编译的。

  23. PDL的特点 • 关键字的固定语法,提供所有结构化构造、数据说明以 及模块化的手段。 • 自然语言的自由语法,用于描述处理过程和判定条件。 • 数据说明的手段,既包括简单的数据结构(例如变量和 数组),又包括复杂的数据结构(例如链表)。 • 模块定义和调用的技术,提供各种接口描述模式。 返回

  24. 四、数据结构和数据库详细设计 建立一个良好的数据组织结构和数据库,使整个系统都可以迅速、方便、准确地调用和管理所需的数据,是系统开发的必然要求。 通常,GIS数据库建设分为关系型数据库和空间数据库建设两部分内容,其中,空间数据库在某些情况下也可以用关系型数据库进行管理。在第八章将对空间数据库的建设进行详细介绍,此处主要介绍如何用关系型数据库技术来建立非地理数据的数据库。

  25. 四、数据结构和数据库详细设计 (一) 数据结构规范化 (二) 关系数据库建库 返回

  26. 数据结构规范化 在系统定义阶段对系统的数据流、数据类型等进行了分析和定义,并用数据流图、数据字典等手段对其进行了描述,但是要用关系型数据库来对这些数据进行管理,还必须将它们转换成关系型数据库支持的数据结构,即对这些数据进行规范化的重新组织。关于数据组织的规范化形式是关系型数据库的创始人之一——IBM公司的科德(E.F.Codd)首先提出的。早在1971年科德就提出了规范化理论(normalization theory),并在随后一系列的论文中逐步形成一整套数据规范化模式。这些模式已经成为建立关系数据库的基本范式。

  27. 第一范式 第一范式(first normal form,简称1st NF)要求同一张表中没有重复项出现,如果有则应将重复项删除。这个删除重复项的过程就称为规范化处理。 • 第二范式 • 第二范式(sencond normal form,简称2nd NF)要求每个表必须有一个(而且仅一个)数据元素为主关键词(primary key),其它数据元素与主关键词一一对应。主关键词在表中必须具有唯一性,作为主关键词的数据项中不能出现重复的记录。如表所示,其中预审项目表中的项目编号是主关键词,那么该表中不能出现相同的项目编号。设置关键词大大方便了表的维护和查询检索。

  28. 土地利用规划实施管理数据库表的关键词设置

  29. 第三范式 • 第三范式(third normal form,简称3rd NF)是指表格中的所有数据元素不但要能够唯一地被主关键词所标识,而且他们之间还必须相互独立,不存在其它的函数关系。也就是说对于一个满足2nd NF的关系表来说,表中有可能存在某些数据元素的函数还依赖于其它非关键词数据元素的现象。

  30. 函数依赖关系 函数依赖关系 传递依赖关系 项目编号(主关键字) 项目名称 项目编号(主关键字) 项目面积 其中农用地面积 耕地面积 …… 项目名称 项目承担单位 申报时间 …… 项目面积 其中农用地面积 耕地面积 …… a c b 在图 b中,项目面积、其中农用地面积、耕地面积等数据项函数依赖于项目名称,而图a显示项目名称函数依赖于项目编号,故项目面积、其中农用地面积、耕地面积等数据项能通过项目编号唯一地被标识(见图c)。这种在同一张表中A函数依赖于B,而B函数依赖于C的现象被称之为“传递依赖”(transitive dependence)。3rd NF为了确保关系数据库能够唯一并准确运行,要求必须在数据结构中消除这种传递依赖的现象。

  31. 项目编号(主关键字) 函数依赖关系 项目名称 项目承担单位 申报时间 …… 项目编号(主关键字) 函数依赖关系 项目面积 其中农用地面积 耕地面积 …… 图a 直接取消传递依赖关系示意图 图b 增加关系表来取消传递依赖关系示意图 项目编号(主关键字) 函数依赖关系 项目名称 项目承担单位 申报时间 …… 项目面积 其中农用地面积 耕地面积 …… 消除这种传递依赖的方法有两种:一是设法取消A对于B的函数依赖关系,使A函数直接依赖于C(主关键词),如图a所示。另一种方法是建立一独立的表,如图b所示。 返回

  32. 关系数据库建库 • 在按照关系型数据库数据规范进行数据基本结构的规范化重组后,要进行关系型数据库的建库工作,还必须根据具体的商业关系型数据库管理信息系统的数据格式要求进行数据库的建库工作,也就是在关系型数据模型的基础上将数据结构和数据库进行物理实现,包括三方面的工作: • 建立基表; • 确定基表之间的关联; • 数据安全性管理。

  33. 建立基表 经过编码和表的规范化处理后,已经可以确定每个基表是规范的,结合所采用的商业关系型数据库管理信息系统的数据模型进行表的计算机实现。

  34. 报批项目表(基表) 项目明细表(基表) 报批编号(主关键词) 报批面积 报批时间 项目编号 …… 项目编号(主关键词) 项目名称 项目位置 项目面积 …… 表关联示意图 基表关联的建立 目前,大多数商业关系型数据库管理信息系统都提供表的关联分析功能,根据系统定义阶段和规范化处理之后的的数据关系结构,在两个相关联的基表内可以通过特定的字段建立关联关系。如下图所示以项目编号在报批项目表和项目明细表之间建立了联系。

  35. 数据安全性管理 一般商业关系型数据库管理信息系统都提供数据安全保密的一些功能。系统所提供的安全保密功能一般有8个等级(0~7级),4种不同方式(只读、只写、删除、修改),而且允许用户利用这8个等级的4种方式对每个表自由地进行定义。这对确保系统的正常运行是非常重要的。 返回

  36. 五、详细设计规格说明书 (一) 详细设计规格说明书内容体系 (二) 模块开发卷宗中模块说明表 (三) 详细设计评审报告审议项目列表 返回

  37. 详细设计规格说明书用来描述和表达详细设计的成果详细设计规格说明书用来描述和表达详细设计的成果 返回

  38. 模块说明表是对规划说明书中简要介绍的模块进行详细的全面的描述,并设计出它们的实现算法。模块说明表是对规划说明书中简要介绍的模块进行详细的全面的描述,并设计出它们的实现算法。 返回

  39. 详细设计完成之后,需要对设计的成果进行评审,以保证设计的质量。详细设计完成之后,需要对设计的成果进行评审,以保证设计的质量。 返回

More Related