ImageVerifierCode 换一换
格式:DOC , 页数:16 ,大小:85.50KB ,
资源ID:1318175      下载积分:5000 积分
快捷下载
登录下载
邮箱/手机:
温馨提示:
如需开发票,请勿充值!快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝扫码支付 微信扫码支付   
注意:如需开发票,请勿充值!
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【http://www.mydoc123.com/d-1318175.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(【计算机类职业资格】2019年系统分析师考试系统分析设计案例模拟试题1及答案解析.doc)为本站会员(progressking105)主动上传,麦多课文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知麦多课文库(发送邮件至master@mydoc123.com或直接QQ联系客服),我们立即给予删除!

【计算机类职业资格】2019年系统分析师考试系统分析设计案例模拟试题1及答案解析.doc

1、2019 年系统分析师考试系统分析设计案例模拟试题 1 及答案解析(总分:125.00,做题时间:150 分钟)一、案例分析题(总题数:5,分数:125.00)随着宽带应用快速发展,用户要求系统服务提供商提供基于互联网的多种服务。数字视频监控作为一种区域级的安全监控方式,越来越为更多的用户所使用。数字视频监控告警系统采用与数字视频监控相结合的多媒体技术和基于互联网的信息传递方案,为企业用户以及个人用户提供多种媒体的、不同时间、地点的信息通知服务。数字视频监控告警系统可以将用户需要查看的监控视频或告警信息,通过互联网门户系统以多种媒体方式传送给用户,方便用户随时随地了解与自身相关的视频信息。(分

2、数:25)(1).在设计数字视频监控告警系统时,张工将该系统划分为五个层次:服务代理层、门户服务层、流程服务总线层、业务流程应用管理层和企业服务层,其中流程服务总线层是整个数字视频监控告警系统的核心,实现了服务消息、服务指令与数据的集中传递。系统五个层次在实现时可以采用图 3-2 左侧所示的技术或工具,请将系统的 5 个层次填入空(1)(5),使其与左侧技术或工具相对应。(分数:7)_(2).请用 300 字以内文字说明服务代理层、门户服务层、业务流程应用管理层和企业服务层的主要功能。(分数:8)_(3).张工认为,系统设计实现时需要重点关注系统的私密性、实时性、稳定性和扩展性,为什么?请用3

3、00 字以内文字说明。(分数:10)_当前企业中的业务都是在全球化、快速变化的环境中运营的,传统的软件开发过程无法适应由此产生的快速软件开发需求。20 世纪 90 年代后期,一些软件开发人员在“Agile Allicance 2001”中系统地阐述了敏捷开发的原则,试图强调灵活性在快速且有效地生产软件中所发挥的作用。目前,众多的软件生产企业已经在实际的软件开发过程中接纳并实践了敏捷开发方法中的基本原则。(分数:25)(1).敏捷开发有许多典型方法,包括极限编程(eXtreme Programming)、Scrum、Crystal、DSDM 等。请问这些方法共同的基本原则是什么?(分数:6)_(

4、2).敏捷开发的支持者往往夸大该方法的优点,但是在实践中,敏捷方法的基本原则有时确实很难实施。请用 200 字以内的文字说明敏捷方法中哪些原则在实践中难以实施。(分数:6)_(3).敏捷开发方法中最有名的是极限编程。请说明极限编程中的结对编程(Pair Programming)的概念。(分数:6)_(4).敏捷开发方法在具体实践过程中,往往需要开发环境或工具的支持,一般称为快速应用开发技术和可视化开发技术。请用 150 字以内的文字说明快速应用开发技术所包含的工具有哪些,并简要说明可视化开发技术的基本概念和技术原理。(分数:7)_某集团公司在各省均设有分公司,现欲建立全国统一的销售管理信息系统

