2010年下半年系统架构设计师_下午II论文解析

合集下载

2009年下半年系统架构设计师下午试题答案2

2009年下半年系统架构设计师下午试题答案2

全国计算机技术与软件专业技术资格(水平)考试2009年下半年系统架构设计师下午试卷2答案试题一论基于DSSA的软件架构设计与应用写作要点一、简要叙述所参与管理和开发的软件项目,需要明确指出在其中承担的主要任务和开展的主要工作。

二、应结合自己所熟悉的领域,定义领域范围,确定领域应用需要满足的用户需求;定义领域特定的元素、领域字典和领域术语;定义领域特定的设计和实现需求约束;在些基础上,定义领域模型,产生该领域的参与架构,并说明构件的语法和语义;最后,产生、搜集可重用的产品单元,为DSSA增加构件,为问题域实现新应用提供支持。

这个DSSA的建立过程是并发、递归和反复进行的。

所给出的DSSA应该具备以下4个方面的特征:(1)一个严格定义的问题域和/或解决域;(2)具有普遍性,使其可以用于领域中某个特定应用的开发;(3)对整个领域能有合适程度的抽象;(4)具备该领域固定的、典型的架构设计时使用DSSA的情况,包换领域分析、领域设计和领域实现等活动是如何具体实施的,要给出实际的效果并进行分析。

试题二论信息系统建模方法写作要点一、应结合自己参与的信息系统项目,说明在其中所承担的工作。

二、需要较为详细地说明目前各种常见的信息系统建模方法的核心思想,并对每种方法所创建的模型进行简要描述。

(1)结构化建模方法。

结构化建模方法是以过程为中心的技术,可用于分析一个现有的系统以及定义新系统的业务需求。

结构化建模方法所绘制的模型称为数据流图(DFD)。

(2)信息工程建模方法(或数据库建模方法)。

信息工程建模方法是一种以数据为中心,但过程敏感的技术,它强调在分析和研究过程需求之前,首先研究和分析数据需求。

信息工程建模方法所创建的模型被称为实体联系图(ERD)。

(3)面向对象建模方法。

面向对象建模方法将“数据”和“过程”集成到被称为“对象”的结构中,消除了数据和过程的人为分离现象。

面向对象建模方法所创建的模型被称为对象模型。

2016年下半年下午 系统架构设计师 试题及答案与解析-软考考试真题-案例分析及论文

2016年下半年下午 系统架构设计师 试题及答案与解析-软考考试真题-案例分析及论文

2016年下半年下午系统架构设计师考试试题-案例分析+论文-答案与解析试题一(共15分)【说明】某软件公司为某品牌手机厂商开发一套手机应用程序集成开发环境,以提高开发手机应用程序的质量和效率。

在项目之初,公司的系统分析师对该集成开发环境的需求进行了调研和分析,具体描述如下:a.需要同时支持该厂商自行定义的应用编程语言的编辑、界面可视化设计、编译、调试等模块,这些模块产生的模型或数据格式差异较大,集成环境应提供数据集成能力。

集成开发环境还要支持以适配方式集成公司现有的应用模拟器工具。

b.经过调研,手机应用开发人员更倾向于使用Windows系统,因此集成开发环境的界面需要与Windows平台上的主流开发工具的界面风格保持一致。

c.支持相关开发数据在云端存储,需要保证在云端存储数据的机密性和完整性。

d.支持用户通过配置界面依据自己的喜好修改界面风格,包括颜色、布局、代码高亮方式等,配置完成后无需重启环境。

e.支持不同模型的自动转换。

在初始需求中定义的机器性能条件下,对于一个包含50个对象的设计模型,将其转换为相应代码框架时所消耗时间不超过5秒。

f.能够连续运行的时间不小于240小时,意外退出后能够在10秒之内自动重启。

g.集成开发环境具有模块化结构,支持以模块为单位进行调试、测试与发布。

h.支持应用开发过程中的代码调试功能:开发人员可以设置断点,启动调试,编辑器可以自动卷屏并命中断点,能通过变量监视器查看当前变量取值。

在对需求进行分析后,公司的架构师小张查阅了相关的资料,认为该集成开发环境应该采用管道一过滤器(Pipe-Filter)的架构风格,公司的资深架构师王工在仔细分析后,认为应该采用数据仓储(Data Repository)的架构风格。

公司经过评审,最终采用了王工的方案。

【问题1】(10分)识别软件架构质量属性是进行架构设计的重要步骤。

请分析题干中的需求描述,填写表1-1中(1)~(5)处的空白。

(完整版)年系统架构设计师考试下午真题与答案(下半年)

(完整版)年系统架构设计师考试下午真题与答案(下半年)

2009年下半年系统架构设计师考试下午真题试题:阅读以下软件架构设计的问题,在答题纸上回答问题1和问题2.某软件开发公司欲为某电子商务企业开发一个在线交易平台,支持客户完成网上购物活动中的在线交易。

在系统开发之初,企业对该平台提出了如下要求:(1)在线交易平台必须在1s内完成客户的交易请求。

(2)该平台必须保证客户个人信息和交易信息的安全。

(3)当发生故障时,该平台的平均故障恢复时间必须小于10s.(4)由于企业业务发展较快,需要经常为该平台添加新功能或进行硬件升级.添加新功能或进行硬件升级必须在6小时内完成。

针对这些要求,该软件开发公司决定采用基于架构的软件开发方法,以架构为核心进行在线交易平台的设计与实现。

【问题1】(9分)软件质量属性是影响软件架构设计的重要因素。

请用200字以内的文字列举六种不同的软件质量属性名称,并解释其含义。

【问题2】(16分)请对该在线交易平台的4个要求进行分析,用300字以内的文字指出每个要求对应何种软件质量属性;并针对每种软件质量属性,各给出2种实现该质量属性的架构设计策略。

1.试题答案:【问题1】常见的软件质量属性有多种,例如性能(Performance)、可用性(Availability)、可靠性(Reliability)、健壮性(Robustness)、安全性(Security)、可修改性(Modification)、可变性(Changeability)、易用性(Usability)、可测试性(Testability)、功能性(Functionality)和互操作性(Inter—operation)等。

这些质量属性的具体含义是:(1)性能是指系统的响应能力,即要经过多长时间才能对某个事件做出响应,或者在某段时间内系统所能处理事件的个数.(2)可用性是系统能够正常运行的时间比例。

(3)可靠性是指软件系统在应用或错误面前,在意外或错误使用的情况下维持软件系统功能特性的基本能力.(4)健壮性是指在处理或环境中,系统能够承受压力或变更的能力。

2017年下半年软件水平考试(高级)系统架构师下午(论文)真题试

2017年下半年软件水平考试(高级)系统架构师下午(论文)真题试

2017年下半年软件水平考试(高级)系统架构师下午(论文)真题试卷(题后含答案及解析)题型有:1. 选答题选答题(满分75分)1、从下列试题中任选1道解答,请在答卷上用“○”圈住选答的试题编号。

若答题超过1道,则按题号最小的1道题评分。

2、解答应分摘要和正文两部分。

在书写时,请注意以下两点:①、摘要字数在400字以内,可分条叙述,但不允许有图、表和流程图。

②、正文字数为2000-3000字,文中可以分条叙述,但不要全部用分条叙述的方式。

3、解答时字迹务必清楚,字迹不清,将不评分。

软件系统建模(Softare System Modeling)是软件开发中的重要环节,通过构建软件系统模型可以帮助系统开发人员理解系统、抽取业务过程和管理系统的复杂性,也可以方便各类人员之间的交流。

