免费智能真题库 > 历年试卷 > 信息系统管理工程师 > 2018年上半年 信息系统管理工程师 下午试卷 案例
  第1题      
  知识点:   实体联系图   管理需求   实体   事务   需求分析

 
阅读以下说明,回答问题1至问题4,将解答填入答题纸的对应栏内。
【说明】
某集团公司拥有多个大型超市,为了方便集团公司对超市的各项业务活动进行有效管理,公司决定构建一个信息系统以满足公司的业务管理需求
需求分析
1.超市需要记录的信息包括超市编号、超市名称、经理号(参照员工关系的员工号)、联系地址和电话。超市编号唯一标识超市信息中的每一个元组;每个超市只有一名经理,负责该超市的管理工作;每个超市包含有不同的部门(如:财务、采购部、销售部等)
2.部门需要记录的信息包括部门号、部门名称、超市编号、主管号(参照员工关系的员工号)、电话和位置分布(如:超市一层、超市二层、超市负一层等),部门号唯一标识部门信息中的每一个元组。每个部门只有一名主管,负责部门的工作。每个部门有多名员工处理日常事务,每名员工只能隶属于一个部门
3.员工需要记录的信息包括员工号、姓名、隶属部门(参照部门关系的部门号)、岗位、电话和基本工资。其中,员工号唯一标识员工信息中的每一个元组;岗位包括:经理、主管、理货员、收银员等。
【概念模型设计】
根据需求阶段收集的信息,设计的实体联系图和关系模式(不完整)如图1-1所示

【关系模式设计】
超市(超市编号,超市名称,(a),联系地址,电话)
部门(部门号,部门名称,(b),电话,(c),位置分布)
员工(员工号,姓名(d),岗位,电话,基本工资)
 
问题:1.1   (4分)
根据题意,将以上关系模式中的空(a)~(d)的属性补充完整,并填入答题纸对应的位置上。
 
问题:1.2   (4分)
请根据以上需求分析,结合图1-1所示的实体联系图按以下描述确定联系类型并填入答题纸对应的位置上。
超市与部门之间的“组成”联系类型为(e);
超市与经理之间的“管理1”联系类型为(f);
部门与主管之间的“管理2”联系类型为(g);
部门与员工之间的“隶属”联系类型为(h)。
 
问题:1.3   (5分)
(1)部门关系的主键为(i),部门关系的外键为(j)、(k)。
(2)员工关系的主键为(l),员工的外键为(m)。
 
