第4章需求分析_第1页
第4章需求分析_第2页
第4章需求分析_第3页
第4章需求分析_第4页
第4章需求分析_第5页
已阅读5页,还剩79页未读 继续免费阅读

下载本文档

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

文档简介

第4章需求分析4.1需求分析概述4.2需求分析的目标和任务4.3需求分析的原则与获取需求的方法4.4需求分析的过程4.5需求分析的方法4.6软件需求分析文档1

软件需求分析是软件生存周期中重要的一步,也是最关键的一步,是介于系统分析和软件设计阶段的重要桥梁,要想开发出用户满意的软件产品,首先得清楚用户的需求。项目需求分析是一个项目的开端,也是项目建设的基石!软件项目中40%~60%的问题都是在需求分析阶段埋下的“祸根”!2在可行性分析阶段开发人员已经粗略了解了用户的需求,其基本目的是用较小的成本在较短的时间内确定是否存在可行的解法。由于软件开发人员和用户并不熟悉对方的业务,因此对同一问题,他们在认识上可能存在差异,不可能全面地、精确地理解和表达用户需求,这就隐藏了一些目前未能发现的问题。

需求分析是发现、求精、建模、规格说明和复审的过程。需求分析的结果是形成需求规格说明书,它是系统设计的基础,它关系到工程的成败和软件产品的质量。3需求的获取非常困难:用户需求的动态性(不稳定性)。实践证明,软件史上还没有一次就准确获取需求的案例。需求的模糊性(不准确性),也即用户不能清楚地表达出具体需求。需求必须得到用户的确认,否则毫无意义。这如同跑题的作文,写得再长也不能得分。4软件需求是指用户对软件的功能和性能的要求,就是用户希望软件能做什么事情,完成什么样的功能,达到什么样的性能。所谓“需求分析”,是指对要解决的问题进行详细的分析,弄清楚问题的要求,包括需要输入什么数据,要得到什么结果,最后应输出什么。需求分析计算机“做什么”4.1.1需求的定义5需求可分解为四个层次业务需求用户需求功能需求非功能需求4.1.2需求的层次组织机构或客户对系统、产品高层次的目标要求,由管理人员或市场分析人员确定用户通过使用本软件产品必须完成的任务,一般由用户协助提供。开发人员必须实现的软件功能对功能需求的补充。包括用户关心的有效性、效率、灵活性、完整性、互操作性、可靠性、健壮性和可用性等;对开发者来说很重要的质量属性,例如可维护性、可移植性、可复用性和可测试性等。6第4章需求分析4.1需求分析概述4.2需求分析的目标和任务

4.3需求分析的原则与获取需求的方法4.4需求分析的过程4.5需求分析的方法4.6软件需求分析文档7软件需求分析的目标是深入描述软件的功能和性能,确定软件设计的约束和软件同其他系统元素的接口细节,定义软件的其他有效性需求。8需求分析是软件定义时期的最后一个阶段,它的基本任务是准确地回答“系统必须做什么?”这个问题,而不是“怎样实现”。【分析结果】:系统分析员应该写出软件需求规格说明书,以书面形式准确地描述软件需求。【掌握内容】:对一个软件系统来说,数据是稳定的,事务处理可能是变化的。4.2.1需求分析的目标9一般说来,需求分析阶段的任务包括下述几方面:1.确定对系统的综合需求系统功能需求——系统必须完成的所有功能系统性能需求——响应时间、精确度指标需求、安全性等运行需求——对系统运行时所处环境的需求将来可能提出的需求——虽然不属于当前系统开发范畴,但是根据分析将来很可能会提出来的需求,有利于系统维护升级。系统分析人员与用户协商,澄清模糊需求,删除无法做到的需求,改正错误需求。4.2.2需求分析的任务102.分析系统的数据需求这是需求分析的一个重要任务。主要体现在:

如何定义数据?数据的作用?如何用?如何表达数据间的关系?如何存储?为减少数据冗余,如何简化数据,并进行规范化?分析系统的数据需求是由系统的信息流归纳抽象出数据元素组成、数据的逻辑关系、数据字典格式、数据模型,并以输入/处理/输出的结构方式表示。113.提出系统的逻辑模型