软件系统建模是在系统需求分析和系统实现之间架起的一座桥梁,系统开发人员按照软件系统模型开发出符合设计目标的软件系统,并基于该模型进行软件的维护和改进。

请围绕“论软件系统建模方法及其应用”论题,依次从以下三个方面进行论述。

1.概要叙述你参与的软件系统开发项目以及你所担任的主要工作。

正确答案:简要描述所参与分析和开发的软件系统开发项目,并明确指出在其中承担的主要任务和开展的主要工作。

2.说明软件系统开发中常用的建模方法有哪几类?阐述每种方法的特点及其适用范围。

正确答案:说明软件系统开发中常用的建模方法有哪几类?阐述每种方法的特点及其适用范围。

软件系统开发中常用的建模方法包括:(1)功能分解法功能分解法以系统需要提供的功能为中心来组织系统。

首先定义各种大的功能,然后把功能分解为子功能,同时定义功能间的接口。

比较大的子功能还可以被进一步分解,直到我们可以对它进行明确的定义。

总的思想就是将系统根据功能分而治之,然后根据功能的需求设计数据结构。

(2)数据流法/结构化分析建模方法基本方法是跟踪系统的数据流,研究问题域中数据如何流动以及在各个环节上进行何种处理,从而发现数据流和加工。

2010年下半年 系统架构设计师 答案详解

2010年下半年 系统架构设计师 答案详解

采用微内核结构的操作系统提高了系统的灵活性和可扩展性,(1)(1)A.并增强了系统的可靠性和可移植性,可运行于分布式系统中B.并增强了系统的可靠性和可移植性,但不适用于分布式系统C.但降低了系统的可靠性和可移植性,可运行于分布式系统中D.但降低了系统的可靠性和可移植性,不适用于分布式系统【答案】A【解析】本题考查操作系统的基本概念。

在设计微内核OS时,采用了面向对象的技术,其中的“封装”,“继承”,“对象类”和“多态性”,以及在对象之间采用消息传递机制等,都十分有利于提高系统的“正确性”、“可靠性”、“易修改性”、“易扩展性”等,而且还能显著地减少开发系统所付出的开销。

采用微内核结构的操作系统与传统的操作系统相比,其优点是提高了系统的灵活性、可扩充性,增强了系统的可靠性,提供了对分布式系统的支持。

其原因如下。

①灵活性和可扩展性:由于微内核OS的许多功能是由相对独立的服务器软件来实现的,当开发了新的硬件和软件时,微内核OS只需在相应的服务器中增加新的功能,或再增加一个专门的服务器。

与此同时,也必然改善系统的灵活性,不仅可在操作系统中增加新的功能,还可修改原有功能,以及删除已过时的功能,以形成一个更为精干有效的操作系统。

②增强了系统的可靠性和可移植性:由于微内核是出于精心设计和严格测试的,容易保证其正确性;另一方面是它提供了规范而精简的应用程序接口(API),为微内核外部的程序编制高质量的代码创造了条件。

此外,由于所有服务器都是运行在用户态,服务器与服务器之间采用的是消息传递通信机制,因此,当某个服务器出现错误时,不会影响内核,也不会影响其他服务器。

另外,由于在微内核结构的操作系统中,所有与特定CPU和I/O设备硬件有关的代码,均放在内核和内核下面的硬件隐藏层中,而操作系统其他绝大部分(即各种服务器)均与硬件平台无关,因而,把操作系统移植到另一个计算机硬件平台上所需作的修改是比较小的。

③提供了对分布式系统的支持:由于在微内核OS中,客户和服务器之间以及服务器和服务器之间的通信,是采用消息传递通信机制进行的,致使微内核OS能很好地支持分布式系统和网络系统。

XXXX下半年系统架构设计师考试案例分析真题及答案

XXXX下半年系统架构设计师考试案例分析真题及答案

XXXX下半年系统架构设计师考试案例分析真题及答案系统架构师XXXX下半年,系统架构师在下午提出了问题。

案例分析问题1:请详细阅读关于网络应用程序架构设计的说明,并回答答题纸上的问题1至3。

[注释]一家的软件公司开发并运行了一个社交网络网站系统。

该系统建立在开源软件平台LAMP(Linux+Apache+MySQL+PHP)之上。

运行一段时间后,随着用户数量和访问量的增加,系统在网络服务器负载、磁盘输入输出等方面存在明显的瓶颈。

并且不能满足大量客户端并发访问的需求。

因此,公司成立了专门的项目团队来调整系统架构,以提高系统的并发处理能力目前,系统采用传统的三层结构,系统架构如下图所示[问题1] (10分)针对当前网络服务器负载过大的问题,项目组决定在客户端和中间层网络服务器之间引入负载平衡器,通过中间层网络服务器集群提高网络请求的并发处理能力在讨论所提出的负载平衡机制时,王工提出采用基于DNS的负载平衡机制,而巩俐认为应该采用基于反向代理的负载平衡机制。

经过讨论,项目组最终决定采用巩俐提出的方案。

请用少于200字的篇幅分别简要说明这两种机制的基本原理。

这两种机制在系统执行效率、安全性和简单性方面进行了比较,比较结果如下表所示[问题2] (7分)针对并发数据库访问导致的磁盘I/O瓶颈,项目团队决定在数据层引入数据库扩展机制经过调查,已知系统数据库中存储的主要数据是通过用户标识索引的社交网络数据,并且在系统操作期间发生的大多数数据库操作是查询操作。

经过讨论,项目团队决定引入两种扩展机制:数据库分区和MySQL主从复制数据库分区可分为水平分区和垂直分区。

请用350系统架构师的字内的文字说明该系统应采用哪种方法及其原因,并分析引入主从复制机制给系统带来的好处。

[问题3)(8分)为了进一步提高数据库访问效率,项目团队决定在中间层和数据层之间引入缓存机制。

召公开始提出一种可以直接使用MySQL的查询缓存机制。

2010年系统架构设计师论文考试真题范文(三)

2010年系统架构设计师论文考试真题范文(三)

2010年系统架构设计师论文考试真题范文(三)系统架构设计师考试属于软考中的一项高级资格考试,考试分综合知识、案例分析和论文3个科目。

对于很多考生来说论文是一个考试难关,怎么提高自己的论文写作水平,多看历年软考论文真题范文是一个很好的练习论文写作水平的方式,希赛小编为大家整理了2010年系统架构设计师论文考试真题范文论软件的静态演化和动态演化及其应用,希望对大家有所帮助。

【摘要】知识发现与数据挖掘是人工智能、机器学习和数据库相结合的产物。

随着科学数据的大量积累和各种数据库的广泛使用,人们又逐步认识到海量数据的利用十分困难、效率低下,而且很难从中获得有价值的指导性意见。

在这种情况下,数据库挖掘技术应运而生。

本文介绍了数据库挖掘技术的现状、过程和其在现实生活中的应用。

【正文】一、引言随着数据库技术的成熟和数据引用的普及,人类积累的数据量正以指数级迅速增长。

进入九十年代,伴随着英特网(Internet)出现和发展,以及随之而来的企业内部网(Intranet)和企业外部网(Extranet)以及虚拟私有网(VPNVir tualPrivatenetwork)产生和应用,将整个世界联成一个小小的地球村,人们可以跨越时空界限在网上交换数据信息和协同工作。

这样,展现在人们面前的已不是局限于本部门,本单位和本单位的庞大数据库,而是浩瀚无垠的信息海洋,数据洪水正向人们滚滚涌来。

