[语言类考试复习资料大全](A)系统架构设计师模拟题应用数学、专业英语、架构设计论文_第1页
[语言类考试复习资料大全](A)系统架构设计师模拟题应用数学、专业英语、架构设计论文_第2页
[语言类考试复习资料大全](A)系统架构设计师模拟题应用数学、专业英语、架构设计论文_第3页
[语言类考试复习资料大全](A)系统架构设计师模拟题应用数学、专业英语、架构设计论文_第4页
[语言类考试复习资料大全](A)系统架构设计师模拟题应用数学、专业英语、架构设计论文_第5页
已阅读5页,还剩53页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、书山有路勤为径,学海无涯苦作舟。祝愿天下莘莘学子:学业有成,金榜题名!语言类考试复习资料大全(A)系统架构设计师模拟题应用数学、专业英语、架构设计论文(A)系统架构设计师模拟题应用数学、专业英语、架构设计论文一、单项选择题问题:1. 对实际应用问题建立了数学模型后,一般还需要对该模型进行检验。通过检验尽可能找出模型中的问题,以利于改进模型,有时还可能会否定该模型。检验模型的做法有多种,但一般不会_。A.利用实际案例数据对模型进行检验B.进行逻辑检验,分析该模型是否会出现矛盾C.用计算机模拟实际问题来检验模型D.检验该模型所采用的技术能否被企业负责人理解答案:D解析 针对实际问题建立的数学模型通

2、常是近似的,往往忽略了许多复杂因素。这种模型能否解决实际问题还需要检验。检验的方法有多种。 利用实际案例数据对模型进行检验是很常见的。将模型作为一个黑盒,通过案例数据的输入,检查其输出是否合理。这是应用人员常用的方法。 有时可以请专家来分析模型是否合理。经验丰富的专家一般会根据模型自身的逻辑,再结合实际情况,分析是否会出现矛盾或问题。 有时很难用实际案例或聘请专家来检验模型,例如,试验或实验的代价太大,难以取得实际案例,有的项目技术比较新,缺乏有经验的专家。这时,如果能利用计算机来模拟实际问题,再在计算机上检验该数学模型,这往往是一种有效的办法。例如,对某种核辐射防护建立的数学模型,采用计算机

3、模拟方法来检验就十分有效。 企业负责人需要提供一切必要的支持来解决实际问题。至于解决过程中采用的技术问题,则需要由技术人员研究决定。企业负责人只需要听取汇报,从宏观上认可就可以,不需要理解其中的技术细节。 问题:2. 某类产品n种品牌在某地区的市场占有率常用概率向量u=(u1,u2,un)表示(各分量分别表示各品牌的市场占有率,值非负,且总和为1)。市场占有率每隔一定时间的变化常用转移矩阵Pn*n表示。设初始时刻的市场占有率为向量u,则下一时刻的市场占有率就是uP1,再下一时刻的市场占有率就是uP2,如果在相当长时期内,该转移矩阵的元素均是常数,则市场占有率会逐步稳定到某个概率向量z,即出现Z

4、P=Z。这种稳定的市场占有率体现了转移矩阵的特征,与初始时刻的市场占有率无关。 假设占领某地区市场的冰箱品牌A与B,每月市场占有率的变化可用如下常数转移矩阵来描述: 则冰箱品牌A与B在该地区最终将逐步稳定到市场占有率_。 A.(1/4,3/4)B.(1/3,2/3)C.(1/2,1/2)D.(2/3,1/3)答案:D解析 根据题意,该地区冰箱品牌A与B每月占有率的变化描述为常数转移矩阵P。不管初始时刻这两种品牌的市场占有率(以概率向量来描述)如何,最终将稳定到概率向量Z,而且有关系式ZP=Z。这表明,Z的下一时刻仍然是Z。 设Z=(Z1,Z2),其中Z10,Z20,Z1+Z2=1,从ZP=Z可

