管理信息系统(6)-系统设计_第1页
管理信息系统(6)-系统设计_第2页
管理信息系统(6)-系统设计_第3页
管理信息系统(6)-系统设计_第4页
管理信息系统(6)-系统设计_第5页
已阅读5页,还剩87页未读 继续免费阅读

下载本文档

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

文档简介

1、系统设计 回顾 n系统分析的成果是什么? n这些成果与实际系统存在哪些距 离? 系统设计的主要内容 n系统设计概述系统设计概述 n系统总体结构设计系统总体结构设计 n代码设计代码设计 n数据库(文件)设计数据库(文件)设计 n输入输入/输出设计输出设计 n处理流程设计 n程序流程设计 1.系统设计概述 1.1系统设计的定义 n定义:系统设计是在系统分析的基础上, 根据系统分析阶段所提出的新系统逻辑 模型,建立起新系统的物理模型。具体 地说,就是根据新系统逻辑模型的主要 功能要求,结合实际的设计条件,详细 地确定出新系统的结构,为系统实施阶 段准备好全部的必要技术资料和有关文 件。 1.2系统设

2、计的目标 n 较强的可靠性 n较高的工作效率 n 较高的工作质量 n较强的灵活性 1.2.1 系统的可靠性 n系统的可靠性是指系统在正常运行时对各种 外界干扰的抵御能力。 n提高系统的可靠性可以从硬件、软件和系统 运行环境三方面来考虑 n硬件:主要是指选用可靠性较高的设备; n软件:主要是指在程序中设置各种检验措施,防 止误操作和非法使用; n系统运行环境:主要是指对系统软件和硬件的各 种安全保障措施和操作的规章制度等 1.2.2 较高的工作效率 n系统的工作效率可以用处理业务的速度、 单位时间内处理的业务量或响应时间来衡 量 n联机实时处理系统的工作效率为响应时间 n批处理系统的工作效率为处

3、理业务的速度。 如银行柜台业务处理 n联机输入批处理系统的工作效率为单位时 间内处理的业务量。如凭证汇总处理 1.2.3 较高的工作质量 n系统提供数据的准确性 n输出表格的易读易懂性 n系统操作的方便性 n人机界面的美观性 1.2.4 较强的灵活性 n系统的灵活性是指系统的可维护性或可修改性。 n需求必然是变化的 n对系统修改的难易程度,主要取决于系统的设 计方式。 n上述系统的性能指标是相互联系、相互制约的。 在某些条件下,它们是相互矛盾的,但在某些 情况下,它们又能彼此相互促进。 n例如:对系统的可靠性与工作效率来说, 为保证系统的可靠性,需要增加检验功 能和对错误情况的处理功能,这势必

4、要 延长系统处理的时间,降低系统的工作 效率。但从另一方面来看,如果系统的 可靠性提高了,则能保证系统长时间安 全运行而不中断,可能实际的效率并不 低。 你认为哪个指标最重要呢? n系统设计人员应根据具体系统的目标要求与 实际情况,权衡利弊后决定哪个指标放在主 要位置上加以考虑,哪个指标放在次要位置 上考虑。 n但一般情况下,系统设计人员往往把系统的 灵活性看得更重要一些,因为从系统开发和 维护的角度考虑,如果一个系统便于维护和 修改,就为提高系统的可靠性、工作质量和 工作效率创造了条件,同时也会增加系统的 生命力。 1.3 系统设计步骤 n(1)系统总体结构设计 n系统总体结构设计主要指系统

5、模块化结构设计。 在系统分析阶段对子系统划分的基础上,再进一 步地划分,将它逐层地分解成多个大小适当、功 能单一、具有一定独立性的模块,以便程序设计 工作的进行。 n(2)代码设计 n通过设计合适的代码形式,使其作为数据的一个 组成部分,用以代表客观存在的实体、事物和属 性,以保证它的唯一性和便于计算机处理。 请举出一个除请举出一个除“学号学号” 之外的代码设计实例之外的代码设计实例 n(3)数据库(文件)设计 n根据系统分析中的数据流程分析和数据字典, 确定出数据文件结构和数据库逻辑结构 n(4)输入输出设计 n输入输出设计主要是对各种输入输出报表 格式的描述,另外,对人机对话格式的设计 和

