管理信息系统课件—7系统设计2_第1页
管理信息系统课件—7系统设计2_第2页
管理信息系统课件—7系统设计2_第3页
管理信息系统课件—7系统设计2_第4页
管理信息系统课件—7系统设计2_第5页
已阅读5页,还剩69页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第七章,管理信息系统设计,本章要点 掌握系统设计的概念、任务、内容和依据 掌握结构化系统设计基本原则、方法 使用模块设计方法、输入输出设计方法等设计物理系统,第七章 系统设计,7.1 系统设计的任务、目标,管理信息系统设计的任务是: 在逻辑模型基础上进行物理模型设计 确定系统的总体结构(程序、数据)和系统各组成部分的技术方案 合理选择计算机和通信的软硬件设备 提出系统实施计划 在保证实现逻辑模型的基础上,尽可能提高系统的各项指标,即系统的工作效率、可靠性、工作质量、可变性与经济性等,7.1 系统设计的任务、目标,系统设计的目标包括如下五个方面: 1. 系统的工作效率 主要是指系统对数据的处理能

2、力,处理速度,响应时间等与时间有关的指标。 2. 系统的可靠性 是指系统在运行过程中,抗干扰(包括人为和机器故障)和保证系统正常工作的能力。 3. 系统的工作质量 是指系统提供用户所需信息的准确程度与及时性,以及便于用户操作的人机界面的友好程度。 4. 系统的可变性 是指系统被修改和维护的难易程度。 5. 系统的经济性 是指系统收益和支出之比,7.2 系统设计的主要内容,1、数据设计 把E-R图中描述的对象和关系,数据字典中描述的详细数据内容转换为数据结构定义。 2、系统结构设计 定义系统的组成及各成分之间的关系。 3、过程设计 把结构成分转换成系统的过程性描述。 4、接口设计 定义系统内部各

3、成分之间、系统与其他协同系统之间及系统与用户之间的交互机制,7.2 系统设计的主要内容,系统设计的两个阶段: 概要设计 确定系统总体布局方案 设计系统总体结构 选择和设计计算机硬件方案 数据存储的总体设计 详细设计 代码设计 数据库设计 输出设计 输入设计 用户界面设计 处理过程设计 安全可靠性设计,7.3 系统设计的依据和基础,主要依据 系统分析成果 现行技术 现行的信息管理和信息技术的标准、规范和有关法律制度 用户需求 系统运行环境,7.4 结构化系统设计1)结构化设计思想,结构化设计方法( Structured Design ,简称 SD )是1974年由美国 IBM 公司的 W.Ste

4、vens 等人提出的,它是使用最为广泛的一种系统设计方法。 结构化设计方法:是在结构化思想的基础上发展起来的一种用于系统结构设计的技术,它是运用一套标准的设计准则和工具,采用模块化的方法进行系统结构设计,7.4 结构化系统设计1)结构化设计思想,结构化系统设计的基本思想:是采用分解的方法,将系统设计成由相对独立、功能单一的模块组成的结构。它是以系统的逻辑功能和数据流关系为基础,根据数据流程图和数据字典,借助于一套标准的设计准则和图表工具,将系统划分为多个大小适当、功能明确、具有一定独立性且容易实现的模块,从而把复杂系统的设计转变为多个简单模块的设计,使系统开发的整体工作量变小。 结构化设计的核

5、心是模块化。 模块化:就是将系统划分为若干模块,大模块再划分为小模块的过程,7.4 结构化系统设计2)模块化,1、模块的概念 模块也称组件,是可以组合、分解和更换的单元,是组成系统、易于处理的基本单位。系统中的任何一个处理功能都可以看成是一个模块。 例:类、过程、函数、子程序、子系统。 2 、模块的属性 功能:模块对外功能 逻辑:模块内部实现 状态:模块使用的环境、条件,7.4 结构化系统设计2)模块化,3、模块化的优点 采用模块化原理可以使软件结构清晰,不仅容易设计也容易阅读和理解。 程序错误通常局限在有关的模块及它们之间的接口中,所以模块化使软件容易测试和调试,因而有助于提高软件的可靠性。

6、 变动往往只涉及少数几个模块,所以模块化能够提高软件的可修改性。 有助于软件开发工程的组织管理,一个复杂的大型程序可以由许多程序员分工编写不同的模块,并且可以进一步分配技术熟练的程序员编写困难的模块,7.4 结构化系统设计2)模块化,4、模块的独立性 模块的独立性是指模块只涉及系统要求的子功能,而和系统中其他模块的联系是简单的。 模块的独立原理很重要,因为: 1、易开发 有效的模块化(即具有独立的模块)的软件比较容易开发出来。因为模块化能够分割功能而且接口可以简化,当许多人分工合作开发同一个软件时,这个优点尤其重要。 2、易测试、维护。 模块独立性高的系统,修改和设计程序需要的工作量比较小,错