5、,以便总公司及时掌握各分公司的销售情况。公司成立专门的项目组进行该系统的研发工作,其中张工负责其中的数据库设计工作。张工和需求分析小组紧密合作,在设计出数据流图和数据字典的基础上,给出了数据库关系模式和相应的索引设计。同时考虑到未规范化关系模式可能引起的各类数据错误,对关系模式进行了全面的规范化处理,使所有关系模式均达到了 3NF 或 BCNF。在项目实施过程中,应用开发小组认为该设计方案未考虑应用功能的实际需求。如果严格按照设计方案实施,会对应用系统中整体性能产生较大影响。主要的原因在于进行数据查询时,会产生大量的多表连接操作,影响性能。而设计方案中的索引设计,并不能完全满足数据查询的性能要

6、求。应用开发小组还认为,该设计方案未考虑到信息系统中核心销售数据处理的特点:各分公司在使用该信息系统时只能操作自己分公司的销售数据,无权操作其它分公司的销售数据;只有总公司有权利操作所有销售数据,以便进行统计分析。应用开发小组要求,在数据库设计方案中,必须针对实际应用功能的实现来考虑关系模式的规范化,必要时需要采用逆规范化或解除规范化的方法来保证性能要求。(分数:25)(1).系统需要管理供应商和货物等信息,具体包括供应商姓名、地址以及货物名称、价格等,供应商可以提供 0n 种货物,其公司地址也可能发生变化。请以供应商关系模式supplier(name,address,product,pric

7、e)为例,解释不规范的关系模式存在哪些问题。(分数:6)_(2).应用开发小组认为张工的规范化设计虽然解决了未规范化关系模式带来的问题,但实际实现功能时会造成系统性能的下降,请解释其原因。(分数:5)_(3).请解释逆规范化方法,说明其优缺点。(分数:6)_(4).针对该信息系统中核心销售数据处理的特点,如采用关系表水平分割的逆规范化方法,请给出具体的解决方案,并说明该方案存在的问题。(分数:8)_某公司新近签订了一份控制系统软件的研制合同。合同技术要求如下:(1)本控制系统的软件运行平台拟采用嵌入式实时操作系统,控制系统的工作周期为 10ms,要求控制软件能够精确地按事先预定的时间顺序完成数

8、据的采集、处理和输出。(2)为了提高整个系统的可靠性,控制系统采用容错处理,即用两个相对独立的计算机承担相同的工作,通过交叉对比,实现控制的双余度管理;当任何一台计算机出现故障时,系统可以进行单余度控制。系统结构如图 8-2 所示。(3)在 10ms 工作周期内的时间分配如表 8-3 所致。表 8-3 10ms 工作周期内的时间分配功能 时间要求(ms)余度数据采集 1.5输入交叉对比 1数据处理 4比较监控 1输出交叉对比 1.5其他 1公司总工程师将本项任务交付给项目主管李工程师实施,要求李工按双方合同要求完成本项目的策划、需求分析和方案设计工作,重点强调系统的可靠性要求,并特别提示:目前

9、比较流行的嵌入式操作系统普遍采用可抢占式优先级调度策略,不能满足用户关于“能够精确地按事先预定的时间顺序完成数据的采集、处理和输出”的要求。(分数:25)(1).李工接到任务后,认为本项目比较简单,很快就安排 3 名技术人员分别负责数据采集/输出模块、数据处理模块和比较监控模块的编写。总工程师听到汇报后,认为李工的方案和安排不妥,理由是李工忽视了系统的可靠性要求,对系统需求的理解不够深入为实现系统关于可靠性方面的需求:(1)你认为在组织结构、人员分工、设计开发等方面应做出哪些安排和规定?(2)请写出关于余度表决算法的考虑。(分数:7)_(2).请用 200 字以内的文字说明李工应如何设计优先级

10、调度策略,并按照表 8-3 的要求实现任务流程处理。(分数:5)_(3).图 8-3 为控制软件的数据流程关系,请根据本题给出的各个功能模块,填补其中的空缺处。(分数:5)_(4).请用 150 字以内的文字说明什么事系统失步,系统失步后应如何处理。(分数:8)_阅读以下关于 Web 应用系统负载均衡的问题,在答题纸上回答问题 1 至问题 3。某电子商务公司的主要业务是书籍、服装、家电和日用品的在线销售。随着公司业务发展和用户规模的不断扩大,现有的网上交易系统无法正常处理日益增大的请求流量,公司决策层决定升级其网上交易系统。在对该系统的升级方案进行设计和讨论时,公司的系统分析师王工提出采用基于