5、以列出方程: 0.8Z1+0.4Z2=Z1 0.2Z1+0.6Z2=Z2 根据上述条件,求解该方程,得到Z1=2/3,Z2=1/3。 因此,冰箱品牌A与B在该地区最终将逐步稳定到市场占有率(2/3,1/3)。品牌A将占有2/3的市场,品牌B将占有1/3的市场。 问题:3. 对实际应用问题建立数学模型并求得结果后,还需要根据建模的目的和要求,利用相关知识,结合研究对象的特点,进行模型分析。模型分析工作一般不包括_。A.模型的合理性分析B.模型的误差分析C.模型的先进性分析D.参数的灵敏性分析答案:C解析 本题主要考查数学建模的基本过程,在对实际应用问题建立数学模型并求得结果后,还需要根据建模的目

6、的和要求,利用相关知识,结合研究对象的特点,进行模型分析。模型分析工作主要包括模型的合理性分析、模型的误差分析和参数的灵敏性分析等,一般不包括模型的先进性分析。问题:4. 某软件公司开发某种软件产品时花费的固定成本为16万元,每套产品的可变成本为2元,设销售单价为10元,则需要销售_套才能达到盈亏平衡点。A.13000B.16000C.18000D.20000答案:D解析 设共销售了n套,则总成本=固定成本+每套产品的可变成本n=160000+2n。销售总收入=单价n=10n。盈亏平衡时,总成本=销售总收入,所以,160000+2n=10n,从而,n=20000(套)。当销售量低于2万套时,会

7、有亏损;当销售量超过2万套时就会有盈利。问题:5. 在军事演习中,张司令希望将部队尽快从A地通过公路网(如图所示)运送到F地。 图中标出了各路段上的最大运量(单位:千人/小时)。根据该图可以算出,从A地到F地的最大运量是_千人/小时。 A.20B.21C.22D.23答案:C解析 本题是架构考试中常见的一类计算题。该题解题关键是需要将图中节点的输入/输出流量调整平衡,因为只有输入/输出流量平衡才能表现出真实的运量。 例如,对于结点E,它的输出运力为15,而所有输入运力之和为14,则E的最大真实运力,只能达到14,所以将E的输出运力修改为14。对于D结点,其输出运力和为7,而输入运力为8,则需要

8、平衡为7。结点B也需要调,但情况比较复杂,我们需要综合分析B的输出运力与C的输出运力,分析可知,当B到C的运力调整为1时,既能达到结点运力的平衡,又能使运力最大,所以应调整为1。当完成这些调整之后,可轻易得出结论,最大运力为22。 问题:6. 某公司需要将4吨贵金属材料分配给下属的甲、乙、丙三个子公司(单位:吨)。据测算,各子公司得到这些材料后所能获得的利润(单位:万元)如表所示。 根据此表,只要材料分配适当,该公司最多可以获得利润_万元。 A.14B.16C.17D.18答案:C解析 三个子公司分4吨金属材料,分法包括如下四种。 1+1+2方案,即:1家公司分2吨,另外2家公司分1吨。 该方

9、案下的子方案包括如下。 甲2吨+乙1吨+丙1吨:7+5+4=16 甲1吨+乙2吨+丙1吨:4+9+4=17 甲1吨+乙1吨+丙2吨:4+5+6=15 2+2方案,即:2家公司每家分2吨,另外1家公司不分。 该方案下的子方案包括如下。 甲2吨+乙2吨:7+9=16 甲2吨+丙2吨:7+6=13 乙2吨+丙2吨:9+6=15 3+1方案,即:1家公司分3吨,1家公司分1吨,另外1家公司不分。 该方案有多种子方案组合,但此处是选择题,只需要做一些分析即可得到结论。3+1的方案,无论如何组合,都是将题目表格中的1吨列中与3吨列中各取1个数相加得来。而此处能得到的最佳方案也就是5+11=16,而之前我们