7、误传播范围小,需要扩充功能时能够“增加”模块,7.4 结构化系统设计2)模块化,4、模块的独立性 模块的独立程度可以由两个定性标准度量,这两个标准分别称为耦合和内聚。 耦合:衡量不同模块彼此间互相依赖(连接)的紧密程度; 内聚:衡量一个模块内部各个元素彼此结合的紧密程度。 独立性强的模块应是高内聚低耦合的模块,7.4 结构化系统设计2)模块化,4、模块的独立性 耦合的种类 1)非直接耦合 2)数据耦合 3)标记耦合 4)控制耦合 5)外部耦合 6)公共耦合 7)内容耦合,7.4 结构化系统设计2)模块化,4、模块的独立性 耦合的种类 1)非直接耦合 两个模块间没有直接的联系,通过主模块的调用来

8、实现相互关联。 2)数据耦合 模块间通过简单的数据参数(不是控制参数、公共数据结构、外部变量)交换输入、输出信息。 3)标记耦合 模块间通过数据结构(不是简单变量)传递信息。如高级语言的数组名,记录名,文件名等这些名字即为标记,其实传递的是这个数据结构的地址。 4)控制耦合 模块间传递的信息不但有数据,还包括控制信息。通过传递开关、标志、名字等控制信息,选择另一模块的功能,7.4 结构化系统设计2)模块化,4、模块的独立性 耦合的种类 5)外部耦合 共同访问同一全局简单变量。 6)公共耦合 共同访问一个公共数据环境(全局数据结构、内存公共区域)。 7)内容耦合 出现下列情况之一,两模块间就发生

9、了内容耦合: 一个模块访问另一个模块的内部数据; 一个模块不通过正常入口转到另一模块的内部,如:GOTO,JMP指令。(汇编语言中); 两个模块有一部分程序代码重叠(汇编语言中); 一个模块有多个入口(一个模块有多种功能,7.4 结构化系统设计2)模块化,4、模块的独立性 1)非直接耦合 2)数据耦合 3)标记耦合 4)控制耦合 5)外部耦合 6)公共耦合 7)内容耦合,耦合的使用原则 耦合是影响软件复杂程度的一个 重要因素。应该采取下述设计原则: 1、尽量使用数据耦合 2、少用控制耦合和特征耦合 3、限制公共环境耦合的范围 4、完全不用内容耦合,7.4 结构化系统设计2)模块化,4、模块的独

10、立性 内聚的种类 1)功能内聚 2)信息内聚 3)通信内聚 4)过程内聚 5)时间内聚 6)逻辑内聚 7)巧合内聚,7.4 结构化系统设计2)模块化,4、模块的独立性 内聚的种类 1)功能内聚 如果模块内所有处理元素属于一个整体,完成一个单一的功能,则称为功能内聚。 2)信息内聚 在同一数据结构上,能够完成多个功能。根据不同的调用要求,执行不同的功能,7.4 结构化系统设计2)模块化,4、模块的独立性 内聚的种类 3)通信内聚 如果模块中所有功能都使用同一个输入数据,或产生同一个输出数据,则称为通信内聚。 4)过程内聚 如果一个模块内的处理元素是相关的,而且必须以特定次序执行,则称为过程内聚。

11、使用程序流程图作为工具设计软件时,常常通过研究流程图确定模块的划分,这样得到的往往是过程内聚的模块,接收成绩 排名 选择前十名,7.4 结构化系统设计2)模块化,4、模块的独立性 内聚的种类 5)时间内聚 如果一个模块包含的任务必须在同一段时间内执行,就叫时间内聚。例如,模块完成各种初始化工作,终止工作。 6)逻辑内聚 如果一个模块完成的任务在逻辑上属于相同或相似的一类,则称为逻辑内聚。 例如,把系统中与“输出”有关的操作抽取出来组成一个模块,包括将数据在屏幕上显示、从打印机上打印、拷贝到磁盘上等,则该模块就是逻辑内聚的。 在逻辑内聚的模块中,不同功能混在一起,合用部分程序代码,即使局部功能的

