1、管理信息系统,主讲教师:和力,韩山师范学院数学与信息技术系 ,Management Information Systems,教学内容和要求:详细了解结构化系统开发方法的系统设计阶段的工作内容,包括代码设计与代码的校验、 信息系统流程图设计、系统物理配置方案设计、输出设计、输入设计、数据存储设计、处理流程图设计等,并了解程序说明书和系统设计报告的编写。 教学重点和难点:要求学生了解系统设计的主要任务,能够在新系统的逻辑方案的指导下进行系统的设计工作,内容包括代码设计、功能结构图设计、信息系统流程图设计、系统物理配置方案设计、输出设计、输入设计、数据存储设计、处理流程图设计等,并能制订设计规范、编
2、写程序说明书和系统设计报告。,第七章 管理信息系统的系统设计,第一节 系统设计概述 第二节 系统概要设计 第三节 系统详细设计,第一节 系统设计概述,系统设计是管理信息系统开发的第三个阶段,系统设计的任务主要是解决“怎么做”的问题。其目标是进一步实现系统分析阶段推出的系统模型,详细地确定新系统的结构、应用软件的研制方法和内容。,系统分析:解决“做什么”系统设计:解决“怎么做”,问题结构(系统需求) 系统结构从系统分析说明书出发,形成系统的具体设计方案,映射,数据设计:将分析时创建的数据模型变换成实现系统所需的数据结构。 平台设计:将性能要求变换成对系统软硬件环境的配置。 模块结构设计:定义系统
3、模块元素之间的关系。,接口设计:描述了系统内部、系统和协作系统之间的以及系统同人之间如何通信。 过程设计:将加工说明变换为对系统模块内部算法的具体描述。,系统设计主要内容系统概要设计 功能模块设计* 系统平台设计 系统详细设计 代码设计 输入输出设计 数据库或数据文件设计 处理过程设计* 写出系统设计报告,系统设计的目标,系统的工作质量 准确及时性 用户友好性 系统的可变性 可修改性 易维护性 系统的经济性 直接、间接经济效益 社会效益,系统工作效率 处理能力 处理速度 响应时间 系统的可靠性 可抗性 平均无故障时间 平均修复时间,系统性 代码统一,设计规范标准,数据一次输入多次利用。 灵活性
4、 开放性和结构可变性,尽量采用模块化结构,提高模块的独立性。 可靠性 安全保密性、检错及纠错能力等。 经济性 硬件投资应以满足需要为前提,系统设计应尽量避免不必要的复杂化,各模块应尽量简洁。,系统设计的原则,第二节 系统概要设计,功能模块设计是根据系统分析所得到的系统逻辑模型(数据流图和数据字典),借助一套标准化的图、表工具,导出系统的功能模块结构图。,功能模块设计,结构化设计(Structured Design,SD)方法,SD方法是由美国IBM公司提出的,适用于任何软件系统的软件结构设计。SD方法通常与系统分析阶段的SA方法衔接起来使用,借助SA方法得到用数据流图和数据词典描述的系统分析报
5、告,SD方法则以数据流图为基础得到软件的模块结构。,SD方法是以数据流图为基础的,采用模块化、自顶向下逐步求精的基本思想,以数据流图为基础构造出模块结构图。,SD方法的基本思想,在从数据流图导出初始模块结构图时采用一组基本的设计策略变换分析与事务分析。 在对初始模块结构图改进和优化方面有一组基本的设计原则耦合小、内聚大,和一组质量优化技术。,SD方法采用图形表达工具模块结构图,模块结构图是描述系统结构的图形工具。,一、 模块结构图,工资系统的模块结构图,模块,调用,数据,控制信息,基本符号,模块,通常指用一个名字就可以调用的一段程序语句。模块是可以组成、分解、更换的单元,是组成系统、易于处理的
6、基本单位。一个模块应具备以下四要素:,输入和输出; 功能; 内部数据; 程序代码。,模块的例子: int max( int x, int y) int z;z=xy? x: y;return(z);,在模块结构图中,用联接两个模块的箭头表示调用。箭头总是由调用模块指向被调用模块,执行后又返回调用模块。,调用,模块的调用规则 每个模块都有特定的任务,只有上级模块才能调用下级模块; 模块的通信仅限于上下级模块之间,任何模块不能与其他上下级模块或同级模块进行直接通信联系; 某一模块要与其相邻的同组模块进行信息交换,必须通过各自的上级模块; 模块调用的次序是从上而下,自左向右。,模块调用的例子:int
7、 max( int x, int y) int z;z=xy? x: y;return(z); void main( ) :c=max( 3, 4);:,选择调用的例子:A( ) :if (条件) B( );elseC( );:,循环调用的例子:A( ) :while (条件) B( );: :,数据一个模块调用另一个模块时,调用模块可以把数据传送到被调用模块供处理,被调用模块又可以将处理结果送回到调用模块。,控制信息模块间传递某些控制信息用以指导程序下一步的执行。,四种模块,二、数据流图导出系统结构图,从数据流程图导出系统的初始结构图,首先要区分数据流程图的结构类型,然后根据不同的类型采用不
8、同的方法把数据流图映象成相应的模块结构。,变换型DFD,事务型DFD,系统结构图,变换分析,事务分析,系统结构图,一个数据流程图可以明显地分成输入、处理和输出三部分。,事务型数据流程图一般呈束状形,具有根据请求选择执行某类事务的能力,变换分析设计方法,取得 数据,C,D,变换 数据,给出 数据,1、区分输入、主加工、输出部分,在DFD上标明分界线,确定逻辑输入离物理输入端最远的,但仍可被看作系统输入的那个数据流。方法:从物理输入端开始,一步步向系统的中间移动,直至达到这样一个数据流:它已不能再被看作为系统的输入,则其前一个数据流就是系统的逻辑输入。,确定逻辑输出离物理输出端最远的,但仍可被看作
9、系统输出的那个数据流。方法:从物理输出端开始,一步步向系统的中间反方向移动,直至达到这样一个数据流:它已不能再被看作为系统的输出,则其后一个数据流就是系统的逻辑输出。,确定主加工位于逻辑输入和逻辑输出之间的加工,就是系统的主加工。,2、设计SC的顶层和第一层模块:,设计一个顶层模块(主模块),它的功能是完成整个程序要做的工作。 设计结构的第一层: 为逻辑输入设计一个输入模块,它的功能是向主模块提供数据 为逻辑输出设计一个输出模块,它的功能是输出主模块提供的数据 为主加工设计一个变换模块,它的功能是将逻辑输入变换成逻辑输出第一层模块同顶层主模块之间传送的数据应与数据流图相对应。这里主模块控制并协
10、调一层的输入、变换、输出模块的工作,注意识别出选择或循环调用以及调用条件。,3 第二级分解(分解SC各分支),自顶向下分解、设计出每个分支(输入、加工、输出)的中、下层模块:,为每一个输入模块设计两个下层模块,一个是输入模块,接受数据来源;另一个是变换模块,模块调用时传送的参数应同数据流图相对应。输出模块也有两部分组成,一部分是变换模块,将数据变换成输出的形式;另一部分是输出模块。上述设计过程由顶向下递归进行,直至达到系统的输入端或输出端变换模块的下层模块,根据数据流图中相应加工的组成情况而定。,变换分析举例-DFD,变换分析举例-转换后的SC,事务分析设计方法,事务中心,事务源,在DFD上确
11、定事务中心。 为DFD上的事务中心设计主模块,再为每一种类型的事务处理设计一个事务处理模块。 为每个事务处理模块设计下面的操作模块,再为操作模块设计细节模块。某些操作模块和细节模块可以被几个上一层模块共用。,事务分析举例-转换后的SC,1、低耦合、高内聚提高模块独立性,三、模块结构图的评价与改进,耦合指的是两个模块之间的相互依赖关系,又称块间联系。 模块之间的联系越多或越复杂,它们之间的依赖程度就越高,每一个模块的独立性就越低。 要求尽可能地减弱系统中模块之间的耦合程度,提高每一个模块的独立性,这是因为: 模块之间的耦合程度越弱,相互影响就越小,产生连锁反应的概率就越低; 在修改一个模块时,要
12、能使修改范围控制在最小限度以内; 在对一个模块进行维护的时候,不必担心任何其它模块的内部运行程序是否会受到影响。,非直接耦合:调用和被调用模块之间不存在直接的数据联系。,数据耦合:调用和被调用模块之间存在简单变量这样的数据传递。,特征耦合:如两个模块通过传递数据结构(不是简单数据,而是记录、数组等)加以联系,或都与一个数据结构有关系, 则称这两个模块间存在特征偶合。,“住户情况”是一个数据结构,图中模块都与此数据结构有关。 “计算水费”和“计算电费”本无关,由于引用了此数据结构产生依赖关系,它们之间也是特征偶合,控制耦合:一模块通过开关量、标志、名字等控制信息,明显地控制另一模块的功能。,外部
13、耦合:允许多个模块访问同一个全局变量或与同一外部设备关联。,公共耦合:允许一组模块引用同一个公用数据区公共数据区指: 全局数据结构 共享通讯区 内存公共覆盖区等,松散的公共耦合,紧密的公共耦合,内容耦合:允许一个模块直接调用另一个模块中的数据和代码。,注意 控制耦合是一种中等程度的耦合。应尽可能少用。 外部耦合和公共耦合是较强程度的耦合。尽管有时无法避免,但要特别注意、严加控制。 内容耦合是耦合程度最强的耦合,极大增强了软件的复杂性,给维护带来严重困难,是“病态联系”,应禁止使用。实际完全可以避免。,内聚指的是一个模块内部各组成部分的处理动作的组合强度,又称块内联系。 软件结构设计的设计原则是
14、,要求每一个模块的内部都具有很强的内聚性,它的各个组成部分彼此都密切相关,是为了完成一个共同的功能而组合在一起的。减弱模块之间的耦合和提高模块内的内聚性,是两个相辅相成的设计原则。,偶然内聚:模块内各成分无实质性的联系,只是偶然地被凑到一起。,模块M中的三个语句没有任何联系 缺点:可理解性差, 可修改性差,逻辑内聚:把几种相关功能(逻辑上相似的功能)组合在一模块内,每次调用由传给模块的参数确定执行哪种功能。,A,B,C,E,F,G,A,B,C,EFG,A1,B1,C1,EFG模块内部逻辑,E、F、G逻辑 功能相似,组 成新模块EFG,缺点:增强了耦合程度(控制耦合)不易修改,效率低,公用代码段
15、,公用代码段,时间内聚:模块完成的几项功能必须在同一时间内执行,这些功能只因时间因素关联在一起。 例如: 初始化系统模块 系统结束模块 紧急故障处理模块,过程内聚:模块内部包含的处理是相关的,且必须按照某种确定的顺序进行。,通讯内聚:模块内的各个组成部分都使用相同的输入数据或产生相同的输出数据。,信息内聚:模块完成多个功能,各功能都在同一数据结构上操作,每一功能有唯一入口。,功能内聚:模块内的各个组成部分全都为完成同一个功能而存在,共同完成一个单一的功能,并且只完成一个功能。,注意: 避免使用低内聚的模块,多用中高内聚、特别是功能内聚的模块。 遵守“一个模块,一个功能”原则,它是衡量模块独立性
16、的最高标准。,2、消除重复的功能,几个模块中含有重复的部分,应设法消去。因为同一功能重复多处,不仅浪费编程、测试时间,还会给修改带来麻烦。但消除重复功能并不是简单的合并。正确的方法是:先分析几个模块中相同功能的部分;然后把这个功能分离出来,构成它们的一个公共的下层模块。,正确的合 并,错误的合 并,逻辑内聚,说明:如果Q1、Q2抽去公共部分Q之后余下的模块Q1*、 Q2*比较简单,则可以同它们的调用模块X、Y合并,所以改进后图2、图3都有可能。,3、尽可能减少高扇出结构,随着深度增大扇入,扇出:模块调用的直接下层模块的个数 扇入:指模块的上级模块数(即共有多少个模块需要调用这个模块) 原则:扇
17、出不宜过大,=7;扇入尽可能大些。,如果一个模块的扇出数过大,就意味着该模块过分复杂,需要协调和控制过多的下属模块。应当适当增加中间层次的控制模块如果一个模块扇入太大,而它又不是公共模块,则说明这个模块具有多个功能,在这种情况下应对具进行功能分解。,相关技巧: 良好的结构图往往呈“清真状”,即“顶为尖下层逐渐加宽底层收窄” 结构图的形态应该均衡,即从顶到底层的路径长短不该过于悬殊,4、模块的作用范围应在控制范围内,模块的控制范围(控制域) :包括模块本身和其下属模块的集合。 模块的作用范围(作用域):指受该模块内一个条件判定影响的所有模块的集合。 控制域是从结构方面考虑的;作用域是从功能方面考
18、虑的。,:条件判定,模块A的控制范围:A、B、C、D、E、F 模块A的作用范围:A、C、F,:受判定影响的模块,原则:应使模块的作用范围尽量在在控制范围之内,所有受到一个判定影响的模块应该都从属该判定所在的模块,最好位于作出判定的那个模块本身及它的直接下属模块。,将包含条件判定的模块合并到它的调用模块中; 或把判定上移到足够的位置,使判定处于较高位置 将接受判定影响的模块下移到控制范围内 可以归结为:使判定同受其影响的操作尽可能靠近。,5、模块规模适中: 过大不易理解,应考虑分解 太小则接口开销过大,应考虑合并 注意分解、合并后不应降低模块的独立性 6、适当控制深度与宽度: 深度 = 分层的层
19、数。过大表示分工过细 宽度 = 同一层上模块数的最大值,过大表示系统复杂度大 7、减少块间传递参数的个数,降低接口的复杂程度 8、消除管道性的模块:管道性指没有实质性的工作,只是传递数据。 9、设计功能可预测的模块相同输入必产生相同输出。,系统平台设计,管理信息系统的平台设计包括计算机处理方式、网络系统的设计、数据库管理系统的选择和软硬件选择等。,计算机处理方式:根据系统功能、业务处理的特点、性能/价格比等因素,选择批处理、联机实时处理、联机成批处理、分布式处理等方式,也可以混合使用各种方式。 网络系统的设计:计算机网络系统的设计主要包括中小型主机方案与微机网络方案的选取、局域网拓扑结构、网络
20、互连结构及通信介质的选型、网络计算模式、网络操作系统及网络协议等的选择。 数据库管理系统的选择:管理信息系统都是以数据库系统为基础,一个好的数据库管理系统对管理信息系统的应用有着举足轻重的重要影响。目前,市场上数据库管理系统较多,流行的有Orac1e、Sybase、SQLServer、Informix、Visual FoxPro 等,,计算机硬件的选择:主要取决于数据处理方式、运行的软件系统和用户的承受能力。原则上选择技术上成熟可靠的系列机型;处理速度快;数据存储容量大;具有良好的兼容性与可扩充性、可维护性;有良好的性能/价格比;售后服务与技术服务好;操作方便;在一定时间内保持一定先进性的硬件
21、。 计算机软件的选择:包括操作系统、开发语言、开发工具、应用软件包等软件的选择。 最后提交: 硬件网络结构图 服务器:硬件、软件选型 工作站:硬件、软件选型 硬件配置清单等表格,代码的概念是用来代表事物名称、属性、状态等的符号和记号。以简短的符号形式代替了具体的文字说明。代码设计的目的采用代码,可以使数据表达标准化,简化程序设计,加快输入,减少出错,便于计算机处理(记录、检索、排序等),节省存储空间,提高处理速度。代码设计的意义代码设计是一项重要的基础工作,设计质量的好坏,不仅关系到计算机的处理效率,而且直接影响MIS的推广与使用。,第三节 系统详细设计,代码设计,代码设计的原则 唯一确定性
22、每一代码仅代表唯一的实体或属性。 标准化与通用性 尽可能利用国际、国内、部门的标准代码。 可扩充性 考虑系统的发展与变化,当增加新的实体(或属性)时,不需要变动原代码体系。 简明性 尽可能简短、统一。 系统性 代码要有规律,逻辑性强。这样既便于计算机处理,也便于识别和记忆及人工处理使用。 易修改性 这是代码具有标准化又具有灵活性的一面,当系统条件发生某些变化时,代码应容易进行修改。,明确代码目的; 确定代码对象; 确定代码的使用范围和期限; 分析代码对象特征。包括代码使用频率、变更周期、追加及删除情况等; 决定采用何种代码,确定代码结构及内容; 编制代码表; 编制相应的代码使用管理维护制度,保
23、证代码使用。,代码设计步骤,按文字种类分: 数字代码 字母代码 数字字母混合码,按功能划分: 顺序码 层次码 十进制码 助记码,代码的种类,用连续数字表示编码对象。,顺序码,作为顺序码的一个特例是分区顺序码,它将顺序码分为若干个区,给每个区以特定的意义,并可在每个区预留些空码,为以后插入之用。,例如企业职工代码可以编为“0001,0002,0003等。顺序码简单明了,易追加,但不便于分类汇总,删除数据易造成空码。,例如课程分区顺序码: 0109 公共课(如公共课只有6门,从0106,预留3个位置)1029 基础课3039 专业基础课4060 专业课,缺点:使用中预留多少备用码不好估计。,层次码
24、也称区间码。这种代码按位被分成若干个区间,每个区间有不同的意义,这样每位码本身和其所在的位置都代表一定的意义。,如:某住宅小区工程项目采用两位区间码代表分项分部。,第一位为分部工程代码 1小区1号楼2小区2号楼,第二位分项工程代码1土方工程 2砌筑工程,则:代码12表示小区1号楼砌筑工程代码21表示小区2号楼土方工程,层次码,例:我国公民身份证代码的含义,优点:是分类基准明确,码中的数字(或字母)与位置都代表一定的意义,因而检索、分类或排序都很方便。 缺点:有时会造成代码过长。,先把整体分成十份,进而把每一份再分成十份,这样继续不断。,十进制码,这种编码方法对于那些事先不清楚会产生什么结果的情
25、况十分有效的。,例: 520 计算机科学技术 520.10 计算机科学技术基础学科 520.20 人工智能 520.30 计算机系统结构 520.3010 计算机系统设计 520.3020 并行处理 520.3030 分布式处理系统 520.3040 计算机网络 520.3050 计算机运行测试与性能评价 520.3099 计算机系统结构其他学科,以上几种主要代码,在实际应用中,可根据需要进行选择,或将几种编码方法结合起来使用。,将编码对象的名称、规格等用汉语拼音或英文缩写等形式编成代码,可帮助记忆,故称为助记码。,助记码,例如:“SX-2”表示2厘米直径的石硝建材;“YSZE”表示预算总额;
26、“PMIS”表示项目管理信息系统。,助记码适用于数据较少的情况,否则容易引起联想错误。,代码校验,为了保证关键代码输入的准确性、减少输入错误,有意识地在编码设计的基础上,通过事先规定的某种数学方法,计算出校验码,附加在编码之后,作为编码的一部分。输入时与代码一起输入,此时计算机会用同种数学方法,对输入代码进行数学计算,以校验是否正确,并发现错误。,校验码的生成过程,1将代码各位(Ci)乘以权因子(Pi),求出加权和: n位代码: c1c2cn权因子为:p1p2pn加权和:c1p1+c2p2 + cnpn = S 2以称为模的常数 M 除和,求出余数R即 R=S mod M 3把模 M 减去余数
27、 R 作为校验位, J=M-R,当J为10、11、12时,其校验位码为A、B、C。,校验码的检查过程,设输入的代码(含检验码)为K1,K2,K3,Kn,C n+1,其中C n+1为校验位 对每一位乘以它的原来的权,校验位乘的权为1。 用所得的和被模除,若余数为0,则该代码一般来说是正确的,否则就是输入错误。,输入代码:1 2 3 8 6 权因子: 11 7 5 3 111 14 15 24 6=70,1.,2. R= S MOD M=70 MOD 10=0,输出设计,确定输出的类型,外部输出,输出目标是系统之外的环境,在系统内部一个处理过程向另一个 处理过程输出。,计算机处理过程中的中间结果,
28、 这些结果还要进一步输入和处理,计算机以通信方式与用户直接通话, 即以对话方式进行输出,计算机运行过程中与操作有关的输出 如程序清单、出错信息等,内部输出,中间输出,交互输出,操作输出,有关输出信息使用方面的内容,包括信息使用者、使用目的、报告量、使用周期、有效期、保管方法和复写份数等; 输出的信息,包括输出的项目、位数、数据形式; 输出格式:如表格、图形或文本内容; 输出设备:打印机、显示器、卡片输出机等; 输出介质:如输出到磁盘还是磁带上,输出用纸是专用纸还是普通白纸,还是只是在屏幕上显示一下等。,输出设计的内容,输出设计的评介,输出设计是否能为使用者提供及时、准确和全面的信息服务,输出设
29、计是否充分考虑和利用了各种输出设备的功能,各种信息的输出格式是否和原系统相一致;修改部分是否有充足的理由,使用人员是否同意,输出的各种图形或表格是否符合使用者的习惯,是否便于阅读和理解,输出设计是否为系统今后的发展变化留有一定的余地,输出的表格中是否为新增项目留有相应的余地,输入设计,输入设计的原则,控制输入量:输入量应保持在能满足处理要求的最低限度,避免不必要的重复与冗余。输入量越少,错误率越小,数据准备时间也越少。 减少输入延迟:输入数据的速度往往成为提高信息系统运行效率的瓶颈,为减少延迟,可采用周转文件、批量输入等方式。 减少输入错误:输入的准备及输入过程应尽量简易、方便,并有适当查错、
30、防错、纠错措施,从而减少错误的发生。 避免额外步骤:在输入设计时,应尽量避免不必要的输入步骤,当步骤不能省略时,应仔细验证现有步骤是否完备、高效。 尽早保存:输入数据应尽早地用其处理所需的形式记录下来,以避免数据由一种介质转换到另一种介质时需要转录及可能发生错误。 及时检查:应尽早对输入数据进行检查,以便使错误及时得到改正。,输入设计的内容,分析与确定输入数据的内容:根据处理要求来确定的,包括确定输入数据项的名称、数据类型、位数和精度、数值范围及输入处理方式。 确定数据的输入方式:数据输入的类型有外部输入(如键盘输入、扫描仪、磁盘导入等)和计算机输入(网络传送数据等),输入设备有键盘、鼠标、扫
31、描仪、光电阅读器、光笔、磁盘、磁带、网络传输等。 设计输入数据的记录格式:输入格式要尽量与原始单据格式类似,屏幕界面要友好,数据输入格式有录入式、选择式(如:单选、列表选择)等,屏幕格式有简列式、表格式、窗口编辑方式等。 对输入数据的正确性检验设计,输入数据的校验(检验方法),静态校验:输入,打印,校对; 声音校验:边输入计算机边读; 词典校验:以预先存入的词典作为校验样本; 格式检验:检验数据是否符合预先规定格式; 逻辑校验:检验数据值是否合理; 界限校验:检验数据值是否在规定范围内; 顺序校验:检查顺序排列的记录; 记录计数检验:通过记录个数检查是否遗漏; 平衡校验:检验数据的合计是否正确
32、.,文件按用途可分为: 主文件:长期保存、用以存储重要数据,对主文件经常进行调用和更新。 业务文件:临时存储数据、实时记载业务过程中数据发生的变化,用于统一更新主文件。 输入文件:需要输入的大量数据先建立数据文件,经校验后,一次输入进行处理。 输出文件:输出的结果文件,它可以是打印文件或其他形式的文件。 工作文件:在处理过程中暂时使用的中间文件,处理结束后文件即可删除。 转存文件:用于存储在一定恢复点上系统部分状态的拷贝文件。转存文件主要是为了安全目的。,文件设计,文件设计就是根据文件的使用要求、处理方式、存储量、数据的活动性以及硬件设备的条件等,合理地确定文件类别,选择文件介质,决定文件的组
33、织方式和存取方法。,文件设计步骤,了解已有的或可提供的计算机系统功能 外存配备:磁盘、磁带、光盘的配备数量、功能、容量和有关文件的转贮条件等;终端和其他外设的配备:涉及文件可能使用的范围,多终端操作的可能性及文件输入、输出和更新的条件; 系统所能提供的文件组织方式和存取方法等。,与其他文件的接口:搞清有关文件之间的相互关系及数据项的协调。 文件的数据量:根据文件用途和记录长度,并从将来的需要量考虑,估算文件的数据量(记录数)。 文件的逻辑结构:根据需要,确定文件记录的长度、逻辑结构组成以及各数据项的描述。 文件处理方式:由用途决定文件的处理方式,可以是批处理、实时处理或混合方式等。 文件的更新
34、情况:从文件使用情况考虑,估计插入、修改和删除等操作的频率和更新要求。 文件的使用率:估算文件记录的实际使用频率。 文件存取时间:根据业务处理的需要,对文件存取时间提出的不同要求。 文件的保密性:用户对文件机密程度的要求。,确定文件设计的基本指标,文件的组织方式、存取方法和介质的确定应该考虑文件用途和使用频率等情况。通过以上各种因素的综合考虑和分析研究后,确定较为合适的文件组织及存取方式,并对介质的需要量作初步计算。,确定合适的文件组织方式、存取方法和介质,编写文件设计说明书,文件组织方式、存取方法和存储介质等的选择和确定的根据; 文件用途、使用范围、处理方式、使用要求、存取时间和更新要求等;
35、 文件逻辑结构、各数据项描述以及键(码)的确定原则; 文件数据量和存储介质需要量的初步估算; 文件保密要求及有关安全措施; 对于文件数据的收集、整理和格式要求的说明; 对建立和更新文件所需要的程序选行说明及提出要求; 关于建立文件的注意事项及其他需要说明的内容。,数据库设计与系统开发阶段对照,数据库设计是在选定的数据库管理系统基础上建立数据库的过程,数据库设计的几个步骤应与系统开发的各个阶段相对应,且融为一体。,5-70,数据库设计,概念结构设计应在系统分析阶段进行,任务是根据用户需求设计数据库的概念数据模型,概念模型是从用户角度看到的数据库,可用E-R模型表示。,数据库的概念结构设计,设计步
36、骤: 划分和确定实体:DFD和DD中的数据存储、数据流可作为确定实体时考虑的对象 划分和确定关系 确定属性 画出E-R模型,数据库的逻辑结构设计,逻辑结构设计是将概念结构设计阶段完成的概念模型转换成能被选定的数据库管理系统(DBMS)支持的数据模型。数据模型可以由实体联系模型转换而来。 逻辑结构设计阶段提出的关系数据模型应符合第三范式3NF的要求。 用DBMS提供的数据描述语言DDL对数据模型予以精确定。,E-R图到关系数据模式的转换策略,一个实体用一个对应于关系,实体名作为关系名,实体的属性就是关系的属性,实体的码作为关系的码。一个m:n联系用一个关系来表示,与该联系相连的各实体的码以及联系
37、本身的属性均成为此关系的属性。而关系的码为联系相连的各实体的码的组合。,一个1:n联系可以转换为一个独立的关系,与该联系相连的各实体的码以及联系本身的属性均成为此关系的属性,而关系的码为联系相连的n端实体的码。另一种方法是并入n端实体,即在n端实体的表中增加1端实体的码和联系本身的属性,后一种方法较好。,一个1:1联系可以转换为一个独立的关系,与该联系相连的各实体的码以及联系本身的属性均成为此表的属性,每个实体的码均是该关系的码。另一种方法是并入任一端实体,即在该端实体的表中增加另一端实体的码和联系本身的属性,后一种方法较好。,对三个以上实体间的多元联系,以及同一实体集的实体间的自联系,根据相
38、同的转换规则,按联系的不同类型进行相应的转换。,课程(课程号,课程名),数据库设计实例工厂管理系统,考虑一个机械制造厂的工厂技术部门和工厂供应部门。技术部门关心的是产品性能参数、产品由哪些零件组成、零件的材料和耗用量等;工厂供应部门关心的是产品的价格、使用材料的价格和库存量等。,图2 供应部门的分E-R图,图3 集成的初始E-R图,使用,材料,价格,库存量,m,n,产品,仓库,仓库号,仓库名,n,类别,地点,存放,材料号,材料名,m,产品号,产品名,价格,存放量,耗用量,性能参数,组成,零件,零件号,零件名,m,零件数,耗用量,n,消耗,m,n,图4 改进的E-R图,产品号* 产品名 价格 性
39、能参数,材料号* 材料名 价格,仓库号* 仓库名 类别 地点,1. 产品,3. 材料,4. 仓库,零件号* 零件名,2. 零件,产品号* 零件号* 零件数,5.组成,零件号* 材料号* 消耗量,6. 消耗,材料号* 仓库号* 存放量,7. 存放,3NF,仓库号* 仓库名 类别 地点,4. 仓库,仓库号* 仓库名 类别,4-1. 仓库,类别* 地点,4-2. 仓库地点,分解成,IPO图 程序流程图(PFC) N-S图 问题分析图(PAD) 过程设计语言(PDL),5-84,处理过程设计,用SD方法,可以完成系统总体模块结构的设计,而每一个模块完成的具体操作,则在处理过程设计中完成。处理过程设计是
40、系统设计的最后一步,也是最详细的涉及到具体的业务处理过程的一步,是下一步编程实现系统的基础。所用到的设计工具有:,IPO图由IBM公司提出,主要是用来配合层次化模块结构图详细说明每个模块的输入、输出和数据加工的一种工具。 IPO图的设计因人和具体情况而异,但都必须包括输入(I)、输出(O)、处理(P)以及与之相应的数据库或文件、在总体结构中的位置等信息。,IPO图(INPUT-PROCESS-OUTPUT),局部数据元素:,注释:,上层调用模块:订单管理,可调用的下层模块:,系统:XX 管理信息系统 设计人:张涛 模块:订单输入 日 期: 2003.3,IPO图,程序流程图( PROGRAM
41、FLOW CHART )又称程序框图,是经常使用的程序细节描述工具。,图2:标准化程序流程图规定符号,框图的特点:清晰易懂,便于初学者掌握。框图中的箭头若使用不当,会使框图非常难懂,而且无法进行保护。,N-S图( Nassi-Shneiderman)又称盒状图,是另一种经常使用的程序细节描述工具。,例如:编一程序判断M是否为素数,M为大于1的正整数。,N-S图的优点: 没有箭头,不允许随意转移控制; 每个矩形框(Case中条件取值例外)都是一个功能域(即一个特定结构的作用域),结构表示明确; 局部及全程数据的作用域易见; 易表现嵌套关系以及模块的层次结构。,是一种支持结构化程序设计的图形工具,
42、由日本日立公司二村良彦等人于1979年提出。,PAD问题分析图(PROBLEM ANALYSIS DIAGRAM),PAD图的特点: 结构清晰,层次分明,易读; 问题分析图有着逻辑结构清晰、图形标准化及与人们所熟悉的控制流程图比较相似等优点,更重要的是它引导设计人员使用结构化程序设计方法,从而提高了程序的质量; 支持“走图”规则,容易将PAD图自动转换为高级语言源程序。,PDL过程设计语言 (PROCESS DESING LANGUAGE),过程设计语言的外层语法描述结构,采用了一般编程语言类似的确定的关键字(如IF-THEN-ELSE,WHILE-DO等),内层语法描述操作,可以采用任意的自
43、然语句(英语或汉语)。 过程设计语言的特点: 同自然语言(英语)很接近,易于理解; 易于被计算机处理并存贮; 可以从它自动产生程序; 不如图形描述直观,英语使用的准确性要求较高,PDL的基本控制结构: 顺序 条件:IF/THEN/ELSE/ENDIF 当型循环:DO WHILE/ENDDO 直到型循环:REPEAT UNTIL/ENDREPEAT 分支:CASE_OF/WHEN/ENDCASE,系统设计说明书,1、系统总体结构图(SC图),2、系统设备配置图,3、系统编码方案(编码和检验方式),5、数据库结构图,4、输入/输出及界面设计方案,6、IPO图(层次模块结构控制图),7、系统模块处理流程设计说明,上机实验,1、根据实验指导书中的实验4实验7完成演示5.1、5.2、5.3、5.4。 3、分组讨论系统分析。,