10、已算出17的方案,所以3+1产生不了最佳方案。 4+0方案,即:1家公司分4吨,其余两家公司不分。 该方案也就对应着题目表格中的4吨这一列,最大值为14吨,也非最佳方案,所以最佳方案为甲1吨+乙2吨+丙1吨=17。 问题:7. 研究表明,肿瘤细胞的生长有以下规律:当肿瘤细胞数目超过1011时才是临床可观察的;在肿瘤细胞生长初期,几乎每隔一定时间就会观测到肿瘤细胞数量翻一番;在肿瘤细胞生长后期,肿瘤细胞的数目趋向某个稳定值。为此,图_反映了肿瘤细胞的生长趋势。 A肿瘤细胞数目 B肿瘤细胞数目 C肿瘤细胞数目 D? 答案:D解析 本题考查应用数学基础知识。 用函数曲线来表示事物随时问变化的规律十分

11、常见。我们可以用函数f(t)表示肿瘤细胞数量随时间变化的函数。那么,当肿瘤细胞数目超过1011时才是临床可观察的,可以表示为f(0)=1011。在肿瘤生长初期,几乎每隔一定时间就会观测到肿瘤细胞数量翻一番,可以表示为tt0时,f(t+c)=2f(t)。符合这种规律的函数是指数函数:f(t)=at,其曲线段呈凹形上升态。在肿瘤生长后期,肿瘤细胞的数目趋向某个稳定值,表示当tT时,f(t)逐渐逼近某个常数,即函数曲线从下往上逐渐靠近直线y=L。 问题:8. 九个项目A11、A12、A13、A21、A22、A23、A31、A32、A33的成本从1百万、2百万、到9百万各不相同,但并不顺序对应。已知A

12、11与A21、A12与A22的成本都有一倍关系,A11与A12、A21与A31、A22与A23、A23与A33的成本都相差1百万。由此可以推断,项目A22的成本是_百万。A.2B.4C.6D.8答案:C解析 本题考查应用数学基础知识。 为便于直观分析,题中的叙述可以用下图来表示: 九个项目Aij(i=1,2,3;j=1,2,3)的成本值(单位为百万,从1到9各不相同)将分别填入i行i列对应的格中。格间的黑点表示相邻格有一倍关系,白点表示相邻格相差1。 已知A22与A12的值有一倍关系,那就只可能是1-2,2-4,3-6或4-8,因此A22的值只可能是1,2,3,4,6,8。 如果A22=1,则

13、A23=A12=2,出现相同值,不符合题意。 如果A22=2,则A12只能是4(A12=1将导致A11=A22=2矛盾),A23只能为3(A23=1将导致A33=A22=2矛盾),A33出现矛盾。 如果A22=3,则A12=6,A11=5或7,不可能与A21有一倍关系。 如果A22=4,则A12=2或8。A12=8将导致A11=7或9,不可能与A21有成倍关系。因此A12=2,A23只能是5(A23=3将导致A33矛盾),A33=6,而A11=1或3都将导致A21矛盾。 如果A22=8,则A12=4,A23只能是7(A23=9将导致A33=8矛盾),A33只能是6,A11只能是3(A11=5将

14、导致A21矛盾),A21=6矛盾。 因此,A22只可能为6。 实际上,当A22=6时,A12=3,A23只能为7(A23=5将最终导致矛盾),A33=8。此时,A11、A21、A31可能分别是2、4、5,也可能是4、2、1。 An architectural style defines as a family of such systems in terms of a _ of structural organization. More specifically, an architectural style defines a vocabulary of _ and connector ty

15、pes, and a set of _ on how they can be combined. For many styles there may also exist one or more _ that specify how to determine a systems overall properties from the properties of its parts. Many of architectural styles have been developed over the years. The best-known examples of _ architectures

16、 are programs written in the Unix shell. 9.A.patternB.data flowC.business processD.position level答案:A10.A.metadataB.componentsC.modelsD.entities答案:B11.A.functionsB.code segmentsC.interfacesD.constraints答案:D12.A.semantic modelsB.weak entitiesC.data schemasD.business models答案:A13.A.event-basedB.object

17、-orientedC.pipe-and-filterD.layered答案:C The software architecture is a set of software components, subsystems, relationships, interactions, the properties of each of these elements, and the set of guiding principles that together constitute the fundamental properties and constraints of a software sy

18、stem or set of systems. _ defines a general set of element types and their interactions. The examples include Pipes and Filters, Model-View-Controller, and Reflection. A _ in software architecture is a representation used to understand or document one or more aspects of a problem or solution. Archit