在理解当前已存在系统结构的基础上,对当前已存在系统的物理模型进行分析,抽取其做什么的本质,就可获得反映系统本质的逻辑模型,通常用数据流图、数据字典和主要的处理算法描述逻辑模型。具体做法是:首先确定目标系统与当前系统的逻辑差别;然后将变化部分看作是新的处理步骤,对功能图(一般为数据流图)及对象图进行调整;最后由外及里对变化的部分进行分析,推断其结构,获得目标系统的逻辑模型。124.修正系统开发计划

在经过需求分析阶段的前述工作之后,分析员对目标系统有了更深入更具体的认识,因此可以对系统的成本和进度做出更准确的估计,在此基础上应该对开发计划进行修正。5.开发原型系统快速原型就是快速建立演示目标系统主要功能的可运行的程序。构建原型的要点:它应该实现用户看得见的功能(例如,屏幕显示或打印报表),省略目标系统的“隐含”功能(例如,修改文件)。在实际开发软件产品时,原型的“修改—试用—反馈”过程可能重复多遍,才能得到符合实际系统的需求,如果修改耗时过多,势必延误软件开发时间。13需求分析阶段所要完成的任务并不是如何去编制程序,做具体的工作,而是确定系统必须完成哪些工作,实现哪些功能,也就是对目标系统提出完整、准确、具体、清晰的要求。需求分析阶段以软件计划阶段的软件工作范围为指南,通过分析综合建立分析模型,编制出软件需求规格说明书。因此,在软件企业进行需求分析的人员通常是具有较高系统驾驭能力的系统分析员。14第4章需求分析4.1需求分析概述4.2需求分析的目标和任务4.3需求分析的原则与获取需求的方法4.4需求分析的过程4.5需求分析的方法4.6软件需求分析文档154.3.1需求分析的原则(1)必须理解并描述问题的数据域,根据这条准则应该建立数据模型。所有软件定义与开发工作最终都是为了解决数据处理问题,就是将一种形式的数据转换成另一种形式的数据。其转换过程必定经历输入数据、加工数据和产生结果数据等步骤。数据流即数据通过一个系统时的变化方式。输入数据最终变化为输出数据。对数据进行转换是程序中应有的功能或子功能。两个转换功能之间的数据传递就确定了功能间的接口。数据内容即数据项。数据结构即各种数据项的逻辑组织。数据流、数据内容和数据结构16(2)必须定义软件应完成的功能域,这条准则要求建立功能模型。(3)必须描述作为外部事件结果的软件行为,这条准则要求建立行为模型。(4)必须对描述信息、功能和行为的模型进行分解,用层次的方式展示细节。

系统要具备的功能事件的状态,可用以后的状态转换图建立行为模型17分解示意图:18(5)要给出系统的逻辑视图和物理视图软件需求的逻辑视图给出软件要达到的功能和将要处理数据之间的关系,而不是实现的细节。

软件需求的物理视图给出处理功能和数据结构的实际表示形式,这往往是由设备决定的。194.3.2获取需求的方法

需求分析是软件开发中最重要的环节,需求分析做得正确与否决定着软件开发的成败。要做好需求分析,最重要的是有正确的获取需求的渠道和方法。常用的获取需求的方法有访谈、问卷调查、情景分析、实地考察、构造原型等。

20(1)访谈访谈是最早开始使用的获取用户需求的技术,也是迄今为止仍然广泛使用的需求分析技术。

访谈有两种基本形式:正式访谈时:系统分析员将提出一些事先准备好的具体问题。非正式访谈:分析员将提出一些用户可以自由回答的开放性问题,以鼓励被访问人员说出自己的想法。21注意:访谈时不要使用行话,就是计算机术语。需求分析最重要的是和用户沟通。另外还要引导用户如何讲出与系统有关的业务。不要陷到“客户总是对的”的陷阱中去22(2)问卷调查问卷调查即把需要调查的内容制成表格交给用户填写。该方法的优点是用户有较宽裕的考虑时间和回答时间。采用问卷调查方法的关键是调查表的设计。调查表的设计应简洁、易懂、易填写,同时还要注意用户的特点和调查的策略。23(3)情景分析由于很多用户不了解计算机系统,对自己的业务如何在将来的目标系统中实现无认识,因此很难提出具体的需求。情景分析就是对目标系统解决某个具体问题的方法和结果给出可能的情景描述,以获知用户的具体需求。(4)实地考察分析人员到用户工作现场,实际观察用户的手工操作过程也是一种行之有效的需求获取方法。24(5)构造原型在系统开发的早期,以对用户所进行的简单需求分析为基础,快速建立目标系统的原型。用户可以通过原型进行评估并提出修改意见,从而使用户明确需求。快速原型方法既可针对整个系统,也可针对系统的某部分功能。25第4章需求分析4.1需求分析概述4.2需求分析的目标和任务4.3需求分析的原则与获取需求的方法4.4需求分析的过程4.5需求分析的方法4.6软件需求分析文档26需求分析阶段的工作可以分成以下四个方面:问题识别、分析与综合、编制需求分析阶段的文档及需求分析评审。

