免费智能真题库 > 历年试卷 > 数据库系统工程师 > 2017年上半年 数据库系统工程师 下午试卷 案例
  第1题      
  知识点:   数据流图   检验   结构化方法   数据流   医疗   运输

 
【说明】
医疗器械公司作为复杂医疗产品的集成商,必须保持高质量部件的及时供应。为了实现这一目标,该公司欲开发一采购系统。系统的主要功能如下:
1.检查库存水平。采购部门每天检查部件库存量,当特定部件的库存量降至其订货店时,返回低存量部件及库存量。
2.下达采购订单。采购部门针对低存量部件及库存量提交采购请求,向其供应商(通过供应商文件访问供应商数据)下达采购订单,并存储于采购订单文件中。
3. 交运部件。当供应商提交提单并交运部件时,运输和接收(S/R)部门通过执行以下三步过程接收货物:
(1) 验证装运部件。通过访问采购订单并将其与提单进行比较来验证装运的部件,并将提单信息发给S/R职员。如果收货部件项目出现在采购订单和提单上,则已验证的提单和收货部件项目将被送去检验。否则S/R职员提交的装运错误信息生成装运错误通知发送给供应商。
(2) 检验部件质量。通过访问质量标准来检查装运部件的质量,并将己验证的提单发给检验员。如果部件满足所有质量标准,则将其添加到接受的部件列表用于更新部件库存。如果部件未通过检查,则将检验员创建的缺陷装运信息生成缺陷装运通知发送给供应商。
(3)更新部件库存。库管员根据收到的接受的部件列表添加本次采购数量,与原有库存量累加来更新库存部件中的库存量。标记订单采购完成。
现采用结构化方法对该采购系统进行分析与设计,获得如图1-1所示的上下文数据流和图1-2所示的0层数据流
 
问题:1.1   (5分)
使用说明中的词语,给出图1-1中的实体E1-E5的名称。
 
问题:1.2   (4分)
使用说明中的词语,给出图1-2中的数据存储D1-D4的名称。
 
问题:1.3   (4分)
根据说明和图中术语,补充图1-2中缺失的数据流及其起点和终点。
 