6、输入输出装置的考虑也在这一步完成。 n(5)处理流程设计 n处理流程设计是通过流程图的形式,将系统 对数据的处理过程和数据在系统存储介质间 的转换情况详细地描述出来 系统设计步骤 n(6) 程序流程设计 n是根据模块的功能和系统处理流程图的要求, 设计出程序框图,为程序员进行程序设计提 供依据。 n(7) 书写系统设计文档 n系统标准化设计系统标准化设计:对各类数据编码要符合标 准化要求,对数据库(文件)命名、功能模 块命名也要标准化。 n描述系统设计结构描述系统设计结构:系统设计说明书,程序 设计说明书,系统测试说明书以及各种图表 n拟定系统实施方案拟定系统实施方案:详细地确定出实施阶段 的

7、工作内容、时间和具体要求 系统设计步骤 2. 系统总体结构设计 2.1 基本概念 n系统总体结构设计主要指系统模块化结 构设计 n系统功能模块设计主要是指在系统分析 的基础上,对整个系统进行子系统划分 和子系统功能模块划分。系统结构设计 工作应该自顶向下地进行,首先设计总 体结构,然后再逐层深入,直至进行每 一个模块的设计 2.2 系统功能模块结构设计原则 n把系统的可变更性放在首要的位置 n如何设计模块结构才能使系统具有较好的可变 更性? n总的原则:尽量把密切相关的问题划归到同一 模块;把不相关的问题划归到系统的不同模块。 即模块间相互独立。 n不相互独立的例子:课表的安排 n相互独立的例

8、子:每个教师只给一个自然班上 课,这个自然班所有的课也都由该教师承担 系统功能模块结构设计原则 n(1) 系统分解应具有层次性系统分解应具有层次性 n首先从系统的整体出发,根据系统的目标将 其分解成一系列子系统,各个子系统既互相 配合,又各自具有一定的独立功能,共同实 现整个系统的目标。然后每一个子系统根据 各自子系统目标和功能的关系,再进一步逐 层向下分解,直至分解到最小的模块为止。 这样就形成了系统的树形结构图。越上层的 模块其功能越笼统、越抽象,越下层的模块 其功能越简单、越具体。 n一个未分解的大系统,其灵活性相对来说是 差的。 n(2) 模块要具有相对独立性模块要具有相对独立性 n(

9、3) 模块之间的依赖性要尽量小模块之间的依赖性要尽量小 n模块的独立性:模块的分解应使得模块 内部功能、信息等各方面的凝聚性较好。 实际中常将联系较密切的内容集中在一 个模块中。 n模块之间的相互依赖性:模块之间的联 系要尽量减少,接口要简单、明确。 n一个内部联系强的模块对外部的联系必 然就相对少。 系统功能模块结构设计原则 那么,是那么,是 否意味着否意味着 应把有联应把有联 系的内容系的内容 都集中在都集中在 一个模块一个模块 中呢?中呢? 系统功能模块结构设计原则 n(4)一个模块只能与它的上一级模块或下一)一个模块只能与它的上一级模块或下一 级模块进行直接联系,而不能越级或与它同级模

10、块进行直接联系,而不能越级或与它同 级模块直接发生联系级模块直接发生联系 n若要发生联系,则必须通过它的上级或下级模块 传递,间接发生联系 入住处理入住处理 客房信息查客房信息查 询询 入住登记入住登记 入住登记的处理描述入住登记的处理描述 1.1.查询客房信息查询客房信息 2.2.若该房间是空闲的若该房间是空闲的 则将客人信息登则将客人信息登 记在入住表内记在入住表内 若不空闲若不空闲 则将不空闲则将不空闲 。的信息告知客人的信息告知客人 入住处理入住处理 客房信息查客房信息查 询询 入住登记入住登记 入住处理的描述入住处理的描述 1.1.查询客房信息查询客房信息 2.2.若该房间是空闲的若

