免费智能真题库 > 历年试卷 > 软件设计师 > 2015年下半年 软件设计师 下午试卷 案例
  第2题      
  知识点:   实体   消息   办公自动化   办公自动化系统   结构设计   逻辑结构设计   设计阶段   实体联系图   需求分析   需求分析阶段   自动化

 
【说明】
某企业拟构建一个高效、低成本、符合企业实际发展需要的办公自动化系统。工程师小李主要承担该系统的公告管理和消息管理模块的研发工作。公告管理模块的主要功能包括添加、修改、删除和查看公告。消息管理模块的主要功能是消息群发。
小李根据前期调研和需求分析进行了概念模型设计,具体情况分述如下:
需求分析结果】
(1)该企业设有研发部、财务部、销售部等多个部门,每个部门只有一名部门经理,有多名员工,每名员工只属于一个部门,部门信息包括:部门号、名称、部门经理和电话,其中部门号唯一确定部门关系的每一个元组。
(2)员工信息包括:员工号、姓名、岗位、电话和密码。员工号唯一确定员工关系的每一个元组;岗位主要有经理、部门经理、管理员等,不同岗位具有不同的权限。一名员工只对应一个岗位,但一个岗位可对应多名员工。
(3)消息信息包括:编号、内容、消息类型、接收人、接收时间、发送时间和发送人。其中(编号,接收人)唯一标识消息关系中的每一个元组。一条消息可以发送给多个接收人,一个接收人可以接收多条消息
(4)公告信息包括:编号、标题、名称、内容、发布部门、发布时间。其中编号唯一确定公告关系的每二个元组。一份公告对应一个发布部门,但一个部门可以发布多份公告;一份公告可以被多名员工阅读,一名员工可以阅读多份公告。
【概念模型设计】
根据需求分析阶段收集的信息,设计的实体联系图(不完整)如图2-1所示:

【逻辑结构设计
根据概念模型设计阶段完成的实体联系图,得出如下关系模式(不完整):
部门((a),部门经理,电话)
员工(员工号,姓名,岗位号,部门号,电话,密码)
岗位(岗位号,名称,权限)
消息((b),消息类型,接收时间,发送时间,发送人)
公告((c),名称,内容,发布部门,发布时间)
阅读公告((d),阅读时间)

 
问题:2.1   根据问题描述,补充四个联系,完善图2-1所示的实体联系图。联系名可用联系1、联系2、联系3和联系4代替,联系的类型分为1:1、1:n和m:n(或1:1、1:*和*:*)。
 
问题:2.2   (1)根据实体联系图,将关系模式中的空(a)~(d)补充完整。
(2)给出“消息”和“阅读公告”关系模式的主键与外键。
 
