软考系统架构设计师下午试题加答案(二)

软考系统架构设计师下午试题加答案(二)
软考系统架构设计师下午试题加答案(二)

软考系统架构设计师下午试题加答案(二)

2016年下半年软考系统架构设计师考试将于11月12日举行。大家都准备好了吗?下面由希赛小编为大家整理了一些系统架构设计师试题,希望对大家有所帮助。

试题三

阅读以下关于设计模式应用的叙述,根据要求回答问题。

[说明]某软件公司承接了一项面向儿童的模拟游戏软件的开发任务,该游戏软件主要模拟现实世界中各种鸭子的发声特征、飞行特征和外观特征。游戏软件需要模拟的鸭子种类及其特征如表2—13所示

为支持将来能够模拟更多种类鸭子的特征,该公司架构师采用某种设计模式设计的类图如图2-9所示。在图2—9中,类Duck描述了抽象的鸭子,方法fly7、quack7和display7分别表示不同种类的鸭子都具有飞行特征、发声特征和外观特征;类FlyBehavior与QuackBehavior分别用于表示抽象的飞行行为与发声行为。

7、[问题1]

请用350字以内的文字指出该公司架构师所采用的设计模式的具体名称、设计意图及其优缺点。

8、[问题2]

请用400字以内的文字指出该公司架构师所采用的设计模式的适用性,以及图2-9中需要考虑哪些实现问题?

9、[问题3]

设计模式在力度和抽象层次上各不相同。按设计模式的目的划分,可分为创建型、结构型和行为型3种模式;按设计模式的范围划分,可分为类设计模式和对象设计模式两种。请将下列A~J标记的设计模式填入到表2—14中的(1)~(5)空缺处。(请用A~J答题)

A.AbstractFactory模式

B.Adapter模式

C.ChainofResponsibility模式

D.Decorator模式

E.FactoryMethod模式

F.Flyweight模式

G.Interpreter模式

H.Iterator模式

I.TemplateMethod模式

J.Visitor模式

参考答案

7、依题意,在图2-9中,Duck为抽象类,描述了抽象的鸭子,方法fly()、quack()和display()分别表示不同种类的鸭子都具有飞行特征、发声特征和外观特征;而类RubberDuck、MallardDuck、CottonDuck和RedHeadDuck分别描述具体的鸭子种类;类FlyBehavior与QuackBehavior为抽象类,分别用于表示抽象的飞行行为与发声行为;类FlyNoWav与FlyWithWings分别描述不能飞行的行为和用翅膀飞行的行为;类Quack、Squeak与QuackNoWay 分别描述发出“嘎嘎”声的行为、发出橡皮与空气摩擦声的行为和不发声的行为。鉴于不同的鸭子种类只是在行为方面有所区别,且为支持将来能够模拟更多种类鸭子的特征,该公司架构师最有可能采用策略(Strategy)设计模式来设计如图2—9所示的模拟鸭子游戏软件。

Strategy模式定义了一组能够用来表示可能行为集合的类。这些行为可以在应用程序中使用,来修改应用程序功能。Strategy(策略)模式的设计意图是,定义一系列的算法,把它们一个个封装起来,并且使它们可相互替换,使得算法可独立于使用它的客户而变化。具体而言,该模式是一种定义一系列算法的方法,从概念上看,所有这些算法完成的都是相同的工作,只是实现不同,它可以以相同的方式调用所有的算法,减少了各种算法类与使用算法类之间的耦合。Strategy模式的一般结构如图2—13所示。

Strategy模式具有以下一些优点和缺点。

(1)另一种子类化方法。Strategy类层次为Context(上下文)定义了一系列的可供重用的算法或行为。继承有助于析取出这些算法中的公共功能。可以直接生成一个Context类的子类,从而给它以不同的行为。但这会将行为强制编制到Context中,而将算法的实现与Context的实现混合起来,从而使Context 难以理解、难以维护和难以扩展,而且还不能动态地改变算法。最后得到一堆相关的类,它们之间的唯一差别是它们所使用的算法或行为。将算法封装在独立的Strategy类中使得架构师可以独立于Context而改变它,使它易于切换、理解和扩展。

(2)在类自身中定义了每一个行为,从而减少了一些条件语句;Strategy模式提供了用条件语句选择所需行为以外的另一种选择。当不同的行为堆砌在一个类中时,很难避免使用条件语句来选择合适的行为。将行为封装在一个个独立的Strategy类中消除了这些条件语句。

(3)更容易扩展模型,即在不对应用程序进行代码修改的情况下,使该模式具有新的行为。

(4)客户必须了解不同的Strategy。该模式有一个潜在的缺点,就是一个客户要选择一个合适的Strategy就必须知道这些Strategy到底有何不同。此时可能不得不向客户暴露具体的实现问题。因此仅当这些不同行为变成与客户相关的行为时,才需要使用Strategy模式。

(5)Strategy和Context之间的通信开销。无论各个ConcreteStrategy(具体策略)实现的算法是简单还是复杂,它们都共享Strategy定义的接口。因此很可能某些ConcreteStrategy不会都用到所有通过这个接口传递给它们的信息;简单的ConcreteStrategy可能不使用其中的任何信息。这就意味着有时Context.会创建和初始化一些永远不会用到的参数。如果存在这样问题,那么将需要在Strategy和Context之间进行更加紧密的耦合。

(6)增加了对象的数目。Strategy增加了一个应用中的对象的数目。有时可以将Strategy实现为可供各Context共享的无状态的对象来减少这一开销。任何其余的状态都由Context维护。Context在每一次对Strategy对象的请求中都将这个状态传递过去。共享的Strategy不应在各次调用之间维护状态。

8、在以下情况中,应该使用Strategy模式。

(1)许多相关类只是在行为方面有所区别。“策略”提供了一种用多个行为中的一个行为来配置一个类的方法。

(2)需要使用一个算法的不同变体。例如,定义了一些反映不同的空间或时间权衡的算法,当这些变体实现为一个算法的类层次时,可以使用策略模式。

(3)算法使用客户端未知的数据,可使用策略模式以避免暴露复杂的、与算法相关的数据结构。

(4)一个类定义了多种行为,并且这些行为在这个类的操作中以多个条件语句的形式出现。将相关的条件分支移入它们各自的Strategy类中以代替这些条件语句。

依题意,在图2-9中,需要考虑以下一些Strategy模式实现问题。

(1)定义类Duck和类FlyBehavior(或类QuackBehavior)接口。这些接口

必须使得类FlyWithwings、类FlyNoWay、类Quack、类Squeak和类QuackNoWay等能够有效地访问它所需要的类Duck中的任何数据,反之亦然。一种解决办法是让类Duck将数据放在参数中传递给类FlyBehavior(或类QuackBehavior)操作,也就是说,将数据发送给类FlyBehavior(或类QuackBehavior)。这使得类FlyBehavior(或类QuackBehavior)和类Duck解耦。但从另一个角度考虑,类Duck也可能发送一些类FlyBehavior(或类QuackBehavior)不需要的数据。

另一种解决办法是让类Duck将自身作为一个参数传递给类FlyBehavior(或类QuackBehavior),该类FlyBehavior(或类QuackBehavior)再显式地向类Duck请求数据;或者类FlyBehavior(或类QuackBehavior)可以存储对它的类Duck的一个引用,这样根本不再需要传递任何东西。这两种情况下,类FlyBehavior(或类QuackBehavior)都可以请求到它所需要的数据。但要求类Duck必须对它的数据定义一个更为精细的接口,这将使得类FlyBehavior(或类QuackBehavior)和类Duck更加紧密地耦合在一起。