具体的分析流程如图4.3所示(P57)。271.问题识别——调查研究系统分析人员和用户确定问题的综合需求,包括功能需求(做什么)、性能需求(要达到什么指标)、环境需求(如机型、操作系统等)和用户界面需求,另外还有可靠性、安全性、保密性、可移植性和可维护性等方面的需求。通过调查研究,要理解当前系统的工作模型和用户对新系统的设想与要求。追踪数据流图:分析人员与程序员共同研究系统数据的流程、调查用户需求或查阅可行性报告、项目开发计划报告,访问现场,获得当前系统的具体模型,用数据流图表示。复查系统的逻辑模型:用户对前一个分析步骤中得出的结果仔细地进行复查。追踪数据流图和复查系统的逻辑模型这两个步构成一个循环。对数据流图的分析产生问题,这些问题也可能又引出新的问题,每经过一次循环都会了解到未来的逻辑系统的更多细节。282.分析与综合开发人员应该对问题进行分析抽象,并在此基础上从高层建立目标系统的逻辑模型。分析员需从数据流和数据结构出发,逐步细化所有的软件功能,找出系统各元素之间的联系、接口特性和设计上的限制,分析它们是否满足需求,去除不合理部分,增加需要部分,最终综合成为系统的解决方案,给出目标系统的详细逻辑模型。在这个步骤中,分析和综合工作反复地进行。分析-检查-修改293.书写文档即制定软件需求规格说明书。把分析的结果用正式的文档记录下来,作为最终软件配置的一个组成成分。应该完成下述四份文档资料:(1)系统规格说明。描述目标系统的概述、功能要求、性能要求、运行要求和将来可能提出的要求。包括数据流图、IPO图、其他工具简要描述的系统算法、用户需求和系统功能之间的参照关系以及设计约束等。(2)数据要求。包括数据字典、描绘数据结构的层次方框图、对存储信息(数据库或普通文件)分析的结果。30(3)用户系统描述。从用户使用系统的角度描述系统,相当于一份初步的用户手册。包括对系统功能和性能的扼要描述,使用系统的主要步骤和方法以及系统用户的责任等。(4)修正的开发计划。经过需求分析阶段的工作,分析员对目标系统有了更深入更具体的认识,因此可以对系统的成本和进度作出更准确的估计,在此基础上应该对开发计划进行修正。包括修正后的成本计划、资源使用计划和进度计划等。314.需求分析评审作为需求分析阶段工作的复查手段,应该对功能的正确性、完整性和清晰性以及其他需求给予评价。32需求分析技巧需求的收集贯穿于整个项目过程中;解释技术,使甲方积极参与;使用用户的术语,用共同的语言进行交流;取得管理层的支持——“一把手工程”;已有的文档是需求的很好来源——复用已有的资源;记住今天的用户就是明天的分析者和以后的开发者。首先,应该努力的去熟悉用户的行业,学习用户使用的术语,标准,以便能够准确的理解用户。其次避免用IT行业的术语,而采用浅显易懂的口头语言来解释IT行业中高深莫测的术语,以便用户能够很好的理解。例如:向用户解释10M带宽网络和100M带宽网络有什么区别:"10M带宽的网络就像是双车道的柏油路,容易堵车,而100M带宽的网络却是二十车道的高速公路,堵车的可能性非常小"。33第4章需求分析4.1需求分析概述4.2需求分析的目标和任务4.3需求分析的原则与获取需求的方法4.4需求分析的过程4.5需求分析的方法4.6软件需求分析文档34需求分析的方法包括:结构化分析方法原型分析方法用例分析方法功能列表等等我们这里主要介绍结构化分析方法。35