问题:1.4   (2分)
用200字以内文字,说明建模图1-1和图1-2时如何保持数据流图平衡。
 
 
 

   知识点讲解    
   · 数据流图    · 检验    · 结构化方法    · 数据流    · 医疗    · 运输
 
       数据流图
        数据流图或称数据流程图(Data Flow Diagram,DFD),是一种便于用户理解、分析系统数据流程的图形工具。它摆脱了系统的物理内容,精确地在逻辑上描述系统的功能、输入、输出和数据存储等,是系统逻辑模型的重要组成部分。
               DFD的基本成分
               DFD的基本成分包括数据流、加工、数据存储和外部实体,可分别用下图(a)~(d)表示。
               
               DFD的基本成分
               (1)数据流。数据流由一组固定成分的数据组成,表示数据的流向。值得注意的是,DFD中描述的是数据流,而不是控制流。除了流向数据存储或从数据存储流出的数据流不必命名外,每个数据流都必须有一个合适的名字,以反映该数据流的含义。
               (2)加工。加工描述了输入数据流到输出数据流之间的变换,也就是输入数据流经过什么处理后变成了输出数据流。每个加工有一个名字和编号。编号能反映出该加工位于分层DFD中的哪个层次和哪张图中,也能够看出它是哪个加工分解出来的子加工。
               (3)数据存储。数据存储用来表示存储的数据,每个数据存储都有一个名字。
               (4)外部实体。外部实体是指存在于软件系统之外的人员或组织,它指出系统所需数据的发源地和系统所产生的数据的归宿地。
               分层数据流图的画法
               (1)画系统的输入和输出。把整个软件系统看作一个大的加工,然后根据系统从哪些外部实体接收数据流,以及系统发送数据流到哪些外部实体,就可以画出系统的输入和输出图,这张图称为顶层图。
               (2)画系统的内部。将顶层图的加工分解成若干个加工,并用数据流将这些加工连接起来,使得顶层图中的输入数据经过若干个加工处理后变换成顶层图的输出数据流。这张图称为0层图。从一个加工画出一张数据流图的过程实际上就是对这个加工的分解。
               可以用下述的方法来确定加工:在数据流的组成或值发生变化的地方应画一个加工,这个加工的功能就是实现这一变化;也可根据系统的功能确定加工。
               确定数据流的方法:当用户把若干个数据看作一个单位来处理(这些数据一起到达,一起加工)时,可把这些数据看成一个数据流。
               对于一些以后某个时间要使用的数据可以组织成一个数据存储来表示。
               (3)画加工的内部。把每个加工看作一个小系统,该加工的输入输出数据流看成小系统的输入输出数据流。于是可以用与画0层图同样的方法画出每个加工的DFD子图。
               (4)对第(3)步分解出来的DFD子图中的每个加工,重复第(3)步的分解,直至图中尚未分解的加工都足够简单(也就是说这种加工不必再分解)为止。至此,得到了一套分层数据流图。
               对图和加工进行编号
               对于一个软件系统,其数据流图可能有许多层,每一层又有许多张图。为了区分不同的加工和不同的DFD子图,应该对每张图和每个加工进行编号,以利于管理。
               (1)父图与子图。
               假设分层数据流图里的某张图(记为图A)中的某个加工可用另一张图(记为图B)来分解,称图A是图B的父图,图B是图A的子图。在一张图中,有些加工需要进一步分解,有些加工则不必分解。因此,如果父图中有n个加工,那么它可以有0~n张子图(这些子图位于同一层),但每张子图都只对应于一张父图。
               (2)编号。
               ①顶层图只有一张,图中的加工也只有一个,所以不必编号。
               ②0层图只有一张,图中的加工号可以分别是0.1,0.2,……或者是1,2,……。
               ③子图号就是父图中被分解的加工号。
               ④图的加工号由图号、圆点和序号组成。
               实例
               某考务处理系统有如下功能:
               (1)对考生送来的报名单进行检查。
               (2)对合格的报名单进行检查。
               (3)对阅卷站送来的成绩清单进行检查,并根据考试中心指定的合格标准审定合格者。
               (4)制作考生通知单(内含成绩合格/不合格标志)送给考生。
               (5)按地区、年龄、文化程度、职业和考试级别等进行成绩分类统计和试题难度分析,产生统计分析表。
               该考务处理系统的分层数据流图如下图所示。
               
               考务处理系统分层数据流图
               应注意的问题
               (1)适当地为数据流、加工、数据存储、外部实体命名,名字应反映该成分的实际含义,避免空洞的名字。
               (2)画数据流而不要画控制流。
               (3)每条数据流的输入或者输出是加工。
               (4)一个加工的输出数据流不应与输入数据流同名,即使它们的组成成分相同。
               (5)允许一个加工有多条数据流流向另一个加工,也允许一个加工有两个相同的输出数据流流向两个不同的加工。
               (6)保持父图与子图平衡。也就是说,父图中某加工的输入输出数据流必须与它的子图的输入输出数据流在数量和名字上相同。值得注意的是,如果父图的一个输入(或输出)数据流对应于子图中几个输入(或输出)数据流,而子图中组成这些数据流的数据项全体正好是父图中的这一个数据流,那么它们仍然算是平衡的。
               (7)在自顶向下的分解过程中,若一个数据存储首次出现时只与一个加工有关,那么这个数据存储应作为这个加工的内部文件而不必画出。
               (8)保持数据守恒。也就是说,一个加工所有输出数据流中的数据必须能从该加工的输入数据流中直接获得,或者是通过该加工能产生的数据。
               (9)每个加工必须既有输入数据流,又有输出数据流。
               (10)在整套数据流图中,每个数据存储必须既有读的数据流,又有写的数据流。但在某一张子图中可能只有读没有写,或者只有写没有读。
 
       检验
        检验(检查)包括测量、检查和测试等活动,目的是确定项目成果是否与要求相一致。检验可以在任何管理层次中开展,例如,一个单项活动的结果和整个项目的最后成果都可以检验。检验有各种名称,如复查、产品复查、审查及评审等。
        检查表(核对表)是常用的检验技术,检查表通常是由详细的条目组成的,用于检查和核对一系列必须采取的步骤是否已经实施的结构化工具,其具体内容因应用的不同而不同。检查表是一种有条理的工具,可简单可烦琐,语言表达形式可以是命令式,也可以是询问式。
        例如,下表是一个确认测试工具属性的检查表例子。
        
        一个确认测试工具属性的检查表例子
 
       结构化方法
        结构化方法属于自顶向下的开发方法,其基本思想是“自顶向下,逐步求精”,强调开发方法的结构合理性及所开发软件的结构合理性。结构是指系统内各个组成要素之间的相互联系、相互作用的框架。结构化开发方法提出了一组提高软件结构合理性的准则,如分解与抽象、模块独立性、信息隐蔽等。针对软件生存周期各个不同的阶段,它包括了结构化分析(Structured Analysis, SA)、结构化设计(Structured Design, SD)和结构化程序设计(Structured Programing, SP)等方法。本章后续介绍的分析、设计、测试等内容,都是以结构化方法为基础的。
               结构化方法的基本原则
               为保证系统开发的顺利进行,结构化方法强调遵循以下几个基本原则:
               (1)面向用户的观点。在开发过程中,开发人员应该始终与用户保持联系,从调查研究入手,充分理解用户的信息需求和业务活动,不断地让用户了解工作的进展情况,校准工作方向。
               (2)严格区分工作阶段,每个阶段有明确的任务和应得的成果。
               (3)按照系统的观点,自顶向下地完成系统的开发工作。
               (4)充分考虑变化的情况。在系统设计中,把系统的可变更性放在首位。
               (5)工作成果文献化、文档化。
               结构化分析
               SA方法使用抽象模型的概念,按照软件内部数据传递、变换的关系,自顶向下、逐层分解,直至找到满足功能要求的所有可实现的软件为止。SA方法给出一组帮助系统分析人员产生功能规约的原理与技术。它一般利用图形表达用户需求,使用的手段主要有数据流图、数据字典、结构化语言、判定表及判定树等。
               SA方法的步骤如下:
               (1)分析当前的情况,做出反映当前物理模型的数据流图(Data Flow Diagram, DFD)。
               (2)推导出等价的逻辑模型的DFD。
               (3)设计新的逻辑系统,生成数据字典和基元描述。
               (4)建立人机接口,提出可供选择的目标系统物理模型的DFD。
               (5)确定各种方案的成本和风险等级,据此对各种方案进行分析。
               (6)选择一种方案。
               (7)建立完整的需求规约。
               结构化设计
               SD方法给出一组帮助设计人员在模块层次上区分设计质量的原理与技术。它通常与SA方法衔接起来使用,以数据流图为基础得到软件的模块结构。SD方法尤其适用于变换型结构和事务型结构的目标系统。在设计过程中,它从整个程序的结构出发,利用模块结构图表述程序模块之间的关系。
               SD方法的步骤如下:
               (1)评审和细化数据流图。
               (2)确定数据流图的类型。
               (3)把数据流图映射到软件模块结构上,设计出模块结构的上层。
               (4)基于数据流图逐步分解高层模块,设计中下层模块。
               (5)对模块结构进行优化,得到更为合理的软件结构。
               (6)描述模块接口。
               SD方法的设计原则是:
               (1)使每个模块执行一个功能(坚持功能性内聚)。
               (2)每个模块使用过程语句(或函数方式等)调用其他模块。
               (3)模块间传送的参数作为数据使用。
               (4)模块间共用的信息(如参数等)尽量少。
               结构化方法的缺点
               结构化方法是目前最成熟、应用较广泛的一种工程化方法。当然,这种方法也有不足和局限性:
               (1)开发周期长。一方面使用户在较长的时间内不能得到一个可实际运行的物理系统,另一方面难以适应环境变化。
               (2)早期的结构化方法注重系统功能,兼顾数据结构的方面不多。
               (3)结构化程度较低的系统,在开发初期难于锁定功能要求。
               这些问题在应用中有的已经解决,同时也产生了其他一些方法,例如原型法、面向对象方法等。
 
       数据流
        数据流由一组固定成分的数据组成,表示数据的流向。在DFD中,数据流的流向可以有以下几种:从一个加工流向另一个加工;从加工流向数据存储(写);从数据存储流向加工(读);从外部实体流向加工(输入);从加工流向外部实体(输出)。
        DFD中的每个数据流用一个定义明确的名字表示。除了流向数据存储或从数据存储流出的数据流不必命名外,每个数据流都必须有一个合适的名字,以反映该数据流的含义。
        数据流或者由具体的数据属性(也称为数据结构)构成,或者由其他数据流构成。组合数据流是由其他数据流构成的数据流,它们用于在高层的数据流图中组合相似的数据流,以使数据流图更便于阅读。
        控制流是对数据流图的补充,采用虚线表示,是对由触发系统功能的事件进行描述。
        另外,一个加工可以有多个输入数据流和多个输出数据流,此时可以加上一些扩充字符符号或图形元素来描述多个数据流之间的关系。如:
        (1)星号(*)。星号表示数据流之间存在“与”关系。如果是输入流则表示所有输入数据流全部到达后才能进行加工处理;如果是输出流则表示加工结束将同时产生所有的输出数据流。
        (2)加号(+)。加号表示数据流之间存在“或”关系。如果是输入流则表示其中任何一个输入数据流到达后就能进行加工处理;如果是输出流则表示加工处理的结果是至少产生其中一个输出数据流。
        (3)异或(⊕)。异或表示数据流之间存在“互斥”关系。如果是输入流则表示当且仅当其中一个输入流到达后才能进行加工处理;如果是输出流则表示加工处理的结果是仅产生这些输出数据流中的一个。
 
       医疗
        现代先进的医疗诊断技术的共同特点是以现代物理技术为基础,借助计算机技术对医疗影像进行数字化和重建处理。计算机在成像过程中起到至关重要的作用。随着临床要求的不断提高以及多媒体技术的发展,出现了新一代具有多媒体处理功能的医疗诊断系统。多媒体医疗影像系统在媒体种类、媒体介质、媒体存储及管理方式、诊断辅助信息、直观性和实时性等方面都使传统诊断技术相形见绌。
        事实上,在医疗诊断中经常采用的实时动态视频扫描、声影处理等技术都是多媒体技术成功应用的例证。多媒体数据库技术从根本上解决了医疗影像的另一关键问题——影像存储管理问题。多媒体和网络技术的应用还使远程医疗从理想变成现实。
 
       运输
        运输是物体借助运力在空间上产生的位置移动。我国国家标准《物流术语》对运输的定义是:“用设备和工具,将物品从一地点向另一地点运送的物流活动”。物流的运输创造着物流的空间效用,在存在空间背离的商品产地与销地之间搭建起连接的“桥梁”,使消费者或用户能够在当地买到所需商品。由于运输活动相对来讲时间长、距离远、能源动力消耗多,其成本在物流总成本中的比例高达50%以上。因而,运输成本降低的潜力大,无论在物流领域还是国民经济领域都占有举足轻重的位置,同时,运输在现代物流中又是一个最重要的子系统。
               运输的作用及意义
               运输的任务是对物资进行较长距离的空间移动。物流部门通过运输解决物资在生产地点和需要地点之间的空间距离问题,从而创造商品的空间效益,实现其使用价值,以满足社会需要。运输是物流的中心环节之一,可以说是物流最重要的一个功能。运输在经济上的作用是扩大了经济作用范围和在一定的经济范围内促进物价的平均化。现代化大生产的发展,社会分工越来越细,产品种类越来越多,无论是原材料的需求,还是产品的输出量,都大幅度上升,区域之间的物资交换更加频繁,这就促进运输业的发展和运输能力的提高,所以产业的发展促进了运输技术的革新和运输水平的提高。反之,运输手段的发达也是产业发展的重要支柱。例如现代钢铁企业每日需万吨以上铁矿石原料,往往是从几千公里甚至几万公里之外用大型货车运来,许多发达国家需要数万吨以至数亿万吨级油轮从国外输送石油,没有这样强有力的输送手段,许多大工业企业就难以存在,甚至国民经济也难以正常运转。
               运输方式及特点
               陆地、海洋和天空都可以作为运输活动的空间,根据运载工具的不同,运输的主要方式可以分为以下几种:
                      基于铁路的运输方式
                      它是陆地长距离运输的主要方式。由于其货车在固定轨道线路上行驶,可以自成系统,不受其他运输条件的影响,具有按时刻表运行,轨道行驶阻力小、不需频繁地启动制动、可重载高速运行及运输单位大等优点,从而使运费和劳务费降低。但由于在专用线路上行驶,而且车站之间距离比较远,缺乏机动性,此外,运输的起点和终点常常需要汽车进行转运,增加搬运次数。
                      铁路及其附属设施的建设需要国家投资,除了少数大型工厂和矿山有自己的支线外,一般企业只能利用公有铁路,铁道运输车辆主要有机车和货车车厢两种,货车车箱随用途而异,也有不同种类,化学品车、油罐车、集装箱车等。
                      基于公路的运输方式
                      它是最普及的一种运输方式,其最大优点是空间和时间方面具有充分的自由性,少受路线和停车站的约束,只要没有特别的障碍(如壕沟、过窄的通道等),汽车都可以到达。因此,可以实行从发货人到收货人之间门对门直达输送。由于减少了转运环节,货物包装可以简化,货物损伤、丢失和误送的可能性很小。购置汽车成本较低,一般企业都可以实现。自行运输和委托运输可以同时进行,由于自备车有充分的机动性,使用非常方便。
                      汽车运输的运输单位小,运输量和汽车台数与操作人员数成正比,产生不了大批量输送的效果。动力费和劳务费较高,特别是长距离输送中缺点较为显著。此外,由于在运行中司机自由意志起主要作用,容易发生交通事故,对人身、货物、汽车本身造成损失。由于汽车数量的增多,产生交通阻塞,使汽车运行困难,同时产生的废气、噪音也造成了环境污染。运货汽车种类很多,有卡车、厢式货车、拖车、冷藏车等专用货车,虽然大型化是发展趋势,但是小型货车的适用范围很广,今后仍然会保持大型货车和小型货车相结合的汽车运输体系。
                      基于水路的运输方式
                      有海运和内河航运两种。利用水路运送货物,在大批量和远距离的运输中价格便宜,可以运送超大型和超重物。运输线路主要利用自然的海洋与河流,不受道路的限制,在隔海的区域之间是代替陆地运输的必要方式。水上航行的速度比较慢、航行周期长,海上运输有时以几个月为周期,易受天气影响,航期不能保证,建设港湾也要花费高额费用。船舶按用途分类有专用船(如油轮、矿石船、冷冻船等),还有混装船、集装箱船;按装卸货物的方式有载货车辆可以直接开到船上的滚装船,还有无自行能力的船舶等。
                      基于航空的运输方式
                      它们主要优点是速度快。因为时间短,货物损坏少,特别适合一些保鲜物品的输送。但是航空运输的费用高,离机场距离比较远的地方利用价值不大。客运飞机可以利用下部货仓运送少部分货物。随着空运货物的增加,出现了专用货运机,采用单元装载系统,缩短装卸时间,保证“快”的特色。
                      基于管道的运输方式
                      自来水和城市的煤气的输配送是和人们生活最为密切相关的管道运输,它的主要优点是:基本没有运动部件,维修费便宜。管道一旦建成,可以连续不断地输送大量物资,不费人力,运输成本低。管道铺设可以不占用土地或占地较少。此外,具有安全、事故少、公害少等优点。管道运输的缺点是在输送地点和输送对象方面具有局限性。一般适用于气体、液体、天然气、石油等,但是也发展到粉粒体的近距离输送,如粮食、矿粉等,并且还研究了将轻便物体放在特定的密封存器内,在管道内利用空气压力进行输送.如书籍文件、实验样品的输送。随着技术的进步,输送对象的范围在不断扩大。管道的铺设有地面、地下和架空安装等方式。必要时中途要采用保温、加热、加压的措施,以保证管道的畅通。
                      多种方式联合运输
                      联合运输是综合利用某一区间中各种不同运输方式的优势进行不同运输方式的协作,使货主能够按一个统一的运输规章或制度,使用同一个运输凭证,享受不同运输方式综合优势的一种运输形式。联运的最低限度要求是两种不同运输方式进行两程的衔接运输。联合运输按地域划分有国际联运和国内联运两种,国内联运较为简单,国际联运是联合运输最高水平的体现。联合运输具有三个特点:一是具有组织运输的全程性,二是运程凭证的通用性,三是托运手续的简易性。
   题号导航      2017年上半年 数据库系统工程师 下午试卷 案例   本试卷我的完整做题情况  
1 /
2 /
3 /
4 /
5 /
 
第1题    在手机中做本题