11、高性能主机系统的方法进行系统升级,另外一位系统分析师李工则提出采用基于负载均衡集群的方法进行系统升级。公司的分析师和架构师对这两种思路进行讨论与评估,最终采纳了李工的方法。(分数:25)(1).请从系统的可用性、可伸缩性和应用特点三个方面说明公司为何没有采用王工提出的方法。(分数:9)_(2).负载均衡通常分为传输层负载均衡和应用层负载均衡两类。请基于这种分类方式,说明基于 DNS 的负载均衡方法和基于 HTTP 重定向服务器的负载均衡方法分别属于哪类负载均衡方法,并用 200 字以内的文字说明这两种方法实现负载均衡的方式。(分数:8)_(3).在确定使用基于负载均衡集群的系统升级方法后,李工

12、给出了一个基于 LVS(Linux Virtual Server)的负载均衡集群实现方案。公司的系统分析师在对现有系统进行深入分析的基础上,认为以下两个实际情况对升级方案影响较大,需要对该方案进行改进。1. 系统需要为在线购物提供购物车功能,用来临时存放选中的产品。2. 系统需要保证向所有的 VIP 用户提供高质量的服务。针对上述描述,首先说明每种情况分别会引入哪些与负载均衡相关的问题,并用 200 字以内的文字说明针对不同的问题,应该如何改进李工的解决方案。(分数:8)_2019 年系统分析师考试系统分析设计案例模拟试题 1 答案解析(总分:125.00,做题时间:150 分钟)一、案例分析

13、题(总题数:5,分数:125.00)随着宽带应用快速发展,用户要求系统服务提供商提供基于互联网的多种服务。数字视频监控作为一种区域级的安全监控方式,越来越为更多的用户所使用。数字视频监控告警系统采用与数字视频监控相结合的多媒体技术和基于互联网的信息传递方案,为企业用户以及个人用户提供多种媒体的、不同时间、地点的信息通知服务。数字视频监控告警系统可以将用户需要查看的监控视频或告警信息,通过互联网门户系统以多种媒体方式传送给用户,方便用户随时随地了解与自身相关的视频信息。(分数:25)(1).在设计数字视频监控告警系统时,张工将该系统划分为五个层次:服务代理层、门户服务层、流程服务总线层、业务流程

14、应用管理层和企业服务层,其中流程服务总线层是整个数字视频监控告警系统的核心,实现了服务消息、服务指令与数据的集中传递。系统五个层次在实现时可以采用图 3-2 左侧所示的技术或工具,请将系统的 5 个层次填入空(1)(5),使其与左侧技术或工具相对应。(分数:7)_正确答案:((1)门户服务层 (2)业务流程应用管理层 (3)流程服务总线层(4)服务代理层 (5)企业服务层)解析:空(1)应填“门户服务层”,因为,Web Portal 即门户网站。采用 Web Portal 架构技术形成多种媒体互通的数字视频监控多媒体集成系统,为用户提供多视角、多媒体的综合视频监控方案。空(2)应填“业务流程应

15、用管理层”、空(3)应填“流程服务总线层”、空(4)应填“服务代理层”,因为,当新的服务加入到现有系统时,管理人员通过业务流程应用管理层定义业务流程流程服务总线层配置服务代理,当配置服务代理(Service Agent)连接成功后,管理人员可以方便快速的将其加入到现有的业务运行环境中。显然,空(5)应填“企业服务层”。(2).请用 300 字以内文字说明服务代理层、门户服务层、业务流程应用管理层和企业服务层的主要功能。(分数:8)_正确答案:(服务代理层:提供了在流程服务总线上接收或发送各类具体业务服务的消息与指令的功能。门户服务层:提供信息展现的功能,向各类用户提供个性化的服务。用户可以根据

16、各自的习惯和兴趣,定制门户的页面结构和服务内容。业务流程应用管理层:提供了系统管理人员定义业务流程、重组优化现有业务流程、模拟测试业务流程等功能,同时提供了各类服务的运行环境。企业服务层:企业服务层包含了数字视频监控多媒体集成系统中的各类具体的企业应用,如数字视频监控系统服务、网站门户服务、电子邮件警告服务等。)解析:门户服务层提供信息展现的功能,向各类用户提供个性化的服务。用户可以根据各自的习惯和兴趣,定制门户的页面结构和服务内容。各个展现模块通过下层组件和具体的服务相关联。业务流程应用管理层提供系统管理人员定义业务流程、重组优化现有业务流程、模拟测试业务流程等功能,同时提供了各类服务的运行

