已阅读5页,还剩51页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1 系统设计概述2 系统总体结构设计3 代码设计4 数据结构与数据库设计5 输入输出设计6 模块功能与处理过程设计 第八章系统设计 第一节系统设计概述 系统设计的任务在系统分析提出的逻辑模型的基础上 科学合理地进行物理模型的设计 主要是解决 怎样做 的问题 系统设计的具体工作确定系统输出确定系统输入确定数据的组织方法代码设计绘制各处理功能的数据关系图绘制系统流程图选择计算机系统系统模型的评价编写系统说明书 一 系统设计的任务 二 系统设计的依据 系统设计主要是依据系统分析阶段生成的系统分析报告和开发者的知识与经验 系统设计也是一个建模的活动 它使用分析阶段得出的逻辑模型转化为物理模型 三 系统设计的步骤 四 系统设计的方法 系统设计阶段的工作步骤 根据系统设计的内容 将系统设计分为两个阶段 总体设计阶段和详细设计阶段 系统设计方法主要有结构化设计方法 以数据流程图为基础构成系统的模块结构 Jackson方法 以数据结构为基础建立系统模块结构 面向对象的设计方法 以对象行为封装 继承性 多形性为基础建立系统模块结构 总体设计阶段决定系统的模块结构 而详细设计阶段是具体考虑每一模块内部采用什么算法 具体来说 在总体设计中 根据系统分析的成果进行系统总体结构设计 包括网络结构设计 硬件结构设计 软件结构设计 数据库存储和处理方式设计等 详细设计阶段包括具体的代码设计 输入输出设计 信息分类和数据库设计 功能模块设计 详细设计是对上述总体设计的结果进行进一步细化 直至符合小组编程的要求 第二节系统总体结构设计 一 选取合适的系统体系 一 层次体系 层次体系就是利用分层的方式来处理复杂的功能 屡次系统要求上层子系统可以使用下层子系统的功能 而下层子系统不能够使用上层子系统的功能 二 客户机 服务器结构 三 浏览器 服务器结构 四 三层客户机 服务器结构 二 系统物理配置方案设计 一 硬件结构的设计 二 软件结构的设计 三 系统功能模块设计 系统的功能分解的过程就是一个从抽象到具体的 由复杂到简单的过程 所谓功能结构图就是按功能从属关系画成的图表 图中每一个框成为一个功能模块 从管理职能的角度 把MIS看作是由不同职能的一系列子系统构成 这些子系统可以再分解成更小的子系统和模块 整个信息系统就是由这些功能模块构成的 整个企业管理信息系统是相应的子系统的有机结合 每个子系统都有为完成有关的各种信息处理工作的专用或公用的计算机程序 在每个职能子系统内部都包含用于事务处理 作业控制 管理控制和战略计划的具体应用 功能模块设计的流程是先完成处理流程图 再生成功能模块结构图 最后根据功能模块结构图细化功能模块 一般企业管理信息系统的系统功能模块 如下图所示 四 系统数据处理的总体结构设计 一 集中式数据处理 二 协作式数据处理 三 分布式数据处理 第三节代码设计 代码的定义代码是代表事物名称 属性 状态等的符号 代码的功能为事物提供一个概要而不含糊的认定 便于数据的存贮和检索 使用代码可以提高处理的效率和精度 提高数据的全局一致性 代码是人和计算机的共同语言 如零件号 图号等早已使用代码 一 代码的定义与功能 二 代码设计的原则 1 惟一性每个代码应惟一地表示一个实体或属性 2 规范性代码要遵循一定的规则 这些规则包括 代码的位数 代码的分段 每段代码的类型和含义 3 可识别性代码的可识别性要求的目的是 通过代码能够比较容易地识别被编码对象 4 可扩展性是保证系统对企业管理业务变化的适应性 即要求代码规则对已有编码对象留有足够的余量 5 标准化与通用性代码设计要向国际 国家或部门及行业的标准靠拢 同一种类编码对象的代码应统一 如会计科目编码 生产物资编码等 6 实用性尽量使用原业务处理上已使用的且行之有效的代码 7 简明性在不影响代码系统的容量和扩充性的前提下 代码尽可能简单 统一 三 代码的种类 一 顺序码 顺序码适宜中最简单 最常用的代码 这种代码是将顺序的自然数或字母赋予分类对象 例如 按照GB2261 80规定 1为男性 2为女性 优点 短而简单 记录的定位方法简单 易于管理 缺点 代码本身没有给出对象的任何其它信息 二 区间码 区间码把数据项分成若干组 每一区间代表一个组 码中数字的值和位置都代表一定意义 区间码又可分为以下多种类型多面码 例如 对于机制螺钉 可作如下表那样的规定 代码2342表示材料为黄铜的 1 5mm方形头镀铬螺钉 上下关联区间码 例如 会计核算方面 用最左位代表核算种类 下一位代表会计核算项目 十进位码 例如 图书分类中的十进位分类码 区间码的优点是 信息处理比较可靠 排序 分类 检索等操作易于进行 但这种码的长度与它分类属性的数量有关 有时可能造成很长的码 在许多情况下 码有多余的数 同时 这种码的维修也比较困难 三 助忆码 助忆码用文字 数字或文字数字结合起来描述 其特点是 可以通过联想帮助记忆 例如 用W B l2代表12英寸黑白电视机 用W C 20代表20英寸彩色电视机 助忆码适用于数据项数目较少的情况 一般少于50个 否则可能引起联想出错 此外 太长的助忆码占用计算机容量太多 也不宜采用 为了保证正确输入 在原有代码的基础上 另加一个校验位 作为代码的一个组成部分 校验位通过事先规定的数学方法计算出来 代码一旦输入 计算机会用同样的数学运算方法按输入的代码数字计算出校验位 并将它与输入的校验位进行比较 以证实输入是否有错 抄写错误 1234 1235 易位错误 1234 1243 隔位易位错误 1234 1432 四 代码结构中的校验位 XXXXXX X 校验位 代码本体 校验码是根据事先规定好的数学方法及代码本体计算出来的 校验位生成方式 1 对代码的本体的每一位加权求和 代码本体 加权因子 加权因子可以为 自然数1 2 3 几何级数2 4 8 16 质数3 5 7 13 17 2 以模除和得到余数 将余数作为检验位 示例 1 算术级数法 2 几何级数法 3 质数法 4 身份证校验码的生成 权数 7 9 10 5 8 4 2 1 6 3 7 9 10 5 8 4 2 模数 11 可能出现的余数 其对应的校验码 文件设计文件设计就是根据文件的使用要求 处理方式 存储量 数据的活动性以及硬件设备的条件等 合理地确定文件类别 选择文件介质 决定文件的组织方式和存取方法 文件按用途可分为 主文件处理文件工作文件周转文件其它文件 如后备文件 文件设计通常从设计共享文件开始 文件由记录组成 所以设计文件主要是设计文件记录的格式 详见文件记录的格式实例 一 文件的分类 文件记录的格式实例 二 文件设计 数据厍设计是在选定的数据库管理系统基础上建立数据库的过程 数据库设计的步骤与系统开发的各个阶段相对应 详见下图 三 数据库设计的步骤 一 需求分析阶段 需求分析是整个数据库设计过程中的第一步 也是最重要一步 进行数据库设计首先必须准确了解与分析用户需求 需求分析是作为基本的需求分析是否做得充分与准确 决定了在其上构建数据库的速度与质量 需求分析的任务是通过详细调查现实世界要处理的对象 充分了解原系统工作概况 明确各用户的各种需求 然后在此基础上确定新系统的功能 新系统必须充分考虑今后可能的扩充和改变 不能仅仅按当前应用需求来设计数据库 需求分析阶段的主要工作具体如下 1 收集资料 2 分析整理 3 数据流程图 4 数据字典 5 用户确认 二 概念结构设计 如前所述 概念结构设计应在系统分析阶段进行 任务是根据用户需求设计数据库的概念数据模型 简称概念模型 概念模型是从用户角度看到的数据库 它可用前面介绍的E R模型表示 也可以用3NF关系群来表示 逻辑结构设计是将概念结构设计阶段完成的概念模型转换成能被选定的数据库管理系统 DBMS 支持的数据模型 数据模型可以由实体联系模型转换而来 也可以用基于第三范式 3NF 的方法来设计 接着是用DBMS提供的数据描述语言DDL定义数据模型 三 逻辑结构设计 内容包括 选用库文件的组织形式 存储介质的分配和存取路径的选择等 四 物理结构设计 第五节输入输出设计 1 有关输出信息使用方面的内容 2 输出信息的内容 3 输出格式 如表格 图形或文件 4 输出设备 5 输出介质 1 确定输出内容 确定用户在使用信息方面的需求 使用目的 输出速度 频率 数量 安全性要求等 设计输出信息的内容 包括 信息的形式 表格 图形 文字 输出的项目 数据结构 数据类型 位数及取值范围等 一 系统输出设计 一 系统输出设计的内容 二 输出内容的设计 2 选择输出设备与介质 3 确定输出格式 提供给用户的信息要进行格式设计 输出格式要满足使用者的要求和习惯 达到格式清晰 美观 易于阅读和理解的要求 三 输出设计示例 接收用户输出格式定义的输入画面 二 系统输入设计 一 输入方式设计 1 键盘输入 键盘输入方式 key in 包括联机键盘输入和脱机键盘输入两种方式 它们主要适用于常规 少量的数据和控制信息的输入以及原始数据的录入 这种方式不大适合大批中间处理性质的数据的输入 2 数模 模数转换方式 数模 模数转换方式 A D D A 的输入是目前比较流行的基础数据输入方式 这是一种直接通过光电设备对实际数据进行采集并将其转换成数字信息的方法 是一种既省事 又安全可靠的数据输入方式 这种方法最常见的有如下几种 条码 棒码 输入 扫描仪输入 传感器输入 3 网络传送数据 网络传送有两种方式 第一种利用数字网络直接传送数据 第二种利用电话网络 通过modem 传送数据 设计原则便于填写便于归档单据的格式应能保证输入精度实例见下表 二 输入格式设计 4 磁盘传送数据 即数据输出和接收双方事先约定好待传送数据文件的标准格式然后再通过软盘 光盘传送数据文件 这种方式不需要增加任何设备和投入 是一种非常方便的输人数据方式 它常被用在主 子系统之间的数据连接上 三 输入数据的校验方法 1 重复校验 将同一数据先后输入两次 然后由计算机程序自动进行对比校验 如果两次输入不一直 计算机显示或打印出错信息 2 视觉校验 3 校验位校验 输入的同时 由计算机打印或显示输入数据 然后与原始单据进行比较 找出差错 视觉校验不可能查出所有的差错 其查错率为75 85 4 控制总数校验 6 格式校验 5 数据类型校验 采用控制总数校验时 工作人员先用手工求出数据的总值 然后在数据的输入过程中由计算机程序累计总值 将两者对比校验 校验数据是数字型还是字母型的 即校验数据记录中各数据项的位数和位置是否符合预先规定的格式 7 逻辑校验 即根据业务上各种数据的逻辑性 检查有无矛盾 8 界限校验 即检查某项输入数据的内容是否位于规定范围之内 9 顺序校验 即检查记录的顺序 例如 要求输入数据无缺号时 通过顺序校验 可以发现被遗漏的记录 又如 要求记录的序号不得重复时 即可查出有无重复的记录 10 记录计数校验 11 平衡校验 12 对照校验 这种方法通过计算记录个数来检查记录有否遗漏和重复 不仅对输人数据 而且对处理数据 输出数据及出错数据的个数等均可进行计数校验 平衡校验的目的在于检查相反项目间是否平衡 对照校验就是将输入的数据与基本文件的数据相核对 检查两者是否一致 例如 为了检查销售数据中的用户代码是否正确 可以将输入的用户代码与计算机中存放的用户代码总表相核对 常用的界面设计包括 菜单方式绘画方式提示操作方式操作权限管理方式详见三峡工程开发总公司设备调拨单的录入屏幕设计示例 四 用户界面设计 三峡工程开发总公司设备调拨单的录入屏幕设计示例 第六节模块功能与处理过程设计 一 IPO图与HIPO图 IPO图主要是配合层次化模块结构图详细说明每个模块内部功能的一种工具 IPO图的设计包括输入 I 处理 P 输出 O 以及与之相应的数据库 文件 在总体结构中的位置等信息 IPO图设计和处理最关键的是内部处理过程的描述 目前用于描述模块内部处理过程的主要有如下几种方法 结构化英语方法 决策树方法 判定表方法和算法描述语言方法 HIPO图 HierarchyplusInput Process Output 是IBM公司于70年代中期在层次结构图 structurechart 的基础上推出的一种描述系统结构和模块内部处理功能的工具 技术 HIPO图由层次结构图和IPO图两部分构成 前者描述了整个系统的设计结构以及各类模块之间的关系 后者描述了某个特定模块内部的处理过程和输入 输出关系 一 IPO图 二 HIPO图 HIPO图方法的模块层次功能分解正是以模块的这一特性以及模块分解的层次性为基础 将一个大的功能模块逐层分解 得到系统的模块层次结构 而后再进一步把每个模块分解为输入 处理和输出的具体执行模块 通常 HIPO图方法由三个基本图表组成 1 总体IPO图 实际上是数据流程图的初步分层细化结果 对最高层模块进行功能分解 并为其提供输入变量表 处理功能和输出变量表 2 HIPO图 对顶层模块进行重复逐层分解 而得到的关于组成顶层模块的所有功能模块的层次结构关系图 3 低层主要模块的详细IPO图 由于HIPO图仅仅表示了一个系统功能模块的层次分解关系 还没有充分说明各模块间的调用关系和模块间的数据流及信息流的传递关系 因此 对某些较低层上的重要工作模块 还必须根据数据字典和HIPO图 绘制其IPO图 用来描述模块的输入 处理和输出细节 以及与其他模块间的调用和被调用关系 举一个对销售系统中 订单处理 模块进行层次功能分解的例子 说明HIPO图方法 第1步 如下图所示 给出销售系统中 订单处理 部分的数据流程图 第2步 根据数据流程图 把 订单处理 模块分解为输入 处理和输出三个功能模块 从而得到总体IPO图 第3步 根据总体IP0图 将各模块逐层进行功能分解 并绘制 订单处理 的HIPO图 画HIPO图的过程实际上是一个从上到下的反复调整过程 在HIP0图中 模块的执行顺序一般是从上到下 由左向右 第4步 在HIPO图的基础上 根据数据字典 绘制低层主要模块的IP0图 作为程序模块结构设计的依据 图4是图3上 确定能否供货 模块的IPO图 二 层次模块结构图 层次模块结构图或称结构图 structurechart 是1974年由W Steven等人从结构化设计 structuredesign 的角度提出的一种工具 它的基本做法是将 系统划分为若干子系统 子系统下再划分为若干的模块 大模块内再分小模块 而模块是指具备有输入输出 逻辑功能 运行程序和内部数据四种属性的一组程序 层次模块结构图主要关心的是模块的外部属性 即上下级模块 同级模块之间的数据传递和调用关系 而并不关心模块的内部 一 模块结构的图形表示 结构图给出了5个图例 模块和模块之间的联系 二 结构设计 1 结构设计的原则 所划分的模块其内部的凝聚性要好 即模块具有独立性 模块之间的联系要少 模块之间的耦合只能存在上下级之间的调用关系 不能有同级之间的横向联系 整个系统呈树状结构 不允许有网状结构或交叉调用关系 所有模块都必须严格地分类编码并建立归档文件 2 模块的耦合 模块耦合 是衡量一个模块与其他模块在联接形式和接口复杂性方面相互作用关系的指标 标志着系统结构设计的质量 模块耦合程度的高低直接影响了系统的可修改性和可维护性 在一般情况下 耦合程度越低 说明系统各组成模块间联系越简单 则每个模块的独立性就越强 就越容易独立地进行设计 修改和维护 模块的耦合程度 一般主要取决于模块本身的质量和相互联结的类型 模块间接口的复杂程度及模块间传递的信息流类型等 据此 可以把模块耦合划分为以下三种类型 数据耦合 如果一个模块与其他模块之间的联系全部是数据联系 那么 这个模块就是一个 黑箱 一般来说 两个模块之间传递的数据越少 模块间的独立性就越强 因此模块的可修改性和可维护性就越高 控制耦合 如果两个模块之间 除了传递数据信息外 还传递控制信息 把模块间的这种联接关系称为控制耦合 通常 控制标志来自下层模块 因此 调用模块不是 黑箱 它将根据不同的控制标志执行不同的处理功能 即它的输入信息不是固定的 由于较多的控制标志影响了模块的独立性 使系统维护工作更加复杂化 所以 在系统设计中 应该尽量避免或减少控制耦合 内容耦合 一个模块直接与另一个模块的内容发生联系 即在一个模块的执行过程中 从该模块直接转移到另一个模块中去运行 病态转移 这种耦合程度最高 是最差的一种 如果两个模块是内容耦合 则在修改其中一个模块时 将直接影响到另一个模块 产生波动现象 所谓波动现象是指由于系统中各组成模块的独立性较差 修改其中一个模块 就会像往平静的池塘中扔下一块石头一样 影响整个系统 内容耦合使模块的独立性 系统的可修改性和可维护性最差 2 模块的聚合 模块聚合是衡量一个模块内部各组成部分间整体统一性的指标 描述了一个模块功能专一性的程度 模块聚合是指一个模块内部各软件要素 如语句或语句段 之间的联系 模块聚合度越高则模块独立性越大 偶然聚合 如果一个模块是由若干个毫无关系的功能偶然地组合在一起构成的 把这种模块称为偶然聚合模块 这种模块内部组织结构的规律性最差 无法确定其功能 因此聚合程度最低 逻辑聚合 如果一个模块是由若干个结构不同 但具有逻辑相似关系的功能组合在一起构成的 把这种模块称为逻辑聚合模块 对逻辑聚合模块的调用 常常需要有一个功能控制开关 由上层的调用模块向它发出一个控制信号 在其多个关连性的功能中选择执行某一个功能 其聚合程度为较差 时间聚合 如果若干个关系不大的功能 由于它们是几乎在相同的时间内执行的 因此把它们放在一起构成一个模块 这种模块称为时间聚合模块 在调用这种模块时 一般是在特定的时间限制内完成各个处理功能的执行 其聚合程度为中等偏差 过程聚合 如果一个模块是由若干个为实现某项业务处理 执行次序受同一个控制流支配的功能组合在一起构成的 那么把这种模块称为过程聚合模块 过程聚合模块的各组成功能由控制流联结在一起 实际上是若干个处理功能的公共过程单元 其聚合程度为中等 数据聚合 如果一个模块的内部各组成部分的处理功能是对相同的输入数据进行处理或产生相同的输出数据 则把这种模块称作数据聚合模块 它能更合理地定义模块功能 结构比较清楚 聚合程度为中上 顺序聚合 如果一个模块内部的各个处理功能密切相关 顺序执行 一个处理的输出直接作为下一个处理的输入 各处理功能处在同一线性链上 则把这种模块称为顺序聚合模块 其聚合程度为较好 功能聚合 如果一个模块是由一个单独的能够确切定义的处理功能组成 那么把这种模块称为功能聚
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 杭州市人民医院特殊剂型配置考核
- 宿迁市人民医院手部感染处理考核
- 济南市人民医院康复指导能力考核
- 南昌市中医院灾难医学救援考核
- 池州市人民医院甲状腺细胞学考核
- 南通市人民医院微创玻璃体手术技术准入考核
- 抚州市中医院脑保护技术专项考核
- 银色助老活动方案
- 附近网点活动方案
- 门店寻宝活动方案
- 饮水机产品培训
- 生产计划变更管理
- 图文广告服务投标方案(技术方案)
- 京东安全工程师笔试题库
- 2024年10月自考00182《公共关系学》真题及答案-
- 电梯施工方案对重反绳轮
- 2025版校园食堂日管控、周排查、月调度记录表
- 《城乡规划管理与法规系列讲座课件-建设项目规划与审批》
- 国际关系分析知到智慧树章节测试课后答案2024年秋西安交通大学
- 2025年中远海运集团招聘笔试参考题库含答案解析
- 《尿微量白蛋白mAbl》课件
评论
0/150
提交评论