12、修改有时也会影响全局,7.4 结构化系统设计2)模块化,4、模块的独立性 内聚的种类 7)巧合内聚 若一个模块完成一组任务,这些任务彼此间没有联系,即使有关系,关系也是很松散的,就叫做巧合内聚,也叫偶然内聚。 偶然内聚的模块中,各元素间没有实质性联系,很可能在一种应用场合需要修改这个模块,在另一种应用场合又不允许这种修改。 偶然内聚的模块出现修改错误的概率比其他类型的模块高得多,7.4 结构化系统设计2)模块化,4、模块的独立性 内聚的种类 1)功能内聚 2)信息内聚 3)通信内聚 4)过程内聚 5)时间内聚 6)逻辑内聚 7)巧合内聚,内聚的使用原则 设计时应该力求做到高内聚,不要使用低内聚

13、 理想内聚的模块只做一件事情。 内聚和耦合是密切相关的,模块内的高内聚往往意味着模块间的松耦合。实践表明内聚更重要,应着重提高模块的内聚程度,7.4 结构化系统设计3)系统结构图,结构化设计采用结构图描述系统的模块结构及模块间的联系。 系统结构图:不仅表示了一个系统功能模块的结构关系,还表示了模块的调用关系以及模块之间数据流和控制流等信息的传递关系。 系统结构图是结构化设计重要图表工具,7.4 结构化系统设计3)系统结构图,1、结构图中主要成分 模块 调用 数据 控制信息,7.4 结构化系统设计3)系统结构图,1、结构图中主要成分 模块的种类,7.4 结构化系统设计3)系统结构图,2、系统结构

14、 变换型 事务型,7.4 结构化系统设计3)系统结构图,2、系统结构 变换型 变换型:是一种线状结构,可明显的分为输入、中心加工、输出三个部分。信息沿输入通路进入系统,同时由外部形式变换成内部形式;进入系统的信息通过变换中心加工处理;加工处理后的数据沿输出通路变换成外部形式离开软件系统,7.4 结构化系统设计3)系统结构图,变换型系统结构图,7.4 结构化系统设计3)系统结构图,2、系统结构 事务型 事务型:是一种束状结构。一个数据处理将它的输入分解成一束平行的数据流,然后对后面的处理选择执行,7.4 结构化系统设计3)系统结构图,事务型系统结构图,7.4 结构化系统设计3)系统结构图,2、系

15、统结构 变换型分析 1)确定数据流程图 2)确定输入、输出边界,7.4 结构化系统设计3)系统结构图,2、系统结构 变换型分析 3)设计顶层模块和第一层模块,7.4 结构化系统设计3)系统结构图,2、系统结构 变换型分析 4)设计中、下层模块,7.4 结构化系统设计3)系统结构图,2、系统结构 事务型分析 1)确定事务中心 2)将数据流程图映射成基于事务中心型的系统结构,即映射成一个含有接收分支和发送分支的系统结构,7.4 结构化系统设计3)系统结构图,3、系统优化(模块优化) 1) 改进软件结构提高模块独立性 2) 模块规模应该适中 3) 扇出和扇入都应适当 4) 模块的作用域应该在控制域之

16、内 5) 力争降低模块接口的复杂程度 6) 设计单入口单出口的模块 7) 模块功能应该可以预测,7.4 结构化系统设计3)系统结构图,3、系统优化 1) 改进软件结构提高模块独立性 设计出软件初步结构后,应审查分析这个结构,通过模块分解或合并,力求降低耦合提高内聚。 2) 模块规模应该适中 过大的模块往往是由于分解不充分,但是进一步分解必须符合问题结构,分解后一般不应该降低模块独立性。 过小的模块开销大,而且模块数目过多将使系统接口复杂。因此过小的模块有时不值得单独存在,7.4 结构化系统设计3)系统结构图,改进软件结构提高模块独立性,7.4 结构化系统设计3)系统结构图,3、系统优化 3)

17、扇出和扇入都应适当 扇出:一个模块对它的直属下级模块的控制范围。通常用扇出系数说明其直属下级的个数。 扇入:一个模块与它的直接上级模块的关系。通常用扇入系数说明其直接上级的个数。 原则:扇出系数要合适,扇入系数尽可能大,扇出,扇入,7.4 结构化系统设计3)系统结构图,3、系统优化 4) 模块的作用域应该在控制域之内 模块控制域: 模块的控制范围包括模块本身及其所有的从属模块。 模块的作用域: 指模块内一个判定的作用范围,凡是受这个判定影响的所有模块都属于这个判定的作用范围。 5) 力争降低模块接口的复杂程度 模块接口复杂是软件发生错误的一个主要原因。应该仔细设计模块接口,使得信息传递简单并且

