版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第7章 结构化系统设计本章主要内容系统设计的任务总体设计结构化设计的概念、根本原那么从数据流图导出结构图详细设计代码设计输出设计输入设计人机对话设计模块详细设计数据库设计、网络设计系统设计说明书转换从分析到设计现实领域的各种需求计算机领域的具体实现针对需求,进行计算机信息系统的物理模型设计7.1 系统设计的任务通俗地说,设计就是要答复“怎么做完成技术实现方案的制定,即信息系统的物理模型一个逻辑模型,可以提出多个物理模型根据物理模型进行实施,得到最终的物理系统设计系统之前,先看看评价信息系统的标准,这些标准对任何设计方法都适用:信息系统的功能:是否满足用户的需求系统的效率:响应时间、操作的方便性
2、系统的可靠性:抗干扰能力、故障恢复系统的工作质量:准确性、使用效果系统的可变更性:修改和维护的难易程度系统的经济性:系统收益与支出比7.1.1 设计标准信息系统的可变更性变化是不变的真理。统计表示:在信息系统的整个生命周期中,系统维护本钱占总本钱的80%左右。因此,可变更性是衡量信息系统设计的重要指标。如何提高系统变更性结构简单系统各组成元素分工明确,易于理解元素之间的关系清晰简洁变动灵活软件维护中的“水波效应使系统各组成元素内部的改变容易实现,改动对其他局部的影响尽量减少提前考虑将来最易出现的扩展和变更设计方法:结构化设计和面向对象设计系统设计阶段的主要工作总体设计:根据逻辑模型,完成系统体
3、系结构计算模式、系统运行平台、系统的软件结构等设计.详细设计:代码设计输入设计输出设计人机交互设计用户界面设计模块处理过程设计模块详细设计数据库设计 平安设计系统设计的流程 系统运行平台的设计 设计内容:系统网络配置、硬件平台选择、软件平台选择等。影响系统运行平台设计的因素系统软件、实用软件的选型 软件选型原那么 符合开放式系统的开展大方向有必要和足够的软件工具支持 对新技术的支持能力 较低购置的本钱 系统软件、实用软件的选型 软件选型的内容操作系统 数据库管理系统 开发语言/工具 1开放性 2易用性 3面向对象性 4支持团队开发 系统硬件选型原那么立足于通用机型 满足应用的速度要求 统一的标
4、准 具有支持所选择的软件平台的能力 设备配置效劳器 可管理性、可用性、容错性网络设备 网络结构、传输介质、互联设备外部设备的配置 包括各种输入输出设备 可靠性提高方法平安设施的选择 不间断电源、防雷设施、平安加密设施7.2 结构化设计的概念结构化:自上至下,逐步分解求精结构化设计:模块化模块化模块化的根本思想使用结构化设计方法一定程度上能够简化系统结构,使系统容易修改和理解。具体做法:把整个软件划分为多个局部,其中每一局部的功能简单明确,即程序模块可以是子过程或函数划分模块的工作按层次进行,上层模块调用下层模块每一个模块应尽可能独立模块间的调用接口要说明模块名称、输入数据、输出数据接口本钱本钱
5、模块数量单元模块本钱软件总本钱模块数量和软件本钱 粒度太大,单个模块复杂度升高、维护困难 粒度太小,管理与运行本钱升高试想一下:每个经理管理协调多少个下级适宜?7.2.1 模块的概念模块(Module)一词使用很广泛。通常对应于用一个名字就可以调用的一段程序语句子程序或函数模块具有输入和输出、逻辑功能、运行程序、内部数据四种属性。计算工资模块的图形表示方法7.2.2 模块结构图结构图(Structured Chart)描述系统的模块结构及模块间的联系 结构图中的主要成分有:模块:用长方形表示调用:从一个模块指向另一模块的箭头表示前一个模块调用后一个模块。有循环调用和条件调用数据:用带圆圈的小箭
6、头表示从一个模块传递给另一模块的数据有实义控制信息:带涂黑圆圈的小箭头表示一个模块传送给另一模块的控制信息结构图根本符号ABCBAABCBA(a)根本形式(b)顺序(c)选择(d)循环计算获得有效数据生成报表打印报表获得编辑数据核对数据打印表头打印表尾读入数据编辑数据显示无效数据打印一行有效数据EOF编辑数据EOF有效数据编辑数据有效数据结果编辑数据数据数据EOFEOF结果日期行行行总计一个完整的结构图模块设计的度量标准为了衡量模块的相对独立性,提出了模块间的耦合(Coupling)与模块的内聚(Cohesion)两个标准耦合:模块内部各元素之间的联系程度内聚:模块和模块之间的联系程度设计目标
7、:模块内的联系越紧越好模块间的联系越少越好为什么?影响耦合度的因素如果使用模块A需要了解模块B,那么A和B是耦合的。影响模块间耦合程度有三方面的因素:联系方式模块间通过什么方式联系来往信息的作用模块间来往信息作什么用数量模块间来往信息的多少。混合控制数据 用过程 直接引用语句调用少多数量方式作用0离坐标原点越远,耦合程度越高模块联系方式直接引用:一个模块直接存取另一个模块的某些信息,例如全程变量、FORTRAN的common量、语言的extern量、共享的通信区等 。也称为公共环境耦合(common environment coupling) 降低这种耦合程度的方法是使数据局部化,即使用局部变
8、量 过程语句调用:一个模块调用另一个模块,所有数据来往都以参数或返回值方式传递并使用来往信息的作用模块间的来往信息可以作数据用,也可以作控制信息用A取平均成绩或最高成绩平均/最高B(a)控制耦合成绩取最高成绩取平均成绩A平均成绩最高成绩(b)数据耦合来往信息的数量模块间传递的信息量越大,它们之间的耦合程度越高。一个模块最好只了解它确实需要使用的数据,而完全不知道其他数据的存在独立性好耦合的类型根据以上因素,对耦合分类如下:数据耦合:采用子程序调用,调用模块将需要进行处理的数据传递给被调模块。数据耦合是不可防止的。标记耦合:如果调用模块将整个数据记录传递给被调模块,而被调模块只使用了局部数据项,
9、那么称为标记耦合或特征耦合。控制耦合:一个模块将控制信息传递给另一个模块,以控制被调模块的内部处理逻辑。可以分解公共环境耦合:如果两个模块共享同一全局数据,称为公共耦合。内容耦合:两个模块之间的内部属性有直接关联,也称病态耦合。某些GOTO语句减低耦合的设计原那么结构化设计要求模块间的耦合程度尽可能小。 为此应:用过程语句调用其他模块模块间的参数作数据用模块间的参数尽可能少7.2.4 模块的内聚模块的内聚反映模块内部联系的紧密程度。一个模块只需要做好一件事情,不要过分关心其他任务。高内聚性的好处是可以提高程序的可靠性。有一个调查说明,50的强内聚性子程序是没有错误的,而只有 18的弱内聚性子程
10、序才是无错的,弱内聚性子程序的出错时机要比强内聚性出错时机高 6 倍,而修正本钱那么要高 19 倍。?代码大全?内聚的类型模块的内聚可以分以下七类:. 偶然内聚(coincidental cohesion). 逻辑内聚(logical cohesion). 时间内聚(temporal cohesion). 步骤内聚(procedural cohesion). 通信内聚(communicational cohesion). 顺序内聚(sequential cohesion). 功能内聚(functional cohesion)当同一个子程序中的操作之间无任何联系时,为偶然内聚性,也叫作“无内聚性
11、。比方只是为了将程序中某几处凑巧相同的一些语句组合起来形成的一个模块:PQRS1、偶然内聚 B=A; read(Cardfile); D=C;T将几个逻辑上相似的功能放在一个模块中 准备算平均成绩算最高成绩返 回Y取平均成绩?N比方常见的出错处理模块,工作模块发现错误后,调用错误处理模块,将错误号作为控制参数传入,然后出错处理模块根据不同的错误号执行相应的操作 2、逻辑内聚将在有限时间单元内处理的成分组合为同一模块比方在程序初始化时所作的处理: m_Medirecno = psPerson.Medirecno txtMedirecno = psPerson.Medirecno txtTel =
12、 psPerson.Tel txtContact = psPerson.Contact txtAddr = psPerson.Addr txtMedirecno.Enabled = False可视化程序设计中在窗口翻开时初始化窗口中得控件内容,如列表框的工程、文本框或单项选择钮的缺省取值还比方:C+的构造函数、析构函数3、时间内聚4、步骤内聚当子程序中的操作是按某一特定过程结构进行的,就是步骤内聚。例如:用户想按一定的顺序打印,子程序设计成是用于按顺序打印销售收入、开支、雇员 表的。步骤内聚在时间内聚的根底上增加了次序的约束当模块内的成分引用共同的数据,而不存在其他联系时,称为通信内聚修改库存
13、购货单开发货单库存A、销售模块B 、产生留退名单模块期末不及格统计累计不及格统计留退名单学籍表5、通信内聚模块中某个成分的输出是另一成分的输入。比方显示期末成绩通知:读入学号读取成绩取不及格科目取科目补考安排显示数据判断留退级6、顺序内聚6、顺序内聚顺序内聚有较强的内聚性是步骤内聚和通信内聚的结合例如:一个模块用于计算高于平均分的人数,步骤是先循环累计总分,然后计算得到平均分,最后循环统计高于平均分的人数有步骤的先后,而且前一个步骤的结果要用于后一步骤的运算中但仍然不是最高的内聚类型7、功能内聚一个模块包括并且仅仅包括为完成一个具体任务所需要的所有成分,称为功能内聚。功能内聚性是最强也是最好的
14、一种内聚例如:打印职工名单,PrintStaffList()例如:计算平均分,CalculateAvg()仅用一个动宾词组能明确指出这个模块的所有功能。内聚的评分耦合和内聚的概念是Stevens等人提出的, 是测量一个模块化系统好坏的标志。按他们的观点, 给上述七种内聚评分如下:功能内聚分顺序内聚分通信内聚分步骤内聚分时间内聚分逻辑内聚分偶然内聚分可以给一个软件的所有模块打分,最后计算平均分,作为软件结构质量评价的参考耦合和内聚的关系二者就像连体兄弟,存在紧密相关的关系:模块内的高内聚往往意味着模块间的松耦合反之,低内聚一般会带来紧耦合7.2.6 模块的扇入与扇出模块的扇入是指有多少个上级模块
15、调用它。模块的扇出是指模块的直属下层模块的个数,扇出系数不宜过大A的扇出为2ABCB1C1C2C3B的扇出为1C的扇出为3TT的扇入为2减少高扇出,争取高扇入清真寺型不够好,底层模块复用度低金字塔型总体设计原那么设计功能内聚的模块模块使用过程语句调用其他模块,传递的参数作数据用,并且尽可能少模块内语句数一般为50100平均扇出系数最好是35高层模块高扇出,最低层模块高扇入一个判断的作用范围是判断所在模块的控制范围的子集7.3 数据流图导出初始结构图从数据流程图导出系统的初始结构图,首先要区分数据流程图的结构类型,然后根据不同的类型采用不同的方法把数据流图映象成相应的模块结构。 数据流程图DFD
16、的结构类型1变换型DFD一个数据流程图可以明显地分成输入、处理和输出三局部。2事务型DFD事务型数据流程图一般呈束状形。(1) 变换型结构由输入、变换中心(或称主加工)和输出三局部组成。根本模型:变换中心输入路径输出路径变换型数据流图输入信息物理输入格式检查处理显示正确信息结果物理输出数据变换中心输出逻辑输入逻辑输出输入(2) 事务型结构特征:具有在多种事物中选择 执行某类事物的能力根本模型:事务中心接受路径动作路径(3)大型系统DFD中,变换型和事务型结构往往共存:T事务中心传入变换传出(二)DFD导出初始SC的过程两种转换策略/技术 变换分析 事务分析一般过程 先设计模块结构顶端的主模块
17、然后“由顶向下逐步细化 最后得到一个与数据流图相对应的程序结构变换型DFD事务型DFD初始SC初始SC变换分析事务分析“由顶向下逐步细化的思想找出“顶在哪里,设计一个相应的主控模块每创立一个新的模块时,必须决定该模块的外部特征 该模块的功能,即该模块“做什么 该模块同其调用模块的界面,即调用时传送的参数对已创立的模块进行细化,考虑这个模块应该“怎样做才能完成它的功能,于是又要创立下一层的新模块,再回到上一步 通过这样“先决定做什么,再考虑怎样 做,循环往复,设计过程就有序地进行, 直至获得整个完整的结构层次。变换型事务型三变换分析设计方法步骤:1 找出主加工、逻辑输入和逻辑输出2 设计模块结构
18、的顶层和第一层3 设计中、下层模块1 区分输入、主加工、输出局部,在DFD上标明分界线(1)确定逻辑输入离物理输入端最远的,但仍可被看作系统输入的那个数据流 方法:从物理输入端开始,一步步向系统的中间移动,直至到达这样一个数据流:它已不能再被看作为系统的输入,那么其前一个数据流就是系统的逻辑输入。(2)确定逻辑输出离物理输出端最远的,但仍可被看作系统输出的那个数据流 方法:从物理输出端开始,一步步向系统的中间反方向移动,直至到达这样一个数据流:它已不能再被看作为系统的输出,那么其后一个数据流就是系统的逻辑输出。(3)对系统的每一股输入和输出,都用上 面的方法找出相应的逻辑输入、输出(4)确定主
19、加工位于逻辑输入和逻辑输出之间的加工,就是系统的主加工(5)几点说明:根据经验,几股数据流的集合处往往是 系统的主加工每个人都可以有自己的看法,找出来的主加工可能也不同,但一般不会相差太远。变换中心1234567abcedrpuwv输入部分输出部分输入输出加工2 设计SC的顶层和第一层模块:(1) 设计一个顶层模块(主模块),它的功能是完成整个程序要做的工作。(2) 设计结构的第一层:为逻辑输入设计一个输入模块,它的功能是向主模块提供数据为逻辑输出设计一个输出模块,它的功能是输出主模块提供的数据为主加工设计一个变换模块,它的功能是将逻辑输入变换成逻辑输出 第一层模块同顶层主模块之间传送的数据应
20、与数据流图相对应。这里主模块控制并协调一层的输入、变换、输出模块的工作,注意识别出选择或循环调用以及调用条件。第一级分解后的SCMCMTMAME第一层顶层c,ec,eu,wu,w传送信息第一级分解后的SC(另一种画法)MCMA1ceu,wc,pMA2456ME1ME2eprrw,uw3 第二级分解(分解SC各分支)自顶向下分解,设计出每个分支(输入、加工、输出)的中、下层模块:(1)为每一个输入模块设计两个下层模块,一个是输入模块,接受数据来源;另一个是变换模块,模块调用时传送的参数应同数据流图相对应(2)输出模块也有两局部组成,一局部是变换模块,将数据变换成输出的形式;另一局部是输出模块 上
21、述设计过程由顶向下递归进行,直至到达系统的输入端或输出端(3) 变换模块的下层模块,根据数据流图中相应加工的组成情况而定。输入分支的分解MAGet CbacRead Ddec,eB to CbcdeabGet EGet BD to EA to BRead ADFD图输出分支的分解MEWrite Vuuw,uvvPut UU to VWrite WwDFD图加工分支的分解MT546ec,pru,wprDFD图任何情况下都可使用变换分析方法设计软件结构,但如数据流具有明显的事务特点时(有一个明显的事务中心),以采用事务分析方法为宜。 (四) 事务分析设计方法事务分析设计方法步骤:(1)在DFD上确
22、定事务中心。(2)为DFD上的事务中心设计主模块,再为每一种类型的事务处理设计一个事务处理模块。(3)为每个事务处理模块设计下面的操作模块,再为操作模块设计细节模块。某些操作模块和细节模块可以被几个上一层模块共用。事务型DFD的划分T事务中心传入变换传出接收局部发送部分a事务型SC的上层结构(1)事务控制Get a顶层第一层a事务1 事务型SC的上层结构 (2)事务控制事务分析发送动作分支的典型结构PT 2T 1T iA 2D 2A 1D 1A 3A jD k事务层操作层细节层处理层7.3.3 层次的对应关系数据流图的层次和结构图的层次存在一定的对应关系,但不是机械照搬。32. .P1.4变换
23、分析举例-DFD汇款单合格的汇款单处理后的汇款单收据明细账变换中心输出输入业务数据变换分析举例-转换后的SC汇款处理系统取得合格汇款单计算汇费记账输出处理后的汇款单 输入汇款单格式检查产生收据打印收据合格的汇款单处理后的汇款单合格的汇款单业务数据处理后的汇款单汇款单合格的汇款单汇款单处理后的汇款单收据收据业务数据要求类型处理图书管理要求无效输入1.1新书入库1.2还入库单罚款单1.5注销图书1.3还书1.4目录文件借书单书单注销单借书借书文件罚款单事务分析举例-DFD事务中心事务分析举例-转换后的SC图书处理系统取得图书处理要求修改目录文件操作层细节层新书入库注销图书借书还书 打印罚款单修改借
24、书文件图书管理要求入库单借书单 还书单注销单7.2.8 结构图优化方法减少模块间的联系,减少参数传递,特别是控制信息的传递消除重复功能消除“管道模块考虑变化控制模块大小整体考虑结构图优化举例问题描述:病人监护系统中的实时监测模块。该模块使用病床专用设备测量病人的假设干生理参数,如体温、脉搏、血压等等。每个病人各种指标的平安范围由医生预先指定。每经过一定的时间间隔,监测模块从监视设备读入这些数据,并存入数据库中。假设发现某个指标超出合理范围,那么向维修站发出设备故障通知,报告床号。 假设发现某个指标越出平安范围,那么向护理站发出通知,报告病人号。分析产生的1层DFD病人护理站病历合理数据数据不平
25、安因素读取数据存储数据检查数据通报不平安因素维修站不合理数据FS2病人监护系统采集数据检查数据处理数据获取下一个病人PN,FSEOF,EFEOFFSEFUSF,EFUSFFSPNEF,USFPN,FSPN,FS,EFPN,EFPN,FSFSSR读取数据检查不合理范围查询平安范围判定病人是否平安写数据库通报设备故障通报不平安因素EFBNPN,FSEFPN,BN初始结构图PN病人号;BN床位号;SR平安范围;FS各指标数据; EF设备故障标志; EOF标志已查过最后一个病人;FS2标志指标是否合理; USF标志指标不平安 第1次改进“处理数据模块没有实质性的功能,所包含的三个子模块相互之间没有什么
26、关联,内聚程度很低。该模块只是充当了“管道,改进如下:废除“处理数据模块;直接由主模块调用“通报设备故障、“通报不平安因素和“写数据库三个模块病人监护写数据库通报不平安因素通报设备故障检查数据采集数据第1次改进结果第2次改进通报设备故障时应通报床位号而不应是病人号,因此要传递床位号。床位号BN可由“采集数据模块传给主模块,再由主模块传递给“通知设备故障模块。但这样做增加了模块间的联系,改为由“采集数据模块直接调用PN,FS病人监护采集数据检查数据通报不平安因素获取下一个病人PN,FSEOF,EFPN,BNEOFFSEFUSFUSFPNFS2BN,EFPN,FSFSSRSR读取数据检查不合理范围
27、查询平安范围判定病人是否平安写数据库通报设备故障EFBNPN,FSEFFS第2次改进结果第3次改进假设由“检查数据模块直接调用“通报不平安因素模块,那么可减少模块间的联系,即不用传递USF标志排除控制耦合。这样的话,“检查数据的名字改为“报告不平安因素更为恰当第3次改进结果病人监护采集数据报告不平安因素写数据库PN,FSEOF,EFEFUSFPNSR,FSEFPN,FS查询平安范围通报不平安因素PN,FS判定病人是否平安第4次改进“获取下一个病人模块的界面要返回病人号和床位号,如果使“ 读取数据模块包括从病人号查床位号的功能,那么“获取下一个病人模块的接口可以简化第4次改进结果采集数据获取下一
28、个病人PNEOFFSEFPNBNFS读取数据检查不合理因素从PN查BNEOFPN通报设备故障FS2BN第5次改进通过床号读取数据,功能很明确,但目前包含在“读取数据模块中,这局部程序代码如果抽取出来单独成为一个模块更好,名字为“从床号读数据该模块可以成为一个公用模块,很易于重用第5次改进结果采集数据获取下一个病人PNEOFFSEFPNBNFSEOFPNFS2BN从PN查BN从床号读数据通报设备故障检查不合理因素BN采集病人数据FSEF第6次改进“ 从床号读数据应该是功能单一,调用“通报设备故障不应属于该模块内容。将“通报设备故障改为上层模块调用,使“从床号读数据模块功能更明确,公用性也更好第6
29、次改进结果病人监护采集数据报告不平安因素写数据库判定下一个病人PN,FSEOF,EFPNEOFFSEFUSFPNEFSREFFSPNFS,SR采集病人数据检查平安范围判定病人是否平安通报不平安因素EFPNPN,FS从PN查BN从床号读数据通报设备故障检查不合理因素BNBNEFFSBNFSFS2PN,FS第7次改进给护士站或维修站的通报消息可能采用了同一种方式或界面,因此可能会有公用的模块,比方“写一行或者“发出警报之类因此再抽出一个模块“写一行,供两个模块调用。第7次改进结果病人监护采集数据报告不平安因素写数据库判定下一个病人PN,FSEOF,EFPNEOFFSEFUSFPNEFSREFFSP
30、NFSFS,SR采集病人数据检查平安范围判定病人是否平安通报不平安因素EFPNPN,FS从PN查BN从床号读数据通报设备故障产生一行写一行检查不合理因素BNBNEFEFFSBNFSFS2PN,FS一行一行一行对已有程序进行重构重构Refactoring:在不改变程序代码功能的前提下,对程序结构所进行的改造因为不是总能提前做出最好的设计,或者对遗留系统的维护过程中提高品质而做出的结构变化参见?重构改善既有代码的设计?7.5 代码编码设计什么是代码?用来表征客观事物的一个或一组有序的符号,它应易于计算机和人识别与处理。一般用数字、字母或它们的组合来表示。代码设计是科学管理的表达。代码无处不在:车牌
31、号码、商品编码、身份证号、学号、专业代码代码的作用1. 鉴别功能: 唯一地标识一个实体或属性值 2. 分 类 3. 排序4. 专用含义5. 系统集成的根底6.在某些场合节省存储空间 代码的特性唯一化标准化系统化 为事物提供一个概要而不模糊的认定,便于数据的存储和检索。 即编码要有规律,符合某一类事物的聚集,提高处理的效率和精度。 也即标准化,符合国家或行业标准,提高数据全局一致性。代码无实义代码有实义代码顺序码特征组合码层次码字母顺序码系列顺序码逻辑码排序码无序码自检码矩阵码代码的种类代码结构按代码码的根本结构分类 顺序码:一种以连续的数字或字符代表编码对象的编码,例如连续的数字0、1、2、3
32、、4,或以A、B、C、D。 特点:编码简单、简短等可维护性差 例:在日常生活中,街道两旁的门牌号码一般采用顺序码。 块码一种特殊的顺序码。它将顺序码按照一定的方式,将编码分成假设干段或者块,每一段或块代表一定类型的编码对象。例:我国邮政编码采用6位数码,其第一、二位采用块码标识省、自治区和直辖市,例如第一、二位为“43和“44均标识湖北省。特点:与顺序码相比较,块码具有较好的可维护性。只要分段适宜,预留有足够的码,那么该编码就具有较好的维护性,例如前面谈到的部门编码。该类码较顺序码复杂。块码并不方便分类统计的需求。层次码顺序码和块码不适合对具有层次结构的编码对象,例如物品、地区等的编码。层次码
33、是根据编码对象一定的层次关系,确定假设干位,并排成一定的层次关系。因此,层次码适合对具有层次结构的编码对象。 例:商场中经营的商品就具有层次结构,按商品大类来分,商品分为百货、服装、家电、体育等,每一大类中又分为中类,如服装类分为男装、女装和童装。每大类的中类又分为小类,因此可以采用层次码结构来编码。 特点:结构清晰、可维护强等特点,但是编码的设计较复杂。采用层次码时,首先要理清编码对象的层次结构。 特征码在编码模型中,为编码对象的多个属性各规定一个位置(假设干位码),从而表示编码对象不同的属性。特征码与顺序码、块码、层次码不同,编码中表示的各属性之间没有关系,是相互独立的。例如表示用材质、直
34、径、形状、外表处理方式属性来为金属材料编码,这种编码就是特征码。组合灵活、设计简单等优点,一般用于枚举型的编码对象例:性别、直径、形状等。由于特征码用于枚举型的编码对象,因此比较方便由系统自动编码。 按照编码中采用的符号分类数字型编码采用假设干位数字进行编码,其数字可以是十进制、八进制、二进制等。例如我国的身份证号、邮政编码、 号码等就是采用十进制的数字型编码,计算机中使用的ASCII就是采用八进制的数字型编码等。数字型编码具有排序方便的优点,缺点是对表达编码对象不直观。 字母型编码字母型编码只允许编码的各位采用字母。例:国际互联网中域名中的国家编码就是采用相应国家英文名的缩写,cn代表中国,
35、即字母型编码。与数字型编码相比较,字母编码具有容量大特点。且能直观地表达实体或实体属性。通常助记忆码一般采用字母型编码,在编码位有限且编码量大的情况下,可以考虑使用字母型编码。 代码的类型代码的类型指代码符号的表示形式,一般有: 数字型:结构简单,使用方便,也便于排序,但对象特征的描述不直观 字母型:便于记忆,人们有使用习惯。与同样长度的数字码相比,容量大得多。但会出现重复和冲突 数字字母混合型:兼有前两种代码的优点。但是其组成形式复杂,计算机输入不便,人工录入效率低,错误率高 代码举例身份证号国际书号会计科目考研报考的学校代码、专业代码如何保证代码输入的正确性代码不允许出错,那么如何防止代码
36、错误:输入技术如磁卡、IC卡、读卡器列表选择输入少量界面中采用下拉表选择,不需要键盘输入利用数据库中的代码表对照检查较多代码量很多时,下拉选择不可取,可在数据库中为代码及其含义建立数据表,手工输入后,在数据库中进行查询,如果存在那么可显示详细内容,否那么表示输入有误代码中设置校验位上述方法都不适用时代码自身具有一定的验证功能代码设计的原那么代码设计必须遵循以下根本原那么: 1. 唯一性 2. 合理性 3. 可扩充性想想千年虫问题 4. 简单性 5. 适用性 6. 标准性 7. 系统性代码设计的步骤代码设计可按以下步骤进行:确定代码对象考查是否已有标准代码根据代码的使用范围、使用时间,根据实际情
37、况选择代码的种类与类型。考虑检错功能编写代码表e.g. 商品的编码模型输入/输出设计哪些地方需要进行输入/输出设计呢?输出设计:当DFD图中有数据流从系统流出到外部实体的地方。报表、人机交互的查询、发送邮件等到其他系统消息、数据库、文件等输入设计:外部实体的数据流进入到系统的地方。本系统操作人员的输入来自于其他系统的输入其他的数据库或文件、其他系统的实时响应结果高度自动化的输入条码扫描仪、传感器等7.6 输出设计系统中的数据输出到人、组织、其他系统经理顾客信用卡系统报表商品查询结果付款信息输出设计的内容确定输出内容:首先确定用户在使用信息方面的要求,包括使用目的、输出速度、频率、数量、平安性要
38、求等等。然后设计输出信息的内容、信息形式表格、图形、文字、数据结构、数据类型、位数及取值范围等等。 选择输出设备与介质:常用的输出设备有显示终端、打印机、磁带机、磁盘机、绘图仪、缩微胶卷输出器、多媒体设备。输出介质有纸张、磁带、磁盘、缩微胶卷、光盘、多媒体介质等等。确定输出格式:输出报表或图形,清晰直观,满足需求和习惯,符合行业标准什么是高质量的输出设计以下因素确定了输出质量:易存取Accessibility :很容易被使用及时Timeliness适当Relevance :有使用价值正确Accuracy可用Useability :有适宜的格式输出设备输出介质输出设备和输出介质Printers打
39、印机Video Display Unit显示器Plotters绘图仪COM Equipment串行端口设备)Speakers喇叭Paper纸Video Screen屏幕Microfilm/Microfiche胶片Air Waves/Sound声音Disk存储设备IC卡输出格式表格清单如各种收费单汇总表月报表对照表年度对照图形折线图股票走势柱状图产品销售业绩饼图产品区域分布比例文字7.7 输入设计外部产生的数据如何输入到系统中经理顾客省招办贷款审批意见订单新生档案1、输入设计的内容确定输入数据内容:包括确定输入数据项名称、数据内容、精度、数值范围。确定数据的输入方式:联机终端输入还是脱机批量输入
40、,与数据发生地点、时间、紧急程度有关。记录格式设计:记录格式设计得好,能减少数据冗余,降低错误率和操作员劳动强度。输入数据的正确性校验:可能的话直接从已有数据中选择确定输入设备:键盘、鼠标、触摸屏、读卡机、字符识别机、光电阅读器、条形码识别机、语音识别仪、图像扫描仪 输入设计的重要性 输入是垃圾 输出是垃圾 (GIGO)批量输入联机输入混合方式2、输入模式批量输入的优点收集和输入可以脱机输入可以由受过专门训练的人员完成处理的速度很快处理可以安排在非顶峰时间进行保险单的录入人口普查数据的输入比方国内一些科研工程申请的数据都是各个单位自行录入,保存在盘中上交。批量输入的缺乏数据收集通常是集中式的数
41、据录入一般需要受过专门训练的人员完成处理过程有延迟,因此可能造成数据过时,或等到处理完后已经不适用了因为处理通常在业余时间进行,因此在处理时发现的输入错误,只能在下一次处理时才能纠正录入人员不熟悉业务如果程序发生故障,业余计算机操作员没有能力处理,不得不报告系统分析员或程序员录入人员不熟悉技术联机输入的优点数据能够由拥有者进行录入数据的录入可以尽可能地与他们的源头靠近对于数据的正确性和可接受性,可以获得快速的反响 输入的数据能及时更新数据库,从而使数据在最新状态比方北京市房地产开发企业与购房者签订房屋预售合同时,通过网上签约并下载打印合同文本,实现与政府网的联机备案,保护了消费者权益联机输入的
42、缺乏为了完成录入,设备的花费更多使用者繁杂,不总是受过良好训练对用户数据录入的程序控制要求高数据经常在交易时间录入,因此对正常的机器运行工作量有影响同样的数据,其录入会比批量录入过程要慢,总的效率低Magnetic Ink Character Recognition (MICR)Optical Character Recognition (OCR)Optical Mark Recognition (OMR)Image Scanner & Facsimile (Fax) MachinesPoint-of-Sale Device (POS)Automatic Teller Machine (ATM
43、)Intelligent Card KeyboardMouseJoystickPensScalesVoice RecognitionTouch Screen3、输入设备格式设计例子中国邮政汇款单 用户填写邮局填写写业务种类普通汇款加急汇款电子汇款特急汇款礼仪自行通知划拨附言入帐支票附加种类收款人姓名汇款金额佰 拾 万 千 佰 拾 元 角 分收款人地址开户局及帐号汇款人地址汇款人姓名汇 票 号 码汇款金额汇费手续费收汇日期经办员:复核员:检查员:5、输入设计的原那么最小量原那么仅输入必要的数据,尽量让系统计算或导出数据简单性原那么输入的准备、输入过程应尽量容易,以减少错误的发生,并在适当的地方使
44、用代码早检验原那么对输入数据的检验尽量接近原数据发生点少转换原那么输入数据尽量用其处理所需形式记录,以免数据转换时发生错误;直接使用已有的数据,比方采用EDI电子数据交换,XML,从一个系统到另一个系统数据直接使用,不需要再次输入输入数据的错误没有药可以阻止死亡,也没有规那么能防止错误弗洛伊德不管怎样设计,总是免不了会有错误,可以针对不同的错误采取一定程度的防范措施。错误有以下几类:数据内容错:这是由于原始单据有错或录入时发生错误数据多余或缺乏:这是收集中的错误,如原始单据丧失或重复数据的延误:由于输入数据缓慢导致处理推迟,不仅影响业务工作,还可能使输出结果变得无价值数据校验的方法重复验证:如
45、由两个或更多操作员录入相同的数据视觉验证:如从终端上键入数据,在屏幕上校验之后再送到计算机处理 分批汇总校验:分批计算,累计总数验证控制总数校验:数据类型校验:按照数据类型进行输入验证格式校验:比方合同号编码有固定的格式,可按位检测逻辑校验:如月份应是,日期应是界限校验:如一次取款为502000记录计数校验 :平衡校验:如借贷要平衡匹配校验:如在主表中验证指定代码是否存在代码自身校验:信息系统界面接口信息系统与外界环境之间的输入输出就可以称为信息系统的界面。根据输入输出操作对象和设备划分为两种:系统界面:系统中包含的不需要人员干预的输入和输出局部。例如:自动捕获的输入数据和自动输出的数据。人机
46、界面:信息系统中需要用户交互的输入和输出局部。例如:查询书目、下订单。7.8 人机对话设计信息系统是一个人-机系统,大量的输入和输出面对的是人,抽取这局部进行人机对话设计。多数场合指图形用户界面设计少数使用字符界面:如命令行要了解图形用户界面的根本元素控件及其使用特点: 下拉菜单 弹出菜单 列表框/组合列表框 选择钮、复选框 文本输入框 命令按钮 滚动条 表格 图形用户界面元素用户界面设计策略Ben Shneiderman所著的?用户界面设计有效的人机交互策略?总结了三项原那么: 考虑用户的多样性八条黄金设计规那么,适用于大多数交互系统的根本定律预防出错八条黄金设计规那么尽量保持一致布局、颜色
47、、词汇允许熟练用户使用快捷键提供积极的有价值的反响设计完整的对话过程,每次对话有明确的结束信息包括窗口的切换提供预防错误和简单的错误处理手段允许撤销动作提供控制的内部轨迹,让用户感觉控制了系统,而不是被控制减轻短期记忆负担7.9 模块详细设计区分模块总体设计和模块详细设计模块详细设计是要确定每个模块的内部特征,即内部的处理过程的设计。处理过程设计可以采用以下工具表达:程序流程图程序框图盒图NS图程序设计语言PDL模块标识WLGL-007所 属子系统物料管理属于企业规则 是 否模块名称物料进销存统计主要功能计算给定时间段物料的进消存,并显示或打印调用模块计算物料入库、计算物料出库、计算物料库存、
48、显示/打印物料进消存被调用模块输 入统计时间(起始时间、终止时间)、输出方式(打印/显示)输 出显示/打印物料进销存统计表相关数据表物料的入库、出库明细、物料年初库存、物料当前库存、物料明细主要内部变量起始时间、终止时间、打印/显示选择、物料的进消存算 法1) 根据统计时间,从物料的“入库”、“出库”明细、“物料年初库存”、“物料当前库存”中筛选“需要计算进销存的物料清单”;2) 根据生成的“需要计算进销存的物料清单”,循环调用:(1)模块“计算物料入库”,获得指定物料的入库数据;(2)模块“计算物料出库”,获得指定物料的出库数据;(3)模块“计算物料库存”,获得指定物料的库存数据。每循环一次
49、,计算一种物料的进销存,直到全部计算完毕;3) 调用“显示/打印物料进销存”。设计者: 梁静 设计日期: 2002年04月03日 版本:1.0模块说明书7.10 数据库设计选择RDBMSSybaseOracleDB2MS SQL ServerFoxProAccessMySQL建立关系数据模型关系数据模型用关系二维表格数据表示实体和实体之间联系的模型称为关系数据模型为每个实体类型创立一张二维表;为每张表选择或创造一个主键;添加外键来表示实体间一对多的关系;创立一张新表来表示尚未分解的多对多的关系(拆为两个一对多关系);确定各个关系模式中属性的数据类型、约束、规那么和默认值,考虑域完整性;根据用户
50、需要设计存储过程、触发器、视图等。7.10.1 ER模型到关系模型E-R图向关系数据模型的转换1、E-R图中每个实体,相应转换为一个关系,该关系包括对应实体的全部属性,并确定出该关系的主关键字。一个关系是一张二维表。2、对于“联系集,根据联系方式不同,采取不同手段以使被它联系的实体所对应的关系彼此实现某种联系一般通过外部关键字。ER模型到关系模型E-R图向关系数据模型的转换转换过程示意图E-R图关系模型RDBMS每个实体对应一个表E-R图的转换将E-R图转换成相应的表表是行和列的集合,实体被表示成表的形式。用列标题表示实体的属性用行表示每个实体的实际数据属性值关于表和属性的命名规那么属性名和表
51、名中不能包含空格表名对实体的描述应该是有意义的。如 student(cStuID,cStuName,nStuAge,)表名只能描述一个主题举例1一名厂长管理一个工厂,一个工厂由一位厂长管理或者:厂长号姓名年龄厂长厂号厂名地点工厂管理11厂长厂长号,厂号,姓名,年龄工厂厂号,厂名,地点主关键字外部关键字工厂厂号,厂名,地点,厂长号举例2一个仓库可以存放多种零件,每种零件只能保存在一个仓库中仓库号地点面积仓库货号品名价格产品存放1n仓库仓库号,地点,面积产品货号,品名,价格,仓库号,数量数量仓库号为主关键字多的一端设置外部关键字举例3一名学生可以选修多门课程,每门课程有多个学生选修多对多的关系分解
52、为两个1对多关系学号姓名年龄学生课程号课程名学时数课程学习mn学生学号,姓名,年龄课程课程代码,课程名,学时数成绩学习学号,课程代码,成绩学号为主关键字课程代码为主关键字学号+课程代码为复合关键字7.10.2 关系数据库标准化数据库设计标准化必要性:解决在关系模式设计时,存在的数据存储异常现象:数据冗余、修改异常、插入异常、删除异常等。标准化的理论首先由于1971年提出的,根据关系模式满足的不同性质和标准化的程度,把关系模式分为:第一范式、第二范式、第三范式、BC范式/第四范式第一范式第1范式First Normal Form , 即 1NF :一个关系的所有分量属性都必须是不可分的最小数据项
53、。以下不符合1NF,如何改造?学号姓名借书证号所借书籍0201李好JC002070,0250202张三JC002601,150,579,860姓名地址省市街道邮编甲江苏南京卫岗210095第二范式如果主键是由多个属性构成的复合关键字,并且不存在非主属性对主键的局部函数依赖,那么这个关系是满足第二范式。下面不满足2NF,如何改造?书号借书证号姓名书名借书日期应还日期还书日期0201JC002李好C语言2006-1-12006-3-12006-2-40202JC002张三操作系统2006-9-32006-11-3第三范式如果符合第二范式的条件,并且所有非主属性都不传递依赖于主关键字,那么就是第三范
54、式。假设每本书不可续借,那么“借书日期依赖于主关键字,而“应还日期 又依赖于“借书日期,那么存在传递依赖职工号职工职务工资1001张三工程师2001002李四技术员1201004赵二工程师2001005王五高工350适当的标准化综合考虑多种因素,进行适当的标准化标准化程度越高数据冗余更新异常连接运算时间查询时间效率8.6 系统平安设计 系统平安的定义国际标准组织(ISO)定义系统平安是为数据处理系统建立和采取的技术和管理的平安保护,保护计算机硬件、软件、数据不因偶然和恶意的原因而遭到破坏、更改和显露。我国专家定义系统平安是计算机的硬件、软件和数据受到保护,数据不因偶然和恶意的原因而遭到破坏、更
55、改和显露,系统连续正常运行。 平安的对象硬件平台软件平台应用软件数据平安的内容物理平安指系统设备及相关设施受到物理保护,免于破坏、丧失等。 逻辑平安包括信息完整性、保密性、可用性信息完整性:信息不会被非授权修改及信息保持一致性等;信息保密性:高级别信息仅在授权情况下流向低级别的客体与主体;信息可用性:合法用户的正常请求能及时、正确、平安地得到效劳或回应。 平安威胁的来源 系统平安级别5级用户自由保护级:管理信息系统的用户与数据隔离,使用户具有自主平安保护能力,通过口令等保护机制,具有鉴别用户身份的根本能力。 系统审计保护级:实施的访问控制粒度为单个用户,并控制访问权限的扩散,对平安相关的事件提供访问审计记录,为用户提供唯一标识,并具有将身份标识与用户所有可审计的行为相关联。 平安标记保护级:实施强制访问控制的平安保护策略,即以敏感标记为主体和客体,指定平安其平安等级是一个二维组,第一维是分类等级如密码、电子印章等,第二维是范畴。 结构化保护级:基于
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 农村小学学校安全工作计划
- 天祝县人民医院环境卫生工作计划与措施
- 聊城大学《外国文学二》2021-2022学年第一学期期末试卷
- 2024下半年学生会招新计划书
- 有机食品项目商业计划的消费市场分析
- 美术教学工作计划新版
- 年春季小学少先队广播站工作计划
- 2024下半年卫生院健康教育工作计划
- 门诊工作计划
- 财政干部培训计划
- 《子宫内膜异位》
- 金匮要略知到章节答案智慧树2023年浙江中医药大学
- 生态停车场监理规划
- 药房药品养护记录表
- 城乡居民基本医疗保险参保登记表
- 建筑设计防火规范
- 4D厨房设备设施管理责任卡
- 呼吸功能锻炼技术操作考核评分标准
- GB/T 5593-2015电子元器件结构陶瓷材料
- GB/T 3871.6-1993农业轮式和履带拖拉机试验方法第6部分制动试验
- GB/T 230.1-2018金属材料洛氏硬度试验第1部分:试验方法
评论
0/150
提交评论