17、环境。在新的服务加入到现有系统中时,管理人员在配置服务代理连接成功后,可以方便快速的将其加入到现有的业务运行环境中。流程服务总线层是整个数字视频监控多媒体集成系统的核心,实现了服务消息、服务指令与数据的集中传递,形成了一个统一的信息总线。各类业务服务通过其服务代理,在流程服务总线(Process Services Bus)上交换服务消息,发送服务指令。对于新开发的业务应用,可以通过 Web Service 的方式,直接接入到流程服务总线上,实现该业务功能的扩展。服务代理层提供在流程服务总线上接收或发送各类具体业务服务的消息与指令的功能。各个服务代理将其对应的业务服务发出的指令发布到流程服务总线

18、上,同时接收由流程服务总线上的与自身相关的指令消息,并传递给各类服务执行。企业服务层包含数字视频监控多媒体集成系统中的各类具体的企业应用,如数字视频监控系统服务、网站门户服务、电子邮件警告服务等。各类企业服务为整个系统提供了多种的服务支持,并且在对于符合该层次结构的服务也可以方便快速的加入到现有得系统体系中。(3).张工认为,系统设计实现时需要重点关注系统的私密性、实时性、稳定性和扩展性,为什么?请用300 字以内文字说明。(分数:10)_正确答案:(私密性:由于系统涉及的是各个公司或个人的专有的视频监控信息,所以要求系统保证视频信息的私密性,严格限制访问权限。实时性:对于突发的监控告警信息,

19、为了避免进一步的损失,所以要求系统提供很高的实时性,可以向用户快速提供入侵告警信息或其他告警信息。稳定性:系统应该具备长时间不间断运行的能力,并在用户峰值时,也可以提供很好的服务。扩展性:作为统一的门户接入平台,系统应该可以连接多种视频系统,并随着技术与用户需求发展,提供更多种的服务方式,所以要求系统具有较高的可扩展性。)解析:作为数字视频监控告警系统在设计时必须注意以下几个方面:(1)私密性:具备权限和访问级别控制的功能,以保障公司或个人的专有的视频监控信息私密性。(2)实时性:当突发事件发生时,必须反应迅速,接警时间极短,报警控制器检测到报警信号后,必须及时告警和处理。(3)扩展性:由于现

20、代技术的快速发展,系统应该具备可扩展性,以适应新技术、新设备。(4)稳定性:是数字视频告警系统的基本要求,因为告警系统必须具备长时间不间断运行的能力,特别是在用户峰值时,也能保证信息的通畅、快速以实现对公司或个人情况的有效监控。当前企业中的业务都是在全球化、快速变化的环境中运营的,传统的软件开发过程无法适应由此产生的快速软件开发需求。20 世纪 90 年代后期,一些软件开发人员在“Agile Allicance 2001”中系统地阐述了敏捷开发的原则,试图强调灵活性在快速且有效地生产软件中所发挥的作用。目前,众多的软件生产企业已经在实际的软件开发过程中接纳并实践了敏捷开发方法中的基本原则。(分

21、数:25)(1).敏捷开发有许多典型方法,包括极限编程(eXtreme Programming)、Scrum、Crystal、DSDM 等。请问这些方法共同的基本原则是什么?(分数:6)_正确答案:((1)客户参与。(2)增量式移交。(3)开发团队的技术应该得到承认和发扬。团队成员应该保持他们自己的工作风格,不落俗套。(4)接受变更。(5)保持简单性。)解析:注重个体与交互,重点关注可以工作的软件,提高客户参与度,以积极的心态响应变化是敏捷方法论的核心价值观。为了贯彻这四大价值观,敏捷联盟提出 12 条区别于重量级过程的原则。(1)尽早、持续交付有价值的中间软件使客户满意。很多开发组织经常会在

