当前位置:文档之家› 软件工程师材料必备要点

软件工程师材料必备要点

1.7系统可靠性基础考什么?一、基本概念(1)系统的可靠性:从它开始运行(t=0)到某时刻t这段时间内能正常运行的概率,用R(t)表示。

(2)失效率:单位时间内失效的元件数与元件总数的比例,通常用λ表示。

当λ为常数时,可靠性与失效率的关系为:R(t)=e-λt。

(3)平均无故障时间(MTBF):两次故障之间系统能正常工作的时间的平均值。

它与失效率的关系为:MTBF=1/λ。

(4)平均失效前时间(MTTF):从故障发生到机器修复平均所需要的时间。

而通常用平均修复时间(MTTR)来表示计算机的可维修性,即计算机的维修效率。

(5)可用性:计算机的使用效率,它以系统在执行任务的任意时刻能正常工作的概率A来表示:A=MTBF/(MTBF+MTTF)。

二、系统可靠性模型(1)串联系统:假设一个系统由N个子系统组成,当且仅当所有的子系统都能正常工作时,系统才能正常工作,如图1-6(a)所示。

(2)并联系统:假如一个系统由N个子系统组成,只要有一个子系统正常工作,系统就能正常工作,如图1-6(b)所示。

(3)N模冗余系统:由N个(N=2n+1)相同的逻辑线路和一个表决器组成,只要有n+1个或n+1个以上能正常工作,系统就能正常工作,输出正确的结果,如图1-6(c)所示。

各系统的可靠性和失效率的计算公式如表1-3所示。

表1-3 系统的可靠性和失效率的计算公式注:是从N个元素中选i个元素的组合数,值为当N=3时,怎么考【试题1-30】 2007年11月真题1若某计算机系统由两个部件串联构成,其中一个部件的失效率为7×10-6/小时。

若不考虑其他因素的影响,并要求计算机系统的平均故障间隔时间为105小时,则另一个部件的失效率应为(1) /小时。

解析:平均无故障时间与失效率的关系为:MTBF=1/λ,则计算机系统的总失效率为系统平均故障间隔时间的倒数,即小时。

对于串联系统,计算机系统的总失效率为各部件失效率的和。

因此,另一个部件的效率应为小时。

【答案:(1)D】【试题1-31】 2007年5月真题4某系统的可靠性结构框图如下图所示。

该系统由4个部件组成,其中2、3两部件并联冗余,再与1、4部件串联构成。

假设部件1、2、3的可靠度分别为0.90、0.70、0.70。

若要求该系统的可靠度不低于0.75,则进行系统设计时,分配给部件4的可靠度至少应为(4)。

解析:从可靠性设计角度分析,该试题给出的是一种串并混合系统。

首先考虑部件2和部件3是并联冗余结构,它们的可靠度分别为0.70,两者并联冗余的可靠度为1-(1-0.70)2=0.91。

在此基础上,系统可以看作是可靠度为0.90的部件1、可靠度为0.91的冗余部件和部件4串联构成,串联系统的可靠度为各部件可靠度之积,要求构成的系统的可靠度不低于0.75。

若设部件4的可靠度为R4,则从而可以由上式求出部件4的可靠度【答案:(4)C】【试题1-32】 2006年11月真题2某计算机系统由下图所示的部件构成,假定每个部件的千小时可靠度R均为0.9,则该系统的千小时可靠度约为(2)。

A. 0.882B. 0.951C. 0.9D. 0.99解析:题目中给出的系统可看成由三个部件串联组成,其中第二、第三部件又分别由两个部件并联构成。

对于并联部件,可靠度=1-各部件失效率的乘积=1-(1-0.9)×(1-0.9)。

而串联部件的可靠度=各部件的可靠度的乘积。

因此整个系统的可靠度为:0.9×(1-(1-0.9)×(1-0.9))×(1-(1-0.9)×(1-0.9))≈0.882。

【答案:(2) A】mpeg是什么格式MPEG标准主要有以下五个,MPEG-1、MPEG-2、MPEG-4、MPEG-7及MPEG-21等。

该专家组建于1988年,专门负责为CD建立视频和音频标准,而成员都是为视频、音频及系统领域的技术专家。

及后,他们成功将声音和影像的记录脱离了传统的模拟方式,建立了ISO/IEC1172压缩编码标准,并制定出MPEG-格式,令视听传播方面进入了数码化时代。

因此,大家现时泛指的MPEG-X版本,就是由ISO(International Organization for Standardization)所制定而发布的视频、音频、数据的压缩标准。

MPEG标准的视频压缩编码技术主要利用了具有运动补偿的帧间压缩编码技术以减小时间冗余度,利用DCT技术以减小图像的空间冗余度,利用熵编码则在信息表示方面减小了统计冗余度。

这几种技术的综合运用,大大增强了压缩性能。

操作系统:消息传递通信的实现方法1. 直接通信方式这是指发送进程利用OS所提供的发送命令,直接把消息发送给目标进程。

此时,要求发送进程和接收进程都以显式方式提供对方的标识符。

通常,系统提供下述两条通信命令(原语):Send(Receiver, message); 发送一个消息给接收进程;Receive(Sender, message); 接收Sender发来的消息;2. 间接通信方式(1) 信箱的创建和撤消。

进程可利用信箱创建原语来建立一个新信箱。

创建者进程应给出信箱名字、信箱属性(公用、私用或共享);对于共享信箱,还应给出共享者的名字。

当进程不再需要读信箱时,可用信箱撤消原语将之撤消。

(2) 消息的发送和接收。