19、ecture is usually used in conjunction with many adjunct terms. The _ defines the key strategies, organization, goals and related processes of the enterprise. At the enterprise level, the _ may be more of a set of guidelines on how the various software architectures should be constructed consistently

20、 across the enterprise. The _, which describes the high-level set of elements involved in application from a particular domain along with their interactions, is often used to focus on subsystem definition rather than application process level definition. 14.A.Architectural patternB.Architectural des

21、criptionC.Architectural viewD.Architectural viewpoint答案:A15.A.modelB.domainC.componentD.subsystem答案:A16.A.enterprise architectureB.technical architectureC.infrastructure architectureD.business architecture答案:D17.A.enterprise architectureB.data architectureC.application architectureD.information arch

22、itecture答案:C18.A.product-line architectureB.reference architectureC.technology architectureD.infrastructure architecture答案:B Information systems design is defined as those tasks that focus on the specification of a detailed computer-based solution. Typically, there are four systems design tasks for

23、in-house development. The first task is to specify _, which defines the technologies to be used by one, more, or all information systems in terms of their data, processes, interfaces, and network components. This task is accomplished by analyzing the data models and process models that are initially

24、 created during requirements analysis. The next systems design task is to develop the _. The purpose of this task is to prepare technical design specifications for a database that will be adaptable to future requirements and expansion. Once the database prototype has been built, the systems designer

25、 can work closely with system users to develop input, output and dialogue specifications. The _ must be specified to ensure that the outputs are not lost, misrouted, misused, or incomplete. The fourth design task involves packaging all the specifications from the previous design tasks into a set of

26、specifications that will guide the _ activities during the following phases of the systems development methodology. Finally, we should _ and update the project plan accordingly. The key deliverable should include a detailed plan for the construction phase that should follow. 19.A.an application arch

27、itectureB.a distributed systemC.a system scopeD.a system physical model答案:A20.A.database design specificationsB.database organization decisionsC.data structure specificationsD.data distribution decisions答案:A21.A.format and layoutB.transaction detailsC.additional instructionsD.internal controls答案:D22

28、.A.system administratorsB.system analystsC.computer programmersD.system designers答案:C23.A.adjust the project scheduleB.reevaluate project feasibilityC.evaluate vendor proposalsD.select the best vendor proposal答案:B An application architecture specifies the technologies to be used to implement one or

29、more information systems. It serves as an outline for detailed design, construction, and implementation. Given the models and details, include _, we can distribute data and processes to create a general design of application architecture. The design will normally be constrained by architecture stand

30、ards, project objectives, and _. The first physical DFD to be drawn is the _. The next step is to distribute data stores to different processors. Data _ are two types of distributed data which most RDBMSs support. There are many distribution options used in data distribution. In the case of _ we sho

31、uld record each table as a data store on the physical DFD and connect each to the appropriate server. 24.A.logical DFDs and ERDB.ideal object model and analysis class modelC.use case models and interface prototypesD.physical DFDs and database schema答案:A25.A.the database management systemB.the feasib

32、ility of techniques usedC.the network topology and technologyD.the user interface and process methods答案:B26.A.context DFDB.system DFDC.network architecture DFDD.event-response DFD答案:C27.A.vertical partitioning and horizontal replicationB.vertical replication and horizontal partitioningC.integration

33、and distributionD.partitioning and replication答案:D28.A.storing all data on a single serverB.storing specific tables on different serversC.storing subsets of specific tables on different serversD.duplicating specific tables or subsets on different servers答案:B二、论述题问题:1. 论基于DSSA的软件架构设计与应用答案:软件架构设计的一个重要

34、课题是如何解决软件重用问题。特定领域软件架构(Domain Specific Software Architecture,DSSA)是一种有效实现特定领域软件重用的手段。按照Tracz的说法,DSSA就是一个特定的问题领域中由领域模型、参考需求、参考架构等组成的开发基础架构,其目标就是支持一个特定领域中多个应用的生成。 DSSA的基本活动包括领域分析、领域设计和领域实现。领域分析的主要目的是获得领域模型,领域模型描述领域中系统之间共同的需求,即领域需求;领域设计的主要目标是获得DSSA,DSSA描述领域模型中表示需求的解决方案:领域实现的主要目标是依据领域模型和DSSA开发和组织可重用信息。