当数据量极度增长时,如果没有有效的方法,由计算机及信息技术来有用信息和知识,人们也会感到面对信息海洋像大海捞针一样束手无策。

据估计,一个大型企业数据库中数据,只有百分之七得到很到应用。

这样,相对于“数据过剩”和“信息爆炸”,人们又感到“信息贫乏”(Informationpoor)和“数据关在牢笼中”(datainjail),奈斯伯特(JohnNaisbett)惊呼“we are downing information,but star ving for knowledge”(人类正在被数据淹没,却饥渴于知识)。

2011年下半年系统架构设计师考试下午真题与答案

2011年下半年系统架构设计师考试下午真题与答案

2011年下半年系统架构设计师考试下午真题试题1:阅读以下关于软件架构评估的说明,在答题纸上回答问题1和问题2。

【说明】某网上购物电子商务公司拟升级正在使用的在线交易系统,以提高用户网上购物在线支付环节的效率和安全性。

在系统的需求分析与架构设计阶段,公司提出的需求和关键质量属性场景如下:(a)正常负载情况下,系统必须在0.5秒内对用户的交易请求进行响应;(b)信用卡支付必须保证99.999%的安全性;(c)对交易请求处理时间的要求将影响系统的数据传输协议和处理过程的设计;(d)网络失效后,系统需要在1.5分钟内发现错误并启用备用系统;(e)需要在20人月内为系统添加一个新的CORBA中间件;(f)交易过程中涉及到的产品介绍视频传输必须保证画面具有600*480的分辨率,20帧/秒的速率;(g)更改加密的级别将对安全性和性能产生影响;(h)主站点断电后,需要在3秒内将访问请求重定向到备用站点;(i)假设每秒中用户交易请求的数量是10个,处理请求的时间为30毫秒,则“在1秒内完成用户的交易请求”这一要求是可以实现的;(j)用户信息数据库授权必须保证99.999%可用;(k)目前对系统信用卡支付业务逻辑的描述尚未达成共识,这可能导致部分业务功能模块的重复,影响系统的可修改性;(l)更改Web界面接口必须在4人周内完成;(m)系统需要提供远程调试接口,并支持系统的远程调试。

在对系统需求和质量属性场景进行分析的基础上,系统的架构师给出了三个候选的架构设计方案。

公司目前正在组织系统开发的相关人员对系统架构进行评估。

【问题1】(12分)在架构评估过程中,质量属性效用树(utility tree)是对系统质量属性进行识别和优先级排序的重要工具。

请给出合适的质量属性,填入图1-1中(1)、(2)空白处;并选择题干描述的(a)~(m),填入(3)~(6)空白处,完成该系统的效用树。

【问题2】(13分)在架构评估过程中,需要正确识别系统的架构风险、敏感点和权衡点,并进行合理的架构决策。

2010年下半年软件水平考试(高级)系统架构师下午(论文)试题真

2010年下半年软件水平考试(高级)系统架构师下午(论文)试题真

2010年下半年软件水平考试(高级)系统架构师下午(论文)试题真题试卷(题后含答案及解析)题型有:1. 选答题选答题(满分75分)1、从下列试题中任选1道解答,请在答卷上用“○”圈住选答的试题编号。

若答题超过1道,则按题号最小的1道题评分。

2、解答应分摘要和正文两部分。

在书写时,请注意以下两点:①、摘要字数在400字以内,可分条叙述,但不允许有图、表和流程图。

②、正文字数为2000-3000字,文中可以分条叙述,但不要全部用分条叙述的方式。

3、解答时字迹务必清楚,字迹不清,将不评分。

论软件的静态演化和动态演化及其应用1.软件演化(Software Evolution)是指软件在其生命周期内的更新行为和过程。

演化是一系列贯穿软件生命周期始终的活动,系统需求改变、功能实现增强、新功能加入、软件架构改变、软件缺陷修复、运行环境改变均要求软件系统能够快速适应变化,具有较强的演化能力。

软件静态演化(Static Evolution)和动态演化(Dynamic Evolution)是目前软件演化的两种重要类型。

请围绕“软件的静态演化和动态演化及其应用”论题,依次从以下三个方面进行论述。

(1).概要叙述你参与管理和开发的软件项目以及你在其中所担任的主要工作。

(2).请分别对软件静态演化和动态演化的特点进行论述,说明两种软件演化类型各自的优缺点及其应用场合,并举例说明各自的常见演化技术手段。

(3).具体阐述你参与管理和开发的项目中所进行的软件演化活动的特点、演化的类型,以及所采取的对应演化技术手段,说明具体实施过程以及实际应用的效果。

正确答案:写作要点1.简要叙述所参与管理和开发的软件项目,并明确指出自己在其中承担的主要任务和开展的主要工作。

2.软件演化可分为静态演化和动态演化两种情形。

(1)静态演化(Static Evolution)。

静态演化是指软件在停机状态下的演化。

其优点是不用考虑运行状态的迁移,同时也没有活动的进程需要处理。

2018年下半年系统架构设计师真题+答案解析上午选择+下午案例论文完整版(全国计算机软考)

2018年下半年系统架构设计师真题+答案解析上午选择+下午案例论文完整版(全国计算机软考)

进程在 32 号柱面上的响应序列为④→⑥;由于⑨在 38 号柱面上,故 最后响应。 从以上分析可以得出按照最短寻道时间优先的响应序列为②⑧③⑤ ⑦①④⑥⑨。
2、某计算机系统中的进程管理采用三态模型,那么下图所示的 PCB (进程控制块)的组织方式采用(2),图中(3)。
A. 顺序方式 B. 链接方式 C. 索引方式 D. Hash 答案: C 3、 A. 有 1 个运行进程,2 个就绪进程,4 个阻塞进程 B. 有 2 个运行进程,3 个就绪进程,3 个阻塞进程 C. 有 2 个运行进程,3 个就绪进程,4 个阻塞进程 D. 有 3 个运行进程,2 个就绪进程,4 个阻塞进程 答案: C
A. 冯.诺伊曼结构 B. 哈佛结构 C. FPGA 结构 D. 与 GPU 相同结构 答案: B 常见计算机的体系结构都采用的是冯•诺伊曼结构,由于该结构没有 区分程序存储器和数据存储器,因此导致了总线拥堵,而 DSP 需要 的高度并行处理技术,总线宽度的限制必然会降低并行处理能力。 哈佛(Harvard)结构是专为数字信号处理设计的一种体系架构,其结 构的雄本特征是采用多个内部数据地址,以提高数据吞吐量。 GPU 结构一般采用的是 CPU+FPGA 结构,其核心还是冯•诺伊曼结 构。
12、CPU 的频率有主频、倍频和外频。某处理器外频是 200MHz,倍 频是 13,该款处理器的主频是( )。
A. 2.6GHz
B. 1300MHz C. 15.38Mhz D. 200MHz 答案: A 在计算机中,处理器的运算主要依赖于晶振芯片给 CPU 提供的脉冲 频率,处理器的运算速度也依赖于这个晶振芯片。通常 CPU 的频率 分为主频、倍频和外频。 主频是指 CPU 内部的时钟频率,是 CPU 进行运算时的工作频率。 外频是指 CPU 与周边设备传输数据的频率,具体是指 CPU 到芯片组 之间的总线速度。倍频是指 CPU 频率和系统总线频率之间相差的倍 数,CPU 速度可以通过倍频来无限提升。 三者之间的计算公式:主频=外频×倍频 显然,该款处理器的主频:200MHz×13=2600MHz=2.6GHz