结构化分析(StructuredAnalysis,SA)是一种面向数据流的需求分析方法,适合于数据处理类型软件的需求分析。由于利用图形来表达需求,结构化分析方法显得清晰、简明,易于学习和掌握。结构化分析方法的基本思想:按照功能分节的原则,根据软件内部数据传递、变换的关系,自顶向下逐层分解,逐步求精,直到找到满足功能要求的所有可实现的软件为止。结构化分析方法使用的工具有数据流图、数据词典、判定表和判定树。用来描述系统内数据的运动情况用来定义系统中的数据用来描述数据处理逻辑36数据流图数据流图(DFD)是描述数据处理过程的工具。以图形的方式描绘信息流和数据从输入移动到输出的过程中所经受的变换。它只反映系统必须完成的逻辑功能,是一种功能模型。所以在设计数据流图时只需考虑系统必须完成的基本逻辑功能,即数据流图的基本要点是描绘“做什么”,而不考虑“怎样做”。付款凭证报销单报销登记报销人审查分录371.数据流图的定义数据流图从数据传递和加工的角度,以图形的方式描述数据流从输入到输出的传输变换过程。它是结构化系统分析的主要工具,表示了系统内部信息的流向,并表示了系统的逻辑处理的功能。数据流数据流数据存储数据来源处理数据输出处理需求信息需求382.数据流图的特性(1)抽象性:在数据流图中,具体的组织机构、工作场所、物质流等都去掉,仅剩下信息和数据存储、流动、使用以及加工的情况。这有助于抽象地总结出信息处理的内部规律。(2)概括性:数据流图把系统对各种业务的处理过程联系起来考虑,形成一个总体,具有概括性。数据流图描述的主体是抽象出来的数据。(3)层次性:数据流图具有层次性,一个系统将用多层次的数据流图描述。39数据流图中的符号数据流图的基本图形元素有4种:加工也称为数据处理,是以数据结构或数据内容作为加工对象,它对数据流进行某些操作或变换。每个加工以动词短语命名,简明地描述完成什么加工。数据源点和终点是软件系统外部环境中的实体(包括人员、组织或其他软件系统),统称外部实体。数据流是处于运动中的数据,是数据在系统内传播的路径,由一组成分固定的数据项组成。数据流必须有流向,应该用名词或名词短语命名。数据存储是处于静止状态的数据,指暂时保存的数据,它可以是数据库文件或任何形式的数据组织。数据存储和数据流都是数据,仅仅所处的状态不同。40数据流图的几种附加符号

在数据流图中,如果有两个以上数据流指向一个加工,或从一个加工中引出两个以上的数据流,这些数据流之间存在一定的关系。在P59图4.6中给出描述这些关系所用符号及其含义。其中:

*:表示相邻两个数据流之间是“与”的关系(同时出现)

+

表示相邻两个数据流之间是“或”的关系;:表示相邻两个数据流只能选取其中一个(互斥关系)。41数据A和数据B同时输入时才能转换成数据C数据A转换成数据B和数据C数据A或数据B,也可以是数据A和数据B两者转换成数据C数据A转换成数据B或数据C,也可是数据B和数据C两者只有数据A或只有数据B转换成数据C数据A转换成数据B或数据C两者之一42设计数据流图的步骤画数据流图是让用户明确系统中数据流动和处理的情况,即系统的基本逻辑功能。对于一个大型系统来说,较好的方法是分层次地描述系统。顶层数据流图描述系统总体概貌,表明系统关键功能,然后分别把每个关键功能适当地详细描述。这样分层次描述,便于用户逐步深入地了解一个复杂的系统。43例:某企业销售管理系统的功能为:(1)接受顾客的订单,检验订单,若库存有货,进行供货处理,即修改库存,给仓库开备货单,并且将订单留底;若库存量不足,将缺货订单登入缺货记录。(2)根据缺货记录进行缺货统计,将缺货通知单发给采购部门,以便采购。(3)根据采购部门发来的进货通知单处理进货,即修改库存,并从缺货记录中取出缺货订单进行供货处理。(4)根据留底的订单进行销售统计,打印统计表给经理。根据上述的功能描述,画出数据流图。44画数据流图的步骤如下:1.确定系统的输入和输出——先画系统顶层数据流图。可以列出系统的全部数据源和数据终点,将系统加工处理过程作为一个整体,就可得顶层数据流图。

顶层流图只包含一个加工,用以表示被开发的系统,然后考虑系统有哪些输入数据,这些输入数据从哪里来;有哪些输出数据,输出到哪里去。这样就定义了系统的输入、输出数据流。顶层图作用在于表明被开发系统的范围及它和周围环境的数据交换关系。