35、请围绕“基于DSSA的软件架构设计与应用”论题,依次从以下三个方面进行论述。 (1)概要叙述你参与管理和开发的软件项目以及你在其中所承担的主要工作。 (2)就你所熟悉的领域,请给出针对该特定领域,在基于DSSA的软件设计开发中所涉及的领域模型、参考需求和参考架构以及相应的支持环境或设施。 (3)具体阐述你参与管理和开发的项目中使用DSSA的情况,包括领域分析、领域设计和领域实现等活动是如何具体实施的,最终实际效果如何。 写作要点 这是一道关于DSSA的试题。DSSA的概念以及基本活动,题目中都进行了简要的说明。值得注意的是在论文的写作选材方面,作者的项目需要具备一定的行业特色。如电力行业,通信

36、行业,铁路系统等。关于DSSA所具备的特征以及如何用DSSA的体系来具体创建系统的软件架构。 本文写作要点,大致包括以下几个方面。 (1)简要叙述所参与管理和开发的软件项目,需要明确指出在其中承担的主要任务和开展的主要工作。 (2)应结合自己所熟悉的领域,定义领域范围,确定领域应用需要满足的用户需求;定义领域特定的元素、领域字典和领域术语;定义领域特定的设计和实现需求约束:在此基础上,定义领域模型,产生该领域的参考架构,并说明构件的语法和语义;最后,产生、搜集可重用的产品单元,为DSSA增加构件,为问题域实现新应用提供支持。这个DSSA的建立过程是并发、递归和反复进行的。 所给出的。DSSA应

37、该具备以下4个方面的特征: 一个严格定义的问题域和/或解决域; 具有普遍性,使其可以用于领域中某个特定应用的开发; 对整个领域能有合适程度的抽象; 具备该领域固定的、典型的在开发过程中的可重用元素。 (3)需要结合项目实际,指出在架构设计时使用DSSA的情况,包括领域分析、领域设计和领域实现等活动是如何具体实施的,要给出实际的效果并进行分析。 问题:2. 论信息系统建模方法答案:系统模型在软件开发中扮演着重要的角色。可为已有的系统创建模型,以便更好地理解这些系统;也可以针对待开发的系统创建模型,作为记录业务需求或技术设计的方法。模型是建立信息系统的基础。恰当地运用信息系统建模方法,是成功地进行

38、软件开发的一个关键环节。 请围绕“论信息系统建模方法”论题,依次从以下三个方面进行论述。 (1)概要叙述你参与管理和开发的信息系统项目以及你在其中所承担的主要工作。 (2)论述常见的信息系统建模方法的主要内容(包括每种建模方法的核心思想以及所创建的模型)。 (3)具体阐述你参与管理和开发的项目中选择使用的信息系统建模方法以及选择该方法的原因,给出具体的实施过程和实施效果。 写作要点 这是一道关于信息系统的建模的试题。值得注意的是,有不少考生把该试题的建模方法理解成了开发模型与架构,这都是不正确的。信息系统的建模方法可以分为:面向过程的建模、面向数据的建模、面向信息的建模、面向决策的建模和面向对

39、象的建模五种。 面向过程的建模方法是把过程看作系统模型的荩本部分,数据是随着过程而产生的。最有影响的面向过程的设计方法是Yourdon设计法。 面向数据的建模方法把模型的输入/输出看成是最为重要的,因此,首先定义的是数据结构,而过程模块是从数据结构中导出的,即功能跟随数据。最有影响的面向数据的设计方法是Jackson设计法。 面向信息的建模方法与面向数据的建模方法的区别就是信息和数据的区别。信息和数据都是信息系统中最基本的术语,数据是指记载下来的事实,是客观实体属性的值,而信息是构成一定含义的一组数据。面向信息建模方法是从整个系统的逻辑数据模型开始的,通过一个全局信息需求视图来说明系统中所有基