问题:2.3   消息和公告关系中都有“编号”属性,请问它是属于命名冲突吗?用100字以内文字说明原因。
 
 
 

   知识点讲解    
   · 实体    · 消息    · 办公自动化    · 办公自动化系统    · 结构设计    · 逻辑结构设计    · 设计阶段    · 实体联系图    · 需求分析    · 需求分析阶段    · 自动化
 
       实体
        实体是现实世界中可以区别于其他对象的"事件"或"物体"。每个实体由一组特性(属性)来表示,其中的某一部分属性可以唯一表示实体。实体集是具有相同属性的实体集合。
 
       消息
        对象之间进行通信的一种构造叫做消息。但一个消息发送给某个对象时,包含要求接收对象去执行某些活动的信息,接收到消息的对象经过解释,然后予以响应,这种通信机制叫做消息传递。发送消息的对象不需要知道接收消息的对象如何对请求予以响应。
 
       办公自动化
        多媒体技术在办公自动化中的应用非常广泛。采用系统综合设备,如计算机局域网、广域网、图像处理专用系统、语音传真、秘书系统、多功能多媒体工作站、综合业务数字网等实现办公一体化,综合处理语音、数据、文字、图像等,使系统有机地集成起来,使办公业务更加现代化,极大地改善了人机交互界面,提供了各种灵活方便的输入手段,使得计算机使用起来更加简单。例如,电视会议系统通过计算机网络进行面对面的交谈,满足人们在办公室召开实时会议的需求;各种多媒体数据的存储和查询打破了单一的文本信息存储的局面,提供了丰富生动的信息表达方式,人们能够方便地进行各种图、文、声并茂的信息处理;各种光笔、扫描、录音等多媒体输入方式简化了信息输入计算机的难度,使办公自动化系统中能够包含多样化的信息,使处理信息的方式更为丰富,提高了办公自动化信息处理的应用范围和价值。
 
       办公自动化系统
        无论是企业还是政府机关,都会有大量的文案需要处理,复杂的工作流程需要安排,决策者需要依据纷乱的信息做出重要的决定。拥有一套自动化、智能化、信息化的办公系统,对办公人员和企业决策者来说,工作效率上的提高是显而易见的。在网络连接千万家的时代,办公自动化还使得不同地理位置之间的不同单位或部门之间进行协同办公成为可能。
        办公自动化(Office Automation,OA)系统,是指办公信息处理的自动化系统,它利用先进科学的技术,使人工处理的各种办公业务活动逐步物化于人以外的各种设备中,并由各种设备与办公人员构成服务于某种目标的人机信息系统。其目的是达到充分利用信息,提高工作效率、工作质量和生产率。
               办公自动化系统的发展
               办公自动化由20世纪70年代末80年代初在我国提出,随着办公自动化技术的不断发展,办公自动化新产品不断地出现,办公自动化的内涵也不断地丰富和发展。办公自动化的发展历经了三个阶段。
               第一代办公自动化是以数据为处理中心的传统MIS系统。其最大特点是:应用基于文件系统和关系型数据库系统,以结构化数据为存储和处理对象,强调对数据的计算和统计能力。它提高了文件管理水平,但是缺乏诸如收发文等群组协作工作过程的处理能力,“自动化”程度十分有限。
               第二代是以工作流为中心的办公自动化系统。它以E-mail、文档数据库管理、复制、目录服务、群组协同工作等技术作支撑。以工作流为中心的第二代办公自动化系统包含众多实用功能和模块,实现了对人、事、文档、会议的自动化管理。其显著特点是:以网络为基础;以工作流自动化为主要的技术手段;缺少对知识管理的能力。
               第三代办公自动化系统建立在企业Internet平台之上,旨在帮助企业实现动态的内容和知识管理,使企业每一位员工能够在协作中不断获得学习的机会。第三代OA的核心是知识。它不仅模拟和实现了工作流的自动化,更模拟和实现了工作流中每一个单元和每一个工作人员运用知识的过程。其突出特点是:实时通信,员工与专家可以网上实时交流;信息广泛集成的内容编目;知识门户的构造。因此,第三代办公自动化系统的核心是知识,实现的基础是知识管理技术。
               办公自动化系统的特点
               办公自动化涉及企、事业办公的每一个领域、每一个人,使办公成为自动化、流水线式的工作方式,如文件处理,从起草、审核、签发、发文、收文、签收、批办到催办等,它的一套完整流程中涉及许多人、许多部门、许多环节,其中任何一个环节如果出现梗阻,下一个环节就无法顺利进行。由于办公自动化系统是一个企、事业所有部门、所有人员都需使用的系统,因此它需具备以下一些特点。
               (1)用户界面要简单、美观,易于操作和使用。
               (2)流程控制要灵活,便于功能扩充和修改。
               (3)安全措施要全面,方便维护和管理。由于它是面向团体工作,一项任务需要很多人、很多机器在不同的时间、地点以不同的方式参与完成,所以程序中应当严格限定用户的操作密码、权限等,确保系统安全运行。
               办公自动化系统的组成
               一般来说,办公自动化系统由硬件、基本软件和专用处理系统组成。
               硬件包括计算机及外设、显示终端、打印设备、光学字符识别设备(OCR)、语音识别设备、智能终端、传真机、书写终端、可视图文处理终端、通信网络设备、大容量存储设备等。
               基本软件包括网络软件、系统软件、文件与数据库系统软件、数据处理语言、智能软件等。
               专用处理系统包括汉字信息处理系统、文字处理系统、语音处理系统、电子表格处理系统、图形和图像处理系统、电子邮件系统、日程管理系统、文档管理系统、决策支持系统等。
               办公自动化软件
               目前市场上已经有了很多办公自动化工具软件,这些软件是办公各个环节需要的具有不同功能的软件的组合,一般称为群件或办公套装软件。目前占有较大国内市场份额的办公自动化软件有MS Office系列、WPS系列等。MS Office是微软公司的产品,WPS是国内金山公司的具有自主版权的办公事务处理软件。
               各种办公自动化软件系统的功能虽然各有差别,但都具备某些基本功能,如文字处理、电子表格、图形制作和电子邮件等。例如,微软公司的MS Office系列软件中包括了用于文字处理的Word,用于电子表格制作和数据处理的Excel,用于创建演示文稿的PowerPoint,用于收发和管理电子邮件的Outlook,以及数据库软件Access。此外,Office系统还提供了支持视频会议、实时交流和文件传输的Netmeeting工具软件。
               可见,当前办公自动化系统的实现可以在很多软件工具支持下来完成,而人们应完成的工作则是形成科学的办公流程,将大量不同部门的人员高效地组织起来,每个人完成同一工作的一部分,从而达到协调工作,并在计算机和工具软件的支持下实现办公活动的自动化。
 
       结构设计
        多媒体课件的结构规定了教学软件中各部分教学内容的相互关系及呈现的形式,它反映了教学软件的主要框架及其教学功能,多媒体课件的系统结构大多采用非线性的超媒体结构,在此基础上形成了以下四种组织结构方式。
        ①线性结构:学生顺序地接收信息,从当前帧到下一帧,是一个事先设置好的序列。
        ②树状结构:学生沿着一个树状分支展开学习活动,该树状结构按教学内容的自然逻辑形成。
        ③网状结构:多媒体课件的网状结构是超文本结构,学生可在内容单元之间自由航行,没有预设路径的约束。
        ④复合结构:学生可以在一定范围内自由地航行,但同时受主流信息的线性引导和分层逻辑组织的影响。
 
       逻辑结构设计
        逻辑结构设计的目的是把概念设计阶段的基本E-R图转换成与选用的具体机器上的DBMS所支持的数据模型相符合的逻辑结构(包括数据库模式和外模式)。逻辑设计有以下3个步骤。
        (1)将概念模型(E-R图)转换为一般的关系、网状或层次模型。
        (2)将关系、网状或层次模型向特定的DBMS支持下的数据模型转换。
        (3)对数据模型进行优化。
 
       设计阶段
        设计阶段监理进行质量控制的要点如下。
        (1)了解建设单位的建设需求和对信息系统安全性的要求,协助建设单位制定项目质量目标规划和安全目标规划。
        (2)对各种设计文件提出设计质量标准。
        (3)进行设计过程跟踪,及时发现质量问题,并及时与承建单位协调解决。审查阶段性成果,并提出监理意见。审查承建单位提交的总体设计方案,审查承建单位对关键部位的测试方案。
        (4)协助承建单位建立质量保障体系。
        (5)协助承建单位完善现场质量管理制度。
        (6)组织设计文件及设计方案交底会,制定质量要求标准。
 
       实体联系图
        数据流图描述了系统的逻辑结构,数据流图中的有关处理逻辑及数据流的含义可用数据字典具体定义说明,但是对于比较复杂的数据及其之间的关系,用它们是难以描述的,在这种情况下一般采用实体联系图进行描述。
        实体联系图(Entity-Relationship Diagram, ER图),可用于描述数据流图中数据存储及其之间的关系,最初用于数据库概念设计。
        下图是大学教务管理问题中对教务处进行分析调查后得到的实体联系图。其中,学生档案是有关学生情况的集合,课程档案是有关开设的课程情况集合,注册记录、选课单则分别是学生注册和选课情况的集合。它用简单的图形方式描述了学生和课程等这些教学活动中的数据之间的关系。
        
        大学教务处教务管理问题实体联系图
        在实体联系图中,有实体、联系和属性三个基本成分,如下图所示。
        (1)实体。实体是现实中存在的对象,有具体的,也有抽象的;有物理上存在的,也有概念性的;例如,学生、课程,等等。它们的特征是可以互相区别,否则就会被认为是同一对象。凡是可以互相区别、又可以被人们识别的事、物、概念等统统可以被抽象为实体。数据流图中的数据存储就是一种实体。实体可以分为独立实体和从属实体或弱实体,独立实体是不依赖于其他实体和联系而可以独立存在的实体,如上图中的“学生档案”、“课程档案”等,独立实体常常被直接简称为实体;从属实体是这样一类实体,其存在依赖于其他实体和联系,在实体联系图中用带圆角的矩形框表示,例如上图中的“注册记录”是从属实体,它的存在依赖于实体“学生档案”,“课程档案”和联系“注册”,“选课单”也是从属实体,它的存在依赖于实体“学生档案”,“课程档案“和联系”选课”。
        在以下述说中,为简便起见,将上图中的实体“学生档案”和“课程档案”直接称为“学生”和“课程”。
        (2)联系。实体之间可能会有各种关系。例如,“学生”与“课程”之间有“选课”的关系。这种实体和实体之间的关系被抽象为联系。在实体联系图中,联系用联结有关实体的菱形框表示,如上图所示。联系可以是一对一(1:1),一对多(1:N)或多对多(M:N)的,这一点在实体联系图中也应说明。例如在大学教务管理问题中,“学生”与“课程”是多对多的“选课”联系。
        (3)属性。实体一般具有若干特征,这些特征就被称为实体的属性,例如上图中的实体“学生”,具有学号、姓名、性别、出生日期和系别等特征,这些就是它的属性。
        联系也可以有属性,例如学生选修某门课程,它既不是学生的属性,也不是课程的属性,因为它依赖于某个特定的学生,又依赖于某门特定的课程,所以它是学生与课程之间的联系“选课”的属性。在上图中,联系“选课”的属性被概括在从属实体“选课单”中。联系具有属性这一概念对于理解数据的语义是非常重要的。
        在实体联系图中,还有如下关于属性的几个重要概念。
        .主键,如果实体的某一属性或某几个属性组成的属性组的值能唯一地决定该实体其他所有属性的值,也就是能唯一地标识该实体,而其任何真子集无此性质,则这个属性或属性组被称为实体键。如果一个实体有多个实体键存在,则可从其中选一个最常用到的作为实体的主键。例如实体“学生”的主键是学号,一个学生的学号确定了,那么他的姓名、性别、出生日期和系别等属性也就确定了。在实体联系图中,常在作为主键的属性或属性组与相应实体的连线上加一短垂线表示,如上图所示的“学号”。
        
        实体联系图的基本成分
        .外键,如果实体的主键或属性(组)的取值依赖于其他实体的主键,那么该主键或属性(组)被称为外键。例如,从属实体“注册记录”的主键“学号”的取值依赖于实体“学生”的主键“学号”,“选课单”的主键“学号”和“课程号”的取值依赖于实体“学生”的主键“学号”和实体“课程”的主键“课程号”,这些主键和属性就是外键。
        .属性域,属性可以是单域的简单属性,也可以是多域的组合属性。组合属性由简单属性和其他组合属性组成。组合属性中允许包括其他组合属性意味着属性可以是一个层次结构,如下图所示通信地址就是一种具有层次结构的属性。
        
        通信地址属性
        .属性值,属性可以是单值的,也可以是多值的。例如一个人所获得的学位可能是多值的。当某个属性对某个实体不适应或属性值未知时,可用空缺符NULL表示。
        在画实体联系图时,为了使得图形更加清晰、易读易懂,可以将实体和实体的属性分开画,并且对实体进行编号,如下图一和下图二所示。
        
        实体联系图
        
        实体属性图
        由于人们通常就是用实体、联系和属性这三个概念来理解和描述现实问题的,所以实体联系图非常接近人的思维方式。又因为实体联系图采用简单的图形来表达人们对现实的理解,所以不熟悉计算机技术的用户也都能够接受它,因此实体联系图成为了系统分析员和用户之间沟通的工具。
 
       需求分析
        需求分析的方法种类繁多,不过如果按照分解的方式不同,可以很容易地划分出几种大类型:
        (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)判定表:一些条件较多、在每个条件下取值也较多的判定问题,可以用判定表表示。判定表能清晰地表达复杂的条件组合与应做动作之间的对应关系,判定表的优点是能够简洁、无二义性地描述所有的处理规则。但判定表表示的是静态逻辑,是在某种条件取值组合情况下可能的结果,它不能表达加工的顺序,也不能表达循环结构,因此判定表不能成为一种通用的设计工具。
 
       需求分析阶段
        . 确定软件的可靠性目标;
        . 分析可能影响可靠性的因素;
        . 确定可靠性的验收标准;
        . 制定可靠性管理框架;
        . 制定可靠性文档编写规范;
        . 制定可靠性活动初步计划;
        . 确定可靠性数据收集规范。
 
       自动化
        简而言之,就是将我们日常手动进行的一些工作通过工具,系统自动来完成,解放我们的双手,例如:没有工具前,我们安装系统需要一台一台裸机安装,如2000台,可能需要10人/10天,而现在通过自动化工具,只需几个简单命令就能解决这个问题。还有如机器人类程序,自动完成以往每天人工干预的工作,使其自动完成、汇报结果,并具备一定的专家系统能力,能做一些简单的是/非判断、优化选择等。应该说,自动化运维是运维工程师职业化的一个追求,利己利公,虽然这是一个异常艰巨的任务,不断变更的业务、不规范化的应用设计、开发模式、网络架构变更、IDC变更、规范变动等因素,都可能会对现有自动化系统产生影响,所以需要模块化、接口化等工作。自动化相关工作,是运维工程师的核心重点工作之一,也是价值的体现。
        总结一下运维中关键技术:大量高并发网站的设计方案;高可靠、高可伸缩性网络架构设计;网站安全问题,如何避免被黑?南北互联问题,动态CDN解决方案;海量数据存储架构。
   题号导航      2015年下半年 软件设计师 下午试卷 案例   本试卷我的完整做题情况  
1 /
2 /
3 /
4 /
5 /
6 /
 
第2题    在手机中做本题