11、该房间是空闲的 则进行入住则进行入住 。 登记操作登记操作 入住登记的处理描述入住登记的处理描述 1.1.将客人信息登记在入住表内将客人信息登记在入住表内 n(5) 模块分解的结果应使数据冗余较小模块分解的结果应使数据冗余较小 n使数据冗余较小的含义是指若存在相同的数 据处理功能分布在各个不同的模块中,则应 将其抽取出来成为一个独立的模块。 n例如在宾馆信息管理系统中的入住登记子系 统和结算子系统都有可能要使用到按房号进 行查询的功能。那么就应划分出独立的客房 信息查询模块。这样,就不必在每个模块中 重复地处理数据,而是调用这个模块就可以 了。 n作用:结构清晰,提高效率,便于维护 系统功能模

12、块结构设计原则 系统功能模块结构设计原则 n(6) 模块的设置应考虑今后管理发展模块的设置应考虑今后管理发展 的需要的需要 n除了满足现有要求外,还应考虑到规模和 管理层次上的扩展性。 n规模扩展性方面:如是否能够适应分布式 计算? n管理层次扩展性方面:如是否能够支持未 来的数据分析或决策过程? n(7) 模块的分解应便于系统分阶段实模块的分解应便于系统分阶段实 施施 n大型管理信息系统一般是分期分步实施的 n即使是小型的管理信息系统,在开发过程中 也是分期分步实施的 n要考虑企业组织结构的情况(既然分阶段实 施,就有可能先在某些部门使用新系统) n但不能完全依赖组织结构,以照搬组织结构 的

13、方式划分模块是错误的 系统功能模块结构设计原则 表象上的满足,实质上的不依赖表象上的满足,实质上的不依赖 2.3 模块化结构设计 n模块的基本概念 n模块之间的关联度 n模块内部的聚合度 n模块化结构图的设计 n设计工具介绍 n变换分析法 n事务分析法 2.3.1 模块的基本概念 n模块是可以组合、分解和更换的系统单 元,是组成系统的基本单位。 n模块与其他模块之间联结的紧密程度, 称为模块之间的关联度 n模块内部各组成部分之间联系的紧密程 度,称为模块的聚合度 影响关联度的因素 n数据耦合数据耦合:两个模块之间通过数据交换 实现联结。 n控制耦合控制耦合:两个模块间除传递数据外, 还传递控制