18、和模块的功能一致,7.4 结构化系统设计3)系统结构图,3、系统优化 6) 设计单入口单出口的模块 7) 模块功能应该可以预测 模块的功能应该能够预测,但也要防止模块功能过分局限。若一个模块可以当做一个黑盒子,只要输入的数据相同就产生同样的输出,模块的功能就是可预测的,7.4 结构化系统设计4)过程设计,程序流程图 盒图 PAD PDL语言,7.4 结构化系统设计4)过程设计,程序流程图,顺序结构,选择结构,循环结构,7.4 结构化系统设计4)过程设计,盒图,7.4 结构化系统设计4)过程设计,PAD,7.4 结构化系统设计4)过程设计,PDL(program Design Language)

19、语言 (结构化语言) 过程设计语言(PDL)也称为伪码,现在有多种不同的过程设计语言在使用。它用正文形式表示数据和处理过程的设计工具。 PDL是一种“混杂”语言,它使用一种语言(通常是某种自然语言)的词汇,同时却使用另一种语言(某种结构化的程序设计语言)的语法,可以说是介于自然语言和程序设计语言之间,procedure Spellcheck is begin split document into single words look up words in dictionary display words which are not in dictionary treat a new dict

20、ionary end Spellcheck,7.4 结构化系统设计5)用户界面设计,用户界面应具备的特性: 可使用性 使用的简单性 用户界面中的术语标准化和一致性 拥有Help帮助功能 快速的系统响应和低的系统成本 用户界面应具有容错功能 灵活性 可靠性,7.4 结构化系统设计5)用户界面设计,用户特性分析 用户特性分析的目的是要详细了解所有用户的技能和经验,以便能够预测用户对不同界面设计会做出什么反应。 用户类型有: 外行型 初学型 熟练型 专家型 用户特性度量 用户使用的频度 用户是否需要自由选用界面 用户对计算机的熟练程度 用户思维能力 用户的生理能力和技能,7.4 结构化系统设计5)用

21、户界面设计,设计内容 输入设计 输出设计 控制设计,7.4 结构化系统设计5)用户界面设计,1. 输入设计 输入设计的原则: 控制输入量。 尽可能利用计算 减少输入延迟。批量输入、文件输入 减少输入错误。采用多种校验方法和验证技术 简化输入过程,避免额外步骤。 (输入格式:直观、快速、准确、简便,7.4 结构化系统设计5)用户界面设计,2. 输出设计 输出设计的内容: 输出信息使用情况。信息的使用者、使用目的、信息量、输出周期、有效期、保管方法和输出份数。 输出信息内容。输出项目、精度、信息形式(文字、数字)。 输出格式。表格、报告、图形等。 输出设备和介质。设备如:打印机、显示器等;介质如:

22、磁盘、磁带、纸张(普通、专用)等。 3. 控制设计 菜单、功能键、图标、命令行等,7.4 结构化系统设计6)数据库设计,1、数据库的概念结构设计。 概念结构设计应在系统分析阶段进行。任务是根据用户需求设计数据库的概念数据模型 (简称概念模型)。概念模型是从用户角度看到的数据库,它可用E-R模型表示。 2、数据库的逻辑结构设计。 逻辑结构设计是将概念结构设计阶段完成的概念模型转换成能被选定的数据库管理系统 (DBMS)支持的数据模型,7.4 结构化系统设计5)用户界面设计,3、数据库的物理结构设计 物理结构设计是为数据模型在设备上选定合适的存储结构和存取方法,以获得数据库的最佳存取效率。 物理结

23、构设计的主要内容包括: 确定数据库的存储结构。 库文件的组织。例如将易变的、存取频繁的数据存放在高速存储器上;稳定的、存取频度小的数据存放在低速存储器上。 存取路径的选择。(当前数据与历史数据,7.5 系统物理配置方案设计,1. 设计依据 系统的吞吐量 系统的响应时间 系统的可靠性 集中式还是分布式 地域范围 数据管理方式 2. 设计范围 硬件选择 网络选择 数据库选择 应用软件选择,7.6 代码(编码)设计1)代码的作用,代码是人为确定的代表客观事物(实体)名称、属性或状态的符号或者是这些符号的组合。 代码的功能 1.可使数据的表达方式标准化; 2.可减少信息量,节省存储空间; 3.便于信息

24、的传递和进行分类、合并、检索等处理,提高计算机处理信息的效率; 4.标明事物所处状态,7.6 代码(编码)设计2)代码设计的原则,1、必须保证有足够的容量(可扩充性) 要足以包括规定范围内的所有对象。如果容量不够,不便于今后变化和扩充,随着环境的变化这种分类很快就失去了生命力。 2、按属性系统化 (标准化) 分类不能是无原则的,必须遵循一定的规律。根据实际情况并结合具体管理的要求来划分。分类应按照处理对象的各种具体属性系统地进行。 3、分类要有一定的柔性 不至于在出现变更时破坏分类的结构。所谓柔性是指在一定情况下分类结构对于增设或变更处理对象的可容纳程度。柔性好的系统在一般的情况下增加分类不会