22、时间期限上进行没有原则地退让,其结果却是让客户一等再等,不仅没有按承诺兑现,甚至是时间超过一倍,但仍然不见软件的踪迹。这种不守信的状态,使得整个软件业走入了一个负螺旋发展。敏捷方法论提出了一种新的逻辑,将尽早、持续地交付可运行的中间成果,有价值的中间结果,使得客户能够尽早地、持续地了解到软件开发的进展,并且将需求的变化、系统的改进意见尽早地提出来,这会使得客户的满意度大大提高。(2)即使到了开发后期,也欢迎需求变化,利用响应变化创造竞争优势。敏捷方法论鼓励团队拥抱变化,通过应用各种技术来提高软件结构的灵活性,本着简单的原则进行设计,以响应变化的能力作为团队的核心竞争力。(3)经常交付可工作的软

23、件,间隔时间可以是几周到几个月,间隔越短越好。由于敏捷方法论奉行“客户合作”、“客户参与”,而要让客户更加有效的参与,经常性、频繁地交付可工作的中间软件,将可以有效地加强开发人员与客户之间的沟通,从而将隐藏的需求变化及早触动。(4)开发全过程,业务人员和开发人员必须天天都在一起工作。在开发中,不仅需要客户参与开发,还应该包括代表客户的业务人员。因此在开发人员、客户、业务人员等相关干系人之间建立频繁而且密切的交流与沟通,将是使项目保持高度灵活性的关键。(5)为开发人员提供环境和支持,给予信任,以人为本地构建项目。敏捷方法论是崇尚“以人为本”精神的,认为项目成功的最关键因素是人,其意义超过过程和工

24、具。建立一支优秀的团队,并在环境与精神上提供支持,给予信任,将是项目成功的关键。这也是与传统的“过程”为主的管理思想的最大不同。(6)团队内部,最有效的沟通方式莫过于面对面的交谈。在重量级方法论中,人们尝试着通过编写规范、精美的文档进行交流。而在敏捷方法论中则更加重视的是开发团队成员之间的面对面交谈,大家坐在一起,用一块白板,或是一张纸,一边绘制草图,一边交谈,这是最有效的沟通方式。(7)工作的软件是度量进度的最首要标准。要衡量工作进度,采用的基点不是文档的完成情况,不是已完成的代码行数,而是可以工作的软件完成了多少功能、实现了多少用例。这是敏捷方法论的共同点,因为只有可工作的软件才是有价值的

25、。(8)提倡可持续的开发速度,责任人、开发者和用户应保持一个长期的、恒定的开发速度。软件开发绝不是短跑,它更像一场挑战耐力的马拉松长跑。因此,过早的冲刺、在前期过度的工作,将不利于项目按照持续的开发速度进行下去。因此,敏捷方法论反对加班,因为这样的行为会使得团队的精力过早耗尽,过早地对项目失去兴趣和信心,从而得到事与愿违的结果。(9)不断关注好的技能和设计会增加敏捷能力。保持软件高质量、简洁、健壮,是实现快速软件开发的重要途径。因此只有大家都致力于编写高质量的代码、不创造混乱,才能够提升敏捷能力。(10)开发者本质是简单的使未完成的工作最大化的艺术。不管明天的需求,只采用符合今天需求的简单设计

26、。因为谁也不知道明天是怎么样的?变化太快了,今天的设计考虑太多明天的需求,就有可能做了过多的无用功。(11)自组织的团队才能够做出最好的架构设计和需求分析。最优秀的团队不是被强权管理下的团队,而是形成了一个良好的协作,能够内部进行任务分解、协调的团队。(12)团队应定期在如何更有效工作方面进行反省,然后对自己的行为做出改进。不断地回顾、总结,并从中找到团队未能最有效工作的瓶颈点和问题点,并且通过细致的分析与讨论,找到其要点,并做出相应的改进是十分重要的。(2).敏捷开发的支持者往往夸大该方法的优点,但是在实践中,敏捷方法的基本原则有时确实很难实施。请用 200 字以内的文字说明敏捷方法中哪些原