问题:1.4   (2分)
假设集团公司要求系统能记录部门历任主管的任职时间和任职年限,请问“在数据库设计时需要增设一个实体”的说法是否正确?为什么?
 
 
 

   知识点讲解    
   · 实体联系图    · 管理需求    · 实体    · 事务    · 需求分析
 
       实体联系图
        数据流图描述了系统的逻辑结构,数据流图中的有关处理逻辑及数据流的含义可用数据字典具体定义说明,但是对于比较复杂的数据及其之间的关系,用它们是难以描述的,在这种情况下一般采用实体联系图进行描述。
        实体联系图(Entity-Relationship Diagram, ER图),可用于描述数据流图中数据存储及其之间的关系,最初用于数据库概念设计。
        下图是大学教务管理问题中对教务处进行分析调查后得到的实体联系图。其中,学生档案是有关学生情况的集合,课程档案是有关开设的课程情况集合,注册记录、选课单则分别是学生注册和选课情况的集合。它用简单的图形方式描述了学生和课程等这些教学活动中的数据之间的关系。
        
        大学教务处教务管理问题实体联系图
        在实体联系图中,有实体、联系和属性三个基本成分,如下图所示。
        (1)实体。实体是现实中存在的对象,有具体的,也有抽象的;有物理上存在的,也有概念性的;例如,学生、课程,等等。它们的特征是可以互相区别,否则就会被认为是同一对象。凡是可以互相区别、又可以被人们识别的事、物、概念等统统可以被抽象为实体。数据流图中的数据存储就是一种实体。实体可以分为独立实体和从属实体或弱实体,独立实体是不依赖于其他实体和联系而可以独立存在的实体,如上图中的“学生档案”、“课程档案”等,独立实体常常被直接简称为实体;从属实体是这样一类实体,其存在依赖于其他实体和联系,在实体联系图中用带圆角的矩形框表示,例如上图中的“注册记录”是从属实体,它的存在依赖于实体“学生档案”,“课程档案”和联系“注册”,“选课单”也是从属实体,它的存在依赖于实体“学生档案”,“课程档案“和联系”选课”。
        在以下述说中,为简便起见,将上图中的实体“学生档案”和“课程档案”直接称为“学生”和“课程”。
        (2)联系。实体之间可能会有各种关系。例如,“学生”与“课程”之间有“选课”的关系。这种实体和实体之间的关系被抽象为联系。在实体联系图中,联系用联结有关实体的菱形框表示,如上图所示。联系可以是一对一(1:1),一对多(1:N)或多对多(M:N)的,这一点在实体联系图中也应说明。例如在大学教务管理问题中,“学生”与“课程”是多对多的“选课”联系。
        (3)属性。实体一般具有若干特征,这些特征就被称为实体的属性,例如上图中的实体“学生”,具有学号、姓名、性别、出生日期和系别等特征,这些就是它的属性。
        联系也可以有属性,例如学生选修某门课程,它既不是学生的属性,也不是课程的属性,因为它依赖于某个特定的学生,又依赖于某门特定的课程,所以它是学生与课程之间的联系“选课”的属性。在上图中,联系“选课”的属性被概括在从属实体“选课单”中。联系具有属性这一概念对于理解数据的语义是非常重要的。
        在实体联系图中,还有如下关于属性的几个重要概念。
        .主键,如果实体的某一属性或某几个属性组成的属性组的值能唯一地决定该实体其他所有属性的值,也就是能唯一地标识该实体,而其任何真子集无此性质,则这个属性或属性组被称为实体键。如果一个实体有多个实体键存在,则可从其中选一个最常用到的作为实体的主键。例如实体“学生”的主键是学号,一个学生的学号确定了,那么他的姓名、性别、出生日期和系别等属性也就确定了。在实体联系图中,常在作为主键的属性或属性组与相应实体的连线上加一短垂线表示,如上图所示的“学号”。
        
        实体联系图的基本成分
        .外键,如果实体的主键或属性(组)的取值依赖于其他实体的主键,那么该主键或属性(组)被称为外键。例如,从属实体“注册记录”的主键“学号”的取值依赖于实体“学生”的主键“学号”,“选课单”的主键“学号”和“课程号”的取值依赖于实体“学生”的主键“学号”和实体“课程”的主键“课程号”,这些主键和属性就是外键。
        .属性域,属性可以是单域的简单属性,也可以是多域的组合属性。组合属性由简单属性和其他组合属性组成。组合属性中允许包括其他组合属性意味着属性可以是一个层次结构,如下图所示通信地址就是一种具有层次结构的属性。
        
        通信地址属性
        .属性值,属性可以是单值的,也可以是多值的。例如一个人所获得的学位可能是多值的。当某个属性对某个实体不适应或属性值未知时,可用空缺符NULL表示。
        在画实体联系图时,为了使得图形更加清晰、易读易懂,可以将实体和实体的属性分开画,并且对实体进行编号,如下图一和下图二所示。
        
        实体联系图
        
        实体属性图
        由于人们通常就是用实体、联系和属性这三个概念来理解和描述现实问题的,所以实体联系图非常接近人的思维方式。又因为实体联系图采用简单的图形来表达人们对现实的理解,所以不熟悉计算机技术的用户也都能够接受它,因此实体联系图成为了系统分析员和用户之间沟通的工具。
 
       管理需求
        从用户的角度来讲,一个网络管理系统应该满足以下要求。
        ◆同时支持网络监视和控制两方面的能力。
        ◆能够管理所有的网络协议。
        ◆尽可能大的管理范围。
        ◆尽可能小的系统开销。
        ◆可以管理不同厂家的联网设备。
        ◆容纳不同的网络管理系统。
        ◆网络管理的标准化。
        在OSI网络管理框架模型中,基本的网络管理功能被分为5个功能域:配置管理(Configuration Management)、性能管理(Performance Management)、故障管理(Fault Management)、安全管理(Security Management)和计费管理(Accounting Management)。
        网络管理的标准化产品包括ISO的CMIS/CMIP(Common Management Information Service/Common Management Information Protocol)、Internet体系结构委员会(Internet Architecture Board, IAB)的SNMP和管理信息库(MIB),这些内容将在第5章详细介绍。
 
       实体
        从上表中可见,在E-R模型中实体用矩形表示,通常矩形框内写明实体名。实体是现实世界中可以区别于其他对象的“事件”或“物体”。例如,企业中的每个人都是一个实体。每个实体由一组特性(属性)来表示,其中的某一部分属性可以唯一标识实体,如职工号。实体集是具有相同属性的实体集合,例如,学校所有教师具有相同的属性,因此教师的集合可以定义为一个实体集;学生具有相同的属性,因此学生的集合可以定义为另一个实体集。
 
       事务
               概述
               事务(Transaction)是一系列的数据库操作,是数据库应用程序的基本逻辑单位,即应用程序对数据库的操作都应该以事务的方式进行。
               事务是一个操作序列,这些操作“要么都做,要么都不做”,是数据库环境中不可分割的逻辑工作单位。事务和程序是两个不同的概念,一般一个程序可包含多个事务。
               事务通常由数据库操纵语言或其他高级语言(如SQL、CoBOL、C、C++、Java等)书写的用户程序来实现。一个事务由应用程序的一组操作序列组成,它以BEGIN TRANSACTION语句开始,以END TRANSACTION结束语句。
               事务定义的语句如下:
               (1)BEGIN TRANSACTION:事务开始。
               (2)END TRANSACTION:事务结束。
               (3)COMMIT:事务提交。该操作表示事务成功地结束,它将通知事务管理器该事务的所有更新操作现在可以被提交或永久地保留。
               (4)ROLLBACK:事务回滚。该操作表示事务非成功地结束,它将通知事务管理器出故障了,数据库可能处于不一致状态,该事务的所有更新操作必须回滚或撤销。
               典型的例子是银行转账业务。对“从账户A转入账户B金额x元”业务,站在顾客角度来看,转账是一次单独操作;而站在数据库系统的角度它至少是由两个操作组成的,第一步从账户A减去x元,第二步给账户B加上x元。下面是银行转账事务的伪代码:
               
               SQL中事务的开始与结束
               SQL标准规定当一条SQL语句被执行,就隐式地开始了一个事务,SQL中的Commit work和Rollback work语句之一会结束一个事务。
               (1)Commit work:提交当前事务。这意味着将该事务所做的更新在数据库中永久保存。一旦事务被提交后,一个新的事务自动开始。
               (2)Rollback work:回滚当前事务。这意味着将撤销该事务对数据库的更新。这样,数据库恢复到该事务执行第一条语句之前的状态。
               需要注意的是,若事务已执行了Commit work,就不能用Rollback work来撤销。数据库系统能保证在发生诸如某条SQL语句错误、断电、系统崩溃的情况下,若事务还没有执行Commit work,则所造成的影响将被回滚。对断电、系统崩溃的情况,回滚是在系统重新启动时进行。
 
       需求分析
        需求分析的方法种类繁多,不过如果按照分解的方式不同,可以很容易地划分出几种大类型:
        (1)结构化分析方法。本节后续内容将详细讨论SA的内容。
        (2)面向对象分析方法。将在10.3节中进行详细介绍。
        (3)面向问题域的分析(Problem Domain Oriented Analysis, PDOA)方法。PDOA更多地强调描述,而少强调建模。它的描述大致分为关注问题域和关注解系统的待求行为这两个方面。问题框架是PDOA的核心元素,是将问题域建模成为一系列相互关联的子域。也可以把问题框架看作是开发上下文图,但不同的是上下文图的建模对象是针对解系统,而问题框架则是针对问题域。也就是说,问题框架的目标就是大量地捕获更多有关问题域的信息。PDOA方法现在还在研究阶段,并未广泛应用。
               业务流程分析
               业务流程分析的目的是了解各个业务流程的过程,明确各个部门之间的业务关系和每个业务处理的意义,为业务流程的合理化改造提供建议,为系统的数据流程变化提供依据。
               业务流程分析的步骤如下:
               (1)通过调查掌握基本情况。
               (2)描述现有业务流程(绘制业务流程图)。
               (3)确认现有业务流程。
               (4)对业务流程进行分析。
               (5)发现问题,提出解决方案。
               (6)提出优化后的业务流程。
               在业务流程图中使用的基本符号如下图所示。
               数据流图
               DFD是结构化分析中的重要方法和工具,是表达系统内数据的流动并通过数据流描述系统功能的一种方法。DFD还可被认为是一个系统模型,在信息系统开发中,一般将它作为需求说明书的组成部分。
               
               业务流程图符号
               DFD从数据传递和加工的角度,利用图形符号通过逐层细分地描述系统内各个部件的功能和数据在它们之间传递的情况,来说明系统所完成的功能。具体来说,DFD的主要作用如下:
               (1)DFD是理解和表达用户需求的工具,是系统分析的手段。由于DFD简明易懂,理解它不需要任何计算机专业知识,因此通过它同客户交流很方便。
               (2)DFD概括地描述了系统的内部逻辑过程,是系统分析结果的表达工具,因而也是系统设计的重要参考资料,是系统设计的起点。
               (3)DFD作为一个存档的文字材料,是进一步修改和充实开发计划的依据。
               在DFD中,通常会出现4种基本符号,分别是数据流、加工、数据存储和外部实体(数据源及数据终点)。数据流是具有名字和流向的数据,在DFD中用标有名字的箭头表示。加工是对数据流的变换,一般用圆圈表示。数据存储是可访问的存储信息,一般用直线段表示。外部实体是位于被建模的系统之外的信息生产者或消费者,是不能由计算机处理的成分,它们分别表明数据处理过程的数据来源及数据去向,用标有名字的方框表示。下图是一个典型的DFD示例。
               
               办理取款手续的DFD
               为了表达数据处理过程中的数据加工情况,用一个DFD是不够的。稍微复杂的实际问题,在DFD中常常出现十几个甚至几十个加工。这样的DFD看起来很不清楚。层次结构的DFD能很好地解决这一问题。按照系统的层次结构进行逐步分解,并以分层的DFD反映这种结构关系,能清楚地表达整个系统。
               下图给出分层DFD的示例。数据处理S包括3个子系统1、2、3。顶层下面的第一层DFD为DFD/L1,第二层的DFD/L2.1、DFD/L2.2及DFD/L2.3分别是子系统1、2和3的细化。对任何一层数据流图来说,它的上层图称为父图,在它下一层的图则称为子图。
               
               分层数据流图
               概括地说,画DFD的基本步骤,就是“自顶向下,逐层分解”。检查和修改的原则如下:
               (1)DFD中的所有图形符号只限于前述4种基本图形元素。
               (2)顶层DFD必须包括前述4种基本元素,缺一不可。
               (3)顶层DFD中的数据流必须封闭在外部实体之间。
               (4)每个加工至少有一个输入数据流和一个输出数据流。
               (5)在DFD中,需按层给加工框编号。编号表明了该加工处在哪一层,以及上下层的父图与子图的对应关系。
               (6)规定任何一个数据流子图必须与它上一层的一个加工对应,两者的输入数据流和输出数据流必须一致。此即父图与子图的平衡。
               (7)可以在DFD中加入物质流,帮助用户理解DFD。
               (8)图上每个元素都必须有名字。
               (9)DFD中不可夹带控制流。
               数据字典
               数据字典是关于数据的信息的集合,也就是对DFD中包含的所有元素的定义的集合。DFD和数据字典共同构成系统的逻辑模型。没有DFD,数据字典难以发挥作用;没有数据字典,DFD就不严格。只有把DFD和对DFD中每个元素的精确定义放在一起,才能共同构成系统的规格说明。
               数据字典的设计包括:数据流设计、数据元素字典设计、数据处理字典设计、数据结构字典设计和数据存储设计。这些设计涵盖了数据的采集和范围的确定等信息。在数据字典的每一个词条中应包含以下信息:名称、别名或编号、分类、描述、何处使用。
               对加工的描述是数据字典的组成内容之一,常用的加工描述方法有结构化语言、判定树及判定表。
               (1)结构化语言:介于自然语言和形式语言之间的一种半形式语言,在自然语言基础之上加了一些限度,使用有限的词汇和有限的语句来描述加工逻辑。结构化语言是受结构化程序设计思想启发而扩展出来的。结构化程序设计只允许3种基本结构。结构化语言也只允许3种基本语句,即简单的祈使语句、判断语句和循环语句。与程序设计语言的差别在于结构化语言没有严格的语法规定,与自然语言的不同在于它只有极其有限的词汇和语句。结构化语言使用3类词汇:祈使句中的动词、数据字典中定义的名词及某些逻辑表达式中的保留字。
               (2)判定树:若一个动作的执行不只依赖一个条件,而与多个条件有关,那么这项策略的表达就比较复杂。如果用结构化语言的判断语句,就有多重嵌套,层次一多,可读性就会下降。用判定树来表示,可以更直观一些。
               (3)判定表:一些条件较多、在每个条件下取值也较多的判定问题,可以用判定表表示。判定表能清晰地表达复杂的条件组合与应做动作之间的对应关系,判定表的优点是能够简洁、无二义性地描述所有的处理规则。但判定表表示的是静态逻辑,是在某种条件取值组合情况下可能的结果,它不能表达加工的顺序,也不能表达循环结构,因此判定表不能成为一种通用的设计工具。
   题号导航      2018年上半年 信息系统管理工程师 下午试卷 案例   本试卷我的完整做题情况  
1 /
2 /
3 /
4 /
5 /
 
第1题    在手机中做本题