顶层图只有一张。下图为销售管理系统的顶层图。45462.画系统内部——画下层数据流图对于一个大型的系统,需要采用自顶向下、由外向内逐层分解的方法进行,即用分层的方法将一个数据流图分解成几个数据流图来分别表示。一套分层数据流图由顶层、底层和中间层的数据流图组成。一般将层号从0开始编号,画0层数据流图时,一般根据当前系统工作分组情况,并按新系统应有的外部功能,分解顶层流图的系统为若干子系统,决定每个子系统间的数据接口和活动关系。如销售管理系统按功能可分成处理订单、供货处理、处理进货单、缺货统计、销售统计5部分,这5部分通过缺货记录、库存记录、订单记录的数据存储联系起来,0层数据流图如下图所示。4748画更下层数据流图时,则分解上层图中的加工,一般沿着输入流的方向,凡数据流的组成或值发生变化的地方则设置一个加工,一直进行到输出数据流(也可从输出流到输入流方向画)。如加工的内部还有数据流,则对此加工的下层图中继续分解,直到每个加工足够简单,不能分解为止,不再分解的加工称基本加工。49505152数据流图的用途【用途】:数据流图是交流信息的工具,可做为分析和设计的工具。【主要体现】:分析员把他对现有系统的认识或对目标系统的设想用数据流图描绘出来,供有关人员审查确认。【易理解性】:仅使用4种基本符号,不包含任何有关物理实现的细节,使用户都可以理解和评价它。53数据流图的作用主要有以下几条:1.系统分析员用这种工具可以自顶向下分析系统信息流程。2.可在图上画出需要计算机处理的部分。3.根据数据存储,进一步作数据分析,向数据库设计过渡。4.根据数据流向,定出存取方式。5.对应一个处理过程,用相应的语言、判定表等工具表达处理方法。54需要注意的问题:1.命名:数据流图中每个成分的命名是否恰当,直接影响数据流图的可理解性。为每一个数据流命名时应避免使用空洞的名字,名字要反映整个数据流的含义,而不是其中某一部分。为加工命名时,先命名数据流,再命名加工,名字要反映整个处理过程,而不是它的一部分;名字应当是一种“动词+宾语”的形式。名字中只需用一个动词,如果必须用两个以上的动词,则应该将它分解成几个加工。552.画数据流不是控制流:数据流图反映系统“做什么”,不反映“如何做”,因此箭头上的数据流名称只能是名词或名词短语,整个图中不反映加工的执行顺序。3.一般不画物质流:数据流反映的是能用计算机处理的数据,并不是实物,因此系统的数据流图上一般不要画物质流。4.每个加工至少有一个输入数据流和一个输出数据流,反映出此加工数据的来源与加工的结果。565.编号:对加工的编号,随着逐层展开,也应反映出它的层次关系。如果一张数据流图中的某个加工分解成另一张数据流图,则上层图为父图,直接下层图为子图。子图应编号,子图上的所有加工也应编号,子图的编号是父图中相应加工的编号,加工的编号由子图号、小数点及局部号组成。576.父图与子图的平衡

父图中某个加工的输入输出数据流应该与相应子图的输入输出数据流相同,层次数据流图的这种特点称为“平衡”。平衡是指子图的所有输入数据流必须是父图中相应处理的输入,子图的所有输出数据流必须是父图中相应处理的输出。父图与子图的平衡,是分层数据流图中的重要性质,保证了数据流图的一致性,便于分析人员的阅读与理解。58图中子图与父图中加工2.1的输入、输出数据流的数目、名称完成相同,即一个输入流a,两个输出流b和c。59图中的父图和子图是不平衡的,因为子图中没有输入数据流与父图中加工2的输入流m相对应。另外,子图的输出数据流s在父图中也没有出现。607.局部数据存储

当某层数据流图中的数据存储不是父图中相应加工的外部接口,而只是本图中某些加工之间的数据接口,称这些数据存储为局部数据存储。画出一个局部数据存储可参考如下原则:当数据存储被用做数据流图中某个加工之间的界面时,该数据存储就必须画出来,一旦数据存储作为数据流图中的一个独立成分画出来时,它与其他成分之间的联系也应同时表达出来,即应画出每个加工是读还是写该数据存储。61当加工3被分解成3.1、3.2和3.3三个子加工时,“成绩表”是加工3.1和3.3的界面,应该画出来。628.提高数据流图的易理解性:一般是一次“最多不要超过7个”。应做到分解自然,概念合理、清晰,在不影响易理解性的基础上适当地多分解,以减少层次数据流图的层数。上层是一些综合性描述,分解要快些,而在下层易理解性相对重要则分解慢些。分解时要注意子加工的独立性,还应注意均匀性,特别是画上层数据流时,要注意将一个问题划分成几个大小接近的组成部分,这样便于理解。不要在一张数据流图中出现某些加工已是基本加工,某些加工还要分解好几层。639.随时准备重画对于复杂的系统,很难保证一次就能将数据流图绘制成功。因此应随时准备改进数据流图而用更好的版本来代替。