27、则在实践中难以实施。(分数:6)_正确答案:((1)客户的参与度往往依赖于客户参与的意愿和客户自身的代表性。(2)团队成员的性格可能不适合激烈的投入,可能无法做到与其他成员之间的良好沟通。(3)对系统中的变更作出优先级排序可能是极端困难的。(4)维护系统的简洁性往往需要额外的工作,但迫于移交时间表的压力,可能没有时间执行系统简化过程。)解析:本题问敏捷方法的原则中哪些原则在实践中难以实施,这与问题 1 是相关联的。只要理解了这些基本原则,这个问题就好解答。因为问的是在“实践中难以实施”,所以这个问题可以答得灵活些,只要说得有道理都可以得分。(3).敏捷开发方法中最有名的是极限编程。请说明极限编

28、程中的结对编程(Pair Programming)的概念。(分数:6)_正确答案:(结对编程:开发人员成对工作,检查彼此的工作并提供支持,圆满完成任务。)解析:主要考查结对编程的概念,简单地说,结对编程就是 2 个人坐在一起写同一个程序。结对编程可以大大降低沟通成本,提高工作质量。(4).敏捷开发方法在具体实践过程中,往往需要开发环境或工具的支持,一般称为快速应用开发技术和可视化开发技术。请用 150 字以内的文字说明快速应用开发技术所包含的工具有哪些,并简要说明可视化开发技术的基本概念和技术原理。(分数:7)_正确答案:(快速应用开发中所包括的工具有数据库编程语言、界面生成器、与办公应用的连

29、接、报告生成器。可视化开发是一种通过集成细粒度可复用构件来构造软件的快速应用开发方法,其主要思想是用图形工具和可重用部件来交互地编制程序。可视化开发一般基于事件驱动的原理。)解析:本题是关于快速开发工具和可视化开发的。快速应用开发(RAD)目的是快速发布系统,RAD 组合了 5 个方面的技术,分别是进化原型、CASE 工具(可进行正向工程和反向工程)、拥有能使用先进工具的专门人员(一个 RAD 开发小组)、交互式 JAD、时间表。例如,VB、Delphi、PB 等都属于 RAD 工具。可视化开发就是在可视开发工具(例如,VB、Delphi、PB 等)提供的图形用户界面上,通过操作界面元素(例如

30、,菜单、按钮等),由可视开发工具自动生成应用软件。这类应用软件的工作方式是事件驱动的。对每个事件,由系统产生相应的消息,再传递给相应的消息响应函数。某集团公司在各省均设有分公司,现欲建立全国统一的销售管理信息系统,以便总公司及时掌握各分公司的销售情况。公司成立专门的项目组进行该系统的研发工作,其中张工负责其中的数据库设计工作。张工和需求分析小组紧密合作,在设计出数据流图和数据字典的基础上,给出了数据库关系模式和相应的索引设计。同时考虑到未规范化关系模式可能引起的各类数据错误,对关系模式进行了全面的规范化处理,使所有关系模式均达到了 3NF 或 BCNF。在项目实施过程中,应用开发小组认为该设计

31、方案未考虑应用功能的实际需求。如果严格按照设计方案实施,会对应用系统中整体性能产生较大影响。主要的原因在于进行数据查询时,会产生大量的多表连接操作,影响性能。而设计方案中的索引设计,并不能完全满足数据查询的性能要求。应用开发小组还认为,该设计方案未考虑到信息系统中核心销售数据处理的特点:各分公司在使用该信息系统时只能操作自己分公司的销售数据,无权操作其它分公司的销售数据;只有总公司有权利操作所有销售数据,以便进行统计分析。应用开发小组要求,在数据库设计方案中,必须针对实际应用功能的实现来考虑关系模式的规范化,必要时需要采用逆规范化或解除规范化的方法来保证性能要求。(分数:25)(1).系统需要