25、破坏其结构。但是柔性往往还会带来别的一些问题,如冗余度大等,这都是设计分类时必须考虑的问题,7.6 代码(编码)设计2)代码设计的原则,4、注意本分类系统与外系统、已有系统的协调。 任何一项工作都是从原有的基础上发展起来的,故分类时一定要注意新老分类的协调性,以便于系统的联系、移植、协作以及新老系统的平稳过渡。 5、简短性 6、易识别性,7.6 代码(编码)设计3)代码的种类,目前常用的代码种类: 1、顺序码 以某种顺序形式编码。如各种票据的编号,都是顺序码。 优点:简单明了,短小精悍。缺点:没有逻辑含义。 2、分组码 将一位定长的代码根据需要分成若干组,代码中的每一组都有一定的含义。如学生的

26、学号、身份证号。 优点:分类基准明确,容易记忆与扩充。缺点:占用位数多,7.6 代码(编码)设计3)代码的种类,3、助记码 将代码的名称或省略符号作为代码的一部分。 如: TV-B-14表示14英寸黑白电视机。 IEEE802X表示某类网络协议标准名称的编码。 优点:简单明了;缺点:不易处理。 4、缩略码 (助记码特例) 从描述对象的名称中提取几个常用的关键字母作为代码。 如:千克 KG 米 M,7.6 代码(编码)设计4)代码的设计方法,代码设计步骤 1.明确代码目的 2.确定代码对象 3.确定代码的使用范围和期限 4.分析代码对象特征,包括代码使用频率、变更周期、追加及删除情况等 5.决定

27、采用何种代码,确定代码结构及内容 6.编制代码表,7.6 代码(编码)设计4)代码的设计方法,目前最常用的分类方法概括起来有两种, 一种是线分类方法, 一种是面分类方法, 在实际应用中根据具体情况各有其不同的用途,7.6 代码(编码)设计4)代码的设计方法,1、线分类方法 线分类方法是目前用得最多的一种方法,尤其是在手工处理的情况下它几乎成了唯一的方法。线分类方法的主要出发点是:首先给定母项,母项下分若干子项,最后落实到具体对象。 分类的结果造成了一层套一层的线性关系,如下图所示,7.6 代码(编码)设计4)代码的设计方法,线分类划分时要掌握两个原则: 唯一性和不交叉性。否则分类后容易出现二义

28、性,将会给后继工作带来诸多不便。 线分类法的特点: 结构清晰,容易识别和记忆,容易进行有规律的查找。 与传统方法相似,对手工系统有较好的适应性。 主要缺点是结构不灵活,柔性较差,7.6 代码(编码)设计4)代码的设计方法,2、面分类方法 面分类法主要从面角度来考虑分类。 面分类方法的特点是: 柔性好,面的增加、删除、修改都很容易。 可实现按任意组配面的信息检索,对机器处理有良好的适应性。 缺点是不易直观识别,不便于记忆。 例如:代码3213表示材料为钢的1.0mm圆头的镀锌螺钉,7.6 代码(编码)设计5)代码的校验,1、录入代码时的可能错误: 识别错误:1/7,0/O,Z/2,D/O,S/5

29、, 易位错误:12345/13245, 12345/13254, 随机错误:上述两种或两种以上的错误出现 2、避免代码录入出现错误的办法 在设计好的代码后,再增加一位,作为代码的组成部分。增加的一 位,即为校验位。使用中,没有特别性。 使用时,应录入包括校验位在内的完整代码,代码进入系统后,系 统将取该代码校验位前的各位,按照确定代码校验位的算法进行计算, 并与录入代码的最后一位(校验位)进行比较,如果相等,则录入代码 正确,否则录入代码错误,进行重新录入,7.6 代码(编码)设计5)代码的校验,确定校验位的方法: 1. 算术级数法 2. 几何级数法 3. 质数法,7.6 代码(编码)设计5)代码的校验,算术级数法 原代码: 12345 各乘以权:65432 乘积之和:6+10+12+12+10=50 以11为模除以乘积之和,余数作为校验码 50/11=46 代码为:123456,7.6 代码(编码)设计5)代码的校验,几何级数法 原代码: 12345 各乘以权:32 16 8 4 2 乘积之和:32+32+24+16+10=114 以11为模除以乘积之和,余数作为校验码

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论