2010年系统架构设计师论文考试真题范文(一)

2010年系统架构设计师论文考试真题范文(一)

2010年系统架构设计师论文考试真题范文(一)系统架构设计师考试属于软考中的一项高级资格考试,考试分综合知识、案例分析和论文3个科目。

对于很多考生来说论文是一个考试难关,怎么提高自己的论文写作水平,多看历年软考论文真题范文是一个很好的练习论文写作水平的方式,希赛小编为大家整理了2010年系统架构设计师论文考试真题范文论软件可靠性评价,希望对大家有所帮助。

【摘要】用软件系统规模越做越大越复杂,其可靠性越来越难保证。

应用本身对系统运行的可靠性要求越来越高,在一些关键的应用领域,如航空、航天等,其可靠性要求尤为重要,在银行等服务性行业,其软件系统的可靠性也直接关系到自身的声誉和生存发展竞争能力。

【正文】特别是软件可靠性比硬件可靠性更难保证,会严重影响整个系统的可靠性。

在许多项目开发过程中,对可靠性没有提出明确的要求,开发商(部门)也不在可靠性方面花更多的精力,往往只注重速度、结果的正确性和用户界面的友好性等,而忽略了可靠性。

在投入使用后才发现大量可靠性问题,增加了维护困难和工作量,严重时只有束之高阁,无法投入实际使用。

一.软件可靠性与硬件可靠性的区别软件可靠性与硬件可靠性之间主要存在以下区别:1.最明显的是硬件有老化损耗现象,硬件失效是物理故障,是器件物理变化的必然结果,有浴盆曲线现象;软件不发生变化,没有磨损现象,有陈旧落后的问题,没有浴盆曲线现象。

2.硬件可靠性的决定因素是时间,受设计、生产、运用的所有过程影响,软件可靠性的决定因素是与输入数据有关的软件差错,是输入数据和程序内部状态的函数,更多地决定于人。

3.硬件的纠错维护可通过修复或更换失效的系统重新恢复功能,软件只有通过重设计。

4.对硬件可采用预防性维护技术预防故障,采用断开失效部件的办法诊断故障,而软件则不能采用这些技术。

5.事先估计可靠性测试和可靠性的逐步增长等技术对软件和硬件有不同的意义。

6.为提高硬件可靠性可采用冗余技术,而同一软件的冗余不能提高可靠性。

2010年下半年上午 系统架构设计师 试题及答案与解析-软考考试真题-基础知识

2010年下半年上午 系统架构设计师 试题及答案与解析-软考考试真题-基础知识

2010年下半年上午系统架构设计师考试试题-答案与解析一、单项选择题(共75分,每题1分。

每题备选项中,只有1个最符合题意)●第1题.采用微内核结构的操作系统提高了系统的灵活性和可扩展性,(1)A.并增强了系统的可靠性和可移植性,可运行于分布式系统中B.并增强了系统的可靠性和可移植性,但不适用于分布式系统C.但降低了系统的可靠性和可移植性,可运行于分布式系统中D.但降低了系统的可靠性和可移植性,不适用于分布式系统【参考答案】A【答案解析】在设计微内核OS时,采用了面向对象的技术,其中的“封装”,“继承”,“对象类”和“多态性”,以及在对象之间采用消息传递机制等,都十分有利于提高系统的“正确性”、“可靠性”、“易修改性”、“易扩展性”等,而且还能显著地减少开发系统所付出的开销。

采用微内核结构的操作系统与传统的操作系统相比,其优点是提高了系统的灵活性、可扩充性,增强了系统的可靠性,提供了对分布式系统的支持。

其原因如下。

①灵活性和可扩展性:由于微内核OS的许多功能是由相对独立的服务器软件来实现的,当开发了新的硬件和软件时,微内核OS只需在相应的服务器中增加新的功能,或再增加一个专门的服务器。

与此同时,也必然改善系统的灵活性,不仅可在操作系统中增加新的功能,还可修改原有功能,以及删除已过时的功能,以形成一个更为精干有效的操作系统。

②增强了系统的可靠性和可移植性:由于微内核是出于精心设计和严格测试的,容易保证其正确性;另一方面是它提供了规范而精简的应用程序接口(API),为微内核外部的程序编制高质量的代码创造了条件。

此外,由于所有服务器都是运行在用户态,服务器与服务器之间采用的是消息传递通信机制,因此,当某个服务器出现错误时,不会影响内核,也不会影响其他服务器。

另外,由于在微内核结构的操作系统中,所有与特定CPU和I/O设备硬件有关的代码,均放在内核和内核下面的硬件隐藏层中,而操作系统其他绝大部分(即各种服务器)均与硬件平台无关,因而,把操作系统移植到另一个计算机硬件平台上所需作的修改是比较小的。

2010年系统架构设计师论文考试真题范文(二)

2010年系统架构设计师论文考试真题范文(二)

2010年系统架构设计师论文考试真题范文(二)系统架构设计师考试属于软考中的一项高级资格考试,考试分综合知识、案例分析和论文3个科目。

对于很多考生来说论文是一个考试难关,怎么提高自己的论文写作水平,多看历年软考论文真题范文是一个很好的练习论文写作水平的方式,希赛小编为大家整理了2010年系统架构设计师论文考试真题范文论大规模分布式系统缓存设计策略,希望对大家有所帮助。

【摘要】从实战的角度,讲解了有关memcached的应用、容灾、监控等等。

但是缺乏对理论的讲解和原理性的剖析。

本文将从理论的角度去介绍,让大家从宏观上对“分布式缓存、nosql”等技术有所了解,以便进一步学习和使用。

在构建大规模的web应用时,缓存技术可以说是必备的,学习的必要性不言而喻。