32、管理供应商和货物等信息,具体包括供应商姓名、地址以及货物名称、价格等,供应商可以提供 0n 种货物,其公司地址也可能发生变化。请以供应商关系模式supplier(name,address,product,price)为例,解释不规范的关系模式存在哪些问题。(分数:6)_正确答案:((1)数据冗余:关系模式中多次重复记录了同一供应商的地址。(2)插入异常:如果还未确定一个供应商有哪些货物,只是想添加一个供应商的地址信息,则会产生产品与价格均为空的记录。(3)修改异常:当修改一个供应商的地址时,需要将多条记录同时更新,若未同时更新,则数据产生不一致。(4)删除异常:当删除一个供应商的货物时,其地址

33、信息被一并删除。)解析:(2).应用开发小组认为张工的规范化设计虽然解决了未规范化关系模式带来的问题,但实际实现功能时会造成系统性能的下降,请解释其原因。(分数:5)_正确答案:(数据库规范化的过程,实际是对数据表的不断拆分,以达到更高的规范程度。这样处理,带来的问题是:系统中大量查询不能通过单表完成,而需要将多表进行连接查询,所以表拆分得越多,查询性能也就越差。)解析:(3).请解释逆规范化方法,说明其优缺点。(分数:6)_正确答案:(逆规范化方法优点:提高统计、查询效率。逆规范化方法缺点:增加了数据冗余,浪费存储空间,增、删、改操作的效率降低,可能导致数据不一致,可能产生添加、修改、删除异

34、常。)解析:(4).针对该信息系统中核心销售数据处理的特点,如采用关系表水平分割的逆规范化方法,请给出具体的解决方案,并说明该方案存在的问题。(分数:8)_正确答案:(解决方案:将各省的数据存放于各省分公司。该方案主要问题在于总公司进行全国数据统计时,需要从各省服务器调取数据,效率较低。)解析:本题是一个数据库设计方面的考题,考查的知识点包括规范化理论和反规范化理论(逆规范化)。规范化的基本思想是逐步消除不合适的函数依赖,使数据库中的各个关系模型达到某种程度的分离。规范化解决的主要是单个实体的质量问题,是对于问题域中原始数据展现的正规化处理。规范化理论给出了判断关系模型优劣的理论标准,帮助预测

35、模式可能出现的问题,是数据库逻辑设计的指南和工具,具体有:(1)用数据依赖的概念分析和表示各数据项之间的关系。(2)消除 E-R 图中的冗余联系。若不进行规范化处理,可能产生的问题包括:数据冗余、修改异常、插入异常、删除异常。下面举例说明这些问题的具体表现形式。设有一个关系模式 R(SNAME,CNAME,TNAME TADDRESS),其属性分别表示学生姓名、选修的课程名、任课教师姓名和任课教师地址。仔细分析一下,就会发现这个模式存在下列存储异常的问题:(1)数据冗余:如果某门课程有 100 个学生选修,那么在 R 的关系中就要出现 100 个元组,这门课程的任课教师姓名和地址也随之重复出现

36、 100 次。(2)修改异常:由于上述冗余问题,当需要修改这个教师的地址时,就要修改 100 个元组中的地址值,否则就会出现地址值不一致的现象。(3)插入异常:如果不知道听课学生名单,这个教师的任课情况和家庭地址就无法进入数据库;否则就要在学生姓名处插入空值。(4)删除异常:如果某门课程的任课教师要更改,那么原来任课教师的地址将随之丢失。在本题中,也存在同样的问题:(1)数据冗余:关系模式中多次重复记录了同一供应商的地址。(2)插入异常:如果还未确定一个供应商有哪些货物,只是想添加一个供应商的地址信息,则会产生产品与价格均为空的记录。(3)修改异常:当修改一个供应商的地址时,需要将多条记录同时