40、本数据实体及其相互关系,然后,在此基础上逐步构造整个模型,信息模型记录系统运作所需的信息实体,如:人员、地点、事物、观念等,为分析现行系统提供信息的图形化表示。数据建模的目的是设训和实现满足系统信息需求的数据库结构,即数据建模支持系统设计。 决策支持系统由数据库、模型库和各自的管理系统组成。决策支持系统模型需要反映的问题是系统的决策制定原则和机理、系统的组织机构和人员配置。通过对决策系统的建模,企业的领导可以对企业有一个细致的了解,从而发现其中问题。如组织结构臃肿,职权划分不清,权力范围不合理等,据此进行相应的改革。比较成熟的决策支持系统建模方法有Petri网和GRAI法。 面向对象的分析方法

41、是利用面向对象的信息建模概念,如实体、关系、属性等,同时运用封装、继承、多态等机制来构造模拟现实系统的方法。传统的结构化设计方法的基本点是面向过程,系统被分解成若干个过程。而面向对象的方法是采用构造模型的观点,在系统的开发过程中,各个步骤的共同的目标是建造一个问题域的模型。在面向对象的设计中,初始元素是对象,然后将具有共同特征的对象归纳成类,组织类之间的等级关系,构造类库。在应用时,在类库中选择相应的类。 在完成该论文时,首先应对上面的方法进行介绍,然后说明自己的系统中采用了哪种方法,具体是怎么样来使用这种方法的。 问题:3. 论基于REST服务的Web应用系统设计答案:REST(REpres

42、entational State Transfer)是指从几种基于网络的架构风格衍生出来的一种混合架构风格,它是目前互联网的核心架构风格。基于REST服务(RESTfulService)的Web应用系统设计任务主要包括:识别并设计REST风格的服务,采用面向服务的思想进行REST服务集成。采用这种方法设计的Web应用系统能够结合REST风格和面向服务思想的优点,近年来受到了广泛的关注。 请围绕“基于REST服务的Web应用系统设计”论题,依次从以下三个方面进行论述。 (1)概要叙述你参与实施的Web应用系统开发项目以及你所承担的主要工作。 (2)简要叙述与传统的Web服务相比,采用REST服务

43、构建的Web应用具有哪些优势和不足。 (3)阐述你在设计基于REST服务的Web应用系统时遇到了哪些问题,如何解决。 写作要点 (1)论文中要具体介绍项目的总体需求(特别是质量属性需求)、Web应用系统的逻辑与物理拓扑结构、采用的技术等内容和承担的实际工作。 (2)REST(Representational State Transfer)是指从几种基于网络的架构风格衍生出来的一种混合架构风格,目前Web的体系结构正是基于REST风格的。REST风格中的特点是客户端/服务器、无状态、缓存、统一接口、分层系统和按需代码。REST组件通过一种数据格式转移资源的表述进行通信,可以基于接收者的能力和期待

44、的内容,以及资源的性质动态地选择不同的表述。 与传统的Web服务相比,REST服务主要有以下优势。 REST服务基于W3C/IETF的标准与规范(包括HTTP、XML、URI和MIME等),其实现技术简单、成熟。 REST服务基于URI和超链接技术,不需要通过集中式的服务信息仓库即可发现服务资源。 REST服务支持缓存,具有无状态的特性,这些使得REST服务能够支持大量客户端,构建的应用系统具有较强的伸缩性。 REST服务基于轻量级的Web框架,只需要基本的开发工具支持,构建过程简单且成本较低。 REST服务的测试相对简单,采用浏览器即可完成服务功能测试。与传统的Web服务相比,REST服务主