(2)将类FlyBehavior(或类QuackBehavior)作为模板参数。例如,在C++中,可利用模板机制用一个Strategy来配置一个类。然而这种技术仅当下面条件满足时才可以使用:可以在编译时选择Strategy;它无须在运行时改变。在这种情况下,要被配置的类(如类Duck)被定义为以一个Strategy类作为一个参数的模板类。使用模板不再需要定义给类FlyBehavior(或类QuackBehavior)定义接口的抽象类。把类FlyBehavior(或类QuackBehavior)作为一个模板参数也使得可以将一个类FlyBehavior(或类QuackBehavior)和它的类Duck静态地绑定在一起,从而提高效率。

(3)尽量使类FlyBehavior(或类QuackBehavior)成为可选的对象。即使在不使用额外的FlyBehavior(或类OuackBehayior)对象的情况下,类Duck也还有意义,那么它还可以被简化。类Duck在访问类FlyBehavior(或类QuackBehavior)前先检查它是否存在,如果有,那么就使用它;如果没有,那么类Duck执行默认的行为。这种方法的好处是客户根本不需要处理FlyBehavior(或类QuackBehavior)对象,除非它们不喜欢默认的行为。

9、设计模式主要用于得到简洁灵活的系统设计,GoF的书中共有23个设计模式,这些模式可以按两个准则来分类:一是按设计模式的目的划分,可分为创建型、结构型和行为型3种模式;二是按设计模式的范围划分,即根据设计模式是作用于类还是作用于对象来划分,可分为类设计模式和对象设计模式,如表2—16所示。

创建型模式是对对象实例化过程的抽象,它通过采用抽象类所定义的接口,封装了系统中对象如何创建及组合等信息。该模式允许在系统中创建对象,而不需要在代码中标识特定类的类型,这样用户就不需要编写大量复杂的代码来初始

化对象。它是通过该类的子类来创建对象的。但是,这可能会限制在系统内创建对象的类型或数目。创建型模式主要有FactoryMethod(工厂方法)、AbstractFactory(抽象工厂)、Builder(构建器)、Prototype(原型)和Singleton(单独)等模式。

结构型模式主要用于如何组合已有的类和对象以获得更大的结构,一般借鉴封装、代理或继承等概念将一个或多个类或对象进行组合和封装,以提供统一的外部视图或新的功能。该模式允许在不重写代码或自定义代码的情况下创建系统,从而使系统具有增强的重复使用性和应用性能。该模式控制了应用程序大部分之间的关系,将以不同的方式影响应用程序。

结构型模式主要有Adapter(适配器)、Bridge(桥接)、Composite(组成)、Decorator(装饰)、Fagade(外观)、Flyweight(享元)和Proxy(代理)等。行为型模式主要用于对象之间的职责及其提供的服务的分配,它不仅描述对象或类的模式,还描述它们之间的通信模式,特别是描述一组对等的对象怎样相互协作以完成其中任意一个对象都无法单独完成的任务。该模式可以影响一个系统的状态和行为流。通过优化状态和行为流转换及修改的方式,可以简化、优化并且提高应用程序的可维护性。行为型模式主要有Interpreter(解释器)、TemplateMethod(模板方法)、ChainofResponsibility(职责链)、Command(命令)、Iterator(迭代器)、Mediator(中介者)、Memento(备忘录)、Observer(观察者)、State(状态)、Strategy(策略)和Visitor(访问者)等。

试题四

阅读以下关于UML软件系统建模的叙述,根据要求回答问题。

[说明]

车载GPS(GlobalPositionSystem)终端是置于机动车内的实时定位装置,它的应用对象是需要定位和调度的车辆。车辆可以通过终端与GPS进行实时、准确的定位,并能够通过无线通信网络上报远程的车辆调度中心。中心可以通过终端远程监视车行轨迹,并可在特殊情况下通过终端控制车辆。同时,终端还装备车载电话,可以在出现特殊情况时及时地通知车辆调度中心。图2—10所示为车载终端系统的用例图,对于车载GPS终端系统来说,主要的角色有两个,分别为车辆调度中心用户和车载终端用户。图2—11所示为车载终端系统中的GSM无线电通信模块的部分状态图,用于与调度中心进行联系。GSM模块共有4个状态,分别为通话中、有问题、待命和短消息通信中。

10、[问题1]

请将以下给出的转换关系填入图1-24所示的适当位置,从而将GSM无线电通信模块状态图补充完整。转换关系:①用户需要语言通话;②通话完成;③重新连接网络;④未找到网络或网络出错。

11、[问题2]

车载终端用户在遇到特殊情况下通过车载电话(或按键)与调度中心保持通信的处理过程顺序图如图2-12所示。