37、更新,若未同时更新,则数据产生不一致。(4)删除异常:当删除一个供应商的货物时,其地址信息被一并删除。数据库中的数据规范化的优点是减少了数据冗余,节约了存储空间,相应逻辑和物理的 I/O 次数减少,同时加快了增、删、改的速度,但是对完全规范的数据库查询,通常需要更多的连接操作,从而影响查询的速度。因此,有时为了提高某些查询或应用的性能而破坏规范规则,即反规范化(非规范化处理)。因此,题目中所说的“应用开发小组认为张工的规范化设计虽然解决了未规范化关系模式带来的问题,但实际实现功能时会造成系统性能的下降”,主要就是查询效率下降。其原因是规范化过程中对数据表进行了不断的拆分,导致一个查询需要进行多

38、表连接,效率自然就下降了。具体来说,常见的反规范化技术包括:(1)增加冗余列增加冗余列是指在多个表中具有相同的列,它常用来在查询时避免连接操作。例如:以规范化设计的理念,学生成绩表中不需要字段“姓名”,因为“姓名”字段可以通过学号查询到,但在反规范化设计中,会将“姓名”字段加入到表中。这样查询一个学生的成绩时,不需要与学生表进行连接操作,便可得到对应的“姓名”。(2)增加派生列增加派生列指增加的列可以通过表中其它数据计算生成。它的作用是在查询时减少计算量,从而加快查询速度。例如:订单表中,有商品号、商品单价、采购数量,我们需要订单总价时,可以通过计算得到总价,所以规范化设计的理念是无须在订单表

39、中设计“订单总价”字段。但反规范化则不这样考虑,由于订单总价在每次查询都需要计算,这样会占用系统大量资源,所以在此表中增加派生列“订单总价”以提高查询效率。(3)重新组表重新组表指如果许多用户需要查看两个表连接出来的结果数据,则把这两个表重新组成一个表来减少连接而提高性能。(4)分割表有时对表做分割可以提高性能。表分割有两种方式:水平分割:根据一列或多列数据的值把数据行放到两个独立的表中。水平分割通常在下面的情况下使用:情况 1:表很大,分割后可以降低在查询时需要读的数据和索引的页数,同时也降低了索引的层数,提高查询速度。情况 2:表中的数据本来就有独立性,例如表中分别记录各个地区的数据或不同

40、时期的数据,特别是有些数据常用,而另外一些数据不常用。情况 3:需要把数据存放到多个介质上。垂直分割:把主码和一些列放到一个表,然后把主码和另外的列放到另一个表中。如果一个表中某些列常用,而另外一些列不常用,则可以采用垂直分割,另外垂直分割可以使得数据行变小,一个数据页就能存放更多的数据,在查询时就会减少 I/O 次数。其缺点是需要管理冗余列,查询所有数据需要连接操作。 问题 4 要求提出水平分割方案,实际上就是把数据表按记录进行拆分,并存储于不同的位置。由于本题中数据的使用存在这样的特性“各分公司在使用该信息系统时只能操作自己分公司的销售数据,无权操作其它分公司的销售数据;只有总公司有权利操

41、作所有销售数据,以便进行统计分析”,所以按省,每个分公司存储自己的数据,这样能达到高效查询的目的,只是这样会让总公司的统计分析变得十分的低效。某公司新近签订了一份控制系统软件的研制合同。合同技术要求如下:(1)本控制系统的软件运行平台拟采用嵌入式实时操作系统,控制系统的工作周期为 10ms,要求控制软件能够精确地按事先预定的时间顺序完成数据的采集、处理和输出。(2)为了提高整个系统的可靠性,控制系统采用容错处理,即用两个相对独立的计算机承担相同的工作,通过交叉对比,实现控制的双余度管理;当任何一台计算机出现故障时,系统可以进行单余度控制。系统结构如图 8-2 所示。(3)在 10ms 工作周期内的时间分配如表 8-3 所致。表 8-3 10ms 工作周期内的时间分配功能时间要求(ms)余度数据采集1.5输入交叉对比1数据处理4比较监控1输出交叉对比1.5其他 1公司总工程师将本项任务交付给项目主管李工程师实

copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
备案/许可证编号:苏ICP备17064731号-1