45、要存在如下不足。 REST服务倡导的REST风格与实际实现尚存在一定差距。例如高层REST服务倡导使用GET、PUT、POST和DELETE所有4个统一接口,在REST实现部分通常只能采用GET和POST接口,因为大多数的代理和防火墙会屏蔽其他接口;并且XHTML表单中只能使用GET和POST接口。 REST服务要求所有的输入参数都必须在URI中传递,这样会产生对参数容量大小的限制(目前的大小足4KB)。如果超出该数量,会导致HTTP协议错误(错误代码414:Request-URI too long)。 在URI中表达复杂类型的参数比较困难,且目前对URI中的参数不存在一种公认的编组(mars

46、halling)和解编(un-marshalling)方法。 (3)进行基于REST服务的Web应用系统的设计时可能遇到的问题包括:如何识别并设计REST风格服务;构建REST服务的运行环境,包括HTTP服务器与应用服务器选型等;富客户端表现方式及编程语言的选择;系统逻辑与物理拓扑结构的分析与设计等。 问题:4. 论软件可靠性设计与应用答案:目前在企业中,以软件为核心的产品得到了广泛的应用。随着系统中软件部分比例的不断增加,使得系统对软件的依赖性越来越强,对软件的可靠性要求也越来越高。软件可靠性与其他质量属性一样,是衡量软件架构的重要指标。 软件工程中已有很多比较成熟的设计技术,如结构化设计、

47、模块化设计、自顶向下设计等,这些技术为保障软件的整体质量发挥了重要作用。在此基础上,为了进一步提高软件的可靠性,通常会采用一些特殊的设计技术,即软件可靠性设计技术。 在软件可靠性工程体系中,包含可靠性模型与预测、可靠性设计和可靠性测试方法等。实践证明,保障软件可靠性最有效、最经济、最重要的手段是在软件设计阶段采取措施进行可靠性控制。 请围绕“软件可靠性设计与应用”论题,依次从以下三个方面进行论述。 (1)概要叙述你参与实施的软件开发项目以及你所承担的主要工作。 (2)简要叙述影响软件可靠性的因素有哪些。 (3)阐述常用的软件可靠性设计技术以及你如何应用到实际项目中,效果如何。 写作要点 这是一

48、道关于软件可靠性设计的试题,主要考查影响软件可靠性的因素以及软件可靠性设计技术和应用。本题需要特别注意的一点是:文章不能以“系统可靠性设计与应用”为主线组织内容。“系统可靠性设计”与“软件可靠性设计”的区别在于:系统可靠性包括了系统硬件的可靠性和系统软件的可靠性。 软件的可靠性设计技术主要有:恢复块方法、N-版本程序设计、防卫式程序设计。 恢复块设计就是选择一组操作作为容错设计单元,从而把普通的程序块变为恢复块。一个恢复块中包含若干功能相同、设计差异的程序块,每一时刻有一个程序块处于运行状态,一旦某程序块出现故障,则用备份程序块予以替换。 N-版本程序设计的核心是通过设计出多个模块或不同版本,

49、对于相同初始条件和相同输入的操作结果进行多数表决(防止因其中某一软件模块/版本的故障而提供了错误的服务,以实现软件容错)。冗余设计的思路来源于硬件系统,但有所不同。软件冗余设计技术是采用多种不同路径、不同算法或不同实现方法的模块或系统作为备份,在出现故障时进行替换,维持系统的正常运行。 防卫式程序设计是一种不采用任何一种传统的容错技术就能实现软件容错的方法,对于程序中存在的错误和不一致性,防卫式程序设计的基本思想是通过在程序中包含错误检查代码和错误恢复代码,使得一旦错误发生,程序能撤销错误状态,恢复到一个己知的正确状态中去。其实现策略包括错误检测,破坏估计和错误恢复三个方面。 问题:5. 论软

50、件的静态演化和动态演化及其应用答案:软件演化(Software Evolution)是指软件在其生命周期内的更新行为和过程。演化是一系列贯穿软件生命周期始终的活动,系统需求改变、功能实现增强、新功能加入、软件架构改变、软件缺陷修复、运行环境改变均要求软件系统能够快速适应变化,具有较强的演化能力。软件静态演化(Static Evolution)和动态演化(DynamicEvolution)是目前软件演化的两种重要类型。 请围绕“软件的静态演化和动态演化及其应用”论题,依次从以下三个方而进行论述。 (1)概要叙述你参与管理和开发的软件项目以及你在其中所担任的主要工作。 (2)请分别对软件静态演化和