【正文】1.1分布式缓存的特性分布式缓存具有如下特性:1)高性能:当传统数据库面临大规模数据访问时,磁盘I/O往往成为性能瓶颈,从而导致过高的响应延迟.分布式缓存将高速内存作为数据对象的存储介质,数据以key/value形式存储,理想情况下可以获得DRAM级的读写性能;2)动态扩展性:支持弹性扩展,通过动态增加或减少节点应对变化的数据访问负载,提供可预测的性能与扩展性;同时,最大限度地提高资源利用率;3)高可用性:可用性包含数据可用性与服务可用性两方面.基于冗余机制实现高可用性,无单点失效(single point of failure),支持故障的自动发现,透明地实施故障切换,不会因服务器故障而导致缓存服务中断或数据丢失.动态扩展时自动均衡数据分区,同时保障缓存服务持续可用;4)易用性:提供单一的数据与管理视图;API接口简单,且与拓扑结构无关;动态扩展或失效恢复时无需人工配置;自动选取备份节点;多数缓存系统提供了图形化的管理控制台,便于统一维护;5)分布式代码执行(distributed code execution):将任务代码转移到各数据节点并行执行,客户端聚合返回结果,从而有效避免了缓存数据的移动与传输.最新的Java数据网格规范JSR-347中加入了分布式代码执行与Map/reduce的API支持,各主流分布式缓存产品,如IBM WebSphere eXtreme Scale,VMware GemFire,GigaSpaces XAP和Red Hat Infinispan等也都支持这一新的编程模型.1.2典型应用场景分布式缓存的典型应用场景可分为以下几类:1)页面缓存.用来缓存Web页面的内容片段,包括HTML、CSS 和图片等,多应用于社交网站等;2)应用对象缓存.缓存系统作为ORM框架的二级缓存对外提供服务,目的是减轻数据库的负载压力,加速应用访问;3)状态缓存.缓存包括Session会话状态及应用横向扩展时的状态数据等,这类数据一般是难以恢复的,对可用性要求较高,多应用于高可用集群;4)并行处理.通常涉及大量中间计算结果需要共享;5)事件处理.分布式缓存提供了针对事件流的连续查询(continuous quer y)处理技术,满足实时性需求;6)极限事务处理.分布式缓存为事务型应用提供高吞吐率、低延时的解决方案,支持高并发事务请求处理,多应用于铁路、金融服务和电信等领域.1.3分布式缓存的发展分布式缓存经历了多个发展阶段,由最初的本地缓存到弹性缓存平台直至弹性应用平台,目标是朝着构建更好的分布式系统方向发展(如下图所示).1)本地缓存:数据存储在应用代码所在内存空间.优点是可以提供快速的数据访问;缺点是数据无法分布式共享,无容错处理.典型的,如Cache4j;2)分布式缓存系统:数据在固定数目的集群节点间分布存储.优点是缓存容量可扩展(静态扩展);缺点是扩展过程中需要大量配置,无容错机制.典型的,如3)弹性缓存平台:数据在集群节点间分布存储,基于冗余机制实现高可用性.优点是可动态扩展,具有容错能力;缺点是复制备份会对系统性能造成一定影响.典型的,如Windows Appfabric Caching;4)弹性应用平台:弹性应用平台代表了云环境下分布式缓存系统未来的发展方向.简单地讲,弹性应用平台是弹性缓存与代码执行的组合体,将业务逻辑代码转移到数据所在节点执行,可以极大地降低数据传输开销,提升系统性能.典型的,如GigaSpaces XAP.1.4分布式缓存与NoSQLNoSQL又称为Not Only Sql,主要是指非关系型、分布式、支持水平扩展的数据库设计模式.NoSQL放弃了传统关系型数据库严格的事务一致性和范式约束,采用弱一致性模型.相对于NoSQL系统,传统数据库难以满足云环境下应用数据的存储需求,具体体现在以下3个方面:1)根据CAP理论,一致性(consistency)、可用性(availability)和分区容错(partition tolerance)这3个要素最多同时满足两个,不可能三者兼顾.对云平台中部署的大量Web应用而言,数据可用性与分区容错的优先级通常更高,所以一般会选择适当放松一致性约束.传统数据库的事务一致性需求制约了其横向伸缩与高可用技术的实现;2)传统数据库难以适应新的数据存储访问模式.Web 2.0站点以及云平台中存在大量半结构化数据,如用户Session数据、时间敏感的事务型数据、计算密集型任务数据等,这些状态数据更适合以Key/Value形式存储,不需要RDBMS提供的复杂的查询与管理功能;3)NoSQL提供低延时的读写速度,支持水平扩展,这些特性对拥有海量数据访问请求的云平台而言是至关重要的.传统关系型数据无法提供同样的性能,而内存数据库容量有限且不具备扩展能力.分布式缓存作为NoSQL的一种重要实现形式,可为云平台提供高可用的状态存储与可伸缩的应用加速服务,与其他NoSQL系统间并无清晰的界限.平台中应用访问与系统故障均具有不可预知性,为了更好地应对这些挑战,应用软件在架构时通常采用无状态设计,大量状态信息不再由组件、容器或平台来管理,而是直接交付给后端的分布式缓存服务或NoSQL系统.1.5分布式缓存与极限事务处理随着云计算与Web 2.0的进一步发展,许多企业或组织时常会面对空前的需求:百万级的并发用户访问、每秒数以千计的并发事务处理、灵活的弹性与可伸缩性、低延时及7×24×365可用性等.传统事务型应用面临极限规模的并发事务处理,出现了极限事务处理型应用,典型的有铁路售票系统.Wikipedia认为,极限事务处理是每秒多于500事务或高于10 000次并发访问的事务处理.Gar tner将极限事务处理(extreme transactionprocessing,简称XTP)定义为一种为事务型应用的开发、部署、管理和维护供支持的应用模式,特点是对性能、可扩展性、可用性、可管理性等方面的极限需求.Gar tner在其报告中预测指出,极限事务处理型应用的规模将由2005年的10%提升至2010年的20%,极限事务处理技术是未来5年~10年的热点技术.极限事务处理的引入,无疑给传统Web三层架构带来了新的挑战.即,如何在廉价的、标准化的硬件和软件平台之上,对大容量、业务关键型的事务处理应用提供良好的支撑.分布式缓存作为一种关键的X TP技术,可为事务型应用提供高吞吐率、低延时的技术解决方案.其延迟写(write-behind)机制可提供更短的响应时间,同时极大地降低数据库的事务处理负载,分阶段事件驱动架构(staged event-driven architecture)可以支持大规模、高并发的事务处理请求.此外,分布式缓存在内存中管理事务并提供数据的一致性保障,采用数据复制技术实现高可用性,具有较优的扩展性与性能组合.。

2012下半年系统架构设计师下午试题Ⅱ分析与解答

2012下半年系统架构设计师下午试题Ⅱ分析与解答

2012年下半年系统架构设计师下午试题Ⅱ分析与解答(总分75, 考试时间120分钟)试题一论基于架构的软件设计方法及应用基于架构的软件设计(Architecture-Based Software Design,ABSD)方法以构成软件架构的商业、质量和功能需求等要素来驱动整个软件开发过程。

ABSD是一个自顶向下,递归细化的软件开发方法,它以软件系统功能的分解为基础,通过选择架构风格实现质量和商业需求,并强调在架构设计过程中使用软件架构模板。

采用ABSD方法,设计活动可以从项目总体功能框架明确后就开始,因此该方法特别适用于开发一些不能预先决定所有需求的软件系统,如软件产品线系统或长生命周期系统等,也可为需求不能在短时间内明确的软件项目提供指导。

请围绕“基于架构的软件开发方法及应用”论题,依次从以下三个方面进行论述。

1.概要叙述你参与开发的、采用ABSD方法的软件项目以及你在其中所承担的主要工作。

2.结合项目实际,详细说明采用ABSD方法进行软件开发时,需要经历哪些开发阶段?每个阶段包括哪些主要活动?3.阐述你在软件开发的过程中都遇到了哪些实际问题及解决方法。

试题一写作要点一、论文中要具体介绍项目的背景与总体需求、系统所采用的技术路线以及你所承担的实际工作。

二、采用ABSD方法进行软件开发时,需要经历架构需求、架构设计、架构文档化、架构复审、架构实现和架构演化六个阶段。

1.架构需求阶段需要明确用户对目标软件系统在功能、行为、性能、设计约束等方面的期望。

其主要活动包括需求获取、标识构件和架构评审。

(1)需求获取活动需要定义开发人员必须实现的软件功能,使得用户能够完成他们的任务,从而满足功能需求。

与此同时,还要获得软件质量属性,满足一些非功能性需求。

(2)标识构件活动首先需要获得系统的基本结构,然后对基本结构进行分组,最后将基本结构进行打包成构件。

(3)架构需求评审活动组织一个由系统涉众(用户、系统分析师、架构师、设计实现人员等)组成的小组,对架构需求及相关构件进行审查。

2013年下半年 系统架构设计师 下午试卷 论文

2013年下半年 系统架构设计师 下午试卷 论文