数据流图只描述了系统的分解,没有表达出每个数据流、数据存储和加工的具体含义。这些信息需要在数据字典表达出来。64数据字典数据字典(DataDictionary,简称DD)就是用来定义数据流图中的各个成分的具体含义的。它以一种准确的、无二义性的说明方式为系统的分析、设计及维护提供了有关元素的一致的定义和详细的描述。是对数据流图中包含的所有元素的定义的集合。对应以后的讲解的实体或数据结构定义表。数据流图和数据字典共同构成系统的逻辑模型,没有数据字典数据流图就不严格,然而没有数据流图数据字典也难于发挥作用。65数据字典的内容数据字典由下列4类元素的定义组成:(1)数据流(2)数据流分量(即数据元素)(3)数据存储(4)处理

但是,对数据处理的定义用其他工具(如IPO图或PDL)描述更方便,因此本书中数据字典将主要由对数据的定义组成,这样做可以使数据字典的内容更单纯,形式更统一。66数据元素词条描述:在数据字典中记录数据元素的下列信息:数据元素名:名字,别名,描述等;数据元素特征:数据类型,长度,结构等;使用特点:取值范围及默认值,使用频率,使用方式——输入、输出、本地,条件值等;控制信息:来源,去向,用户,使用它的程序,改变权,使用权等;分组信息:父结构,从属结构,物理位置——记录、文件和数据库(即归哪个数据结构)等。67数据元素的别名就是该元素的其他等价的名字,出现别名主要有下述3个原因:(1)对于同样的数据,不同的用户使用了不同的名字;(2)一个分析员在不同时期对同一个数据使用了不同的名字;(3)两个分析员分别分析同一个数据流时,使用了不同的名字。虽然应该尽量减少出现别名,但是不能完全消除别名。68内容描述内容描述即对数据字典中定义,也就是对数据自顶向下的分解。在数据词典的编制中,分析员最常用的描述内容或数据结构的符号如表4.1所示。由数据元素组成数据的方式只有下述四种基本类型:顺序:按确定次序连接两个或多个分量。选择:从两个或多个分量中选择一个。重复:将指定的分量重复0次或多次。可选:即一个分量是可有可无的(重复零次或一次)。69重复可选选择顺序70数据字典的用途用途1:作为分析阶段的重要工具。用途2:有助于改进分析员和用户之间的通信。用途3:有助于改进在不同的开发人员或不同的开发小组之间的通信。用途4:有助于设计、实现、维护等规范统一,能避免许多麻烦的接口问题。用途5:通过数据元素的来源、去向、用途等控制信息,使程序员了解业务的构成。用途6:数据字典是开发数据库的第一步,是定义数据结构的首要来源。71数据字典的实现缺点:在开发大型软件系统的过程中,数据字典的规模和复杂程度迅速增加,人工维护数据字典几乎是不可能的,一般用于中小型软件系统。实现过程:采用数据字典卡片形式书写,每张卡片上保存描述一个数据的信息。每张卡片上主要应该包含下述这样一些信息:名字、别名、描述、定义、位置。注:软件设计现实中主要用数据结构定义表来实现。72【例】某高校内部用的电话号码有以下几类:校内电话号码由4位数字组成,第1位数字不是0;校外电话又分为市内电话和长途电话,拨校外电话需先拨0,如果是市内电话再接着拨8位电话号码(第1位不是0),如果是长途电话则先拨3位区码,再拨8位电话号码(第1位不是0)。请用数据字典中介绍的符号,定义上述电话号码。73解析:电话号码=[校内电话号码|校外电话号码]校内电话号码=非零数字+3位数字校外电话号码=[市内号码|长途号码]市内号码=数字零+8位数字长途号码=数字零+3位数字+8位数字数字零=0非零数字=[1|2|3|4|5|6|7|8|9]3位数字=3{数字}38位数字=非零数字+7位数字7位数字=7{数字}7数字

温馨提示

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

评论

0/150

提交评论