




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第七章结构化系统设计•教学目的:1理解系统设计的任务
、
目标和内容2
理解结构化设计的基本思想3掌握如何从数据流程图导出结构图4掌握代码设计的原则与方法5了解输出设计的内容6了解输入设计的原则和内容7了解输入数据的校验方法8了解人机对话设计的原则教学重点:•
1
、
系统设计的任务
、
目标和内容•
2
、模块
、
结构图的概念与使用•
3
、模块的联系与耦合4
、变换分析和事务分析方法的原理与运用5
、代码的作用
、类型
、设计的原则及代码检验第一节系统设计的任务要求•
一
、
评价信息系统的标准1
、信息系统的功能2
、系统的效率3
、系统的可靠性4
、系统的工作质量•5
、系统的经济性•系统的经济性是指系统收益与支出之比
。这是确
定设计方案的一个重要因素。•6
、系统的可变更性第一节系统设计的任务要求•水波效应•为了使系统容易修改,首先要使其容易被理解,需要注意以下几个问题:•(1)把系统划分为一些部分,其中每一部分的功能简单明确,内容简明易懂,易于修改。我们把这样的部分称为模块。•(2)系统分成模块的工作按层次进行。首先,把整个系统看成一个模块,按功能分解成若干个第一层模块,这些模块互相配合,共同完成整个系统的功能。然后按功能再分解第一层的各个模块。依次下去,直到每个模块都十分简单。第一节系统设计的任务要求•(3)每一个模块应尽可能独立,即尽可能减少模块间的调用关系和数据交换关系。当然,系统中的模块不可能与其他模块没有联系,只是要求这种联系尽可能少。•(4)模块间的关系要阐明。这样,在修改时可以追踪和控制。•二系统设计的内容•系统设计的基本任务大体上可以分为两个方面:1.把总任务分解成许多基本的、具体的任务这些具体任务合理地组织起来构成总任务。这称为总体设计,又称为概要设计,其基本任务是:•(1)将系统划分成模块;•(2)决定每个模块的功能;•(3)决定模块的调用关系;•(4)决定模块的界面,即模块间信息的传递。第一节系统设计的任务要求第一节系统设计的任务要求•2.为各个具体任务选择适当的技术手段和处理方法•这便是详细设计,包括代码设计、数据库设计、输入设计、输出设计、人机对话设计、处理过程设计。•一模块•模块具有输人和输出、逻辑功能、运行程序、内部数据四种属性。模块的输入、输出是模块与外部的信息交换。一个模块从它的调用者那里获得输入,把产生的结果再传递给调用者。模块的逻辑功能是指它能做什么事,它是如何把输入转换成输出的。输入、逻辑功能、输出构成一个模块的外部特性。内部数据和程序代码则是模块的内部特性,是看不见的。模块用程序代码完成它的逻辑功能。内部数据是仅供该模块本身引用的数据。在总体设计阶段,主要关心模块的外部特性,模块的内部属性是以后要解决的问题。第二节结构化设计的基本概念第二节结构化设计的基本概念•二结构图结构化设计采用结构图(StructuredChart)描述系统的模块结构及模块间的联系。结构图中的主要成分有:•(1)模块用长方形表示。•(2)调用从一个模块指向另一模块的箭头表示前一个模块调用后一个模块。箭尾的菱形表示有条件地调用,弧形箭头表示循环调用。第二节结构化设计的基本概念•
(3)数据用带圆圈的小箭头表示从一个模块传递给
另一模块的数据。•
(4)控制信息带涂黑圆圈的小箭头表示一个模块传
送给另一模块的控制信息。•结构图的层数称为深度
。一个层次上的模块总数称为宽度
。深度和宽度反映了系统的大小和复杂
程度。•图例:模块之间的调用关系数据传递关系判断调用关系4.2.1结构图示例:循环调用关系转接符号第二节结构化设计的基本概念•三、模块间的联系结构化设计的基本思想,就是把系统设计成由相对独立、功能单一的模块组成的层次结构。为了衡量模块的相对独立性,提出了模块间的耦合与模块的内聚两个概念。这两个概念从不同侧面反映了模块的独立性。耦合反映模块之间连接的紧密程度,而内聚指一个模块内各元素彼此结合的紧密程度。如果所有模块的内聚都很强,模块之间的耦合自然就低,模块的独立性就强,反之亦然。第二节结构化设计的基本概念•四、模块间的耦合耦合是影响系统复杂程度的一个重要因素。若为了理解模块A,需要对模块B有所了解,则A,B之间有联系。如果需要对B的理解越多,则A,B的联系就越紧密,我们就说它们耦合越紧。若程序员要修改紧耦合中的一个模块,很可能不得不修改另一个模块。因此,模块间的耦合程度对系统的可维护性、可靠性有强烈的影响。第二节结构化设计的基本概念第二节结构化设计的基本概念•1.联系方式•如图7.3所示,联系方式有两种,即"直接引用"和"用过程语句调用"。•直接引用是指一个模块直接存取另一个模块的某些信息,这种耦合也称为公共环境耦合这种耦合的复杂性随耦合的模块个数而显著上升。降低这种耦合程度的办法是局部化,也就是把一个公共区分成许多子区,使每个子区上耦合的模块数减少。直接引用--公共耦合存在的问题:(1)系统可理解性降低(模块间存在错综复杂的连系)(2)系统可维护性差(修改变量名或属性困难)(3)系统可靠性差(公共数据区及全程变量无保护措施)慎用公共数据区和全程变量!!!•用过程语句调用,则是通过模块的名字调用整个模块,一个模块只有一个人口,所有数据来往都以参数显式出现。采用这种连接方式,模块间耦合程度比较低。当然,两个模块共享数据很多时,参数传递也不方便。第二节结构化设计的基本概念•2.来往信息的作用•模块间的来往信息可以作为数据使用,也可以作为控制信息使用。•若两个模块间传递的信息只作数据用,即一个模块提供的输出数据作为另一个模块的输人数据,则这种耦合称为数据耦合。这种耦合当然是需要的。•如果两个模块间传递的信息作控制用,这种耦合称为控制耦合。第二节结构化设计的基本概念控制耦合增加了模块之间的复杂性,调用模块必须知道被调模块的内部逻辑,增加了相互依赖。去除模块间控制耦合的方法:(1)将被调用模块内的判定上移到调用模块中进行(2)被调用模块分解成若干单一功能模块对/不对取口令并核对用户名、
口令B控制耦合举例:A○
A
用户名
口令B
取口令•
将B中核对口令功能划分到
A○●名次
(开关量)发奖牌!奖牌A发金牌发银牌发铜牌铜牌○金牌○银牌○A•3.模块间来往信息的数量•很明显,模块间传递的信息量越大,它们之间的耦合程度越高。因为正是这种传递关系造成模块间的联系。一个模块最好只了解它确实需要使用的数据,而完全不知道其他数据的存在。总之,结构化设计要求模块间的耦合程度尽可能小,为减小耦合程度应该:•(1)用过程语句调用其他模块;•(2)模块间的参数作数据用;•(3)模块间的参数尽可能少。第二节结构化设计的基本概念耦合扩展•非直接耦合:两个模块之间没有直接关系,它们之间的联系完全是通过主模块的控制和调用来实现的•数据耦合:一个模块访问另一个模块时,彼此之间是通过简单数据参数(不是控制参数、公共数据结构或外部变量)来交换输入、输出信息的。•标记耦合:一组模块通过参数表传递记录信息,就是标记耦合。这个记录是某一数据结构的子结构,而不是简单变量。•控制耦合:如果一个模块通过传送开关、标志、名字等控制信息,明显地控制选择另一模块的功能,就是控制耦合。•外部耦合:一组模块都访问同一全局简单变量而不是同一全局数据结构,而且不是通过参数表传递该全局变量的信息,则称之为外部耦合。•公共耦合:若一组模块都访问同一个公共数据环境,则它们之间的耦合就称为公共耦合。公共的数据环境可以是全局数据结构、共享的通信区、内存的公共覆盖区等。•内容耦合:如果发生下列情形,两个模块之间就发生了内容耦合•(1)一个模块直接访问另一个模块的内部数据;•(2)一个模块不通过正常入口转到另一模块内部;•(3)两个模块有一部分程序代码重迭(只可能出现在汇编语言中);•(4)一个模块有多个入口。问题•
void
main
(string
args
[])•
{•Console.Write
(Console.Read
())
;•
}标记耦合•假设有一个类Book是一个DTO类(只有属性的类,用来传递数据的类)。如果在数据层提供了BookAccess类由一个Add的方法。那么在逻辑层里面调用•Bookb=newBook();•//设值•BookAccess.Add(b);•假设User类提供了一个Login()方法,方法的定义是•boolLogin(stringUserName,stringPassword);•那么如果我们在页面上这么写•User.Login(UserN.Text,PassWd.Text);•
vo
id
output(boo
l
flag)
{•
if
(flag)•
{•Conso
le
.Wr
ite(
"OK!
");•
}•
else•
{•Conso
le
.Wr
ite(
"NO!
");•}•
}•
publicclass
a•
{
privatestatic
stringmsg
;•
publicstaticvoidmain
(stringargs
[])
•
{•
Read()
;•
Write
()
;•
}•
privatestaticvoid
Read()•
{•
msg=Console
.ReadLine();•
}•
privatestaticvoidWrite
()•
{•
Console
.Write(msg);•
}•Class
DAL•
{•
publicstring
sql;•
publicvoidExecSql
(stringsql)•
{•
}•
}第二节结构化设计的基本概念•五、模块的内聚模块的内聚反映模块内部联系的紧密程度。如果一个模块内部相关性很高,而且都是为了同一个功能,我们就说它的内聚程度高。•1、偶然内聚模块P,Q,R,S都有某些共同的操作,为了节约空间,减少程序量,把这些共同的操作抽出来,组成一个模块T。实际上这些语句间没有什么联系。•2.逻辑内聚将几个逻辑上相似的功能放在一个模块中,模块内联系就是逻辑型内聚。第二节结构化设计的基本概念•之所以称之为逻辑内聚性,是因为这些操作仅仅是因为控制流,或者说“逻辑”的原因才联系到一起的,它们都被包括在一个很大的if或者case语句中,它们之间并没有任何其它逻辑上的联系。如果一个逻辑内聚性的子程序代码都是一系列if和case语句,并且调用其它子程序,那么这是允许的。在这种情况下,如果程序的唯一功能是调度命令,而它本身并不进行任何处理,那么这可以说是一个不错的设计。•3.时间内聚•这是指与时间有关的联系,即把需要有限时间间隔内处理的成分放在同一模块内,例如一些初始化模块。这种模块的内聚程度比前两种稍高一些,但仍是一种低的内聚。•Startup(),CompleteNewEmployee(),Shutdown()等等•要避免这个问题,可以把临时内聚性子程序设计成一系列工作的组织者。第二节结构化设计的基本概念•4.步骤内聚•块内的元素属于同一个公共步骤单元,则称为步骤内聚。步骤内聚模块的内聚程度比时间内聚模块高。第二节结构化设计的基本概念第二节结构化设计的基本概念•5.通信内聚•通信内聚是指模块内的成分引用共同的数据。根据数据流程图容易判断一个模块是不是通信内聚。通信内聚的聚合程度较高,找不到更高的内聚结构时,这种结构是完全可以接受的。•比如,在GetNameAndChangePhoneNumber()这个子程序中,如果Name和PhoneNumber是放在同一个用户记录中的,那么这个子程序就是通讯内聚性。第二节结构化设计的基本概念•6.顺序内聚•顺序内聚是指模块中某个成分的输出是另一模块的输入。与通信内聚相比,顺序内聚的内聚程度更高。因为不论从数据的角度还是从执行的顺序来看,模块内各成分的关系都更紧密。但是与功能内聚相比,其内聚程度要低。第二节结构化设计的基本概念•假设一个子程序包括五个操作:打开文件、读文件、进行两个计算、输出结果、关闭文件。如果这些操作是由两个子程序完成的,DoStep1()打开文件、读文件和计算操作,而DoStep2()则进行输出结果和关闭文件操作。这两个子程序都具有顺序内聚性。因为用这种方式把操作分隔开来,并没有产生出独立的功能。但是,如果用一个叫作GetFileData()的子程序进行打开文件和读文件的操作,那么这个子程序将具有功能内聚性。当操作来完成一项功能时,它们就可以形成一个具有功能内聚性的子程序。•实际上,如果能用一个很典型的动宾词组来命名一个子程序,那么它往往是功能内聚性,而不是顺序内聚性。给一个顺序内聚性的子程序命名是非常困难的,于是便产生了像Dostep1()这种模棱两可的名字。这往往意味着你需要重新组织和设计子程序,以使它是功能内聚性的。第二节结构化设计的基本概念•7.功能内聚•若一个模块包括并且仅包括为完成一个具体任务所需要的所有成分,则这个模块是功能内聚的。这种模块的聚合程度是最高的。结构化设计的目标就是获得这种模块。•判断一个模块是否功能内聚,简单有效的办法是:从调用者的角度看,能用一个短语简单明确地描述这个模块做什么(不是怎么做!),分析这个短语就可以发现这个模块是完成一个具体任务,还是多个任务,或者做一些彼此无关的杂事??“解方程”、“求平方根”、“计算利息”都是具体任务好的子程序的名字•1.描述子程序所做的所有事情2.避免使用无意义的,模糊或表述不清的动词。3.不要紧通过数字来形成不同的子程序名字4.根据需要确定子程序名字的长度研究表明,变量名的最佳长度是9-15个字符。5.给函数命名时要对返回值有所描述6.给过程命名时使用语气强烈的动词加宾语的形式7.准确使用对仗词。8.为常用操作确立命名规则子程序可以写多长理论上认为的子程序最佳最大长度通常是一屏代码或打印出来1到2页的代码,也就是约50-150行代码。•1.子程序长度和错误量成反比。2.另一项研究发现,子程序的长度与错误量没有关联,而结构复杂度以及数据量却与错误量有关。3.IBM研究发现,最容易出错的是那些超过500行代码的子程序。超过500行之后,子程序的出错率就会与其长度成正比。•总结,如果编写超过200行代码的子程序,那你要小心了。对于超过200行代码的子程序来说,没有哪项研究发现它能降低成本和/或降低出错率,而且在超过200行后,你迟早会在可读性方面遇到问题。第二节结构化设计的基本概念•六、作用范围与控制范围程序中的每个判断都会产生如下后果:根据此判断的结果,某些处理执行了,而另外一些没有执行。即是说,有些处理的执行受判断的影响。由此引出判断的作用范围(或称影响范围)这一概念。•一个判断的作用范围是所有这样的模块的集合,这些模块内含有依赖于这个判断结果的处理。•结构化设计要求:对于任何一个判断,其作用范围应该是这个判断所在模块的控制范围的一个子集。换言之,所有受判断影响的模块应该从属于做出判断的那个模块。第二节结构化设计的基本概念•
七
、模块的扇入与扇出•
模块的扇出是指模块的直属下层模块的个数.第二节结构化设计的基本概念•一个模块的扇入是指有多少个上级模块调用它。扇人越大,表示该模块被更多的上级模块共享。这当然是我们所希望的。但是不能为了获得高扇人而不惜代价,例如把彼此无关的功能凑在一起构成一个模块,虽然扇人数高了,但这样的模块内聚程度必然低。•设计得好的系统,上层模块有较高的扇出,下层模块有较高的扇人。其结构图像清真寺的塔,上面尖,中间宽,下面小。第二节结构化设计的基本概念•八实例
:病人监护系统•本节讨论如何从数据流程图导出初始结构图。•数据流程图有两种典型的结构:变换型结构和事务型结构。对这两种结构,可以分别通过变换分析和事务分析方法导出标准形式的结构图。采用这些方法时,都是先设计结构图的顶端主模块,然后自顶向下逐步细化,最后得到满足数据流程图要求的系统结构。第三节从数据流程图导出结构图第三节从数据流程图导出结构图•一、变换分析•变换结构是一种线性结构。它可以明显地分成逻辑输入、主加工和逻辑输出。变换分析过程可以分为三步:找出逻辑输入、主加工和逻辑输出,设计顶层模块和第一层模块,设计中、下层模块。•1、找出系统的逻辑输入、主加工和逻辑输出•从物理输入端开始,一步步向系统的中间移动,直至这样一个数据流:它已不能再被看作系统的输入,则它的前一个数据流就是系统的逻辑输入。•介于逻辑输入和逻辑输出之间的加工就是主加工。•第三节从数据流程图导出结构图•当然,实际的数据流程图往往比这个例子复杂,输入、输出数据流都可能有多个。这时,需要对每个输人、输出数据流进行分析,确定相应的逻辑输入、逻辑输出。处于这些逻辑输入、逻辑输出之间的处理框就是主加工。主加工可能包括数据流程图中的多个处理框。第三节从数据流程图导出结构图第三节从数据流程图导出结构图•2、设计顶层模块和第一层模块•找到主加工之后,遵照"自顶向下,逐步加细"的原则,设计各层的模块。每创建一个模块,必须确定该模块的外部特征:模块的功能、与其他模块的界面(调用时传送的信息)。为每个模块起一个名字,这个名字应当恰如其分地反映出这个模块的功能。•系统的主加工就是系统的顶层模块,其功能就是整个系统的功能。•第一层模块按输入、变换、输出等分支来处理:为每一个逻辑输入设计一个输人模块,其功能是为顶层模块提供相应的数据;为每一个逻辑输出设计一个输出模块,它的功能即是输出顶层模块的输出信息;为主加工设计一个变换模块,它的功能就是将逻辑输入变换成逻辑输出。第一层模块与顶层模块之间传送的数据应该同数据流程图相对应。第三节从数据流程图导出结构图•3、设计中、下层模块•对输入、变换、输出模块逐个分解,便可得到初始结构图。•输入模块要为系统提供逻辑输入,一般要进行变换,先确定实现最后变换的变换模块。这个变换模块显然又需要某些输人,对每个这样的输入,对应一个新的输入模块。用类似方法依次分解下去,直到最终的物理输入为止。•对输出模块的分解与上面的办法相似。•对变换模块的分解,目前还没有与上面类似钓方法。此时,需要研究数据流程图中相应加工的组成情况。应用7.2节介绍的耦合、内聚等概念,有助于得到好的分解。由数据流程图出发,采用变换分析的办法比直观理解得到初始结构图要好得多。第三节从数据流程图导出结构图几点说明:•有的系统只有输入和输出两部分,没有主加工•根据经验,几股数据流的汇合处往往是系统的主加工•每个人都可以有自己的看法,找出来的主加工可能也不同,但一般不会相差太远。第三节从数据流程图导出结构图第三节从数据流程图导出结构图•二、事务分析任何情况下都可使用变换分析方法设计软件结构,但如数据流具有明显的事务特点时(有一个明显的事务中心),以采用事务分析方法为宜。事务分析设计方法步骤:(1)在DFD上确定事务中心。(2)为DFD上的事务中心设计主模块,再为每一种类型的事务处理设计一个事务处理模块。(3)为每个事务处理模块设计下面的操作模块,再为操作模块设计细节模块。某些操作模块和细节模块可以被几个上一层模块共用。3产生收据2计算汇费处理后的
汇款单1格式检查合格的
汇款单变换分析举例-DFD变换中心
输出4记账输入业务数据汇款单明细账收据的收据变换分析举例-转换后的MSC输出处理后
的汇款单取得合格
汇款单输入
汇款单处理后的
汇款单业务数据汇款处理系统产生收据格式检查计算汇费打印收据处理后的
汇款单合格的
汇款单合格的
汇款单合格的
汇款单处理后
汇款单记账业务数据汇款单汇款单收据1.2
新书入库入库单1.5借书目录文件罚款单借书文件罚款单图书管理要求1.1还书单要求类
型处理注销图书1.3注销单借书单1.4还书事务中心
无效输入事务分析举例-DFD事务分析举例-转换后的MSC图书处理系统
取得图书
处理要求修改借
书文件修改目
录文件打印
罚款单注销图书新书入库图书管
理要求
入库单操作层细节层还书借书………………还书单借书单注销单将教学管理系统二级数据流程图转换成结构图第四节一体化设计方法•总体设计的基本要求是建立一个较好的系统结构,实现系统说明书规定的功能。•结构化设计方法也有明显的不足。系统的总体设计应包括程序结构和数据结合两个方面,但传统的结构化设计只考虑程序结构方面,而进行数据结构方面的设计需要考其他方法。•一、基本概念1、初等功能•在数据流程图中,需要再分解为子功能的功能称为一般功能,不需要再分解的功能称为初等功能。与初等功能联系的数据流称为初等数据流。2、选单树•在一个规模较大的系统中,需要一系列的屏幕选单引导用户选择需要系统完成的功能。这些选单是按层次组织起来的,称为选单树。从用户角度看,选单树就是系统的总体结构。•3、事务•从用户角度看,事务是信息系统可独立完成的一项业务或活动。在数据流程图中,一项事务包含由数据流链接的一些基本功能、与这些基本功能联系的数据存储和外部实体。•信息系统的总体设计包括选单树的设计和事务设计。•二、选单树初步设计•选单树的设计分两阶段进行:•第一阶段,从DFD导出一个初始选单树;•第二阶段,在事务设计之后,修改、完善选单树。•第一阶段,从DFD导出一个初始选单树;•为了设计初始选单树,需要从顶层数据流程图开始,自顶向下考查所有数据流程图。凡是存在外部实体的DFD,都定义一个对应的选单屏幕,图中与外部实体联系的功能对应选单中的一行。若这个功能是初等功能,则相应的行用"T"标示。•一项事务有数据链接的几个初等功能及有关的数据存储、外部实体构成。•可以从初始选单中找到(标有"T")。由此出发,沿(或逆)数据流找下一个初等功能,依此下去,直到进入数据存储或外部实体,便可找到一项事务的所有成分。第五节代码设计•一、代码的概念•代码是用来表征客观事物的一个或一组有序的符号,它应易于计算机和人识别与处理。代码也简称为“码”。移动客服:1860学号:200208银行卡号:……学生证号:……•代码有以下功能:•(1)鉴别功能•这是代码最基本的特性。任何代码都必须具备这种基本特性。在一个信息分类编码标准中,一个代码只能唯一地标识一个分类对象,而一个分类对象只能有一个唯一的代码。•(2)分类•当按分类对象的属性(如工艺、材料、用途等)分类,并分别赋予不同的类别代码时,代码又可以作为分类对象类别的标识。这是利用计算机进行分类统计的基础。•(3)排序•当按分类对象产生的时间、所占空间或其他方面的顺序关系分类,并赋予不同的代码时,代码又可以作为排序的标识。•(4)专用含义•当客观上需要采用一些专用符号时,代码可提供一定的专门含义,如数学运算的程序、分类对象的技术参数、性能指标等等。三、代码设计的原则1、唯一性:一个代码应能唯一地标识它所代表的事物或属性。2、可扩充性和稳定性:预留足够的空间,以适应环境的变化。3、标准化与通用性:尽量采用国际、国内标准代码。4、代码的长度要统一,长度要合理。5、避免引起误解,不要使用易于混淆的字符。6、当代码较长时,应分成小段。代码的位则可以组成的代码总数为:C=S1*S2*……Sn2*2*2=826*10*10=260026*26*10=676026*2*=520A.-Z1 数为n,第i位上可0A.-Z1 数为n,第i位上可0、-910
、1A-Z代码总数的计算四、代码的种类1、顺序吗:用一组连续的数字或字母代表系统中的实体。顺序码123
管厂理长系外科语长系机科电员系……搜狐003参展商顺序码新浪001网易002…………优点:(1)简单易处理(2)记录的定位简单缺点:(1)没有逻辑含义,不能表示信息的特征,不更于记忆(2)无法插入,新加的代码只能列在最后(3)删除数据将造成空码2、区间码:按编码对象的特点把代码分成若干区段,每一区段表示编码对象的一个属性或状态。码中数字或字母的值与位置都代表一定的意义。例:4湖北省例:4湖北省例:4湖北省例:4湖北省细分为多面码
、上下关联区间码
、十进位码
。代表省、直辖市代表县或区代表地级市74例:身份证号码第二位:采购总量第一位:用户类型5其他部门——21:代表采购总量小于9999元的零售单位某企业的用户分类代码分类<9999元10,000-29,00030,000-49,999>49,999分类代码批发单位1零售单位2教育界3国防部门4代码1234——(1)多面码(特征码):在代码的结构中,为多个属性各规定一个位置,从而表示某一编码对象的不同方面的特征。例:螺钉有四个属性:材料、螺钉直径、螺钉头形状、表面处理1234:材料为不锈钢的1.0mm六角形头上漆螺钉2343:材料为黄铜的1.5mm方形头镀锌螺钉螺钉头形状表面处理螺钉直径材料平头圆头方形头六角形状钢不锈钢上漆镀铬未处理黄铜镀锌41231.51.0230.51123324138W(毛料)毛料女装39多面码的特点:各个属性之间不存在隶属或层次等关系,相互是独立的C(布料)M(男装)M38W:38号毛料男装F(女装)料子类别尺寸3537服装编码表F35W:35号(2)上下关联区间码(层次码):按分类对象的从属层次关系为排列顺序的一种代码。代码分为若干层并与对象的分类层次对应,代码最左端为高层代码,右端为低层代码。每个层次的代码可采用顺序码。司3:销武售汉科分的公司司3:销武售汉科分的公司2二级13一级……4最后一级3:会计组1:订单处理组2:广告组1:总公司1:销售科2:北京分公司2:会计科小组级公司级科室级112:代表总公(3)十进位码:由上下关联码发展而成,小数点左边的数字组合代表主要分类,小数点右边的数字代表子分类。一般用于图书分类:510数学520天文学530物理学620工程与技术科学621机械和电气工程621.1:蒸汽动力工程621.2:水力机械621.3:电子工程621.4:内燃机工程优点:(1)便于描述实体的多个属性(2)排序、分类、检索等操作易于进行缺点:(1)码的长度与它分类属性的数量有关,有可能造成很长的码(2)在很多情况下,码有多余的3、助忆码:用手工系统中表示实体特征的字母或数字等直接作为编码的一部分。TV-B-12:12英寸的黑白电视机TV-C-20:20英寸的彩色电视机优点:便于记忆,易理解缺点:编码的长度不定,给分类、处理带来不便五、校验码1、校验码的作用人们在重复抄写代码或将代码录入计算机时,因为人为的原因或计算机系统的故障,可能会能进入系统的代码出现各种各样的错误。为了尽可能地减少些错误,往往要使用编码校验技术。2、校验码的概念检验码是在编码结构设计的基础上,根据事先规定的算法计算出来的。校验码一般为一位或两位,附在原代码的后面,与原代码一起构成编码对象的代码。3、校验码的使用使用时将校验码与原代码一起输入计算机。然后计算机会用同样的算法按输入的原代码计算机出校码码,并将它与输入的校验码比较,以检验输入是否正确。4、校验码的设计过程(1)对原代码中的每一位加权求和其中权因子可以为以下几种算术级数(自然数):123456……几何级数:248163264128……质数:23571113171923……C1C2……CnP1P2……PnS=C1P1+C2P2+……+CnPn设原代码为n位:权因子为:则加权和为:(2)用加权和除以模得到余数R=Smod(M)R:代表余数M:代表模(如10,11……)mod()为取模:求两数相除的余数(3)求校验位一般将模和余数之差作为校验码也可直接将余数作为校验码将校验位附加在原代码之后5、校验码的设计举例原代码为:12345(1)算术级数法(权因子为算术级数)原代码:12345权因子:65432加权和:s=1*6+2*5+3*4+4*3+5*2=50加权和除以模11,得到余数“6”代码为:123456(2)几何级数法(权因子为几何级数)原代码:12345权因子:3216842加权和:s=1*32+2*16+3*8+4*4+5*2
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 【正版授权】 ISO/IEC GUIDE 98-6:2021 EN Uncertainty of measurement - Part 6: Developing and using measurement models
- 【正版授权】 IEC TS 60695-1-14:2017 RU Fire hazard testing - Part 1-14: Guidance on the different levels of power and energy related to the probability of ignition and fire in low voltag
- 文化创意产业园区合作共建协议
- 应急知识考试试题及答案
- 音乐老师考试试题及答案
- 医院价格考试试题及答案
- 六一入学仪式活动方案
- 六一宣传拍摄活动方案
- 六一怀旧聚会活动方案
- 六一晚会活动策划方案
- 生物基可降解地膜行业深度调研及发展项目商业计划书
- 出租车租凭合同协议书
- 《税务风险文献综述》
- 公司业务提成方案
- 《数学归纳法》 优秀奖 教学课件
- ANSIESD S20.202021 中英文对照版
- 投入的主要施工机械计划
- GB-T 19639.2-2014 通用阀控式铅酸蓄电池 第2部分:规格型号
- 公司财政资金财务管理办法
- 《数据采集与预处理》教学教案(全)
- DVD在线租赁的分配问题
评论
0/150
提交评论