[真题][答案] 2013年下半年 系统架构设计师 下午试卷 论文试题数量:4 道以下所有试题由 软考在线 免费智能真题库 提供难度系数 错误率 由 软考在线 用户做题大数据支撑 最后更新日期:2016-09-05本文档最后更新日期:2016-09-05难度系数 错误率 题目 文档 更新频率:每天软考在线 -- 最专业的一站式软考复习平台全网独家 免费智能真题库 定制学习计划专业致力于全国计算机技术与软件专业资格(水平)考试第1题 2013年下半年 下午试卷 论文 系统架构设计师软件架构用来处理软件高层次结构的设计和实施,它以精心选择的形式将若干结构元素进行装配,从而满足系统的主要功能和性能需求。

软件架构设计的首要问题是如何表示软件架构,即如何对软件架构建模。

根据建模的侧重点不同,可以将软架构模型分为结构模型、框架模型、动态模型、过程模型和功能模型。

Kmchten在1995年提出了“4+1”视图模型,将5种模型有机地统一在一起。

软件架构用来处理软件高层次结构的设计和实施,它以精心选择的形式将若干结构元素进行装配,从而满足系统的主要功能和性能需求。

软件架构设计的首要问题是如何表示软件架构,即如何对软件架构建模。

根据建模的侧重点不同,可以将软架构模型分为结构模型、框架模型、动态模型、过程模型和功能模型。

Kmchten在1995年提出了“4+1”视图模型,将5种模型有机地统一在一起。

请围绕“软件架构建模技术与应用”论题,依次从以下三个方面进行论述。

1. 概要叙述你参与管理和开发的软件项目以及你在其中所承担的主要工作。

2. 简要叙述“4+1”视图模型的主要内容。

结合你参与项目的实际情况,详细说明该项目需求及所涉及的软件架构(包括使用到的视图模型、创建的架构模型及使用的建模工具等)。

3. 说明该项目软件架构的实施效果,分析其是否满足了项目的需求并说明原因。

参考答案:一、简要叙述所参与管理和开发的软件项目,并明确指出在其中承担的主要任务和开展的主要工作。

2017年下半年系统架构设计师真题+答案解析(上午选择+下午案例+论文完整版)全国计算机软考

2017年下半年系统架构设计师真题+答案解析(上午选择+下午案例+论文完整版)全国计算机软考

2017年系统架构设计师真题+答案解析上午选择题1、某计算机系统采用5级流水线结构执行指令,设每条指令的执行由取指令(2 Δt )、分析指令(1Δt )、取操作数(3Δt )、运算(1Δt )和写回结果(2Δt ) 组成,并分别用5个子部件完成,该流水线的最大吞吐率为(1);若连续向流水线输入10条指令,则该流水线的加速比为(2).A.B.C.D.答案:B本题考查流水线计算。

流水线周期为:3t。

流水线的吞吐率为:指令条数/流水线执行时间。

即:n/(2t+1t+3t+1t+2t+(n-1)*3t)=n/(6t+3nt)流水线的最大吞吐率就是上面的式子中,n趋向于无穷大的结果。

当n趋向于无穷大时,上式的结果为:1/3t。

所以应该选B。

2、某计算机系统采用5级流水线结构执行指令,设每条指令的执行由取指令(2 Δt )、分析指令(1Δt )、取操作数(3Δt )、运算(1Δt )和写回结果(2Δt ) 组成,并分别用5个子部件完成,该流水线的最大吞吐率为(1);若连续向流水线输入10条指令,则该流水线的加速比为(2).A. 1:10B. 2:1C. 5:2D. 3:1答案:C流水线加速比=不用流水线的执行时间/使用流水线的执行时间10条指令不用流水线的执行时间=(2t+1t+3t+1t+2t)*10=90t。

10条指令使用流水线的执行时间=(2t+1t+3t+1t+2t)+(10-1)*3t=36t。

所以加速比为:90t/36t=5:23、DMA (直接存储器访问)工作方式是在()之间建立起直接的数据通路。

A. CPU与外设B. CPU与主存C. 主存与外设D. 外设与外设答案:C直接主存存取(Direct Memory Access,DMA)是指数据在主存与I/O设备间的直接成块传送,即在主存与I/O设备间传送数据块的过程中,不需要CPU作任何干涉,只需在过程开始启动(即向设备发出“传送一块数据”的命令)与过程结束(CPU通过轮询或中断得知过程是否结束和下次操作是否准备就绪)时由CPU 进行处理,实际操作由DMA硬件直接完成,CPU在传送过程中可做其它事情。

历年系统架构设计师考试试题分类精解(案例分析与论文篇)

历年系统架构设计师考试试题分类精解(案例分析与论文篇)

第 1 章:案例分析试题1(2015年下半年试题1)阅读以下关于软件架构评估的说明,在答题纸上回答问题1和问题2。

【说明】某软件公司拟为某市级公安机关开发一套特种车辆管理与监控系统,以提高特种车辆管理的效率和准确性。

在系统需求分析与架构设计阶段,用户提出的部分需求和关键质量属性场景如下:(a)系统用户分为管理员、分管领导和普通民警等三类;(b)正常负载情况下,系统必须在0.5秒内对用户的车辆查询请求进行响应;(c)系统能够抵御99.999%的黑客攻击;(d)系统的用户名必须以字母开头,长度不少于5个字符;(e)对查询请求处理时间的要求将影响系统的数据传输协议和处理过程的设计;(f)网络失效后,系统需要在2分钟内发现并启用备用网络系统;(g)在系统升级时,需要保证在1个月内添加一个新的消息处理中间件;(h)查询过程中涉及到的车辆实时视频传输必须保证20帧/秒的速率,且画面具有600*480的分辨率;(i)更改系统加密的级别将对安全性和性能产生影响;(j)系统主站点断电后,需要在3秒内将请求重定向到备用站点;(k)假设每秒中用户查询请求的数量是10个,处理请求的时间为30毫秒,则“在1秒内完成用户的查询请求”这一要求是可以实现的;(l)对用户信息数据的授权访问必须保证99.999%的安全性;(m)目前对“车辆信息实时监控”业务逻辑的描述尚未达成共识,这可能导致部分业务功能模块的重复,影响系统的可修改性;(n)更改系统的Web界面接口必须在1周内完成;(o)系统需要提供远程调试接口,并支持系统的远程调试。

在对系统需求和质量属性场景进行分析的基础上,系统的架构师给出了三个候选的架构设计方案。

公司目前正在组织系统开发的相关人员对系统架构进行评估。

【问题1】(12分)在架构评估过程中,质量属性效用树(utility tree)是对系统质量属性进行识别和优先级排序的重要工具。

请给出合适的质量属性,填入图1-1中(1)、(2)空白处;并选择题干描述中的(a)~(o),将恰当的序号填入(3)~(6)空白处,完成该系统的效用树。

高级系统架构设计师下午试题(Ⅱ)-1

高级系统架构设计师下午试题(Ⅱ)-1

高级系统架构设计师下午试题(Ⅱ)-1(总分:75.00,做题时间:90分钟)一、论基于CBSD的软件架构设计与应用(总题数:1,分数:18.75)1.基于构件的软件开发(Component-Based Software Development,CBSD)是一种基于分布对象技术,强调通过可复用构件设计与构造软件系统的软件复用途径。

基于构件的软件系统中的构件可以是COTS(Commercial-Off-The-Shelf)构件,也可以是通过其他途径获得的构件(如自行开发)。