51、动态演化的特点进行论述,说明两种软件演化类型各自的优缺点及其应用场合,并举例说明各自的常见演化技术手段。 (3)具体阐述你参与管理和开发的项目中所进行的软件演化活动的特点、演化的类型,以及所采取的对应演化技术手段,说明具体实施过程以及实际应用的效果。 写作要点 一、简要叙述所参与管理和开发的软件项目,并明确指出你在其中承担的主要任务和开展的主要工作。 二、软件演化可分为静态演化和动态演化两种情形。 (1)静态演化(Static Evolution)。静态演化是指软件在停机状态下的演化。其优点是不用考虑运行状态的迁移,同时也没有活动的进程需要处理。然而停止一个应用程序就意味着中断它提供的服务,造

52、成软件暂时失效。 软件静态演化是指发生在应用程序停止时的软件修改和更新,即一般意义上的软件维护和升级。静态演化的优点是没有状态迁移或活动线程的问题要解决,缺陷是停止应用程序意味着停止其所提供的服务,也就是使软件系统暂时失效。在软件交付之后,静态演化(类似于一般意义上的软件维护)就成为软件变更的一个常规过程。变更可以是一种更正代码错误的简单变更,也可以是更正设计错误的较大范围的变更,还可以是对描述错误进行修正或提供新需求这样的重大改进。有三种不同的软件维护:改正性维护、适应性维护和完善性维护。维护过程一般包括变更分析、版本规划、系统实现和向客户交付系统等活动。 在面向对象技术中,使用子类型方法来

53、扩展程序,它适合于软件静态演化和代码重用。子类型化一个类意味着保留父类中的参数和方法,并尽可能地增加新的参数和方法。另外,使用重载和多态性作为主要的演化机制。实际上,建立类的新版本,最简单的机制是创建它的子类,然后重载需要变更的方法,最后,使用多态性调用新创建的方法。在基于构件的软件技术中,构件采取接口和实现相分离技术,构件之间只能通过接口进行通信,这使得具有兼容接口的不同构件实现可以相互取代,从而成为软件静态演化的一条途径。 (2)动态演化(Dynamic Evolution)。动态演化是指软件在执行期问的软件演化。其优点是软件不会存在暂时的失效,有持续可用性的明显优点。但由于涉及状态迁移等

54、问题,比静态演化从技术上更难处理。 动态演化是最复杂也是最有实际意义的演化形式。动态演化使得软件在运行过程中,可以根据应用需求和环境变化,动态地进行软件的配置、维护和更新,其表现形式包括系统元素数目的可变性、结构关系的可调节性和结构形态的动态可配置性。软件的动态演化特性对于适应未来软件发展的开放性、动态性具有重要意义。 动态演化是指软件在运行期间的演化。在许多重要的应用领域中,例如金融、电力、电信及空中交通管制等,系统的持续可用性是一个关键性的要求,运行时刻的系统演化可减少因关机和重新启动而带来的损失和风险。此外,越来越多的其他类型的应用软件也提出了运行时刻演化的要求,在不必对应用软件进行重新

55、编译和加载的前提下,为最终用户提供系统定制和扩展的能力。 动态演化可分为两种类型:预设的和非预设的。在Web环境中,软件应用常常需要处理多种类型的信息,因此它们常被设计为可以动态下载并安装插件以处理当前所面临的新类型的信息;而分布式Web应用也常常需要增减内部处理节点的数目,以适应多变的负载。这些动态改变都是软件设计者能够预先设想到的,可实现为系统的固有功能。另有一些必须对系统配置进行修改和调整的情况是直到系统投入运行以后才发现的,这就要求系统能够处理在原始设计中没有完全预料到的新需求。这种情况下一般需要关闭整个系统,重新开发、重新装入并重新启动系统。然而,为了进行局部的修改而关闭整个系统在某些情况下是不允许的(例如,关键运行系统)或者代价太高。精心设计的动态演化技术可以在不关闭整个系统的前提下修改系统的结构配置,并尽量使未受影响的部分继续工作以提高系统的可用度。 为支持软件的动态演化性,已在语言、机制和环境等方面做了大量工作。在程序语言的层次上,引进各种机制以支持软件动态

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论