会计信息系统分析设计.ppt
信息系统的开发是一项十分复杂而艰巨的系统工程。其开发方法主要有两种:原型法 系统生命周期法。原型法的开发过程可分为四个阶段:确定需求阶段 用户提出初步的基本要求和应用范围,这时的需求可能是粗糙的和不完全的,但是是最基本的。开发初始原型阶段 开发者根据用户的初始需求,先开发出一个应用系统的初始原型。初始原型不要求完全,但要基本满足用户的需求。原型评价阶段 让原型投入运行,请用户提出原型存在的问题。原型修改提高阶段系统生命周期法又称瀑布模型,是国内外广泛采用的信息系统的开发方法。其研制过程一般可分为三个阶段,即系统分析、系统设计、系统实施与评价。生命周期法的开发过程n 提出任务n 初步调查n 可行性分析n 详细调查n 新系统的逻辑设计n 系统的物理设计(系统设计)n 系统实施n 系统的运行和维护系统分析阶段的任务是确定新系统的目标和逻辑模型。一个新系统往往在现行系统的基础上发展起来的,首先要提出现行系统存在的问题及新系统的目标和任务,针对这些问题进行可行性分析,分析建立新系统的必要性,及其在经济上、技术上和组织上实现的可能性,提出可行性分析报告。在可行性报告通过后进行详细调查,全面分析现行系统的工作流程、数据流程,确定新系统的逻辑模型,即新系统应具有哪些功能。系统设计阶段的任务是根据前一阶段的逻辑模型提出物理模型,解决怎么做的问题。例如把系统的功能模块设计,将系统划分成若干个子系统,计算机流程设计、数据库文件设计、输入输出设计,编写程序设计说明书等。系统实施评价阶段将投入大量的人力和物力,该阶段的任务有:设备的添置、程序的编制与调试,子系统、系统的调试与测试,人员的培训,系统的转换,系统的维护与评价等。系统生命周期法的特点是:采用系统的观点与系统工程的方法,自顶向下进行系统分析与设计,并自顶向下进行系统实施。开发的每一个阶段都有明确的任务,并要求有标准化的阶段文档资料,作为本阶段的工作审核依据,也是下一阶段的接口文档,以便于整个信息系统开发过程的管理和交换。用户至上观点贯穿系统开发的始终。在开发的过程中,吸收用户单位的管理人员和业务人员参加,每一个阶段的成果都经用户审查。将逻辑设计与物理设计分开,在系统分析阶段着重逻辑设计,设计出新系统的逻辑模型,使用户看到新系统的梗概,而系统设计阶段进行物理设计,解决怎么做的问题。本方法适用于大型信息系统的开发,其缺点是开发周期较长,维护修改不方便。原型法与传统的生命周期法的比较 原型法适合于需求不确定和管理方案不明确的系统的开发,完整的用户需求和管理方案可以通过原型与用户反复交互来导出。原型法还适用于开发信息系统中的最终用户界面。当用户事先说不清楚界面的具体要求,或者虽然说明了要求,开发者却把握不准的时候,用原型法特别有效。原型法不大适合开发大的系统,除非做了彻底的需求分析,因为大系统中数据流程与逻辑处理功能错综复杂,很难生成一个大系统的原型;其次,用原型法开发系统的时候,测试和文档往往被忽略,使系统日后维护很难进行;第三,用原型法开发的系统可能运行效率较低,因为最初的原型结构不一定是合理的,以此为模板多次改进后的最终系统可能仍然保留这种不合理性,除非开发者具有非常丰富的开发经验。一、系统分析的任务电算化会计信息系统是以手工会计信息系统为基础,根据计算机的特点,对现有系统进行分析,得出新的能实现并补充旧系统的各种功能的系统逻辑模型。为了能开发出符合用户要求的高质量、实用的会计信息系统,必须先了解和描绘出用户对会计信息系统的要求,明确系统必须具有哪些功能,这个工作即为系统分析。系统分析员着重要解决“系统要干些什么”的问题,围绕这些目的,系统分析的任务就是在了解用户要求的基础上,以书面形式描述系统新的逻辑模型。二、系统分析的步骤为了能完成系统分析的任务,需按以下步骤进行:.对系统开发进行可行性分析系统分析的第一步就是要论证系统开发的可能性,作出可行性分析报告。.详细调查现行系统系统分析的第二步就是对新会计信息系统的基础现行会计信息系统进行详细的调查,搞清现行会计信息系统的边界、组织机构、人员分工、业务流程、各种帐、证、表的格式、种类及处理过程。.描述现行系统在进行详细系统调查的基础上,用规定的图表、文字描述现行系统,得出现行会计信息系统的逻辑模型。.分析用户的要求,改进现行模型,形成新系统逻辑模型。对现行会计信息系统的逻辑模型进行分析,根据计算机的特点,改进旧模型中的不合理之处,增设新的功能,得出新系统的逻辑模型,包括建立新系统的数据流图,规定新系统的数据存储策略、输入输出格式、运行环境和系统的性能。.编制系统分析说明书会计电算化系统是建立在原有会计信息系统上的一个新系统,会计信息系统的特点是数据量大、数据关系错综复杂,人为因素多,而且各个环节的数据处理方式因单位而异,各种帐、表、卡的规格和要求也不尽相同,所以整个开发过程是个繁琐而又需要慎重的工作,在系统分析阶段的首要任务是进行可行性研究。.初步调查 可行性研究可行性研究 1、可行性研究的定义和意义 可行性研究即可能性与必要性研究,对拟建项目在技术上的先进性、适用性,经济上的合理性、盈利性,以及项目实施等方面进行深入的研究与分析,确定目标,提出问题,制定方案和项目评估,为决策提供科学依据。意义它是确定项目开发的依据;是制定下阶段工作范围、工作计划、协调各部门活动的依据;是分配资源的依据;是系统开发的准则。2、可行性分析(1)必要性分析(显见,预见,隐见)(2)可能性分析(经济可行性,技术可行性,运行可行性)3、可行性分析报告详细调查的目的就是要充分了解现行系统,由此来确定未开发新系统的一个基本目标,为开发新的电算化会计信息系统打下良好的基础,因此,它的任务包括以下几个方面:建立现行会计信息系统的逻辑模型 了解现行会计信息系统运行环境。了解待实现会计信息系统的运行环境。电算化会计信息系统的运行环境包括:人员配置、硬件配置及软件配置等。确定开发进度、制定开发计划 编制系统调查报告详细调查的步骤和内容:会计工作组织机构及人员分工的调查 对业务流程的调查 对系统边界的调查 对会计信息系统数据处理模型的调查现行系统的详细调查 1、详细调查的目的 为确定系统逻辑模型而对现行系统的信息、业务流程、功能结构、存在问题等进行的调查。2、详细调查的范围 组织机构和功能业务,组织目标和发展战略,工艺流程和产品构成,数据和数据流程,业务流程与工作形式,管理方式和具体业务的管理方法,决策方式和决策过程,可用资源和限制条件,现存问题和改进意见。3、调查方式 面谈、调查表、查阅资料、观察 4、调查要领 安民告示;调查顺序;数量概念;研究分析;调查态度详细调查的内容与工具:组织机构调查分析 组织机构图功能体系的调查与分析 功能体系图管理业务流程的调查与分析 业务流程图,表格分配图数据的调查与分析 数据流程图 功能需求分析功能需求分析是指对现行系统进行目标分析、环境分析,得出待实现会计信息系统的目标和功能模型,最后建立新的电算化会计信息系统的逻辑模型的过程,简而言之,即是对现行系统进行分析和评价,找出不足之处,并根据用户的要求,对现行系统进行修改和添加,以得到新系统逻辑模型的核算过程。是系统分析中最重要的一个环节。功能需求分析要建立在详细调查的基础上。、目标分析目标分析包括对现行系统的目标分析和待实现系统的目标分析。现行系统的目标分析 实现系统的目标分析、环境分析 软硬件环境分析 人员配置 业务流程 需求分析 数据分析、数据收集、数据质量控制、数据字典、数据流分析 数据流程图结构化系统分析的基本概念 系统开发的目的是要向用户满足他们需要的新系统。系统分析是这一过程的核心,这项工作主要由系统分析员承担,其主要任务是分析用户的要求,确立新系统的逻辑模型。结构化系统分析方法是这一阶段中常用的方法。1、结构化系统分析的含义 结构化分析是指用一组标准的准则和工具来从事分析工作,它是一种利用系统工程的思想和有关结构的概念,自顶向下划分模块,逐步求精的一种分析方法。结构化分析的基本思想是:第一,强调系统的观点,把研究的对象看作一个系统,并从总体出发;第二,分解与抽象的观点,首先把整体分成若干部分,把系统分解为若干子系统,逐层进行分解,在分解过程中要抓住主要问题忽略次要问题,集中精力先解决主要问题,这就是抽象,“自顶向下”逐步细化的就是上述思想解决问题的一种策略。2、结构化系统分析的基本思想 系统的观点,分解的观点,自顶向下逐步细化 3、结构化系统分析的特点 (1)简单、清晰、易学;(2)降低系统的复杂程度;(3)图表为描述工具 4、结构化系统分析的工具 (1)数据流程图 (2)数据字典 (3)处理逻辑(决策表、判定树、结构化语言)(4)数据立即存取图 (5)数据存储结构规范化数据流程图一、数据流程图的基本符号 1、数据流 (Data Flow)数据流简称F,表示数据的流向,一个数据流可以是一个或多个记录、组合项或基本项。数据流通常可以是计划、单据、报表的传递,也可以是通讯线路或通道中的数据传输。数据流通常用带箭头的线条组成,箭头所指方向为数据流向。2、处理逻辑(Process)加工处理简称P,表示对数据进行的操作,如变换数据的组成,即改变数据结构;或在原有的数据内容基础上增加新的内容,形成新的数据。加工处理用圆圈表示,在圆圈中写上处理逻辑的名称,如“计算”、“打印”、“计提折旧”等,其中加工处理可以是人工的,也可以是计算机的,可以是粗略的,也可以是细化的。3、外部实体(Data Source/Destination)数据源/去向简称S,表示数据的来源或目的地,它可以是一个组织、部门或人,它们处于系统界限之外,有时也称它为外部实体或外部项。确定数据源/去向,实际上就是明确系统与外部环境之间的界限,从而确定系统的范围。数据源/去向可用矩形框表示,在框中注明外部实体的名称。4、数据存储(Data Store)数据存储简称D,是指数据暂时存储或永久存放的地方,它可以是一个手工文件,如帐册、单据等,也可以是建立在计算机存储介质上的数据文件或数据库表。数据存储用向右开口长方形表示,在其中写上其对象的属性,如“订货单”、“凭证”等。将上述四种符号连接起来,就可以表达一个管理信息系统的信息处理流程、逻辑功能以及系统各部分之间的复杂关系,也就是该系统的数据流程图。数据流程图的基本符号数据流程图的基本符号外部实体外部实体处理过程处理过程数据存储数据存储数据流向数据流向顾客顾客供应供应商商1处理处理业务业务订货单订货单发货单发货单订货单订货单发货单发货单配件库存配件库存汽车配件公司:第一层数据流程图汽车配件公司:第一层数据流程图顾客顾客供应供应商商销售销售订货单订货单发货单发货单配件库存配件库存汽车配件公司:第二层数据流程图汽车配件公司:第二层数据流程图11采购采购12订货单订货单发货单发货单到货通知到货通知会计会计13收收据据应应付付款款通通知知向供应商的订货单向供应商的订货单顾客顾客采购采购编编 辑辑订货单订货单订货单订货单配件库存配件库存汽车配件公司:第三层数据流程图汽车配件公司:第三层数据流程图1.1.1确确 定定顾顾 客客订订 货货1.1.3产产 生生暂暂 存存订货单订货单1.1.5对对 照照暂暂 存存订货单订货单1.1.6业务业务员员开发货开发货单并修单并修改库存改库存1.1.4不合格不合格顾客顾客D2D3可发可发订货订货不满足不满足的订货的订货登登 录录新顾客新顾客数数 据据1.1.2暂存订货单暂存订货单D4到到货货通通知知新顾客新顾客编制销编制销售和库售和库存报表存报表1.1.8销售历史销售历史D5应收款明细账应收款明细账D10配件库存配件库存D3合格的订货单合格的订货单检检 索索库库 存存1.1.7经理经理询询 问问库库 存存库库 存存状状 态态二、数据流程图的特点与优点1、特点:抽象性,概括性,层次性2、优点:符号简单 可以对部分业务进行分析 只反映逻辑特性三、自顶向下的处理方法 可按自顶向下逐层细化的原则画出各层数据流程图四、出错与例外情况处理 这部分往往是容易忽略的五、分配有意义的标注 在流程图中加上标注在观看与理解流程图时带来方便六、数据流程图的绘制步骤 1、掌握业务处理的全部资料(正常与例外处理)2、确定系统的外部实体与输入、输出,画出顶层图 3、按自顶向下的处理原则,逐级分解、扩充和调整 4、反复修改数据流程图 5、画出正式的数据流程图数据字典 数据字典是对数据流程图的补充一、数据元素 编号,名称,别名,含义,类型、长度、取值范围二、数据结构 编号,名称,组成三、数据流与数据存储 编号,名称,简述,来源,去向,组成四、处理过程 编号,名称,输入数据流,输出数据流,功能描述处理逻辑的分析与表达1决策树(Decision Tree)决策树是用二叉树型图来表示处理逻辑的一种工具。近一年无欠款-折扣率10%一次交易 与本公司交易3年以上-折扣率 5%某公司 额满5万 近一年有欠款 折扣政策 与本公司交易不超过3年-折扣率 2%一次交易不满5万-无折扣 用决策树来表达比用语言来表达用更加直观、明确。图中从决策树的左根部到扩展的分枝,共有三个分叉,即三个判断条件:一次交易额是否满5万、近一年内是否有欠款、与本公司交易是否3年以上,图中最后一列则是采取的行动。全图表示了经过不同条件的判断和决策,作出相应处理的过程。决策树的不足之处是没有考虑条件的组合关系。二、决策表(Decision Table)判定表是采用表格形式来表示处理逻辑的一种工具。判定表分为四个大部分:左上角为条件说明,左下角为行动说明,右上角为各种条件的组合,右下角为各种条件组合下的行动。这时仍以前面的折扣政策为例,表示为判定表如下表所示。三、结构式英语 1、顺序结构 2、选择结构 如果 一次交易额满5万 如果 近一年内无拖欠款 则 折扣10%否则 如果 与本公司交易3年以上 则 折扣5%否则 折扣2 否则 无折扣 3、循环结构几种逻辑表达工具的比较:会计电算化系统的设计 系统设计的任务和步骤由于会计系统的信息量大,数据类型多,数据来源分散。而且随着生产的发展,产品结构的变化,会计的数据类型和信息量也随之改变,所以说设计一个会计电算化系统是相当繁杂的工作,它不仅要考虑现在,而且要预计未来的变化。系统设计就是根据系统分析所得到的逻辑模型,将用户的要求转换成一个具体的物理模型。系统设计的主要任务有两个:总体设计,包括系统的总体结构设计和把系统功能分成若干子系统,再将子系统分若干个功能模块,并确定系统的软件、硬件配置。详细设计,包括代码设计、数据结构设计、输入/输出设计、计算机处理流程设计和程序设计说明书编写。系统设计的步骤为:根据系统分析的结果,参照手工系统的业务流程图,确定模块的功能,以及它们之间的关系和数据传递接口。根据系统分析所描述的系统要实现目标、要完成的功能、和企业的财力、环境等,选择软硬件配置。根据系统分析所描述的和数据流图,确定数据库结构。根据系统分析所描述的功能和对手工编码的分析,进行代码设计。根据系统分析的结果和软硬件的配置,确定输入输出方式。完成程序设计说明书及系统设计说明书。系统设计是一项复杂而又细致的工作。系统设计的优劣直接关系到系统的经济效益,所以要求系统有以下性能指标:可靠性:可靠性是指系统运行时抵御外界干扰(包括人为干扰和机器故障)的能力和数据的安全保密性。工作质量和工作效率:系统工作质量是指系统的操作是否方便、直观,提供的信息是否清晰、丰富、准确,以及各种输入形式,如表格、图表等是否符合用户的要求。系统的工作效率是指系统的时空效率即处理速度和空间存储能力。可维护性:可维护性是指对系统进行修改、完善,以适应不同环境的方便程度。合法性:合法性是指系统的编码规则、记账方法、核算方法、会计报表等应符合财政部以及有关方面的会计制度。经济性:经过性是指使用系统后的收益大于支出的比例。第一节 系统设计概述一、系统设计的任务与步骤1、总体设计子系统及功能模块设计2、详细设计代码、输入/输入、数据存贮、处理流程3、编制程序设计说明书二、系统设计的特点及原则1、特点用户要求、系统环境、时间约束、质量控制2、原则系统观点、模块化结构、用户参与、阶段性策略、软件的独立性第二节 结构化系统设计方法一、SD方法的基本思想 将一个复杂的系统分解为若干相对独立、功能单一的模块结构,模块的分解采用自顶向下、由抽象到具体的方法,最低层的模块一般可用一个或少数几个程序来实现。1、模块内部的联系内聚性 功能聚合 顺序聚合 通讯聚合 过程聚合 时间聚合 逻辑聚合 偶然聚合2、模块间的联系耦合性 数据耦合 公共耦合 控制偶合 内容耦合二、模块化设计的优点:(1)可使原来复杂的问题得到简化,使复杂的多方面需求逐个得到满足(2)便于对各相对独立的模块分别进行编码与测试(3)减少了出错机会(4)减少了出错程序的影响面(5)有利于关键模块的优化处理(6)使模块的复用成为可能(7)每个模块功能明确,开发的程序易于理解(8)有利于估算开发成本与工作量三、划分模块的标准1、模块独立性大2、恰当掌握模块大小四、模块结构图1、模块 通常由矩形框表示模块,在矩形框中写上模块的名称。2模块的调用 在模块结构图中,用连接两个模块的箭头线表示调用,箭头总是由调用模块指向被调用模块,被调用模块执行后又返回到调用模块。3模块间的通讯数据流程图与模块结构图的比较 在结构化系统分析中,采用的主要工具是数据流程图,而在结构化设计中,采用模块结构图作为主要工具,两者的差别在于:第一,数据流程图是从数据在系统中的流动情况,即从数据流的角度来考虑系统,而模块结构图是从功能层次关系的角度来考虑问题的;第二,数据流程图主要反映系统逻辑模型,说明系统做什么,而模块结构图则反映系统物理模型,主要说明如何做;第三,数据流程图分层描述系统中的数据情况,每张数据流程图对应于模块结构图中的某一层次;第四,数据流程图的绘制过程是从具体到抽象,逐步去掉各种物理的处理方法,只剩下抽象的信息流情况,而模块结构图则相反,它是从一个总的抽象的系统功能出发,逐一具体化,逐步加入具体的实现方法和技术手段,最后设计出物理模型,即从抽象到具体的过程。模块的控制范围和判断影响范围 一个模块的控制范围,是指它可调用(直接或间接)的所有下层模块和其本身所组成的集合。一个模块的判断影响范围,是指该模块中包含的判断处理所影响到的所有其它模块的集合。模块的控制范围和判断影响范围的关系,直接影响到模块关系的复杂性及系统的可修改性、可维护性。一个好的模块结构,应该满足以下要求:第一,对于任何一个具有判断功能的模块,其判断影响范围都应当是它控制范围的一个子集,第二,内部存在判断调用的模块和属于其判断影响范围的模块,二者所在的层次不要相隔太远。因此,最理想的判断影响范围是由判断所在模块及其下层模块组成。第三节 总体设计一、由数据流程图导出初始结构图 要绘制模块结构图,实际上是对系统功能模块进行分解设计,即合理地把数据流程图转变为所需要的控制结构图。如何有效地从数据流程图上找出不同系统的结构类型和变化规律,从而方便地从数据流程图得到控制结构图,通常采用两种结构分析方法,即模块结构图的两种标准形式,它们是变换型结构和事务型结构。1变换型结构 变换型结构也称为转换中心结构,是根据数据流程图绘制控制结构图的一种分析方法,它通过在数据流程图中找出数据流动路径和对数据进行处理的中心环节,确定数据输入、数据加工和数据输出三部分组成,它的功能是根据输入的数据经过加工后输出结果。变换型系统工作时,首先主模块受到控制,随着控制结构到达输入模块,然后通过控制对数据进行变换,最后输出结果。如在下图中,当底层模块输入数据A后,经中心变换转换成逻辑输出B,最后变成物理输出D。变换型结构适合于顺序模块结构的形式。2事务型结构 事务型结构也称为业务中心结构,它的功能是对接收的事务,按其类型选择某一类事务进行处理。当来自同一数据源的数据,在数据流程图中流经的逻辑路径相同时,采用变换型结构较合适,但当进入系统的业务处理有若干种,需要根据判断处理模块的处理结果确定进行不同的业务处理时,变换型结构不再适用,这时采用事务型结构。下图是事务型模块结构的例子。在大多数系统的结构设计中,两种结构分析方法是同时结合使用的。第四节 详细设计一、代码设计1、代码的作用 便于输入、节省空间、提高速度、提高标准化程度、便于计算机识别处理、提高处理精度2、代码分类:顺序码按位编码分组码字母编码组合编码3、代码设计原则 适合计算处理便于使用具有系统性、通用性、容易理解记忆性选择最小值代码代码标准化4、代码设计步骤5、代码和校验二、输入输出设计在系统详细设计中,输出设计占据着很重要的地位,这是因为输出数据是系统对输入的数据进行加工处理的结果,只有通过输出才能为用户所用,因此输出的内容与格式是用户最关心的问题。另一方面,从系统开发的角度来看,输出决定输入,即输入数据只有根据输出要求才能确定。因此,在进行系统设计时,一般是先进行输出设计,后进行输入设计。1、输出设计(1)输出类型的确定输出信息按信息的使用者可分为以下各种类型:外部输出:输出目标是系统以外的环境;内部输出:输出目标是系统内的各级用户;中间输出:计算机处理过程中的中间输出结果,这些结果是还需要进一步输入和处理的。交互输出:计算机以通讯方式与用户直接通话,即以人机对话方式输出。操作输出:计算机运行过程中与操作有关的输出,如操作日志、出错信息等。(2)输出内容设计 输出内容设计涉及两方面的内容,一是确定输出信息使用方面的要求,包括使用者,使用目的或用途,使用频率或周期,数量、时间需求,机密与安全性要求等。二是输出信息的内容设计,如输出项目及其数据结构,数据类型、宽度及取值范围,数据的生成途径,完整性与一致性的考虑等。(3)输出格式设计 由于输出主要介质是屏幕与打印纸,根据不同的特性设计出清晰、完观、易于阅读和理解的输出格式,对于打印输出的表格,除说明表头、表体、表尾的格式要求外,还应列出表格中各数据项的长度和输出格式描述。(4)输出设备的选择 最常用的输出设备是打印机和显示器,此外还有绘图仪,缩微胶卷输出器等,也可以将输出数据以文件形式输出保存在磁盘、磁带或光盘中。不同输出设备具有不同的特点,要根据需要为输出信息选择合适的输出设备。2、输入设计输入设计 输入设计必须根据输出设计的要求来确定,输入设计的出发点是确保向系统提供正确的输入数据,输入设计的目标是在保证输入数据正确和满足需要的前提下,应做到输入方法直观、简单、方便、迅速和经济。输入设计的步骤有确定输入内容,选择输入设备与输入方式,确定输入格式,输入数据的校验等。(1)确定输入内容 输入的内容包括输入数据的名称,数据类型、精度或位数、数值范围及输入要求说明。(2)输入设备与方式 输入数据最常见的设备是终端,也可以是语音输入、光笔输入、磁性墨水阅读器输入、条形码扫描输入,软盘输入,网络传输输入等方式。数据输入设备与方式的选择与数据发生地点、时间、数据量、频度及数据特征、处理速度的要求有关,也与数据收集的环境、输入的校验方法等有关。(3)确定输入格式 在确定输入格式时,应注意以下几点:尽量减少输入工作量,提高输入效率,减少输入差错;避免重复输入造成数据不一致;设计的格式应便于操作填写,同时保证输入速度;输入格式关系到数据的存储结构,尽可能减少输入数据的存储空间。(4)输入数据的校验 在一个管理信息系统中,数据输入量十分庞大,为了保证输入数据的正确性,一般在输入设计时,都提出了对输入数据进行校验的要求与方法。常采用的数据校验的方法有:二次输入法。采用两人在不同的时间录入相同的数据,然后对比校验,找出不同之处,确定错误数据。屏幕校验法。由数据输入员输入数据,数据审核人员通过屏幕显示出输入员输入的数据进行审核,如目前会计核算系统中记帐凭证的输入采用本方法进行校验。控制总数校验。对全部或选定数据项的所有数值求和。逻辑校验,也称合法性校验。检查数据项的值是否合乎逻辑。界限校验。检查数据输入值是否超出预先设定的界限。平衡校验。检查输入的数据中是否符合数据项之间的平衡关系。数据类型校验。检查输入的数据是否符合该数据项的类型。代码校验位校验。检查输入的代码是否有错。三、数据存贮设计 一个管理信息系统可以建立在文件系统上,也可以建立在数据库系统上。但一般较为大型或中型的管理信息系统,由于时间和空间都较为紧张,而数据量又大,处理过程复杂,因此文件系统很难胜任,必须采用数据库技术,其中数据库是整个系统的基础和核心。数据库设计是系统设计的一个重要环节,直接影响到系统的水平与性能。数据库设计和文件设计不同,文件设计仅仅考虑一个文件的结构,即它的数据项构成,而数据库设计除了考虑文件结构外,更重要地是要考虑整个系统各文件间的联系,即要分析、设计、描述、实现这些联系。但是这些联系是很复杂的,这也是数据库系统复杂的原因。在数据库设计时首先要根据系统数据流程图、数据字典中的有关说明以及业务处理的要求和特点,先建立有关数据库表文件的结构。在设计时要求充分利用数据库理论尽量减少数据冗余,优化并确定数据库表文件间的关系。数据库设计数据库设计 数据库系统由数据库、数据库管理系统及用户组成。数据库设计是系统设计的一项重要工作,其设计步骤经历数据库概念设计、数据库逻辑设计、数据库物理设计和数据库实现的过程。1、数据库概念设计 数据库概念设计指设计数据概念模型,数据概念模型是对现实世界的一次抽象与模拟,是在用户要求描述与分析基础上进行的,以用户能理解的形式表示,实体联系模型(E-R模型 Entity Relationship model)是最常用的数据概念模型。在E-R图中一方面反映了每一实体所具有的各项属性,另一方面反映了各实体间的联系(一对一,一对多,多对多)。数据库概念设计就是使用数据概念模型来描述用户的数据处理现实世界,在系统分析的基础上画出E-R图,然后分析消除冗余数据和冗余的联系,给出函数依赖表达式。用E-R图进行数据库概念设计时应注意:(1)区分实体与属性对于系统分析阶段收集的数据,哪些作为实体,哪些作为实体的属性,没有严格的界限,可以先按自然情况划分,然后进行调整。一般来说作为属性的事物不再有需要描述的性质或与其它事物有联系。(2)在画E-R图时,先画局部的E-R图,然后将各部分E-R图汇总,形成总的E-R图。(3)对E-R图进行分析,去掉冗余的数据;(4)在E-R图中去掉冗余的联系,这是一项复杂的工作。可以先把E-R图中的实体符号化,然后对每一个联系都形成一个函数表达式,表达式的左部为与该联系有关的实体,右部为描述该联系性质的属性,若无属性则记为空。可以用求函数依赖集的最小覆盖的算法进行极小化处理,求出最小覆盖,以后的工作可在数据库逻辑设计阶段进行。2、数据库逻辑设计 数据库的概念设计与DBMS无关,而逻辑设计受到所支持的数据模型的约束。数据库逻辑设计是在数据库概念设计的基础上把概念结构转换成某个DBMS支持的数据模型上的结构表示,即逻辑模式,然后再对这个逻辑模式进行规范优化。(1)E-R图向数据模型转换 由于关系模型是目前绝大多数DBMS采用的数据模型,因此这里的转换是把表示概念结构的E-R图转换成关系数据模型。关系数据模型的逻辑结构是一组关系模式,从E-R图转换成关系模式时,实体与属性的转换比较容易,一个实体对应一个关系模式,实体的属性就是关系的属性,因此转换时主要是实体间的联系。两个实体间的联系有一对一,一对多和多对多三种形式,对于前两种形式可直接转换,而对于多对多的情况注意引入新的关系,使它们转化为两个一对多的关系。(2)关系数据规范化方法3、数据库物理设计对于给定的数据模型选取一个最适合于应用环境的物理结构的过程,称为数据库的物理设计。数据库的物理结构主要是指数据库在物理设计上的存储结构和存取方法,它显然是依赖于具体的计算机的。目前在信息系统中的数据库一般都是存放在磁盘上的,这阶段的设计是考虑数据在磁盘上应如何存取,如何组织才能节约存储空间并且加快存取速度,如何满足多个用户对数据的不同要求,确定对数据存储应建立的哪些存取路径。物理设计的任务就是根据数据库全体用户的应用要求,合理地考虑各种因素,在多种方案中选择一个存储空间利用率高、存取速度快和维护代价小的方案去实现数据库。因此,物理设计的质量将直接影响到数据库的性能和应用效果,是数据库设计的重要组成部分。4、数据库实现在数据库的物理设计完成之后就可以建立和实现数据库了。数据库的实现类似于软件工程中的编码、调试。设计人员利用DBMS所提供的数据描述语言对逻辑设计和物理设计的结果进行描述,包括数据的描述、记录的描述、记录间的联系、数据库的参照完整性的描述以及物理结构的各种描述。在后面的系统实施过程中输入数据,并结合程序,用DBMS提供的数据操纵语言对数据库进行各种操作,测试应用程序的功能及系统的各种性能指标,分析是否符合设计目标。关系数据库的规范化 为了使数据库设计的方法走向完备,人们提出了规范化理论,规范化可以关系的结构简化,更加有规律,存储尽量减少冗余,使数据库设计更加合理。设有一个关系模式:供应商(名称,地址,产品名,规格,单价),显然这是一个不好关系模式,其中存在以下问题:第一是数据冗余,一个供应商每提供一种产品,它的地址就要重复一次;第二存在更新异常问题,由于数据冗余,可能在一个记录中更改了某个供应商的地址,而没有更改另一个记录中同一供应商的地址,于是造成数据不一致,使一个供应商具有两个不同的地址。第三,在这个关系模式中插入记录与删除记录都可能出现异常情况。因此对关系模式的规范化对于提高数据的可修改性、完整性和一致性非常重要。第一规范化形式(1NFFirst Normal Form)第一范式是指关系中每一属性都是不可分割的数据项。如关系:本期教师授课(教师号,姓名,性别,出生日期,授课情况)不符合第一范式要求,而关系:教师(教师号,姓名,性别,出生日期,)和教师授课(教师号,课程号,课程名称,课时数,班级,学生人数,班主任)是符合第一范式的。在第一范式中,没有重复出现属性,如不会出现一个教师上多门课时造成姓名、性别、出生日期的大量重复,但存在属性对关键字的部分依赖,如课程名称、课时数依赖于课程号,学生人数、班主任依赖于班级。第二规范化形式(2NF)对于满足第一范式的关系模式,如果它的所有属性都完全依赖于任一主关键字,则称该关系模式是第二范式。对于满足第一范式的关系模式,当关键字由不止一个属性组成时,必须确保每个非关键字属性完全函数依赖整个关键字,必要时,通过分解办法转换成若干满足这种要求的关系。在第二范式中,所有的非关键字都完全函数依赖于关键字,但存在属性对关键字的传递函数依赖。将上面的关系模式分解为以下四个关系:教师(教师号,姓名,性别,出生日期),授课情况(教师号,课程号,班级号),课程(课程号,课程名称,课时数),班级(班级号,班级名,学生人数,班主任),则都是符合第二范式的。第三规范化形式(3NF)对于满足第二范式的关系模式,如果它的任何一个属性都不传递依赖于任何主关键字,则称该关系模式是第三范式。在第三范式中,要求所有非关键字属性彼此独立,必要时去掉冗余的属性或用分解的办法转换成若干个满足这种要求的关系。如关系:产品(产品码*,名称)和生产企业(产品码*,企业代码,企业名,地址,电话)是符合第二范式的关系模式,关系统中带“*”的为主关键字,企业代码依赖于产品码,而企业名称、地址与电话是从产品的生产工厂决定的,如果将第二个关系分解为:T1(产品码*,企业代码)和T2(企业代码,企业名,地址,电话)则可成为第三范式。这样一方面企业的名称、地址、电话不会反复重复,而且在插入和删除记录时不会出现异常情况。练习设计订货系统的数据库,包括顾客、货物和订货单信息初模式:顾客(顾客号,收货地址,赊购限额,余额,折扣)货物(货物号,制造厂商,实际存货量,规定的最低存货量,货物描述)订货单(订货单号,顾客号,货物号,订货数量,订货细则,未发数量,订货日期,经办人)问题分析:v 顾客模式中,顾客号不能唯一决定收货地址v 货物模式中,货物描述部分依赖于码v 订货单模式中,未发数量将随发货过程更新,而其他信息相对静态;v 订货细则有多条 改进模式q顾客及其地址(顾客号,收货地址)q顾客及其余额(顾客号,赊购限额,余额,折扣)q货物及其厂商(货物号,制造厂商,实际存货量,规定的最低存货量)q货物及其描述-2(货物号,货物描述)q订货单(订货单号,顾客号,货物号,订货数量,订货日期,经办人)q发货(订货单号,未发货量)q发货(订货单号,订货细则)欲设计移动公司手机信息管理系统,用于管理:1、手机销售信息(由营业厅售给用户)2、手机用户档案信息(用户名,证件号码等)3、手机通话信息(每一次通话的详细情况)4、手机话费信息(每月的话费组成)在此基础上实现常用的查询,如:1、每月手机的销售情况 2、每种机型的销售情况 3、每个营业厅的手机销售情况 4、根据手机号码查询其用户信息 5、根据手机号码查询某时间段内的通话情况 6、每月手机话费收入 7、欠费用户查询试设计合适的关系模式设计结果营业厅(营业厅编号,地址,负责人)销售记录(营业厅编号,机型,数量,日期,经办人)手机销售单价(机型,单价)手机用户信息(手机号码,用户名,住址,证件号码)手机通话记录(手机号码,被叫号码,日期,起始时刻,通话时长)手机话费信息(手机号码,话费,漫游费,短信费)话费缴费信息(手机号码,缴费日期,金额,缴费营业厅)关系规范化基础关系规范化基础主要内容:主要内容:关系数据库设计理论基础知识关系数据库设计理论基础知识(数据依赖、数据依赖、范式、模式设计方法范式、模式设计方法)。1、属性之间的关系:函数依赖;、属性之间的关系:函数依赖;2、模式分解的标准:范式;、模式分解的标准:范式;存储异常问题一个实例:关系模式学生(学号,姓名,性别,课程,教师,成绩,学分)主关键字(学号,课程)关系:学号姓名性别课程教师成绩学分001张三男物理丽斯855001张三男英语王其956001张三男高数丁亿866925李丽女物理丽斯705925李丽女英语王其896存在问题:存储异常1、数据冗余;2、插入异常;3、删除异常;4、更新异常;解决方案:模式分解学生(学号,姓名,性别,)课程(课程名,认课教师,学分,)选修(学号,课程名,成绩)函数依赖(对模式分解的指导和依据)联系的分类:实体与实体之间的联系;实体内部属性与属性之间的联系。属性之间的联系-数据依赖1、一对一联系:设X,Y是关系R(U)的属性或属性组,若对于X中的一个具体值,Y中至多有一个值与之对应,并且对于Y中的一个具体值,X中也至多有一个值与之对应,称X,Y这两个属性之间是一对一联系。如:社保号码与身份证号 学号与姓名2、一对多联系:如果属性值集合X中的任一个具体值,至多与Y中的一个值相对应,而Y中的任一个具体值可以和X中的多个值相对应,则称两个属性间从X到Y为m:1的联系。或从Y到X是1:m的联系。举例:在图书关系中 总编号书名 总编号分类号 总编号作者 多方 一方3、多对多联系 在X、Y两个属性值集中,如果任一个值都可以和另一个属性值集中多个值对应,反之亦然,则称属性X和Y是m:n关系。如:借阅关系中的借书证号与总编号;选修关系中的学号和课程号。函数依赖数据依赖:反映关系中属性值之间既相互依赖又相互制约的联系。数据依赖分为:函数依赖;多值依赖。1、函数依赖的概念:若对于一个关系模式中所有具体关系的属性之间都满足如下约束:对于X的每一个具体值,Y有唯一的具体值与之对应,则称Y函数依赖于X,或X函数决定Y,记作XY,X称作决定因素,Y称作依赖因素。例如:在图书关系中;总编号(分类号,书名)在借阅关系中:(借书证号,总编号)借阅日期(借书证号,总编号)总编号注意:1)XY是指关系中所有元组均满足的约束条件,必须根据语意来确定;2)函数依赖的分类:非平凡的函数依赖:X Y,且Y不是X的子集。平凡的函数依赖:X Y,Y是X的子集。(X是组合属性)如:选修关系(学号,课程号,成绩)(学号,课程号)成绩 平凡的函数依赖(学号,课程号)课程号 非平凡的函数依赖3)若X Y,X与 Y是n