管理信息系统(第7章 管理信息系统的系统设计).ppt_第1页
管理信息系统(第7章 管理信息系统的系统设计).ppt_第2页
管理信息系统(第7章 管理信息系统的系统设计).ppt_第3页
管理信息系统(第7章 管理信息系统的系统设计).ppt_第4页
管理信息系统(第7章 管理信息系统的系统设计).ppt_第5页
已阅读5页,还剩67页未读 继续免费阅读

付费下载

下载本文档

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

文档简介

第七章管理信息系统的系统设计,1,7.1系统设计的概念7.2系统结构设计7.3模块实现设计7.4代码设计7.5数据库设计7.6界面设计7.7统一建模语言7.8系统设计说明书,2,7.1系统设计的概念,系统设计的任务系统设计的任务是:在系统分析提出的逻辑模型的基础上,考虑实际条件,进行各种具体设计,确定系统的实施方案,科学合理地进行物理模型的设计;系统设计的主要工作:总体设计、代码设计和设计规范的制定、系统物理配置方案设计、数据存储设计和计算机处理过程设计;系统设计应遵循的原则:系统性、灵活性、可靠性和经济性;系统设计的特点:设计性、具体化、复杂性、往复性;,3,7.2系统结构的设计,结构化设计结构化设计(STRUCTUREDDESIGN,简称SD)方法是使用最广的一种设计方法,该方法适合于软件系统的总体设计和详细设计,特别是将一个复杂的系统转换成模块化结构系统,该方法具有它的优势。SD方法具有以下特点:相对独立、功能单一的模块结构“块内联系大、块间联系小”的模块性能标准采用模块结构图的描述方式,4,7.2系统结构的设计,模块结构图把一个信息系统设计成若干模块的方法称为模块化。其基本思想是将系统设计成由相对独立、单一功能的模块组成的结构,从而简化研制工作,防止错误蔓延,提高系统的可靠性。在这种模块结构图中,模块支点的调用关系非常明确、简单。每个模块可以单独的被理解、编写、调试、查错与修改。模块结构整体上具有较高的正确性、可理解性与可维护性。一个模块中的输入来源和输出去向都是同一个调用者,即该模块从调用者那里获得输入,然后把产生的数据返回给调用者。,5,7.2系统结构的设计,模块的概念及内容模块是组成目标系统逻辑模型和物理模型的基本单位,模块是可以组合、分解和更换的单元,根据模块功能具体化程度的不同,可以分为逻辑模块和物理模块。在系统逻辑模型中定义的处理功能可视为逻辑模块。物理模块是逻辑模块的具体化,可以是一个计算机程序、子程序或若干条程序语句,也可以是人工过程的某项具体工作。系统中的任何一个处理功能都可看成一个模块,也可以理解为用一个名字就可以调用的一段程序语句。,6,7.2系统结构的设计,模块应具备以下四个要素:输入和输出-模块的输入来源和输出去向都是同一个调用者,一个模块从调用者取得输入,加工后再把输出返回调用者;功能-模块把输入转换成输出所做的;内部数据-仅供该模块本身引用的数据;程序代码-用来实现模块功能的程序;前两个要素是模块的外部特性,即反映模块的外貌。后两个要素是模块的内部结构特性。在结构化设计中,首先关心的是外部特性,其内部特性只做必要了解。,7,7.2系统结构的设计,功能模块结构图的基本符号:,8,7.2系统结构的设计,9,7.2系统结构的设计,模块这里所说的模块通常是指用一个名字就可以调用的一段程序语句为物理模块。在模块结构图中,用长方形框表示一个模块,长方形中间标上能反映模块处理功能的模块名字。模块名通常由一个动词和一个作为宾语的名词组成。,10,7.2系统结构的设计,调用在模块结构图中,用连接两个模块的箭头表示调用。箭头总是由调用模块指向被调用模块,但是应该理解成被调用模块执行后又返回到调模块。一个模块是否调用一个从属模块,决定于调用模块内部的判断条件,则该调用称为模块间的判断调用,采用菱形符号表示。如果一个模块通过其内部的循环功能循环调用一个或多个从属模块,则该调称为循环调用,用弧形箭头表示。下图为调用、判断调用和循环调用的示意图。,11,7.2系统结构的设计,12,7.2系统结构的设计,数据当一个模块调用另一个模块时,调用模块可以把数据传送到被调用模块处处理,而被调用模块又可以将处理的结果送回调用模块。在模块之间传送的数据,使用与调用箭头平行的带空心圆的箭头表示,并在旁边标上数据名。如图(a表示模块A调用B时,A将数据X,Y传送给B,B将处理结果数据Z返回给A;,13,7.2系统结构的设计,控制信息为了指导程序下一步的执行,模块间有时还必须传送某些控制信息。例如,数据输入完成后给出的结束标志,文件读到末尾产生的文件结束标志等。控制信息与数据的主要区别是前者只反映数据的某种状态,不必进行处理。在模块结构图中,用带实心圆的箭头表示控制信息。如下图(b)中所示,该图表示送来的职工号有误的控制信息。,14,7.2系统结构的设计,转接符号当模块结构图在一张图上画不下,需要转接到另外一张纸上,或者为了避免图上线条交叉时,都可以使用转接符号。如下图(c)所示工资计算程序模块结构图中,即为转接符号。在画模块结构图时,通常将输入、输出模块分别画在左、右两边,计算或其他模块放在中间。为了便于理解系统的整个结构,尽量将整个模块结构图画在一张纸上。,15,系统结构设计所谓系统结构设计,即将数据流程图转换成结构图的过程,它是属于面向数据流的设计方法;两种设计策略:第一种是以事务为中心的设计策略,第二种是以变换为中心的设计策略;前者通常将高层的数据流程图转换成系统结构图,后者通常用于将低层的数据流程图转换成结构图;,7.2系统结构的设计,16,事务分析高层数据流程图特别是一级数据流程图所表示的处理功能是相互独立的,可以将它们是为一类特定的事务,将其转换为结构图;转换方法为:首先分析数据流程图,确定其结构类型,找出事务中心的位置和事务类型的标志。画出第一层模块,然后再重复逐层分解和优化,直到得到满意的模块结构图。,7.2系统结构的设计,17,7.2系统结构的设计,18,7.2系统结构的设计,教学管理系统的结构图,19,变换中心变换分析是将低层数据流程图转换成结构图的方法。将数据流程图中的处理功能分解成具有输入、中心变换、输出功能的简单模块。首先对低层数据流程图中的处理功能进行分类,分为输入功能、处理功能、输出功能根据分类结果确定第二类处理功能为变换中心。将数据流程图所对应的三种类型的处理功能设计成三个从属模块,分别执行输入、变换、输出功能,在图中将输入模块放在结构图的左侧,变换模块放在中间,输出模块放在右侧。,7.2系统结构的设计,20,7.2系统结构的设计,A,A,A,A,X,X,Y,Y,21,7.2系统结构的设计,22,7.2系统结构的设计,模块的耦合与内聚耦合:耦合是对一个软件结构内不同模块之间互联程度的度量;模块之间的联系越多越复杂,它们之间的相互依赖程度就越高,反之,每一个模块的独立性就越低;模块之间的耦合度越低,相互影响就越小,产生连锁反应的概率就越低;修改一个模块的时候,要使修改范围控制在最小限度之内;对每个模块进行维护时,不必担心其它模块的内部运行程序是否受到影响;,23,7.2系统结构的设计,耦合的方式:简单耦合:模块之间只存在调用与被调用的关系,不存在任何的信息传递;数据耦合:模块访问是通过数据参数(不是控制参数)来交流输入、输出;控制耦合:如果一个模块通过传递开关、标志、名字等控制信息,选择控制另一模块功能;公共耦合:如果一组模块都访问同一个公共数据环境;内容耦合:一个模块访问另一个模块的内部数据;两个模块有一部分程序代码重叠;,24,接口复杂性与耦合类型的关系:,接口复杂性,接口方式,接口数据的复杂性,无接口关系,直接引用,过程调用语句,数据项作参数,内容耦合,其它耦合,开关量,起控制变量作用,公用数据区,全程变量,,数据耦合,控制耦合,公共耦合,简单耦合,25,7.2系统结构的设计,内聚性内聚性:模块内部的各个组成部分处理动作的组合强度;模块内部的一个“组成部分”,是指该模块运行程序中的一条指令、或一组指令、或一个调用其它模块的语句;内聚性是度量一个模块功能强度的一个相对指标,模块的内聚性,主要表现在模块内部各组成部分为了执行处理功能而组合在一起的相关程度,即组合强度;,26,7.2系统结构的设计,内聚方式:功能内聚:一个模块各个部分是为完成一项具体功能而协同工作,紧密联系;顺序内聚:处理元素是相关的,并且必须顺序执行;通信内聚:如果一个模块内各个功能使用了相同输入数据,或产生相同输出数据,通常由数据流图定义;过程内聚:如果一个模块内的处理时相关的,而其必须以特的;时间内聚:这种模块大多为多功能模块,但要求模块各个功能必须同一时间段执行;逻辑内聚:把几种相关功能组合在一起,由传递给模块的控制型参数确定模块执行的功能;偶然内聚:当模块之间凑巧有一些程序代码相同,又没有明显表现出独立的功能,把这一部分代码独立建立的模块是偶然内聚模块;,27,模块聚合性的判断,28,7.3模块实现设计,判定表当算法中包含多重嵌套的条件选择时,用程序流程图、盒图、PAD图或后面即将介绍的过程设计语言(PDL)都不易清楚地描述。然而判定表却能够清晰地表示复杂的条件组合与应做的动作之间的对应关系。,29,7.3模块实现设计,例子:计算行李费假设某航空公司规定,乘客可以免费托运重量不超过30公斤的行李;当行李重量超过30公斤时:对头等舱的国内乘客超重部分每公斤收费4元;对其他舱的国内乘客超重部分每公斤收费6元;对外国乘客超重部分每公斤收费比国内乘客多一倍;对残疾乘客超重部分每公斤收费比正常乘客少一半。,30,7.3模块实现设计,用判定表表示计算行李费算法,31,7.3模块实现设计,判定树判定树是判定表的变种,也能清晰地表示复杂的条件组合与应做的动作之间的对应关系。判定树的优点在于,它的形式简单到不需任何说明,一眼就可以看出其含义,因此易于掌握和使用。多年来判定树一直受到人们的重视,是一种比较常用的系统分析和设计的工具。,32,7.3模块实现设计,用判定树表示计算行李费算法,33,7.3模块实现设计,PDL伪码PDL也称为伪码,这是一个笼统的名称,它是用正文形式表示数据和处理过程的设计工具。一般说来PDL是一种“混杂”语言,它使用一种语言(通常是某种自然语言)的词汇,同时却使用另一种语言(某种结构化的程序设计语言)的语法。,34,7.3模块实现设计,关键字的固定语法,它提供了结构化控制结构、数据说明和模块化的特点。为了使结构清晰和可读性好,通常在所有可能嵌套使用的控制结构的头和尾都有关键字。自然语言的自由语法,它描述处理特点。数据说明的手段。应该既包括简单的数据结构,又包括复杂的数据结构。模块定义和调用的技术,应该提供各种接口描述模式。,35,7.3模块实现设计,程序结构用PDL表示的程序结构一般有下列几种结构。1)顺序结构采用自然语言描述顺序结构:处理S1处理S2处理Sn,36,7.3模块实现设计,2)选择结构IF-ELSE结构:IF条件IF条件处理S1或处理SELSEENDIF处理S2ENDIF,37,7.3模块实现设计,IF-ORIF-ELSE结构:IF条件1处理S1ORIF条件2ELSE处理SnENDIF,CASE结构:CASEOFICASE(1)处理S1CASE(2)处理S2ELSE处理SnENDCASE,38,7.3模块实现设计,3)重复结构FOR结构:FORi=1TOn循环体ENDFORWHILE结构:WHILE条件循环体ENDWHILE,UNTIL结构:REPEAT循环体UNTIL条件,39,7.3模块实现设计,4)出口结构ESCAPE结构(退出本层结构):WHILE条件处理S1ESCAPELIF条件处理S2ENDWHILEL:,CYCLE结构(循环内部进入循环的下一次):L:WHILE条件处理S1CYCLELIF条件处理S2ENDWHILE,40,7.3模块实现设计,模块的定义与调用模块定义:PROCEDURE模块名(参数)RETURNEND模块调用:CALL模块名(参数)数据定义:DECLARE属性变量名,属性有:字符、整型、实型、双精度、指针、数组及结构等类型。输入/输出:GET(输入变量表)PUT(输出变量表),41,7.3模块实现设计,PDL应用示例现以系统主控模块详细设计为例,说明如何用PDL来描述。PROCEDURE模块名()清屏;显示系统用户界面;PUT(“请输入用户口令:”);GET(password);IFpassword系统口令提示警告信息;退出运行ENDIF显示本系统主菜单;WHILE(true)接收用户选择ABC;IFABC=“退出”Break;ENDIF调用相应下层模块完成用户选择功能;ENDWHILE;清屏;RETURNEND,42,7.3模块实现设计,从示例可以看到PDL的总体结构与一般程序完全相同。外语法同相应程序语言一致,内语法使用自然语言,易编写,易理解,也很容易转换成源程序。除此以外,还有以下优点:提供的机制较图形全面,为保证详细设计与编码的质量创造了有利条件。可作为注释嵌入在源程序中一起作为程序的文档,并可同高级程序设计语言一样进行编辑、修改,有利于软件的维护。可自动生成程序代码,提高软件生产率。目前已有PDL多种版本(如PDL/pascal,PDL/C,PDL/Ada等),为自动生成相应代码提供了便利条件。,43,7.3模块实现设计,/*1.用户名不能为空2.密码为六位数3.密码不能超过3此输入4.用户名是否存在*/Booleanf1=false;/用户名是否存在/定义变量inti=0;/登陆次数stringUserId=string.Empty;/登陆名称stringUserPw=string.Empty;/密码i=i+1;if(UserId.Equals()MessageBox.Show(用户名不能为空!);elseif(UserPw.Equals()MessageBox.Show(密码不能为空!);elseif(UserPw.Trim().Length=6)MessageBox.Show(密码必须为6位数!);elseif(i3)MessageBox.Show(密码输入超过三次!);elseif(f1)MessageBox.Show(该用户为非法用户或是尚未注册!);else/执行打开主界面的操作,44,7.4代码设计,代码的概念及功能代码是代表事物名称、属性、状态等的符号,为了便于计算机对信息的处理,一般用数字、字母或它们的组合来表示。实体:公民、学生、职工、电话代码:身份证号码、学号、职工号、电话号码编码对象:需要编码的实体或属性需要编码的实体:公民、学生、职工需要编码的属性:电话、性别,45,7.4代码设计,代码的功能标识:代码是鉴别编码对象的唯一标志;分类:当按编码对象的属性或特征(如工艺、材料、用途等)分类,并赋予不同的类别代码时,代码又可以作为区分编码对象类别的标志;排序:当按编码对象发现(产生)的时间、所占有的空间或其他方面的顺序关系分类,并赋予不同的代码时,代码又可作为编码对象排序的标志;特定含义:由于某种客观需要采用一些专用符号时,此代码又可提供一定的特定含义。代码是人和计算机的共同语言,是两者交换信息的工具。,46,7.4代码设计,代码设计的方法目前最常用的分类方法概括起来有两种,一种是线分类方法,一种是面分类方法,在实际应用中根据具体情况各有其不同的用途。线分类方法线分类方法是目前用得最多的一种方法,尤其是在手工处理的情况下它几乎成了唯一的方法。线分类方法的主要出发点是:首先给定母项,母项下分若干子项,由对象的母项分大集合,由大集合确定小集合,最后落实到具体对象。分类的结果是得到一层套一层的线性关系,如下图所示:,47,7.4代码设计,48,7.4代码设计,面分类法面分类法主要从面角度来考虑分类。面分类方法的特点是:柔性好,面的增加、删除、修改都很容易。可实现按任意组配面的信息检索,对机器处理有良好的适应性。缺点是不易直观识别,不便于记忆。,例如:代码3212表示材料为钢的1.0mm圆头的镀铬螺钉。,49,7.4代码设计,代码的分类目前常用的代码种类:顺序码以一种连续数字或字符代表编码对象。如各种票据的编号、居民的门牌号码都是顺序码。,50,7.4代码设计,数字码区间码:将顺序码分成若干区段,每一区段代表部分编码对象。例如:学校单位编码:0130为机关处码;3170为学校所属系代码;7199为校办企业、开发公司代码。注意:使用区间码时要适当留一定空隙,以防止段内数据增加,码不够用。,51,7.4代码设计,层次码:在代码结构中,为实体的每个属性确定一位或几位编码,并排成一定的层次关系。例如:我国目前使用的居民身份证就是采用一个15位的数字码,前6位表示地区编码,中间6位表示出生年月日,最后3位表示顺序号和其它状态(性别等)。这种数字码属层次码。这种编码优点是易于校对,易于处理,缺点是不便记忆。,52,7.4代码设计,字符码即以纯字符形式编码(英文、汉语拼音等)。这类编码常见的有我们在程序设计中的字段名、变量名编码。例如:在开发一个成本管理信息系统时,在数据库设计时,所有表名均以C-开始,视图名用C-V-开始。例如产生各种材料汇总的视图:材料成本表C-CLCB,C-V-CLHZ。这就是一个典型的纯字符码。,53,7.4代码设计,混合码即以数字和字符混合形式编码。混合码是在各类管理中最常用的另一类编码形式。这种编码的优点是易于识别,易于表现对象的系列性,缺点是不易校对。例如:GBxxxx表示国际标准的某类编码,IEEE802X表示某类网络协议标准名称的编码。所有的汽车牌照编号,都是混合码。,54,7.4代码设计,例:我国的邮政编码,结构:区间码+层次码+顺序码允许的符号:数字码长度:6位,55,7.4代码设计,例:商品的编码模型,例:我国公民身份证号码的编码模型,56,7.4代码设计,代码的检验为了保证正确输入,在原有代码的基础上,另加一个校验位,作为代码的一个组成部分。校验位通过事先规定的数学方法计算出来。代码一旦输入,计算机会用同样的数学运算方法按输入的代码数字计算出校验位,并将它与输入的校验位进行比较,以证实输入是否有错。,57,7.4代码设计,代码结构中的校验位有多种确定校验位值的方法算术级数法原代码12345各乘以权65432乘积之和6+10+12+12+10=50以11为模去除乘积之和(若余数是10,则按0处理),把得出的余数作为校验码:50/11=46,因此代码为123456。几何级数法原理同上,但把所乘权数改为3216842等。质数法原理同上,但把所乘权数改为质数系列,如1713753等。,58,7.5数据库设计,数据库设计是指在现有数据库上建立数据库的过程,它是管理信息系统的重要组成部分。数据库设计的内容是:对于一个给定的环境进行符合应用语言的逻辑设计,以及提供一个确定存储结构的物理设计,建立实现系统目标,并能有效存储数据的数据模型。因此,一个数据库的设计者,对数据库系统和实际应用对象这两方面的知识都必须有相当的了解。,59,7.5数据库设计,概念设计概念结构设计是建立整个系统的数据库概念结构。首先分析系统数据,确定实体和实体的属性,标识出实体属性之间的依赖关系,确定实体之间的依赖关系。通常采用实体(Entity)-联系(Relationship)方法来表示。数据库的逻辑结构设计逻辑结构设计的主要任务是根据数据库管理系统的特征将概念结构转换为相应的逻辑结构。规范的关系数据表中实体不存在多对多的关系,因此如果概念结构存在多对多的联系,必须对概念结构进行简化,转换为一对多的联系。,60,7.5数据库设计,例:建立设学生成绩管理系统的某个数据库的结构为:字段deptsnosnamesexagesclass类型CNCCNC长度10810236含义院系学号姓名性别年龄班级字段majorMathEng.Physt_score类型CNNNN长度103333含义专业数学英语物理总学分,61,7.5数据库设计,规范化重组数据结构在规范化的数据表达中,一般将一组相互关联的数据称为一个关系(relation),而在这个关系下的每个数据项称为数据元素(dataelement),这种关系落实到数据库上就是基本表,数据元素就是基本表中的一个字段(field)。规范化表达还规定在每一个基本表中必须定义一个数据元素为主键(key),它可以唯一地标识出该表中其它相关的数据元素。例:规范化理论中表是二维的并有如下性质:,62,7.5数据库设计,表中任意一列上的数据项应属于同一属性。表中所有行都不是相同的,不允许有重复组项出现(一行是一个不同的学生记录)。表中行的顺序无关紧要(如每行都是一个学生记录,先放哪个学生记录都没有关系)。表中列的顺序无关紧要,但不能重复(如学号与学生姓名的先后顺序没有关系,但二者不能重名)。对数据结构进行规范化的定义称为规范化模式,称为“范式”。总共有五种,一般只用前三种,后几种都满足“向上兼容”,即满足第三种范式的数据结构自动满足第一、二种范式。,63,7.6界面设计,界面设计UI(UserInterface)即用户界面,也称人机界面。是指用户和某些系统进行交互方法的集合,这些系统不单单指电脑程序,还包括某种特定的机器,设备,复杂的工具等。Userinterface也可以称之为用户接口或使用者接口,是系统和用户之间进行交互和信息交换的媒介,它实现信息

温馨提示

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

评论

0/150

提交评论