结合你的系统架构经验,以及对GPS终端系统的理解,请将下列A~F标记的处理过程填入到图2-12中的(1)~(6)空缺处,并给出通过车载电话(或按键)与调度中心保持通信的正确处理顺序(请用A~F表达,例如ABCDEF.。

A.语音对话/按下按钮

B.监听命令

C.发送信息到通信模块

D.要求监听

E.通过GSM发送信息

F.接收成功要求监听信息

12、[问题3]

建立顶层架构是基于UML对该车载GPS终端系统进行建模的步骤之一。顶层架构的主要目的是为后续的分析和设计活动建立一种结构和分划,以便开发人员在不同阶段,以及同一开发阶段的不同开发人员,能够聚集于系统的不同部分。结合你的系统架构经验,请简要说明在该车载GPS终端系统确立顶层架构

的过程中需要综合考虑哪些因素?

参考答案

10、统一建模语言(UML)是面向对象的建模语言,强调两个重要的概念:鼓励将设计描述为许多交互的对象,而不是一些大的单块代码;至少一些对象对应系统中部分实际的软件或硬件,可以将UML模型化成系统交互的外部世界,在这种情况下,对象可能与人或其他机器对应。

在图2—11所示的车载终端系统中的GSM无线电通信模块状态图中,GSM模块共有4个状态,分别为通话中、有问题、待命和短消息通信中。当GSM模块在通话、待命和短消息通信状态中出现问题时,会转入错误处理即进入有问题状态。当用户需要语音通话时,转入通话状态,通话完毕后,通信模块重新回到待命状态。当模块无法处理问题时,可以试图连接网络,上报车辆调度中心,此时模块处于空闲待命状态。完整的GSM无线电通信模块状态图如图2-14所示。

11、图2-11为车载终端用户通过车载电话(或按键)与调度中心保持通信的处理过程顺序图。其表达的处理过程如下:用户通过按下按钮或语音对话试图连

接调度中心,主控器模块接收到连接请求后(或连接建立后),就发送相应的信息给通信模块;通信模块负责处理并通过GSM发送消息,调度中心接收消息成功后要求监听信息,并把该要求返回给车载系统的GSM通信模块;GSM通信模块把该请求信息(即调度中心的要求监听信息)递交给主模块,主模块把监听命令递交给GSM通信模块,然后可由GSM通信模块递交给调度中心。

12、在初步的业务需求描述已经形成的前提下,基于UML的需求分析大致可分为以下几个步骤。

·利用用例及用例图表示需求。从业务需求描述出发获取执行者和场景;对场景进行汇总、分类和抽象;形成用例;确定执行者与用例,用例与用例图之间的关系,生成用例图。

·利用包图及类图表示目标软件系统的总体框架结构。根据领域知识、业务需求描述和既往经验设计目标软件系统的顶层架构;从业务需求描述中提取“关键概念”,形成领域概念模型;从概念模型和用例出发,研究系统中主要的类之间的关系,生成类图。

上述两个步骤并没有时序关系,它们可以并行展开。其中,顶层架构的主要目的是为后续的分析和设计活动建立一种结构和分划,以便开发人员在不同的开发阶段,以及同一开发阶段的不同开发人员,能够聚焦于系统的不同部分。顶层架构是分析和设计的阶段成果的承载体。随着开发过程的推进,框架中的内容不断丰富和翔实,最终演进为完整的面向对象的软件结构。UML包图是表示项层架构的适当机制。建立软件系统顶层架构的基本方法是,结合实际需求,从既往的架构设计经验模型中选取适当者,再进行微调或局部改造。目前有以下几种主要的架构模式。

(1)流程处理模式。流程处理系统以算法和数据结构为中心,其系统功能由一系列的处理步骤构成,相邻的处理步骤之间以数据流通管道相互连接。该模式仅适合于采用批处理方式的软件系统,不适合于交互式系统。

(2)客户/服务器模式。客户端负责用户输入和处理结果的呈现,服务器端则负责后台的业务逻辑处理。

(3)模型—视图—控制器(MVC)模式。该模式将整个软件系统划分为模型、视图和控制器3个部分。模型负责维护并保存具有持久性的业务数据,实现业务处理功能,并将业务数据的变化情况及时通知视图;视图负责呈现模型的业务数据,响应模型变化通知,更新呈现形式,并向控制器传递用户的界面动作;控制器负责将用户的界面动作映射为模型中业务处理功能并实际调用之,然后根据模型返回的业务处理结果选择新的视图。MVC模式特别适合于分布式应用软件,尤其是Web应用系统。

(4)分层模式。该模式将整个软件系统分为若干层次,最顶层直接面向用户提供软件系统的操作界面,其余各层为紧邻其上的层次提供服务。层次划时分的主要原则是,较易变化的软件部分(例如用户界面和与业务逻辑紧密相关的部件)置于较高层次,较稳定的软件部分(例如公共的技术服务部件)则位于较低层次;每一层次尽量只访问其紧邻下层提供的服务,避免越级访问,尤其要避免逆向访问(上层模块为下层模块提供服务);在许多情况下,可以将目标软件系统的外部接口置入较低层次,目标软件系统其余部分对外部系统的访问或操作均通过这些外部接口所提供的公共服务来完成。分层模式可以有效地降低软件系统的耦合度,因此其应用十分普遍。在全面了解软件架构样式的前提下,对于具体的应用需求而言,影响顶层架构选取的主要因素在于系统架构师的经验及他们对每种架

构样式与当前软件项目之间匹配程度的判断。事实上,大型软件的顶层架构往往需要复合使用多种架构样式。例如,整个目标软件系统采用分层结构,在系统的不同层次内再分别使用适宜的其他种类的架构模式。在确立顶层架构的过程中,需要综合考虑以下因素。

(1)架构中包的数量。原则上,如果每个包中包含的软件元素(例如类)的数量过多,应考虑将其进一步细分;如果过少,则说明架构过早地陷入了细节,架构划分返工的可能性较大,同时也不合理地限制了后续分析和设计活动的自由空间。

(2)架构中包之间的耦合度。包之间的依赖关系和连接关系应尽量简单、稀疏,例如,在分层结构中,通常要求某一层中的软件元素只与同层及相邻下一层的元素之间存在依赖关系。

(3)软件元素的稳定性。要尽量抽取不稳定的软件元素之中相对稳定的部分,将不稳定的软件元素分类聚集于少数几个包中,以提高软件系统的可维护性。

(4)软件元素的必然性。可以将可选功能和必须实现的功能分置于架构中不同的包或子包之中。

(5)作为软件系统运行环境的物理网络拓扑。根据软件元素在分布环境的部署情况,区分顶层架构中的包,可以使包之间的消息传递与物理节点之间的通信相吻合,使后续的分析和设计活动受益于顶层架构中明确定义的通信关系。

(6)软件元素的安全和保密级别。根据安全访问的权限划分顶层架构中的包或者子包。

(7)开发团队的技术专长。根据开发人员在问题领域和软件技术领域不同的专长划分顶层架构中的包,使每个包都能分配给最适合的开发人员进行后续的分

析、设计、编码和测试等,从而有利于并行开发。

如需了解更多系统架构设计师资讯,请看希赛软考学院!

软考软件设计师必做练习题附答案

软考软件设计师必做练习题及答案 软件设计师考试属于全国计算机技术与软件专业技术资格考试(简称计算机软件资格考试)中的一个中级考试。考试不设学历与资历条件,也不论年龄和专业,考生可根据自己的技术水平选择合适的级别合适的资格,但一次考试只能报考一种资格。考试采用笔试形式,考试实行全国统一大纲、统一试题、统一时间、统一标准、统一证书的考试办法。下面是希 赛小编整理的软考软件设计师考前必做的练习题。 试题一分析 本题主要考查类图和顺序图。 【问题 1】 需要分析此门禁系统的体系结构,根据体系结构的描述来看什么数据放在什么类中最 为合适。题目中提到:系统中的每个电控锁都有一个唯一的编号。锁的状态有两种:“已锁住”和“未锁住”。所以Lock 中含有锁编号和锁状态这两个属性。又因为题中有:在主机 上可以设置每把锁的安全级别以及用户的开锁权限。只有当用户的开锁权限大于或等于锁的 安全级并且锁处于“已锁住”状态时,才能将锁打开。因此,Lock 中还有锁的安全级别。 【问题 2】 首先,( 1 )、( 2 )是 FingerReader和LockController之间的交互。所以我们看题 目中是如何描述他们的交互的。题目中有“指纹采集器将发送一个中断事件给锁控器,锁控器从指纹采集器读取用户的指纹”,所以(1)应填“中断事件”,( 2 )应填“读取指纹”。(3 )是主机与UserInfo的交互,从图2-35中可以看出,UserInfo中存储了用户的指纹信息和开锁权限,所以( 3 )应是从 UserInfo读取用户的指纹信息和开锁权限。(4)空应填“读取锁的安全级别”。( 5 )是 MainFrame向自己发送的一条消息,从题目中的“主 机根据数据库中存储的信息来判断用户是否具有开锁权限,若有且锁当前处于已锁住状态,

2014年系统架构设计师真题及答案

2014年下半年系统架构设计师考试上午真题(标准 参考答案) 卷面总分:75.0 分 答题时间:150 分钟 测试次数:1475 次 平均得分:54.8 分 是否需要批改:否 单项选择题 每题的四个选项中只有一个答案是正确的,请将正确的选项选择出来。 1 某计算机系统中有一个CPU、一台输入设备和一台输出设备,假设系统中有四个作业T1、T2、T3和T4,系统采用优先级调度,且T1的优先级>T2的优先级>T3 的优先级>T4的优先级。每个作业具有三个程序段:输入I i 、计算C i 和输出 P i (i=1,2,3,4),其执行顺序为I i →C i →P i 。这四个作业各程序段并发执行的前驱 图如下所示。图中①、②、③分别为(),④、⑤、⑥分别为()。 A.I 2、C 2 、C 4 B.I 2、I 3 、C 2 C.C 2、P 3 、C 4 D.C 2、P 3 、P 4 A.C 2、C 4 、P 4 B.I 2、I 3 、C 4 C.I 3、P 3 、P 4 D.C 4、P 3 、P 4 [选择问题 1 的答案] ?A ?B ?C ?D [选择问题 2 的答案] ?A ?B

?C ?D ? ? 2 某文件系统文件存储采用文件索引节点法。假设磁盘索引块和磁盘数据块大小均为1KB,每个文件的索引节点中有8个地址项iaddr[0]~iaddr[7],每个地址项大小为4字节,其中iaddr[0]~iaddr[5]为直接地址索引,iaddr[6]是一级间接地址索引,iaddr[7]是二级间接地址索引。如果要访问icwutil.dll文件的逻辑块号分别为0、260和518,则系统应分别采用()。该文件系统可表示的单个文件最大长度是()KB。 A.直接地址索引、一级间接地址索引和二级间接地址索引 B.直接地址索引、二级间接地址索引和二级间接地址索引 C.一级间接地址索引、一级间接地址索引和二级间接地址索引 D.一级间接地址索引、二级间接地址索引和二级间接地址索引 A.518 B.1030 C.16514 D.65798 [选择问题 1 的答案] ?A ?B ?C ?D [选择问题 2 的答案] ?A ?B ?C ?D ? ? 3 设关系模式R(U,F),其中u为属性集,F是U上的一组函数依赖,那么函数依赖的公理系统(Armstrong公理系统)中的合并规则是指()为F所蕴涵。 A.若A→B,B→C,则A→C B.若,则X→Y

高级系统架构设计师上午模拟试题及答案解析(11)

高级系统架构设计师上午模拟试题及答案解析(11) (1~2/共50题)选择题 以下嵌入式处理器类型中不具备内存管理单元(MMU)的是______,嵌入式操作系统______可以运行在它上面。 第1题 A.PowerPC750 B.ARM920T C.Cortex-M3 D.MIPS32 24K 第2题 A.Linux B.VxWorks653 C.μC/OS-Ⅱ D.Windows CE 下一题 (3/50)选择题 第3题 若某航空公司的飞机订票系统有n个订票终端,系统为每个订票终端创建一个售票终端的进程。假设P i (i=1,2,…,n)表示售票终端的进程,H j (j=1,2,…,m)表示公共数据区,分别存放各个航班的现存票数,Temp为工作单元。P i 进程的工作流程如下图所示,a、b和c 处将执行P操作和V操作,则图中a、b和c应分别填入______。 图片 售票终端进程工作流程图A.P(S)、V(S)和V(S) B.P(S)、P(S)和V(S) C.V(S)、P(S)和P(S) D.V(S)、V(S)和P(S) 上一题下一题 (4/50)选择题 第4题 通常情况下,电子政务业务分为3个领域。在如下图所示的电子政务业务模型中,(Ⅰ)、(Ⅱ)、(Ⅲ)空缺处的内容分别为______。 图片 电子政务业务模型A.政务业务办理系统、办公自动化系统、政务信息发布系统 B.政务信息发布系统、政务业务办理系统、办公自动化系统 C.政务业务办理系统、政务信息发布系统、办公自动化系统 D.办公自动化系统、政务信息发布系统、政务业务办理系统 上一题下一题 (5/50)选择题 第5题 以下关于自顶向下开发方法的叙述中,正确的是______。 A.自顶向下过程因为单元测试而比较耗费时间 B.自顶向下过程可以更快地发现系统性能方面的问题 C.相对于自底向上方法,自顶向下方法可以更快地得到系统的演示原型 D.在自顶向下的设计中,如发现了一个错误,通常是因为底层模块没有满足其规格说明(因

2020年软考《软件设计师》考前模拟练习题

2020年软考《软件设计师》考前模拟练习题 一. 从静态角度看,进程由 __(1)__ 、 __(2)__ 和 __(3)__ 三部分组成。用户可通过 __(4)__ 建立和撤消进程。通常,用户进程被建立后, __(5)__ 。 供选择的答案 (1)。 A.JCB B.DCB C.PCB D.PMT (2)。 A.程序段 B.文件体 C.I/O D.子程序 (3)。 A.文件描述块 B.数据空间 C.EOF D.I/O缓冲区 (4)。 A.函数调用 B.宏指令 C.系统调用 D.过程调用

(5)。 A.便一直存有于系统中,直到被操作人员撤消 B.随着作业运行正常或不正常结束而撤消 C.随着时间片轮转而撤消与建立 D.随着进程的阻塞或唤醒而撤消与建立 参考答案:(1) C (2) A (3) B (4) C (5) BD 二. 设相关系模式 W ( C,P,S,G,T,R ),其中各属性的含义是:C--课程,P--教师,S--学生,G--成绩,T--时间,R--教室,根 据语义有如下数据依赖集: D={ C→P,(S,C)→G,(T,R)→C,(T,P)→R,(T,S)→R } 关系模式 W 的一个码( 关键字 )是 __(6)__ ,W的规范化程序达到 __(7)__ 。若将关系模式 W 分解为 3 个关系模式 W1(C,P), W2(S,C,G),W3(S,T,R,C),则 W1 的规范化程序达到 __(8)__ ,W2 的规范化水准达到 __(9)_ ,W3 的规范化程序达到__(10)__ 。 供选择的答案 (6)A (S,C) B (T,R) C (T,P) D (T,S) (7)~(10) A.1NF B.2NF C.3NF D.BCNF E.4NF 参考答案:(6) D (7) B (8) E (9) E (10) B 三. 数据库是存储在一起的相关数据的集合,能为各种用户所共享,且[__(11)__]。在关系数据库中,若关系模式中的每个关系的属 性值均是不可分解的,则该关系模式属于[__(12)__]。

2018年下半年系统架构设计师考试论文真题(完整版)

2018年下半年系统架构设计师考试论文真题(专业 解析) 1、 论软件开发过程RUP及其应用 RUP (Rational Unified Process)是IBM公司一款软件开发过程产品, 它提出了一整套以UML为基础的开发准则,用以指导软件开发人员以UML为基 础进行软件开发。RUP汲取了各种面向对象分析与设计方法的精华,提供了一 个普遍的软件过程框架,可以适应不同的软件系统、应用领域、组织类型和项目规模。 问题内容: 请围绕“论软件开发过程RUP及其应用”论题,依次从以下三个方面进行论述。 1.概要叙述你参与管理和开发的软件项目以及你在其中所担任的主要工作。 2.详细论述软件开发过程产品RUP所包含的4个阶段以及RUP的基本特征。 3.结合你所参与管理和开发的软件项目,详细阐述RUP在该项目中的具体实施 内容,包括核心工作流的选择、制品的确定、各个阶段之间的演进及迭代计划 以及工作流内部结构的规划等。 2、 论软件体系结构的演化 软件体系结构的演化是在构件开发过程中或软件开发完毕投入运行后, 由于用户需求发生变化,就必须相应地修改原有软件体系结构,以满足新的变 化了的软件需求的过程。体系结构的演化是一个复杂的、难以管理的问题。 问题内容: 请围绕“论软件体系结构的演化”论题,依次从以下三个方面进行论述。 1. 概要叙述你参与管理和开发的软件项目以及你在其中所承担的主要工作。 2. 软件体系结构的演化是使用系统演化步骤去修改系统,以满足新的需求。简要论述系统演化的6个步骤。 3. 具体阐述你参与管理和开发的项目是如何基于系统演化的6个步骤完成软件体系结构演化的。 3、 论面向服务架构设计及其应用

2020年计算机软考软件设计师知识点精选集

2020年计算机软考软件设计师知识点精选集 需求分析:开发人员准确地理解用户的要求,实行细致的调查分析,将用户非形式的需求陈述转化为完整的需求定义,再由需求定义转换到相对应的需求规格说明的过程。 它有以下几难点: ⑴问题的复杂性。由用用户需求涉及的因素繁多引起,如运行环境和系统功能 ⑵交流障碍。需求分析涉及人员较多,这些人具备不同的背景知识,处于不同角度,扮演不同角色,造成相互之间交流困难。 ⑶不完备性和不一致性。用户对问题的陈述往往是不完备的,各方面的需求可能还存有矛盾,需求分析要消除矛盾,形成完备及一致的定义。 ⑷需求易变性。 近几年来已提出多种分析和说明方法,但都必须适用以下原则: ⒈必须能够表达和理解问题的数据域和功能域。数据域包括数据流(数据通过一个系统时的变化方式)数据内容和数据结构,功能域反映上述三方面的控制信息。 ⒉能够把一个复杂问题按功能实行分解并可逐层细化。 ⒊建模。可更好地理解软件系统的信息,功能,行为。也是软件设计的基础。 需求分析的任务: ⒈问题识别:双方确定对问题的综合需求,这些需求包括功能需求,性能需求,环境需求,用户界面需求。 ⒉分析与综合,导出软件的逻辑模型

⒊编写文档:包括编写"需求规格说明书""初步用户使用手册""确认测试计划""修改完善软件开发计划" 结构化分析:简称SA,面向数据流实行数据分析的方法。采用自顶向下逐层分解的分析策略。顶层抽象地描述整个系统,底层具体地画出系统工程的每个细节。中间层则是从抽象到具体的过渡。使用数据流图,数据字典,作为描述工具,使用结构化语言,判定表,判定树描述加工逻辑。 结构化(SA)分析步骤: ⑴了解当前系统的工作流程,获得当前系统的物理模型。 ⑵抽象出当前系统的逻辑模型。 ⑶建立目标系统的逻辑模型。 ⑷作进一步补充和优化。 【篇二】2020年计算机软考软件设计师知识点:数据流图 以图形的方式描述数据在系统中流动和处理的过程。只反映系统必须完成的逻辑功能,是一种功能模型。 画数据流图的步骤: ⑴首先画系统的输入输出,即先画顶层数据流图。顶层图只包含一个加工,用以表示被开发的系统。 ⑵画系统内部,即画下层数据流图。将层号从0号开始编号,采用自顶向下,由外向内的原则。画更下层数据流图时,则分解上层图中的加工,一般沿着输出入流的方向,凡数据流的组成或值发生变化的地方则设置一个加工,一直实行到输出数据流。如果加工的内部还有数据流,则继续分解,直到每个加工充足简单,不能再分解为止。不能分解的加工称为基本加工。 ⑶注意事项:

2020年软考《软件设计师》练习题及答案

2020年软考《软件设计师》练习题及答案 1.Multiple choices. (1)Software design may . a.be a creative process b.not be learned from a book c.be learned from a book d.require a certain amount of flair (2)Methodologies of software design can be classified into . a.down-top function design b.data-driven design c.top-down function design d.object-oriented design (3)A well-designed system should be . a.easily understood b.reliable c.straightforward to implement d.straightforward to maintain (4)A derivation process for designing a programming system includes stages. a.5 b.4

c.3 d.2 (5)In the early stage of software design we need . a.give a flowchart b.give a set of requirements c.top-down functional design only d.prepare an informal design (6)A good design of software depends on . a.establishing a definitive way b.the application c.the particular project requirements d.efficient code to be produced (7)Software design can be . a.represented in any single notation b.a multi-stage activity c.an iterative activity d.a single-stage activity (8)The tasks being performed by a software engineer are . a.to design communication mechanisms b.to design file structures c.to design data structures d.to derive the design of a programming system

2009下半年系统架构设计师上午试题及参考答案

2009下半年系统架构设计师上午试题及参考答案 ● 计算机系统中硬件层之上的软件通常按照三层来划分,如下图所示,图中 ①②③分别表示(1)。 (1)A.操作系统、应用软件和其他系统软件 B.操作系统、其他系统软件和应用软件 C.其他系统软件、操作系统和应用软件 D.应用软件、其他系统软件和操作系统 题目出处:《系统架构设计师教程(第2版)》第1页。 参考答案: B ●某计算机系统中有一个CPU、一台扫描仪和一台打印机。现有三个图像任务,每个任务有三个程序段:扫描Si,图像处理Ci和打印Pi (i=1,2,3)。下图为三个任务各程序段并发执行的前驱图,其中,(2)可并行执行,(3)的直接制约,(4)的间接制约。 (2)A.“C1S2”,“P1C2S3”,“P2C3” B.“C1S1”,“S2C2P2”,“C3P3” C.“S1C1P1”,“S2C2P2”,“S3C3P3” D.“S1S2S3”,“C1C2C3”,“P1P2P3” (3)A. S1受到S2和S3、C1受到C2和C3、P1受到P2和P3 B. S2和S3受到S1、C2和C3受到C1、P2和P3受到P1 C. C1和P1受到S1、C2和P2受到S2、C3和 P3受到S3 D. C1和S1受到P1、C2和S2受到P2、C3和S3受到P3 (4)A. S1受到S2和S3、C1受到C2和C3、P1受到P2和P3 B. S2和S3受到S1、C2和C3受到C1、P2和P3受到P1 C. C1和P1受到S1、C2和P2受到S2、C3和P3受到S3 D. C1和S,受到P1、C2和S2受到P2、C3和S3受到P3

参考答案: (2)A (3)C (4)B ● 在数据库设计的需求分析阶段应完成包括(5)在内的文档。 (5)A.E-R图 B.关系模式 C.数据字典和数据流图 D.任务书和设计方案 题目出处:《系统架构设计师教程(第2版)》第48~54页。 参考答案: C ● 设有职务工资关系P(职务,最低工资,最高工资),员工关系EMP(员工号,职务,工资),要求任何一名员工,其工资值必须在其职务对应的工资范围之内,实现该需求的方法是(6)。 (6)A.建立“EMP.职务”向“P.职务”的参照完整性约束 B.建立“P.职务”向“EMP.职务”的参照完整性约束 C.建立EMP上的触发器程序审定该需求 D.建立P上的触发器程序审定该需求 题目出处:《系统架构设计师考试全程指导》第48页。 参考答案: C ● 设关系模式R(U, F),其中R上的属性集U={A, B, C, D, E},R上的函数依赖集F={A→B,DE→B,CB→E,E→A,B→D}。(7)为关系R的候选关键字。分解(8)是无损连接,并保持函数依赖的。 (7)A. AB B. DE C. CE D. CB (8)A. p={R1(AC),R2(ED),R3(B)} B. p={R1(AC),R2(E),R3(DB)} C. p={R1(AC),R2(ED),R3(AB)} D. p={R1,(ABC),R2(ED),R3(ACE)} 题目出处:《系统架构设计师考试全程指导》第2.3.3节。《系统架构设计师教程(第2版)》第2.2.3节。 参考答案: (7)C (8)D

2020年全国计算机软考软件设计师英

2020年全国计算机软考软件设计师英 语试题●The Semantic Web is a web of dat a There is lots ofdata we all use every day,and its not part of the(1).I cansee my bank statements on the web,and my photographs,and Ican see my appoint. ments in a calendar.But can I see myphotos in a calendar to see what l was doing when I took them 9. Can I see bank statement lines in a calendar? Why not?Because we don’t have a web of dat a Becausedata is controlled b y (2),and each application keeps it toitself. The Semantic Web is about two things.It is about commonformats for interchange of(1 3),where01 the original Web weonly had interchange of documents.Also it is about languagefor recording how the data relates to real world(4).Thatallows a person,or a (5),to start off in one database,andthen move through an unending set of databases which areconnected not by wires but by being about the same thing. (1) A. life B. WWW C. page D. web (2) A. manager B. applications C. software D. computer (3) A. documents B. pages

高级系统架构设计师下午试题模拟 含详细答案

系统架构设计师考试下午I模拟2 案例分析题 阅读以下软件架构设计的问题,在答题纸上回答问题。 某软件开发公司欲为某电子商务企业开发一个在线交易平台,支持客户完成网上购物活动中的在线交易。在系统开发之初,企业对该平台提出了如下要求。 1在线交易平台必须在1秒内完成客户的交易请求。 2该平台必须保证客户个人信息和交易信息的安全。 3当发生故障时,该平台的平均故障恢复时间必须小于10秒。 4由于企业业务发展较快,需要经常为该平台添加新功能或进行硬件升级。添加新功能或进行硬件升级必须在6小时内完成。 针对这些要求,该软件开发公司决定采用基于架构的软件开发方法,以架构为核心进行在线交易平台的设计与实现。 1、软件质量属性是影响软件架构设计的重要因素。请用200字以内的文字列举6种不同的软件质量属性名称,并解释其含义。 2、请对该在线交易平台的4个要求进行分析,用300字以内的文字指出每个要求对应何种软件质量属性;并针对每种软件质量属性,各给出2种实现该质量属性的架构设计策略。 阅读以下关于结构化软件系统建模的叙述,在答题纸上回答问题。 希赛公司拟开发一个商业情报处理系统,使公司能够针对市场环境的变化及时调整发展战略,以获取最大的商业利益。项目组经过讨论,决定采用结构化分析和设计方法。在系统分析阶段,为了更好地对情报数据处理流程及其与外部角色的关联进行建模,项目组成员分别给出了自己的没计思路。 3小张提出先构建系统流程图(System Flowcharts),以便更精确地反映系统的业务处理过程及数据的输入和输出。 4小李提出先构建系统数据流图(Data Flow Diagrams),来展现系统的处理过程和定义业务功能边界,并给出了情报分类子系统的0层和1层数据流图,后者如图所示。 项目组经讨沦确定以数据流图作为本阶段的建模手段。工程师老王详细说明了流程图和数据流图之间的区别与联系,并指出了图的数据流图中存在的错误。 3、流程图和数据流图是软件系统分析设计中常用的两种手段,请用300字以内文字简要说明流程图与数据流图的含义及其区别,并说明项目组为何确定采用数据流图作为建模手段。 4、请分析指出图所示的数据流图中存在的错误及其原因,并针对图的1层数据流图绘制出情报分类

历年软考软件设计师答案

2004年上半年软件设计师级答案 上午答案 下午答案 试题一 [问题1] A:传感器:B:报警器 [问题2) 监控传感器、显示信息和状态 [问题3] 1、“读传感器”添加输入数据流“传感器状态” 2、“显示格式”添加输出数据流“TV信号” 3、“拨号”添加输出数据流“电话拨号” [问题4] 逻辑数据流图说明应该具有哪些加工,而不关心这些加工是如何实现的:物理数据流图则要说明加工是如何实现的。 试题二 [问题1] (1)l(2)col(3)row(4)2(5)col(6)row(7)k [问题2] 判断条件1:b 判断条件2:e 判断条件3:f 试题三 [问题1] A:浏览客户信息B:修改个人信息C:登录D:删除客户信息

[问题2] (1)1(2)0..*(3)0..1(4)0..1 [问题3] (1)4种关系的含义: 依赖表示类之间的使用关系。 概括表示一般类和特殊类之间的关系。 关联和聚集都表示实例之间的结构关系。 (2)关联和聚集的区别: 关联指明一个类的对象与另一类的对象间的联系:两个类之间的关联表示了两个同等地位类之间的结构关系,这两个类在概念上是同级别的。 聚集是一种特殊的关联,它表示整体/部分关系。 试题四 (1)JMP LAST (2)SUB GRO,WDT,GR1 (3)ST GR2,BTASC,GR1 (4)ADD GR0,C48 (5)ST GR0,BTASC,GR1 试题五 (1)p&&p->data !=e 或p&&(*p).data !=e (2)p->Lchild 或(*p).Lchild (3)s->Rchild 或(*s).Rchild (4)p->Lchild 或(*p).Lchild (5)p==pp->Lchild 或p (*pp).Lchild 试题六 (1)classArray (2)new T[iRsz*iCsz] (3)throw 'e' (4)tBody,iCurrentRow=i (5)tBody(iRsz,iCs2) 2004下半年软件设计师级试题答案

软考软件设计师教程试题分析加答案

软考软件设计师教程试题分析加答案 软件设计师考试属于全国计算机技术与软件专业技术资格考试(简称计算机软件资格考试)中的一个中级考试。考试不设学历与资历条件,也不论年龄和专业,考生可根据自己的技术水平选择合适的级别合适的资格,但一次考试只能报考一种资格。考试采用笔试形式,考试实行全国统一大纲、统一试题、统一时间、统一标准、统一证书的考试办法。下面是希赛小编整理的软考软件设计师考前必做的练习题。 试题一分析 本题主要考查类图和顺序图。 【问题1】 需要分析此门禁系统的体系结构,根据体系结构的描述来看什么数据放在什么类中最为合适。题目中提到:系统中的每个电控锁都有一个唯一的编号。锁的状态有两种:“已锁住”和“未锁住”。所以Lock中含有锁编号和锁状态这两个属性。又因为题中有:在主机上可以设置每把锁的安全级别以及用户的开锁权限。只有当用户的开锁权限大于或等于锁的安全级并且锁处于“已锁住”状态时,才能将锁打开。因此,Lock中还有锁的安全级别。 【问题2】 首先,(1)、(2)是FingerReader和LockController之间的交互。所以我们看题目中是如何描述他们的交互的。题目中有“指纹采集器将发送一个中断事件给锁控器,锁控器从指纹采集器读取用户的指纹”,所以(1)应填“中断事件”,(2)应填“读取指纹”。(3)是主机与UserInfo的交互,从图2-35中可以看出,UserInfo中存储了用户的指纹信息和开锁权限,所以(3)应是从

UserInfo读取用户的指纹信息和开锁权限。(4)空应填“读取锁的安全级别”。(5)是MainFrame向自己发送的一条消息,从题目中的“主机根据数据库中存储的信息来判断用户是否具有开锁权限,若有且锁当前处于已锁住状态,则将锁打开;否则系统报警”可以看出,主机在得到所有信息后要判断用户是否能开锁,所以(5)应填“判断用户是否能开锁”。 【问题3】 这是纯理论题,请直接阅读参考答案。 试题一参考答案 【问题1】 锁的编号、安全级别、锁的当前状态。 【问题2】 (1)中断事件(2)读取用户指纹 (3)读取用户开锁权限(4)读取锁的安全级别 (5)判断用户是否有权限开锁,或用户是否可以开锁 【问题3】 组装和聚集都表示实例之间的整体/部分关系。组装是聚集的一种形式。 聚集是概念性的,只是区分整体与部分。 组装具有很强的归属关系,而且整体与部分的对象生存周期是一致的。 试题二分析 本题考查的是UML类图和顺序图的基本知识。 【问题1】 由于一个商品分类中可以有多个商品,而一个商品仅仅对应一个商品分类,

软考系统架构设计师考试试题举例

软考系统架构设计师考试试题举例 系统架构设计师是软考中的一门高级资格考试,其考试题型有哪些,下面小编就三种不同类型的选题分别举例,希望考生们对考试题型的了解能有一定的帮助。 一选择题 1.在TCP/IP协议分层结构中,SNMP是在(1)协议之上的(2)请求/响应协议。在ISO/OSI/RM基础上的公共管理信息服务/公共管理信息协议CMIS/CMIP是一个完整的网络管理协议族,网络管理应用进程使用OSI参考模型的(3)。 (1) (2)A.异步 B.同步 C.主从 D.面向连接 (3)A.网络层B.传输层C.表示层D.应用层 2.软件产品线主要由(4)和产品集合两部分组成。 (4)A.构件库 B.核心资源 C.体系结构 D.开发组织 二案例分析问答题 阅读以下关于软件体系结构方面的叙述,回答问题1和问题2。 某集团公司要开发一个网络财务程序,使各地员工能在互联网络上进行财务处理和报销。在设计该财务程序的体系结构时,项目组产生了分歧: (1)张工程师认为应该采用客户机/服务器(C/S)结构。各分公司财务部要安装一个软件客户端,通过这个客户端连接到总公司财务部主机。如果员工在外地出差,需要报销帐务的,也需要安装这个客户端才能进行。 (2)李工程师认为应该采用浏览器/服务器(BS)结构,各分公司及出差员工直接通过Windows操作系统自带的IE浏览器就可以连接到总公司的财务部主机。 经过项目组的激烈讨论,最终选用了C/S和B/S混合结构。 [问题1] 请用200字以内的文字简要讨论C/S结构与B/S结构的区别及各自的优点和缺点。 [问题2] 请用200字以内的文字说明如何设计C/S和B/S混合结构,这样设计有什么好处

系统架构设计师模拟题及答案解析第十八套

系统架构设计师模拟题及答案解析第十八套单项选择题 1、需求工程活动产生软件运行特征的规约,指明软件和其他系统元素的接口并建立 ______ A.数据流图和数据字典 B.程序流程图 C.体系结构模型 D.软件必须满足的约束条件 2、有两种需求定义的方法一严格定义和原型定义,在关于这两种方法的描述中,不正确的是______。 A.严格定义方法假定所有的需求都可以预先定义 B.严格定义方法假定软件开发人员与用户之间的沟通存在障碍 C.原型定义方法认为需求分析中不可避免地要出现很多反复 D.原型定义方法强调用户在软件开发过程中的参与和决策 3、软件需求分析产生软件操作特征的规格说明,指明软件和其他系统元素的接口,建立软件必须满足的约束。下面对于软件需求分析的描述,不正确的是______。 A.分析员研究系统规约和软件项目计划,并在系统语境内理解软件和复审,从而生成计划软件范围的估算 B.需求分析使得系统工程师能够刻画出软件的功能和性能、指明软件和其他系统元素的接口、并建立软件必须满足的约束 C.经过仔细的需求分析活动,分析员能够得到详细的系统规约 D.需求分析能够为软件设计者提供可被翻译成数据、体系结构、界面和过程设计的模型 4、质量功能部署(QFD.是一种将客户要求转化成软件需求的技术。OFD的目的是最大限度地提升软件工程过程中客户的满意度。为了这个目标,OFD确认了3类需求,常规需求、______和意外需求。 A.期望需求 B.基础需求 C.显式需求 D.功能需求 5、需求分析的任务是借助于当前系统的物理模型导出目标系统的逻辑模型,解决目标系

统“做什么”的问题。______并不是需求分析的实现步骤之一 A.获得当前系统的物理模型 B.抽象出当前系统的逻辑模型 C.建立目标系统的逻辑模型 D.确定目标实现的具体技术路线 6、某网软件开发团队欲开发一套管理信息系统,在项目初期,用户提出了软件的一些基本功能,但是没有详细定义输入、处理和输出需求。在这种情况下,该团队在开发过程应采用______。 A.瀑布模型 B.增量模型 C.原型开发模型 D.快速应用程序开发(RAD. 7、基于构件的开发(CBD.模型,融合了______模型的许多特征。该模型本质是演化的,采用迭代方法开发软件。 A.瀑布 B.快速应用开发(RAD. C.螺旋 D.形式化方法 统一软件开发过程是一种基于面向对象技术的软件开发过程,其特点是“用例驱动,以架构为核心,迭代并增量”。统一软件开发过程定义了4种通用的开发阶段,它们按照过程顺序分别是:起始阶段、8、构建阶段和9,其中在构建阶段主要产生的文档有10。 8、A.分析阶段B.细化阶段C.设计阶段D.交付阶段 9、A.分析阶段B.细化阶段C.设计阶段D.交付阶段 10、A.初始用户手册B.用例模型C.项目计划D.设计模型 11、敏捷软件过程强调:让客户满意和软件尽早增量发布;小而高度自主的项目团队;非正式的方法;最小化软件工程工作产品,以及整体精简开发。______不是采用这种软件开发过程的原因。 A.难以提前预测哪些需求是稳定的和哪些需求会变化 B.对于软件项目开发来说,设计和实现可以做到基本分离 C.从制订计划的角度来看,分析、设计、实现和测试并不容易预测 D.可执行原型和部分实现的可运行系统是了解用户需求和反馈的有效媒介

2010年上半年软考软件设计师考试试题及答案

2010 年下半年软件设计师上午试卷 ●在输入输出控制方法中,采用(1)可以使得设备与主存间的数据块传送无需CPU 干预。 (1)A. 程序控制输入输出 B. 中断 C. DMA D. 总线控制 ●若某计算机采用8位整数补码表示数据,则运算(2) 将产生溢出。 (2)A. -127+1 B. -127-1 C. 127+1 D. 127-1 ●若内存容量为4GB,字长为32,则(3) 。 (3)A. 地址总线和数据总线的宽度都为32 B. 地址总线的宽度为30,数据总线的宽度为32 C. 地址总线的宽度为30,数据总线的宽度为8 D. 地址总线的宽度为32,数据总线的宽度为8 (地址单元为0000H~3FFFH, 每个芯片的地址空间连续),则地址单元 0B1FH 所在芯●设用2K×4 位的存储器芯片组成16K×8 位的存储器 片的最小地址编号为 (4) 。 (4)A. 0000H B. 0800 H C. 2000 H D. 2800 H ●编写汇编语言程序时,下列寄存器中程序员可访问的是(5) 。 (5)A. 程序计数器(PC) B. 指令寄存器(IR) C. 存储器数据寄存器(MDR) D. 存储器地址寄存器(MAR) ●正常情况下,操作系统对保存有大量有用数据的硬盘进行(6) 操作时,不会清除有用数据。 (6)A. 磁盘分区和格式化 B.磁盘格式化和碎片整理 C.磁盘清理和碎片整理 D.磁盘分区和磁盘清理 ●如果使用大量的连接请求攻击计算机,使得所有可用的系统资源都被消耗殆尽,最终计算机无法再处理合法用户的请求,这种手段属于(7) 攻击。 (7)A. 拒绝服务 B. 口令入侵 C. 网络监听 D. IP 欺骗 ●ARP 攻击造成网络无法跨网段通信的原因是(8) 。 (8)A. 发送大量A RP 报文造成网络拥塞 B. 伪造网关A RP 报文使得数据包无法发送到网关 C. ARP 攻击破坏了网络的物理连通性 D. ARP 攻击破坏了网关设备 ●下列选项中,防范网络监听最有效的方法是(9) 。 (9)A. 安装防火墙 B. 采用无线网络传输 C. 数据加密 D. 漏洞扫描 ●软件商标权的权利人是指(10) 。 (10)A. 软件商标设计人 B. 软件商标制作人 C. 软件商标使用人 D. 软件注册商标所有人 ●利用(11) 可以对软件的技术信息、经营信息提供保护。 (11)A. 著作权 B. 专利权 C. 商业秘密权 D. 商标权 ●李某在某软件公司兼职,为完成该公司交给的工作,做出了一项涉及计算机程序的发明。李某认为该发明是自己利用业余时间完成的,可以个人名义申请专利。关于此项发明的专利申请权应归属(12) 。 (12)A. 李某 B. 李某所在单位 C. 李某兼职的软件公司 D. 李某和软件公司约定的一方 ●一幅彩色图像(RGB),分辨率为256×512,每一种颜色用8bit 表示,则该彩色图像的数据量为(13) bit。 (13)A. 256×512×8 B. 256×512×3×8 C. 256×512×3/8 D. 256×512×3 ●10000 张分辨率为1024×768 的真彩(32 位)图片刻录到D VD 光盘上,假设每张光盘可以存放4GB 的信息,则需要(14) 张光盘。 (14)A. 7 B. 8 C. 70 D. 71 ●某项目组拟开发一个大规模系统,且具备了相关领域及类似规模系统的开发经验。下列过程模型中, (15) 最适合开发此项目。 (15)A. 原型模型 B. 瀑布模型 C. V 模型 D. 螺旋模型 ●使用PERT 图进行进度安排,不能清晰地描述(16) ,但可以给出哪些任务完成后才能开始另一些任务。下面P ERT 图所示工程从A到K 的关键路径是(17) ,(图中省略了任务的开始和结束时刻)。

系统架构设计师下午(Ⅱ)模拟5

[模拟] 系统架构设计师下午(Ⅱ)模拟5 论文 一、论基于CBSD的软件架构设计与应用 第1题: 基于构件的软件开发(Component-Based Software Development,CBSD)是一种基于分布对象技术,强调通过可复用构件设计与构造软件系统的软件复用途径。基于构件的软件系统中的构件可以是COTS(Commercial-Off-The-Shelf)构件,也可以是通过其他途径获得的构件(如自行开发)。CBSD体现了“购买而不是重新构造”的哲学,将软件开发的重点从程序编写转移到了基于已有构件的组装,以更快地构造系统,减轻用来支持和升级大中型软件系统所需要的维护负担,从而降低软件开发的费用。 请围绕“基于CBSD的软件架构设计与应用”论题,依次从以下3个方面进行论述。 1、概要叙述你参与管理和开发的软件项目及你在其中所承担的主要工作。 2、简要介绍基于构件的软件开发过程模型,具体论述你在所管理和开发的软件工程项目中选择了哪种典型的构件平台并说明理由,如何具体实施的,最终实际效果如何。 3、论述你在该项目实施过程中遇到的问题及解决的办法,以及你进一步应用软件复用技术的有关设想。 参考答案: 1、简要介绍你参与规划、设计和实施的大中型信息系统软件工程项目的基本情况,简要说明自己在该项目中的角色、所承担的主要任务及开展的主要工作。论文叙述自己参与设计和实施的信息系统项目应有一定的规模,自己在该项目中担任的主要工作应有一定的分量。 2、构件(Component)是某系统中有价值的、几乎独立的并可替换的一个部分,它在良好定义的体系结构语境内满足某清晰的功能。构件是一个独立发布的功能部分,可以通过其接口访问它的服务。软件构件是软件系统中具有相对独立功能,可以明确标识,接口由规约指定,与语境有明显依赖关系,可独立部署,且多由第三方提供的可组装软件实体。软件构件需承载有用的功能,并遵循某种构件模型。可复用构件是指具有可复用价值的构件。商用成品构件(Commercial Off-The-Shelf,COTS)是指由第三方开发的满足一定构件标准的,可组装的软件构件。基于构件的软件工程(CBSE)不是针对某个特定的软件系统,而是针对一类软件系统的共同的特征、知识和需求。基于构件的软件的开发过程包括两个并发的子过程,一个是领域工程,另一个是基于构件的开发。领域工程完成一组可复用构件的标示、构造、分类和传播;基于构件的开发完成使用可复用构件构造新的软件系统。基于构件的软件开发过程(CBSD)模型如图6-11所示。

2017年系统架构设计师案例分析试题加答案(1)

2017年系统架构设计师案例分析试题加答案(1) 系统架构设计师考试属于软考中的一项高级资格考试,考试分综合知识、案例分析和论文3个科目。下午的案例分析是考试的一大难点,希赛小编为大家整理了几道系统架构设计师案例分析试题,希望对大家有所帮助。 阅读以下关于软件系统架构选择的说明,回答问题。 希赛公司欲针对Linux操作系统开发一个KWIC(KevWordinContext)检索系统。该系统接收用户输入的查洵关键字,依据字母顺序给出相关帮助文档并根据帮助文档内容进行循环滚动阅读。在对KWIC系统进行需求分析时,公司的业务专家发现用户后续还有可能采用其他方式展示帮助内容。根据目前需求,公司的技术人员决定通过重复剪切帮助文档中的第一个单词并将其插入到行尾的方式实现帮助文档内容的循环滚动,后续还将采用其他的方法实现这一功能。 在对KWIC系统的架构进行设计时,公司的架构师王工提出采用共享数据的主程序-子程序的架构风格,而李工则主张采用管道-过滤器的架构风格。在架构评估会议上,大家从系统的算法变更、功能变更、数据表示变更和性能等方面对这两种方案进行评价,最终采用了李工的方案。 1、在实际的软件项目开发中,采用恰当的架构风格是项目成功的保证。请用200字以内的文字说明什么是软件架构风格,并对主程序-子程序和管道-过滤器这两种架构风格的特点进行描述。

2、请完成表中的空白部分(用+表示优、-表示差),对王工和李工提出的架构风格进行评价,并指出采用李工方案的原因。 3、规划图是李工给出的架构设计示意图,请将恰当的功能描述填入图中的(1)~(4)。 参考答案 1、软件架构风格是拙述特定软件系统组织方式的惯用模式。组织方式描述了系统的组成构件和这些构件的组织方式,惯用模式则反映众多系统共有的结构和语义。主程序-子程序架构风格中,所有的计算构件作为子程序协作工作,并由一个主程序顺序地调用这些子程序,构件通过共享存储区交换数据。管道-过滤器架构风格中,每个构件都有一组输入和输出,构件接受数据输入,经过内部处理,然后产生数据输出。这里的构件称为过滤器,构件之间的连接件称为数据流传输的管道。

系统架构设计师论文范文

架构风格数字图书馆类的应用 摘要:随着Intranet信息技术的发展,图书馆为了更好地发挥其图书流通、资料检索和学术交流的职能,图书馆的数字信息化工程也势在必行。本人有幸作为系统架构设计师参与了某大学图书馆数字化信息系统建设过程。由于在数字化图书馆信息系统中后台馆藏信息管理系统负责实时管理图书和读者信息,和数据库交互频繁,所以对数据库处理功能、安全性、数据处理响应速度等方面要求较高。而客户端主要查询信息,要求简单、使用方便、易于安装维护。结合各种体系结构的优缺点,我们决定采用客户/服务器(C/S)和浏览器/服务器(B/S)混合的体系结构来开发。 本文详细介绍三层结构的功能分配和物理分布,描述三层结构设计的过程,讨论在设计实施过程中碰到的一些问题以及解决的方法,最后说明采用三层结构带来的效果,以及可以改进的地方。 正文:随着Intranet信息技术的发展,图书馆为了更好地发挥其图书流通、资料检索和学术交流的职能,图书馆的数字信息化工程也势在必行。某大学图书馆为了更好的服务读者,提高图书馆的管理水平和服务水平,已经启动了数字图书馆工程。本人有幸作为系统架构设计师参与了该项目。 该数字图书馆工程主要包括:后台馆藏信息管理系统、对外信息Web发布系统,交互式检索网、非纸质资源下载、新书通报、订购征询、以及读者信息管理系统等。 后台馆藏信息管理系统负责实时管理图书和读者信息,和数据库交互频繁,所以对数据库处理功能、安全性、数据处理响应速度等方面要求较高。而客户端主要查询信息,要求简单、使用方便、易于安装维护。

根据我们做出的需求分析以及各种体系结构的优缺点,我决定采用客户/服务器(C/S)和浏览器/服务器(B/S)混合的体系结构来开发。对于后台馆藏信息管理系统的需求,需要对数据进行更新处理,采用C/S 结构可以更快更好的开发且数据处理速度更快,而且安全性在一定程度上也容易控制,可以更好的满足要求。对于读者的查询需求,我们采用B/S模式。采取这样的结构可以很好的满足用户需求,且容易开发和维护,节约开发成本。由于都是在windows 平台上使用,因此在开发工具的选择上,我们使用Delphi来开发后台馆藏信息管理部门的客户端和中间件,使用FrontPage来开发网页,连接在其内部网上提供查询服务。中间件我们采用COM+进行逻辑处理,数据层使用SQL Server。 以下详细介绍三层结构的功能分配和物理分布,描述三层结构设计的过程,讨论在设计实施过程中碰到的一些问题以及解决的方法,文章最后说明采用三层结构带来的效果,以及可以改进的地方。 对于客户端,B/S 结构仅提供查询功能,使用浏览器(例如Internet Explorer),学校各系部读者都可以通过内部网使用,读者也可以利用Internet 通过外网访问。C/S 结构提供日常操作和管理界面,承担着整个系统的数据录入及数据维护工作,使用Delphi 开发,它是系统数据的入口,使用频繁,安装在图书馆出口、和图书馆后台馆藏信息管理中心;中间件和数据库以及Web 服务器都放在该大学的计算机中心,便于维护管理。中间件负责根据客户端要求从数据库中取得数据,并在进行处理后提交到客户端显示;后台使用SQLServer 数据库,数据集中在数据库服务器进行管理,方便数据管理和分析,保证数据安全。 对于C/S 和B/S 结构,我们分别使用不同的工具来开发客户端。C/S 结

相关文档
最新文档