




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、.,1,总体设计与详细设计,.,2,系统设计的任务,根据已批准的系统分析报告,依照系统逻辑模型和实际运行环境以及经济技术条件,确定新系统的物理实施方案 将逻辑模型转换为物理模型的过程,逻辑模型,物理模型,.,3,系统设计的原则,系统性,灵活性,可靠性,经济性,.,4,513 系统设计的主要内容,1、系统总体结构设计 2、代码设计 3、数据库(文件)设计 4、输入/输出设计 5、处理流程设计 6、程序流程设计 7、系统设计文档,.,5,系统设计的步骤,1、系统总体设计 2、详细设计 3、系统实施进度与计划的制定 4、系统设计说明书的编写,.,6,系统总体结构设计,1 系统总体功能结构设计概述 2
2、 模块和模块结构 3 模块分解的原则 4 控制结构图的绘制 5 系统平台设计,.,7,系统总体功能结构设计概述,1系统总体设计的任务 根据系统分析文档资料和系统的逻辑模型设计新系统的物理模型和物理结构。 2系统总体设计的基本要求 能够实现逻辑模型所规定的信息服务功能 系统具有一定的适应性和可修改性和可扩充性 3系统总体设计的主要问题及其解决方法 主要问题:系统各部分之间的信息关联,造成“波动效应”,使系统设计、修改和维护困难 解决方法:采用结构化设计和模块化设计的思想方法,.,8,系统总体功能结构设计概述,结构化设计的三个要点: 系统性 自顶向下分解 层次性 模块化设计的基本思想: 把一个信息
3、系统设计成若干模块的方法称为模块化 将系统设计成由相对独立、单一功能的模块组成的结构 图示,.,9,.,10,.,11,模块和模块结构,1概述 结构化设计借助一套标准的设计原则和图表工具,把系统分成若干模块,各模块可通过结构化语言、N-S图、IPO图、决策表、决策树等工具进行描述。 (UC矩阵逐层分析:系统-子系统-模快) 2模块 模块是可以组合、分解和更换的基本单元。 (1)输入和输出 (2)功能 (3)位置 (4)内部数据 (5)处理逻辑 (6)程序代码,.,12,模块和模块结构,3控制结构图 (1)基本符号 图示 (2)表示方式 (3)模块调用规则 每个模块都有特定的任务,只有上级模块才
4、能调用下级模块 只有上下级模块之间才能通信 相邻模块必须通过各自的上级模块传递才能间接通信 模块按照自上而下的顺序调用,.,13,.,14,模块和模块结构,(4)数据传送 图示 (5)控制信息传送 (6)转接符号的使用 4模块分解的基本结构类型 顺序结构+选择结构+循环结构 图示,.,15,.,16,.,17,模块分解的原则,1模块的独立性 2模块的凝聚性 (1)偶然凝聚 (2)逻辑凝聚 (3)时间凝聚 (4)数据凝聚 (5)功能凝聚 3模块耦合 (1)数据耦合 (2)控制耦合 (3)内容耦合,.,18,控制结构图的绘制,1绘制的依据和过程 依据:数据流程图。 过程:首先将上层数据流程图映射为
5、上层控制结构图,由顶层数据流程图开始,逐级下推,每一层数据流程图中的处理功能映射为相应的模块。 图示 2以转换为中心结构的模块分解 分解为输入、处理、输出三大部分。教材P173图5-11 图示 3以业务为中心结构的模块分解 分解一个检查业务类型模块和一个调度类型模块,调度类型模块可以继续分为不同处理逻辑的子模块。 教材P174图5-13 图示,.,19,.,20,.,21,.,22,系统平台设计,管理信息系统平台设计包括计算机处理方式,网络结构设计,网络操作系统的选择,数据库管理系统的选择等软、硬件选择与设计工作等。 1、按管理信息系统的目标选择系统平台 单项业务系统 综合业务管理系统 集成管
6、理系统 信息处理模式 2、计算机处理方式的选择和设计 选择根据 选择方式 3、计算机网络系统的设计 有关内容请参考计算机网络的技术书籍,.,23,系统平台设计,4、数据库管理系统的选择 选择原则 5、软、硬件选择 根据系统需要和资源约束进行选择 采用采购招标方式进行 硬件的选择原则 软件的选择原则,.,24,数据库设计,1 文件设计 2 数据库设计的要求和步骤 3 概念结构设计 4 逻辑结构设计 说明:关系模型在第二章已讲,数据库的物理实现用VFP,机房上机。,.,25,文件设计,文件设计就是根据文件的使用要求、处理方式、存储量、数据的活动性以及硬件设备的条件等,合理地确定文件类别,选择文件介
7、质,决定文件的组织方式和存取方法。 1、文件的分类 主文件(静态文件+动态文件) 业务文件 输入文件 输出文件 工作文件 转存文件,.,26,531 文件设计,2、文件设计的步骤 了解已有的或可提供的计算机系统功能 确定文件设计的基本指标 与其他文件的接口 文件的数据量 文件的逻辑结构 文件的处理方式 文件的使用率 文件的存取时间 文件的保密 确定合适的文件组织方式、存取方式和介质 编写文件设计说明书,.,27,数据库设计的要求和步骤,1数据库设计的要求 满足用户要求 满足数据库管理系统要求 具有较高的范式 2数据库设计的步骤 (1)数据库的概念结构设计 (2)数据库的逻辑结构设计 (3)数据
8、库的物理结构设计,.,28,.,29,.,30,.,31,533 概念结构设计,1概念模型的表示方法 E-R图+实例分析 2确定系统实体、属性与联系 3确定局部E-R图(含属性图) 4确定完整E-R图 将各个局部E-R图合并为完整E-R图 5优化E-R图,.,32,概念结构设计,具体操作: 通读文字描述,确定所有实体,用矩形表示 通读文字描述,逐一确定各实体之间的联系,并用菱形表示 标出各联系的类型 用椭圆添加实体属性,并用下划线注明主属性,.,33,.,34,.,35,工厂物资管理 (较完整的E-R图示例),实体 仓库、零件、供应商、项目、职工 实体间的联系 一个仓库可以存放多种零件,一种零
9、件可存放在多个仓库中 一个仓库有多个职工当仓库保管员,一个职工只能在一个仓库工作 职工中有领导:仓库主任 供应关系中都是多对多的关系,.,36,工厂物资管理 实体及其属性图,.,37,工厂物资管理 实体及其属性图,.,38,工厂物资管理 实体及其联系图,.,39,完整的E-R图,主码?,.,40,逻辑结构设计,1概念模型转换为关系数据模型的原则 一个实体转换为一个关系,实体的属性就是关系的属性,实体的码就是关系的码 一个联系也转换为一个关系,联系的属性以及联系所连接的实体的属性转换为关系的属性,码的转换: 1:1联系两端实体的码都成为关系的候选码 1:n联系n端实体的码成为关系的码 m:n联系
10、两端实体的码组合成为关系的码 2关系的转换 实体关系;联系关系;码属性用下划线 3关系的合并 将具有相同码的关系合并 关系模型的优化范式理论,.,41,.,42,代码设计,1 代码概述 2 代码设计方法 3 管理信息系统中的代码,.,43,代码设计,代码社会现象: 全国公民的身份证号码 学生的学号 职工的职工号 银行操作员编号 数据流程图中的代码,.,44,代码概述,1、定义 代码(Code)是人为确定的代表客观事物(实体)名称、属性或状态的符号或者是这些符号的组合。 2、作用 唯一化 +规范化 +系统化 +快速化,.,45,代码设计方法,1代码设计的原则 (1)足够的容量;(2)按属性系统化
11、;(3)分类的柔性;(4)系统间的协调 2代码的类型 (1)顺序码 以某种顺序形式编码。 (2)数字码(成组码) 即以纯数字符号形式编码。区间码+层次码。 (3)字符码(表意码) 即以纯字符形式编码(英文、汉语拼音等)。 (4)混合码 即以数字和字符混合形式编码。 (5)其他 重复码+专用码 +组合码。,.,46,代码设计方法,3代码的设计方法 (1)线分类方法 线分类方法的主要出发点是:首先给定母项,母项下分若干子项,由对象的母项分大集合,由大集合确定小集合,最后落实到具体对象。举例 。 (2)面分类方法 主要从面角度来考虑分类。 举例。代码3212表示材料为钢的1.0mm圆头的镀铬螺钉。,
12、.,47,.,48,.,49,代码设计方法,4代码的校验 (1)录入代码时的可能错误: 识别错误+易位错误+双易位错误+随机错误 (2)避免代码录入出现错误的办法 增加校验位。 (3)校验位的确定步骤 理论+举例。,.,50,代码设计方法,4代码的校验 原设计的一组代码为五位:32456,确定权数为7,6,5,4,3 求代码每一位Ci与其对应的权数Pi的乘积之和S S= C1*P1+C2*P2+C5*P5 =3*7+2*6+4*5+5*4+6*3 =21+12+20+20+18=91 确定模M,M=11 取余R,R = SMOD(M) = 91MOD(11) = 3 校验位C6 = R = 3
13、 最终代码为: C1C2C3CC5C6 ,即324563 使用时为:324563,.,51,管理信息系统中的代码,1部门代码 采用成组码。前两位为部门编码,后两位为科室编码。 2人员代码 可以采用顺序码或组合码。 3物资代码 采用成组码,并用表意码辅助。 4设备代码 采用组合码。产品代码+部门代码+顺序号构成的物资码。,.,52,管理信息系统中的代码,5产品代码 采用成组码或表意码。EWH-69C。 6工程代码 采用成组码。序列号+年份+工程性质 7会计科目代码 采用成组码。分段分级设计代码。,.,53,详细设计,概述 结构化构造 图形设计工具 伪码与程序设计语言 各种详细设计工具的比较 详细
14、设计文件与复审,概 述,概要设计完成了程序的总体结构设计,规定了各个模块的功能及各模块之间的相互联系,再进一步,要考虑每个模块内部的算法问题。 从软件开发的工程化观点来看,在使用程序设计语言编写程序以前,需要对算法的逻辑关系进行分析,并给出清晰的表达,使之成为编码的依据。 这一步工作不仅编码工作容易多了,而且给软件的维护带来了很多的方便。,在理想的情况下,详细设计步骤需要的过程描述应当用自然语言来表达。 但是,详细设计必须是无歧义地描述过程的细节,而自然语言却不具有单一性。必须使用更有约束性的方式来表示过程细节。 在概要设计期间,每个模块被定义为软件总体结构的组成部分,用自然语言编写结构图和接
15、口说明、模块的处理说明和性能说明。 为了把这些简明的、无歧义的一般处理步骤的描述转换为准确的、结构过程的描述,就需要使用设计描述工具。,结构化 构造,过程规格说明的工具称之为详细设计工具,可分为: 图形工具:把过程的细节表示成一个“图”的组成部分,在这个图上,逻辑构造用具体的图形来表示。 列表工具:用一个表来表示过程的细节,表列出了各种操作及相应的条件。 语言工具:用类语言来表示过程的细节,类语言很接近编程语言。 不管属于哪一类,一种设计工具应表现出控制的流程、处理功能、数据的组织及实现的细节。,详细设计的基础在60年代初期开始奠定和充实的。60年代后期,提出了一组逻辑构造,利用这组逻辑构造可
16、以构成任何程序。这组构造强调“维持一定的功能域”。也就是说,每个构造有一个预定的逻辑结构,每个构造都从顶部进入并从底部离去。 顺序构造是实现任何一个算法的基本处理步骤。 条件构造根据某种逻辑条件的出现而选择相应的处理步骤。 重复构造则是为循环而设置的。 这三种构造是结构程序设计软件工程领域中的一种重要方法的基础。,提出这些结构化构造的目的是限制软件的过程设计,只允许采用几种预定的操作。 采用这些结构化构造将减少程序的复杂性,从而提高软件的可读性、可测试性和可维护性。 使用有限的几种逻辑构造还有助于人们用“成块识别”的方式去理解进程。 任何一个程序,不管它的应用领域或技术复杂性如何,都可以仅仅用
17、这3种结构化构造来设计和实现。,详细设计中的图形工具有: 流程图 方块图(N-S图) HIPO图 PAD图等 这些图形工具提供了极好的图形样式,通过它们,可以方便地描述过程的细节。,图形设计 工具,流程图独立于各种程序设计语言,比较直观、清晰,易于学习掌握。然而,它也是经常被误用的一种方法。 为使流程图能描述结构化程序,限制流程图只能由几种基本控制结构组成,或者说任一程序流程图都应能由几种基本控制结构嵌套而成。 ISO5807信息处理数据流程图、程序流程图、系统流程图、程序网络图和系统资源图的文件编制符号及约定中对程序流程图的符号做出了规定。,【例 】画出实现符号函数的流程图。,通常,当需要从
18、一组嵌套的循环构造或者嵌套的条件构造中离去时,只简单地采用结构化构造有可能使效率降低,甚至沿着离去路径使所有逻辑测试复杂化,从而使软件的控制流程变得模糊不清,增加了出错的可能性,并且对可读性和可维护性也有不良影响。这时,可以有两种选择: 重新设计程序流程,使得在控制流程的嵌套部位不需要出现离去分支。 有控制地采用非结构化的构造;也就是说,设计成有限制地从嵌套流程中往外分支。,方块图是一种强制使用结构化构造的图示工具,具有下列特点: 明确规定功能域 (即某一具体构造的功能范围) ,并且很直观地从图形表示中看出来。 不可能随意分支或转移。 可以很容易地确定局部数据和 (或) 全程数据的作用域。 容
19、易表示出递归结构。,NS图是一种不允许破坏结构化的图形算法描述工具。 在NS图中去掉了流程图中易引起麻烦的流程线,全部算法都写在一个框内,每一种结构也是一个框。,【例 】画出实现符号函数的NS图。,对应与一个结构化流程图的方块图,HIPO(层次加输入-处理-输出) 是根据IBM公司研制的软件设计与文件编制技术发展而来的一种图示工具。 在概要设计、详细设计、设计评审、测试和维护的不同阶段,都可以使用HIPO图对设计进行描述。 HIPO图的最重要的特征是它能够表示输入/输出数据 (外部数据和内部数据流程) 与软件的过程之间的关系。 完整的一组HIPO图由下列各部分组成: 层次图 (H图) :以层次
20、方框形式表达程序主功能模块与次功能模块的关系。 高层IPO图:针对H图中的主功能模块和次功能模块,描述其输入,处理功及输出等。 低层IPO图:给出H图中最低层次的具体设计。,在画H图时要注意几个问题: 根据经验,一般每层画3-10个功能模块为宜。 对于画到第几层为止则无统一标准,视具体情况而定。 画高层IPO时,从H层第一层开始画,按自上而下,从左到右的顺序画出H图中每个方框 (除最底层外) 的IPO图。在IPO图上给出哪些是输入,处理的功能是什么,输出什么。 为了避免规模和维护上的复杂性问题,大多数项目的HIPO图只深入到某一层。,PAD (问题分析图) 是一种用于软件详细设计的表达形式:
21、综合流程图、Warnier图(类似判定树)、方块图和伪码等技术的一些特点; 以二维树的形式描述程序的逻辑; 主要优点是程序结构清晰,能够直接导出程序代码,并对其一致性进行检查; 可应用于BASIC、FORTRAN、COBOL、PASCAL等高级语言; 支持软件需求分析和概要设计阶段。,PAD图采用自顶向下、逐步求精和结构化设计的原则: 力求将模糊的问题解的概念逐步转换成确定的、详尽的过程。 最终可采用计算机进行处理。 PAD为软件设计提供了3种基本控制结构(顺序、循环和选择)描述,首先要从系统设计的一种模糊的概念出发,将过程描述为: 过程顺序部分的表示 过程重复部分的表示 过程选择部分的表示
22、重复上述步骤,直到过程完全确定和详尽为止。,PAD图对应的程序执行的步骤: PAD的执行顺序是从最左主干线的上端结点,自上而下依次执行。 当遇到判断或循环时,就自左而右进入下一层从表示下一层的纵线上端开始执行,直到该纵线下端,再返回上一层的纵线的转入处。 如此继续,直到执行到主干线的下端为止。,【例 】画出实现符号函数的PAD图。,伪码是控制结构和某些编程语言元素的简写符号,可以任意插入注释,实质上是“文字流程图”。 熟悉某种程序设计语言的设计人员所用的伪码可能就是该语言的简化版本 。 实际使用时,设计人员可以随意增加伪码的详细程度,特别是针对可能产生二义性的地方。 伪码的缺点是不标准,而且只
23、有控制结构,对数据描述能力很差。,伪码设计 语言,程序设计语言 (PDL,又称详细设计语言DDL) 弥补了伪码的缺点,它是一种“混杂式语言”。 它采用某种语言 (例如英语) 的词汇但却采用另一种语言 (即一种结构化编程语言) 的全部语法,它用文本格式提供一种描述数据和处理的方法。 PDL有正规的句法,指出数据和处理结构,并用自然语言说明细节。 虽然程序设计语言是不可执行的,但可以对之开发出评价设计和转换为源程序的自动化技术。,为了实现从详细设计到编码的自动转换,各种程序设计语言都开发了相应的PDL,如PDL/PASCAL,PDL/C,以及PDL/Ada等,它们利用程序设计语言的语法结构,用自然
24、语言表示某些控制信息,使面向设计的部分减少,面向实现的部分增加,从而使程序设计语言更件接近可执行代码。 程序设计语言可分为三个部分: 数据说明 处理说明 I/O 对特殊的应用,如多任务语句或实时应用等,可以提供专用的结构和语句。,PROCEDURE spellcheck IS 查找错拼单词 BEGIN split document into single words 将整个文档分解成单词 look up words in dictionary 在字典中查找这些单词 display words which are not in dictionary 显示找不到单词 create a new di
25、ctionary 造一个新字典 END spellcheck,在总体结构上它和高级语言程序的相似之处主要在于: 关键字起到了骨架作用。 按程序结构缩格书写。 主要差别表现在:除去特定的若干关键字外,所描述的内容也使用了简单的自然语言,没有高级语言那样严格的语法限制。 程序设计语言是用于详细设计阶段的工具,这个阶段的任务显然与用高级语言编写程序的任务完全不同。 程序设计语言把叙述性说明文直接插入到PDL语句中。由于混合使用叙述性说明文和形式化的过程形式,故一般无法对其进行编译。,PDL可以是一种稍作变动的编程语言,或者是为程序设计而专门研制的语言。 作为一种程序设计语言,PDL应当具有以下特征:
26、 其关键字有固定语法,以便提供全部结构化构造、数据说明和模块化特性。 一种自然语言的自由文法,用来描述处理性能。 有数据说明机制,包括简单的 (标量与数组) 与复杂的数据结构 (链表或层次结构)。 有子程序定义与调用方法,用来表达各种方式的接口说明。 一个用程序设计语言描述的软件设计应当可以转换成汇编语言、FORTRAN或者Pascal,只是难易程度有所不同而已。,任何一种详细设计工具如果使用得当,对设计有很大帮助;如果使用不当,则即便是最好的工具也不会有什么帮助。 一个详细设计工具应: 可以用来得到便于理解和复审的过程表示。 应增强编程的能力,以便使程序事实上成为设计的一个自然的产物。 得到
27、的设计表达还必须便于维护,以使设计总是能够正确地表达程序。,根据上面介绍的一般特性,设计工具应具有: 模块性:支持模块化软件的开发。 简明性:应易学、易用、易读。 便于编辑:在设计、测试和维护阶段便于修改。 机器可读性:应能直接输入到计算机内处理。 可维护性:软件配置的维护意味对详细设计的维护。 强行结构化:会使人们养成良好的设计习惯。 自动处理:使设计人员对软件的正确性与质量有新的深入了解。 数据表示:应具有直接地表示局部和全程数据的能力。 逻辑验证:要达到设计逻辑的自动验证这个首要目标。 编程能力:所表示的设计可以很容易转换成源程序。,设计工具的选择更大程度上取决于人的因素,而不是取决于技
28、术特性。,详细设计完毕,应交付的文件有: 详细设计说明书 初步的模块开发卷宗。,详细设计文件 与复审,详细设计说明书又称程序设计说明书。 编制本说明书的目的是说明一个软件系统各个层次中的每一个程序 (每个模块或子程序) 的设计考虑,如实现算法、逻辑流程等。,软件的详细设计完成以后,必须从正确性和可维护性两个方面,对它的逻辑、数据结构和界面等进行检查。 详细设计的复审可用下列形式之一完成: 设计者和设计组的另一个成员一起进行静态检查。 由一个检查小组进行的较正式的“结构设计检查”。 由检查小组进行的正式的“设计检查”,对软件设计质量给出严肃的评价。 软件开发的实践表明,正式的详细设计复审在发现某些类型的设计错误方面和测试一样有效。 正确的态度是:在详细设计复审中,不为设计辩护,而是揭短,揭露出设计中的缺点错误。,任何一个程序,都可以仅仅用顺序、条件和重复三种结构化构造来设计和实现,并且将减少程序的复杂性,提高可读性、可测试性和可维护性。 用来表示详细设计的工具分成三个大类图形、列表和语言。 详细设计中的设计工具主要有程序流程图、方块图、HIPO图和PAD图、程序设计语言PDL以及判定表等。 详细设计产生的主要文件是详细设计说明书,它为编写源代码提供了必
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 停车场管理岗位职责及服务流程
- 法医实验室样品管理制度及流程
- 二年级上册劳动体验课程计划
- 电工工作职责与行业规范的关系
- 环卫工人薪资保障承诺书
- 养老院装修施工劳动力及材料使用计划
- 大学生环保活动倡议书范文
- 养牛场信息化建设申请书范文
- 非正式制度何以促进乡村治理有效-基于G村土地调整的考察
- 小学2025年秋季新课程实施计划
- 代理记账业务规范-代理记账业务内部规范制度
- DB32∕T 3255-2017 液氯汽车罐车、罐式集装箱卸载安全技术要求
- 中级考试外科基础题
- 基层派出所消防培训
- 中小学生中医药科普知识竞赛
- 初三化学原子的结构课件1
- 《控制计划培训》课件
- 中学风险辨识评估和应急资源调查报告
- 2025年4月自考00262法律文书写作押题及答案
- 2024年中考英语复习:补全对话 中考真题练习题汇编(含答案解析)
- 《电力机车制动机》 课件 项目三 CCB-II制动系统
评论
0/150
提交评论