CBSD体现了“购买而不是重新构造”的哲学,将软件开发的重点从程序编写转移到了基于已有构件的组装,以更快地构造系统,减轻用来支持和升级大中型软件系统所需要的维护负担,从而降低软件开发的费用。

请围绕“基于CBSD的软件架构设计与应用”论题,依次从以下3个方面进行论述。

1.概要叙述你参与管理和开发的软件项目及你在其中所承担的主要工作。

2.简要介绍基于构件的软件开发过程模型,具体论述你在所管理和开发的软件工程项目中选择了哪种典型的构件平台并说明理由,如何具体实施的,最终实际效果如何。

3.论述你在该项目实施过程中遇到的问题及解决的办法,以及你进一步应用软件复用技术的有关设想。

(分数:18.75)__________________________________________________________________________________________ 正确答案:(1.简要介绍你参与规划、设计和实施的大中型信息系统软件工程项目的基本情况,简要说明自己在该项目中的角色、所承担的主要任务及开展的主要工作。

论文叙述自己参与设计和实施的信息系统项目应有一定的规模,自己在该项目中担任的主要工作应有一定的分量。

2.构件(Component)是某系统中有价值的、几乎独立的并可替换的一个部分,它在良好定义的体系结构语境内满足某清晰的功能。

(完整版)年下半年系统架构设计师考试下午真题与答案资料

(完整版)年下半年系统架构设计师考试下午真题与答案资料

2010年下半年系统架构设计师考试下午真题试题1:阅读以下关于软件系统架构选择的说明,在答题纸上回答问题1至问题3。

【说明】某公司欲针对Linux操作系统开发一个KWIC(Key Word in Context)检索系统。

该系统接收用户输入的查询关键字,依据字母顺序给出相关帮助文档并根据帮助内容进行循环滚动阅读.在对KWIC系统进行需求分析时,公司的业务专家发现用户后续还有可能采用其它方式展示帮助内容.根据目前需求,公司的技术人员决定通过重复剪切帮助文档中的第一个单词并将其插入到行尾的方式实现帮助文档内容的循环滚动,后续还将采用其它的方法实现这一功能。

在对KWIC系统的架构进行设计时,公司的架构师王工提出采用共享数据的主程序—子程序的架构风格,而李工则主张采用管道—过滤器的架构风格。

在架构评估会议上,大家从系统的算法变更、功能变更、数据表示变更和性能等方面对这两种方案进行评价,最终采用了李工的方案。

【问题1】(7分)在实际的软件项目开发中,采用恰当的架构风格是项目成功的保证。

请用200字以内的文字说明什么是软件架构风格,并对主程序-子程序和管道—过滤器这两种架构风格的特点进行描述。

【问题2】(12分)请完成表1-1中的空白部分(用+表示优、-表示差),对王工和李工提出的架构风格进行评价,并指出采用李工方案的原因。

表1-1 王工与李工的架构风格评价【问题3】(6分)图1-1是李工给出的架构设计示意图,请将恰当的功能描述填入图中的(1)~(4)。

图1—1 李工给出的架构示意图1.试题答案:【问题1】软件架构风格是描述特定软件系统组织方式的惯用模式.组织方式描述了系统的组成构件和这些构件的组织方式,惯用模式则反映众多系统共有的结构和语义。

主程序—子程序架构风格中,所有的计算构件作为子程序协作工作,并由一个主程序顺序地调用这些子程序,构件通过共享存储区交换数据.管道—过滤器架构风格中,每个构件都有一组输入和输出,构件接受数据输入,经过内部处理,然后产生数据输出。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

2010年下半年系统架构设计师_下午试题Ⅱ论文解析试题一、论软件的静态演化和动态演化及其应用写作要点1、简要叙述所参与管理和开发的软件项目,并明确指出自己在其中承担的主要任务和开展的主要工作。

2、软件演化可分为静态演化和动态演化两种情形。

(1)静态演化(Static Evolution)。

静态演化是指软件在停机状态下的演化。

其优点是不用考虑运行状态的迁移,同时也没有活动的进程需要处理。

然而停止一个一个用程序就意味着中断它提供的服务,造成软件暂时失效。

软件静态演化是指发生在应用程序停止时的软件修改和更新,即一般意义上的软件维护和升级。

静态演化的优点是没有状态迁移或活动线程的问题要解决,缺陷是停止应用程序意味着停止它所提供的服务,也就是使软件系统暂时失效。

在软件交付之后,静态演化(类似于一般意义上的软件维护)就成为软件变更的一个常规过程。

变更可以是一种更正代码错误的简单变更,也可以是更正设计错误的较大范围的变更,还可以是对描述错误进行修正或提供新需求这样的重大改进。

有三种不同的软件维护:改正性维护、适应性维护和完善性维护。

维护过程一般包括变更分析、版本规划、系统实现和向客户交付系统等活动。

在面向对象技术中,使用子类型方法来扩展程序,它适合于软件静态演化和代码重用。

子类型化一个类意味着保留父类中的参数和方法,并尽可能地增加新的参数和方法。

另外,使用重载和多态性作为主要的演化机制。

实际上,建立类的新版本,最简单的机制是创建它的子类,然后重载需要变更的方法,最后,使用多态性调用新创建的方法。

在基于构件的软件技术中,构件采取接口和实现相分离的技术,构件之间只能通过接口进行通信,这使得具有兼容接口的不同构件实现可以相互取代,从而成为软件静态演化的一条途径。

(2)动态演化(Dynamic Evolution)。

动态演化是指软件在执行期间的软件演化。

其优点是软件不会存在暂时的失效,有持续可用性的明显优点。

但由于涉及状态迁移等问题,比静态演化从技术上更难处理。

动态演化是最复杂也是最有实际意义的演化形式。

动态演化使得软件在运行过程中,可以根据应用需求和环境变化,动态地进行软件的配置、维护和更新,其表现形式包括系统元素数目的可变性、结构关系的可调节性和结构形态的动态可配置性。

软件的动态演化特性对于适应未来软件发展的开放性、动态性具有重要意义。

动态演化是指软件在运行期间的演化。

在许多重要的应用领域中,例如金融、电力、电信及空中交通管制等,系统的持续可用性是一个关键性的要求,运行时刻的系统演化可减少因关机和重新启动而带来的损失和风险。

此外,越来越多的其他类型的应用软件也提出了运行时刻演化的要求,在不必对应用软件进行重新编译和加载的前提下,为最终用户提供系统定制和扩展的能力。

动态演化可分为两种类型:预设的和非预设的。

在Web环境中,软件应用常常需要处理多种类型的信息,因此它们常被设计为可以动态下载并安装插件以处理当前所面临的新类型的信息;而分布式Web应用也常常需要增减内部处理节点的数目以适应多变的负载。

这些动态改变都是软件设计者能够预先设想到的,可实现为系统的固有功能。

另有一些必须对系统配置进行修改和调整的情况是直到系统投入运行以后才发现的,这就要求系统能够处理在原始设计中没有完全预料到的新需求。

这种情况下一般需要关闭整个系统,重新开发、重新装入并重新启动系统。

然而,为了进行局部的修改而关闭整个系统在某些情况下是不允许的(例如,关键运行系统)或者代价太高。

精心设计的动态演化技术可以在不关闭整个系统的前提下修改系统的结构配置,并尽量使未受影响的部分继续工作已提高系统的可用度。

为支持软件的动态演化性,已在语言、机制和环境等方面做了大量工作。

在程序语言的层次上,引进各种机制以支持软件动态演化,例如动态装载技术允许增加代码到已运行的程序中,延迟绑定是在运行时而不是编译时决定类和对象的绑定。

Java hotswap允许在运行时改变方法:当一个方法终止时,这个方法的新版本可以有效地替换旧版本,在类层次上代码的二进制兼容被支持。

Gilgul语言也允许更换运行时对象。

但程序语言层次上的动态演化机制仅局限于函数、类方法和对象等小粒度的替换,只支持预设的有限变更,变更由事件触发。

通过标准化运行级构件的规约,依靠构件运行平台(中间件平台)提供的基础设施,使软件在构件层次上的动态演化成为可能。

中间件中具有的如命名服务、反射技术和动态适配等机制,为运行态的动态替换和升级提供支撑,从而推动了软件动态演化的发展。

命名服务就是给构件实例提供一个名称,以便客户通过这些名称来获取构件实例。

对工业标准构件EJB 和CORBA构件的引用都可以通过中间件平台的命名服务进行。

同一构件标识可以被映射到多个构件实例,从而根据具体情境对某一名字的构件引用导向到不同的构件实例。

反射技术是系统的一种自描述(self-representation)和自推理的技术,它提供了关于自身行为的表示,这种表示可以被检查和调整,且与他所描述的系统行为是因果相联(causally connected)的。

因果相联,意味着对自表示的改动将立即反映在系统的实际状态和行为中,反之亦然。

将反射性引入中间件能够以可控的方式开放平台内部的实现,从而提高中间件的定制能力和运行使的适应能力。

动态适配机制中比较著名的是CORBA提供的动态接口服务:动态调用接口DII和动态骨架接口DSI。

前者支持动态客户请求调用,而后者支持将请求动态指派(Dispatch)给构件。

因此,软件构件化技术使得软件具有良好的构造性,软件演化的粒度更大。

中间件技术则为基于构件的软件动态演化提供了坚实的基础设施和方便的操作界面。

3、考生需结合自身参与项目的实际状况,指出其参与管理和开发的项目中所进行的软件演化活动的特点、演化的类型,以及所采取的对应演化技术手段。

要给出实施软件演化活动的具体过程、方法以及对实际应用效果的分析。

试题二、论数据挖掘技术的应用写作要点:1、结合自己所参与的软件项目,概要介绍该项目的背景及主要内容,并明确指出在其中所承担的主要任务和开展的主要工作。

2、数据挖掘的任务主要是关联分析、聚类分析、分类、预测、时序模式和偏差分析等。

(1)关联分析。

两个或两个以上变量的取值之间存在某种规律性,就称为关联。

数据关联是数据库中存在的一类重要的、可被发现的知识。

关联分析的目的是找出数据库中隐藏的关联网。

一般用支持度和可信度两个阈值来度量关联规则的相关性。

(2)聚类分析。

聚类是把数据按照相似性归纳成若干类别,同一类中的数据彼此相似,不同类中的数据相异。

聚类分析可以建立宏观的概念,发现数据的分布模式,以及可能的数据属性之间的相互关系。

(3)分类。

分类就是找出一个类别的概念描述,它代表了这类数据的整体信息,即该类的内涵描述,并用这种描述类构造模型,一般用规则或决策树模式表示。

分类是利用训练数据集通过一定的算法而求得分类规则。

分类可被用于规则描述和预测。

(4)预测。

预测是利用历史数据找出变化规律,建立模型,并由此模型对未来数据的种类及特征进行预测。

预测的精度和不确定性被重点关注,通常用预测方差来度量。

(5)时序模式。

时序模式是指通过时间序列搜索出的重复发生概率较高的模式。

与回归一样,它也是用已知的数据预测未来的值,但这些数据的区别是变量所处时间的不同。

(6)偏差分析。

在偏差中包括很多有用的知识,数据库中的数据存在很多异常情况,发现数据库中存在的异常情况是非常重要的。

偏差检验的基本方法就是寻找观察结果与参照之间的差别。

论文中须明确指出自己在该项目中应用数据挖掘技术所要解决的具体问题是什么。

3、主要的数据挖掘方法(1)神经网络方法神经网络由于本身良好的鲁棒性、自组织自适应性、并行处理、分布存储和高度容错等特性非常适合解决数据挖掘问题,因此近年来越来越受到人们的关注。

典型的神经网络模型主要分三大类:以感知机、BP反向传播模型、函数型网络为代表的用于分类、预测和模式识别的前馈式神经网络模型;以hopfield的离散模型和连续模型为代表的分别用于联想记忆和优化计算的反馈式神经网络模型;以art模型、koholon模型为代表的,用于聚类的自组织映射方法。

神经网络方法的缺点是“黑箱”性,人们难以理解网络的学习和决策过程。

(2)遗传算法遗传算法是一种基于生物自然选择与遗传机理的随机搜索算法,是一种仿生全局优化方法。

遗传算法具有的隐含并行性、易于和其他模型结合等性质使得它在数据挖掘中被加以应用。

(3)决策树方法决策树是一种常用于预测模型的算法,它通过将大量数据有目的地分类,从中找到一些有价值的、潜在的信息。

它的主要优点是描述简单,分类速度快,特别适合大规模的数据处理。

最有影响和最早的决策树方法是由Quinlan提出的著名的基于信息熵的id3算法。

它的主要问题是:id3是非递增学习算法;id3决策树是单变量决策树,复杂概念的表达困难;同性间的相互关系强调不够;抗噪性差。

针对上述问题,出现了许多较好的改进算法,如Schlimmer 和Fisher设计了id4递增式学习算法等。

(4)粗集方法粗集理论是一种研究不精确、不确定知识的数据工具。

粗集方法有几个优点:不需要给出额外信息;简化输入信息的表达空间;算法简单,易于操作。

粗集处理的对象是类似二维关系表的信息表。

目前成熟的关系数据库管理系统和新发展起来的数据仓库管理系统为粗集的数据挖掘奠定了坚实的基础。

(5)覆盖正例排斥反例方法它是利用覆盖所有正例、排斥所有反例的思想来寻找规则。

首先在正例集合中任选一个种子,到反例集合中逐个比较。

与字段取值构成的选择子相容则舍去,相反则保留。

按此思想循环所有正例种子,将得到正例的规则。

比较典型的算法有Michalski的aq11方法等。

(6)统计分析方法在数据字段项之间存在两种关系:函数关系(能用函数公式表示的确定性关系)和相关关系(不能用函数公式表示,但仍是相关确定性关系),对它们的分析可采用统计学方法,即利用统计学原理对数据库中的信息进行分析。

可进行常用统计(求大量数据中的最大值、最小值、总和、平均值等)、回归分析(用回归方程来表示变量间的数量关系)、相关分析(用相关系数来度量变量间的相关程度)、差异分析(从样本统计量的值得出差异来确定总体参数之间是否存在差异)等。

(7)模糊集方法利用模糊集合理论对实际问题进行模糊评判、模糊决策、模糊模式识别和模糊聚类分析。

系统的复杂性越高,则模糊性越强,一般模糊集合理论是用隶属度来刻画模糊事物的亦此亦彼性的。

论文中必须明确指出使用了上述7种方法中的哪种或哪几种数据挖掘方法,并给出该方法的具体实现过程;分析所选择的数据挖掘方法的实现效果。

试题三、论大规模分布式系统缓存设计策略写作要点1、论文中要具体介绍项目的总体需求(特别是应用需求中对缓存机制的要求)、系统的逻辑与物理架构、采用的技术等内容和自己担任的实际工作。

相关文档
最新文档