14、信息。 n内容耦合内容耦合:一个模块直接与另一个模块 的内容发生联系。 /数据耦合的例子 void main() int x=3,y=5; int a; a=max(x,y); printf(%dn,a); int max(int x,int y) int z; z=(xy?x:y); return z; /控制耦合的例子 void main() int m; scanf(%d, bool isOdd; isOdd=odd(m); if(isOdd=true) printf(%d is odd,m); else printf(%d is even,m); bool odd(int x) if(

15、x%2=0) return false; else return true; 影响模块聚合度的几种聚合方式 n(1)偶然性聚合偶然性聚合:为了缩短程序长度, 节省存储空间,而将几个不同的功能组 合在一起,形成一个模块。 n(2)逻辑性聚合逻辑性聚合:将几个逻辑上相似, 但彼此并无联系的功能组成一个模块。 n(3)时间性聚合时间性聚合:将几个需要在同一时 段进行处理的功能组合在一起所形成的 模块。 n(4)过程性聚合过程性聚合:将为了完成某项业务 处理,并且执行次序受同一个控制流支 配的若干个功能组合在一起所形成的模 块。 n(5)数据性聚合数据性聚合:将对同一类数据进行 加工处理的若干功能组合

16、在一起所形成 的模块。 n(6)顺序性聚合顺序性聚合:把若干个顺序执行的, 一个处理的输出是另一个处理的输入的 功能组合在一起所构成的模块。 n(7)功能性聚合功能性聚合:一个模块由一个单独 的,能够确切定义的处理功能组成。 影响模块聚合度的几种聚合方式 练习:一个简单的案例分析 这样设计合理吗? n在某信息系统的基础信息维护子系统中共包含 Delete和Add两个模块,分别用于删除信息和 增加信息。这两个模块内的逻辑处理过程描述 如下: nDelete: n定位到需要删除的记录; n删除该记录; n刷新数据,定位到数据集的第一条记录。 nAdd: n在数据库中追加一条记录; n刷新数据,定位

17、到数据集的第一条记录。 2.3.2 模块化结构图的设计 n设计工具 nHIPO(Hierarchy Input/Process/Output)图方法 n总体IPO图,HIPO图,低层主要模块的详 细IPO图 n系统结构图 n不仅表示了一个系统的层次分解关系,还 表示了模块的调用关系和模块之间的数据 及控制信息的传递关系。 n“订单处理系统”总体IPO图 n“订单处理系统” HIPO图 n“确定能否供货”详细IPO图 n系统结构图 n模块:用矩形方框表示,矩形方框中写有模 块的名称 n调用:从一个模块指向另一个模块的箭头, 表示前一个模块中含有对后一个模块的调用 关系 n数据:调用箭头旁边带圆圈

18、的小箭头,表示 从一个模块传送给另一个模块的数据 n控制信息:调用箭头旁边带圆点的小箭头, 表示从一个模块传送给另一个模块的控制信 息,被调用的模块根据控制信息决定执行哪 个功能 n数据和控制信息 n条件调用和循环 系统结构图的绘制过程 n从数据流程图导出初始结构图 n变换分析法 n事务分析法 n对初始结构图进行改进,使之成为功能 全面、结构清晰完整的系统结构图。 n根据模块划分原则、聚合度及关联度 变换分析法 n如果系统是由几个顺序执行的功能组成, 那么在细化的数据流程图上这些功能一 定是处在一条线性链上,是对某些数据 进行的变换,这种系统结构被称为变换 型结构。 n对变换型结构采用变换分析

19、法 变换分析法的步骤 n把数据流程图划分为主处理和逻辑输入、 输出三部分。 n以主处理为中心,设计结构图的最上层 模块和下一层模块。 n进一步设计结构图的中、下层模块。这 一步是从上向下对模块逐层分解和细化 的过程 n如果系统是由若干个结构不同、但具有 相似逻辑关系的功能组成,在执行时, 首先要根据事务标志进行逻辑判断,再 决定调用哪个下层处理功能。把这种系 统结构称为事务型结构。 n对事务型结构的系统采用事务分析法 事务分析法 n在实际系统中,数据流程图往往是变换 型结构和事务型结构的混合体。 n一般是以变换分析法为主,事物分析法 为辅的方法进行设计 练习:工资处理子系统的系统 结构图 3

20、代码设计 基本概念 n代码是代表系统中客观存在的事物名称、属性 或状态的符号 n现代管理活动中产生的数据量大,所需要的信 息种类也很多,所以必须经过分类整理后才能 更有效地利用。 n代码设计就是信息分类信息分类 的具体体现,将系统中 有某些共同属性或特征的信息归并在一起,并 通过一些便于计算机和人来识别和处理的符号 来表示各类信息,就是代码设计。 n代码的符号可以是数字、字母,或者由它们混 合组成。 3.1代码的功能 n 利用代码便于反映数据或信息间的逻辑 关系,并使其具有唯一性 n利用代码便于计算机识别和处理 n利用代码可以节省存储单元,提高运算 速度 3.2 代码设计原则 n(1)唯一性唯

21、一性 每一个代码只能唯一地代 表系统中的一个实体或实体属性;而一 个实体或实体属性也只能由一个代码来 表示 n(2)标准化标准化 代码的设计要尽量采用国 际或国内的标准,以方便信息共享,并 可以减少以后系统更新和维护的工作量 n(3)规范化规范化 在一个代码设计标准中, 代码的类型、结构以及编写格式应统一、 规范。 n(4)合理性合理性 代码设计必须与编码对象 的分类体系相适应,以便代码对编码对 象的分类具有标识作用。 n(5)可扩充性可扩充性 代码设计时要留有足够 的备用代码,以适应今后扩充代码的需 要。 n(6) 简单性简单性 代码结构要简单,尽量缩 短代码的长度,以方便输入,提高处理 效

22、率,并且便于记忆,减少读写的差错。 n(7) 适用性适用性 代码设计要尽量反映编码 对象的特点,以便于识别和记忆,使使 用者容易了解掌握。 n例如,数据库(文件)代码名采用其相应汉 字的汉语拼音头一个字母表示。 3.3 代码的种类 n(1) 顺序码 用一串连续的数字来代表 系统的客观实体或实体属性 n大学中各个学院的代码 n优点:简单,易于处理 n缺点:代码不能反映编码对象的特征;删除 数据时可能造成空码,缺乏灵活性 n(2) 区间码 按编码对象的特点把代码 分成若干个区段,每一个区段表示编码 对象的一个类别。 n学号、会计科目代码 n优点:从结构上反映了数据的类别,便于计 算机分类处理 n缺

23、点:一般位数较多 n(3) 助忆码 用可以帮助记忆的字母和 数字来表示编码对象 nTVB54 表示54cm 黑白电视机 n优点:便于记忆和使用 n缺点:不利于计算机处理,当编码对象较多 时也容易引起联想出错 n(4) 缩写码 把人们习惯使用的缩写直 接用于代码 nKG公斤;CM厘米 n优点:简单、直观,便于记忆和使用 n缺点:缩写字有限,适用范围较窄 3.4 代码的检验 n代码作为数据的一个组成部分,是系统 中的重要输入内容之一,它的正确与否 直接影响到整个处理工作的质量。特别 是在人们需要重复抄写代码和通过手工 将它输入到计算机时,发生错误的可能 性很大。因此代码必须校验,不经校验 如果代码

24、出错是非常麻烦的。 代码检验的方法:设置校验位 n设原代码为:12345检验位 n取奇数数值 11,9,7,5,3 n取模数为:9 n则:S=1*11+2*9+3*7+4*5+5*3=85 nR = 85 Mod 9 = 4 n关于模数取为9的讨论 信息分类方法简介 n线分类法 n行政区域划分 n面分类法 n服装 4 数据库(文件)设计 4.1 基本概念 n设计系统的数据库(文件)结构就是要根据数 据的不同用途、使用需求、数据量、设备、技 术水平等方面的条件,决定数据的组织形式、组织形式、 数据的结构、数据的类别数据的结构、数据的类别、数据的载体、数据 的维护和保密级别等一系列要素。 n一个较

25、好的数据库(文件)设计应使系统能在 已有的条件下,具有处理速度快、占用存储空 间少、操作处理过程简单、查找容易、系统开 销和费用低等特点,这一切都建立在逻辑合理逻辑合理 的前提下。 4.1.1 数据库的三级结构 n模式逻辑视图 n数据库中全部数据的逻辑表示或描述 n外模式用户视图 n个别用户的数据视图,即与某一应用有关的 数据的逻辑表示,通常是模式的子集 n内模式物理视图 n是全体数据库数据的内部表示或低层描述, 用来定义数据的存储方式和物理结构 关于数据库三级结构的讨论 n应用程序开发人员和DBA(数据库 管理员)分别关心的是什么? n如何理解“数据库的三级结构实现数据库的三级结构实现 了程

26、序和数据的物理独立性与逻辑了程序和数据的物理独立性与逻辑 独立性独立性”? 4.1.2 三种数据模型 n层次模型 n网状模型 n关系模型 n通过表格来表示和实现两个实体间的联系 n关系、元组、属性、主键、关系模式 n在关系模型中,关系必须是规范化的关系, 即每个关系模式要满足一定的规范化条件: 关系模型的范式 4.1.3 关系模型的范式 n第一范式:如果一个关系模式R的每 个属性值都是不可再分的最小数据单 位,则称R满足第一范式 n反例:R(部门号*,部门名称,正经理 副经理) n修正:R(部门号*,部门名称,正经理, 副经理) 思考思考:不满足范式会导不满足范式会导 致什么问题?致什么问题?

27、 n第二范式:如果满足第一范式的关系模式R, 它的所有属性都完全依赖于任一主关键字,则 称R满足第二范式 n反例:R(零件号*,项目号*,项目名称,项目费用, 数量) n修正:R1(零件号*,零件名称,库存量) nR2(零件号*,项目号*,使用数量) nR3(项目号*,项目名称,项目费用) n不满足2NF可能导致数据冗余和更新异常 思考思考:不满足范式会导不满足范式会导 致什么问题?致什么问题? n第三范式:如果关系模式R满足第二范式, 且它的任何一个属性都不传递依赖于任 何主关键字,则称R满足第三范式 n反例:R(产品号*,工厂,产地) n修正:R1(产品号*,工厂) nR2(工厂*,产地)

28、 n不满足3NF可能导致数据冗余 思考思考:不满足范式会导不满足范式会导 致什么问题?致什么问题? 练习 在某信息系统的分析设计过程中,建立了 如下的数据库关系表: 学生成绩表(学号,课程号,姓名,年龄, 专业,课程名,课时,成绩) (1)分析这样的设计是否满足第三范式的 要求,为什么? (2)给出你认为合理的该问题数据库逻辑 结构。 4.2 数据库(文件)设计步骤 n分析用户需求 n概念结构设计 n逻辑结构设计 n物理结构设计 4.2.1 分析用户需求 n在系统分析阶段完成 n 分析用户对信息的需求 n希望从数据库(文件)中获得哪些有用的信息,从而可 以导出数据库(文件)中应该存储哪些有用的

29、信息。 n 对数据库加工的需求 n对数据库需要哪些加工处理,有哪些查询要求和响应时 间要求,以及对数据库(文件)的保密性、安全性、完 整性等方面的要求 n分析系统的约束条件 n分析现有系统的规模、结构、资源和地理分布等限制和 约束条件 4.2.2 概念结构设计 n描述数据库(文件)概念结构的工具是 E-R 图(实体联系图,Entity Relationship Approch) n E-R图的构成 n实体、联系、属性 n 实体之间的联系 n1:1、1:n、m:1、m:n 实体、联系和属性 n实体:实在的或概念的对象或事件,在 ER图中用矩形表示 n联系:反映实体与实体之间的关系,在 ER图中用

30、菱形表示 n属性:对实体或联系本身所具有的特性 的描述。在ER图中用圆形或椭圆表示 n属性可以属于实体,即“实体的属性”; 也可以属于联系,即“联系的属性”。 能够举出一个能够举出一个“联系的属性联系的属性”的例子?的例子? 例: 联系类型的标注方法下图中 1:n的含义究竟是什么呢? 绘制ER图的步骤 n划出系统中的所有实体 n逐个分析实体间是否存在联系,若存在, 画出联系并标注联系的类型 n对n:m类型的联系,在图上画出属于该联 系的属性 n另行画出所有实体的属性 4.2.3 逻辑结构设计 n数据库逻辑结构设计就是将E-R 图转化 为计算机系统上所提供的数据库管理系 统所采用的数据模型的过程。 n在将ER图转化为关系模式的过程中,需 要对不同的实体之间的联系进行不同的 处理 1:1 工厂 总经理 从属 1 1 工厂 总经理 n转化后存在两个关系模 式 n转化后对联系的处理 n在任意一方中加入另一在任意一方中加入另一 方的主键方的主键 1:n n转化后存在两个关系模 式 n转化后对联系的处理 n把联系直接去掉吗?如把联系直接去掉吗?如 果不去掉,那么如何处果不去掉,那么如何处 理?理? n联系转化为了多方的一联系转化为了多方的一 个属性个属性 n即把一方的主键加入到即把一方的主键加入到 多方关系中多方关系中 n:m n转化

温馨提示

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

评论

0/150

提交评论