当进程之间要利用信箱进行通信时,必须使用共享信箱,并利用系统提供的下述通信原语进行通信。

Send(mailbox, message); 将一个消息发送到指定信箱;Receive(mailbox, message); 从指定信箱中接收一个消息;逻辑地址首先,给定一个完整的逻辑地址[段选择符:段内偏移地址],1、看段选择符的T1=0还是1,知道当前要转换是GDT中的段,还是LDT中的段,再根据相应寄存器,得到其地址和大小。

我们就有了一个数组了。

2、拿出段选择符中前13位,可以在这个数组中,查找到对应的段描述符,这样,它了Base,即基地址就知道了。

3、把Base + offset,就是要转换的线性地址了。

McCabe度量法McCabe度量法是一种基于程序控制流的复杂性度量方法。

McCabe定义的程序复杂性度量值又称环路复杂度,它基于一个程序模块的程序图中环路的个数。

如果把程序流程图中每个处理符号都退化成一个结点,原来联结不同处理符号的流线变成连接不同结点的有向弧,这样得到的有向图就叫做程序图。

计算有向图G的环路复杂性的公式:V(G)=m-n+2其中,V(G)是有向图G中的环路个数,m是图G中有向弧个数,n是图G中结点个数。

以图9-5-1为例,其中,结点数n=11,弧数m=12,则有V(G)=m-n+2=12-11+2=3。

即McCabe环路复杂度度量值为3 。

它也可以看做由程序图中的有向弧所封闭的区域个数。

当分支或循环的数目增加时,程序中的环路也随之增加,因此McCabe环路复杂度度量值实际上是为软件测试的难易程度提供了一个定量度量的方法,同时也间接地表示了软件的可靠性。

实验表明,源程序中存在的错误数以及为了诊断和纠正这些错误所需的时间与McCabe环路复杂度度量值有明显的关系。

Myers建议,对于复合判定,例如(A=0)∩(C=D)∪(X='A')算做三个判定。

利用McCabe环路复杂度度量时,有几点说明。

•环路复杂度取决于程序控制结构的复杂度。

当程序的分支数目或循环数目增加时其复杂度也增加。

环路复杂度与程序中覆盖的路径条数有关。

•环路复杂度是可加的。

例如,模块A的复杂度为3 ,模块B的复杂度为4,则模块A与模块B的复杂度是7。

•McCabe建议,对于复杂度超过10的程序,应分成几个小程序,以减少程序中的错误。

Walsh 用实例证实了这个建议的正确性。

他发现,在McCabe复杂度为10的附近,存在出错率的间断跃变。

•McCabe环路复杂度隐含的前提是:错误与程序的判定加上例行子程序的调用数目成正比。

而加工复杂性、数据结构、录入与打乱输入卡片的错误可以忽略不计。

面向对象分析和面向对象设计的区别 .分类:软件工程2013-07-06 18:00 393人阅读评论(0) 收藏举报一、总述面向对象分析的输入是用户的功能需求,输出是简单的、理性化的分析模型,此阶段的工作更多侧重于如何理解软件的功能需求;面向对象设计的输入是面向对象分析的结果,蔬菜水果最终的、细化后的设计模型,此阶段的工作更多侧重于如何得到一个合适的、完整的解决方案。

二、主要区别(1) 在侧重点上,面向对象分析侧重于理解问题,描述软件要做什么,而面向对象设计侧重于理解解决方案,描述软件要如何做。

(2) 面向对象分析一般只考虑理想饿设计,不关心技术和实现层面的细节,而面向对象设计需要得到更具体、更详尽,更接近于真实的代码的设计方案。

(3) 在设计结果的描方式上,面向对象分析阶段侧重于描述对象的行为,而面向对象设计阶段侧重于描述对象的属性和方法。

(4) 面向对象分析只关注功能性需求,而面向对象设计既关注功能性需求,也关注非功能性需求。

(5) 面向对象分析产生的系统模型通常规模较小,而面向对象设计产生的系统模型规模较大,内容也比较详尽、完整。

三、分析设计工具(RationalRose + UML)1、需求分析阶段常借助于“用例图”、“顺序图”对功能模型进行建模;用例描述,一般包括:用例名称,系统范围,用户目标,前置条件,执行过程,扩展情况,后置条件。

顺序图着眼于整个系统。

2、面向对象分析阶段(包含需求分析阶段的用例建模)常借助于“类图、对象图”,“顺序图、协作图”,“状态图”进行静态模型建模和动态模型建模。

这里的类图主要指通过用例分析得到的实体类、控制类和边界类。

顺序图也着眼于各个分析类对象间的协作。

3、面向对象设计阶段常借助于“类图”,“顺序图、协作图”,“状态图”来细化各个类以及对象间的协作、关系的可见性;这里的类图,要具体到属性、方法,类之间的关系依赖(继承、组合、聚合)这里的顺序图要具体到各个类的实例之间的消息传递、函数调用。

面向对象设计阶段常借助一些设计模式达到软件的可扩展行,应对软件的可预测到的变化。

UML类图23种设计模式工厂模式,工厂方法模式,单例模式,外观(Facade)模式,观察者(Observer)模式,桥接(Bridge)模式都是比较常用的1、FACTORY—追MM少不了请吃饭了,麦当劳的鸡翅和肯德基的鸡翅都是MM爱吃的东西,虽然口味有所不同,但不管你带MM去麦当劳或肯德基,只管向服务员说“来四个鸡翅”就行了。

麦当劳和肯德基就是生产鸡翅的Factory工厂模式:客户类和工厂类分开。

消费者任何时候需要某种产品,只需向工厂请求即可。

相关主题