问答题阅读以下软件架构设计的问题,在答题纸上回答问题1和问题2。某软件开发公司欲为某电子商务企业开发一个在线交易平台,支持客户完成网上购物活动中的在线交易。在系统开发之初,企业对该平台提出了如下要求。(1)在线交易平台必须在1秒内完成客户的交易请求。(2)该平台必须保证客户个人信息和交易信息的安全。(3)当发生故障时,该平台的平均故障恢复时间必须小于10秒。(4)由于企业业务发展较快,需要经常为该平台添加新功能或进行硬件升级。添加新功能或进行硬件升级必须在6小时内完成。针对这些要求,该软件开发公司决定采用

题目
问答题
阅读以下软件架构设计的问题,在答题纸上回答问题1和问题2。 某软件开发公司欲为某电子商务企业开发一个在线交易平台,支持客户完成网上购物活动中的在线交易。在系统开发之初,企业对该平台提出了如下要求。 (1)在线交易平台必须在1秒内完成客户的交易请求。 (2)该平台必须保证客户个人信息和交易信息的安全。 (3)当发生故障时,该平台的平均故障恢复时间必须小于10秒。 (4)由于企业业务发展较快,需要经常为该平台添加新功能或进行硬件升级。添加新功能或进行硬件升级必须在6小时内完成。 针对这些要求,该软件开发公司决定采用基于架构的软件开发方法,以架构为核心进行在线交易平台的设计与实现。 请对该在线交易平台的4个要求进行分析,用300字以内的文字指出每个要求对应何种软件质量属性;并针对每种软件质量属性,各给出两种实现该质量属性的架构设计策略。

相似考题
更多“阅读以下软件架构设计的问题,在答题纸上回答问题1和问题2。 某软件开发公司欲为某电子商务企业开发一个在线交易平台,支持客”相关问题
  • 第1题:

    阅读以下关于软件架构风格的说明,在答题纸上回答问题1和问题2。 【说明】 某软件公司为其新推出的字处理软件设计了一种脚本语言,专门用于开发该字处理软件的附加功能插件。为了提高该语言的编程效率,公司组织软件工具开发部门为脚本语言研制一套集成开发环境。软件工具开发部门根据字处理软件的特点,对集成开发环境进行了需求分析,总结出以下3项核心需求: (1)集成开发环境需要提供对脚本语言的编辑、语法检查、解释、执行和调试等功能的支持,并要实现各种功能的灵活组合、配置与替换。 (2)集成开发环境需要提供一组可视化的编程界面,用户通过对界面元素拖拽和代码填充的方式就可以完成功能插件核心业务流程的编写与组织。 (3)在代码调试功能方面,集成开发环境需要实现在脚本语言编辑界面中的代码自动定位功能。具体来说,在调试过程中,编辑界面需要响应调试断点命中事件,并自动跳转到当前断点处所对应的代码。 针对上述需求,软件工具开发部门对集成开发环境的架构进行分析与设计,王工认为该集成开发环境应该采用管道-过滤器的架构风格实现,李工则认为该集成开发环境应该采用以数据存储为中心的架构风格来实现。公司组织专家对王工和李工的方案进行了评审,最终采用了李工的方案。

    【问题1】(12分) 请用200字以内的文字解释什么是软件架构风格,并从集成开发环境与用户的交互方式、集成开发环境的扩展性、集成开发环境的数据管理三个方面说明为什么最终采用了李工的设计方案。 【问题2】(13分) 在对软件系统架构进行设计时,要对架构需求进行分析,针对特定需求选择最为合适的架构风格,因此实际的软件系统通常会混合多种软件架构风格。请对核心需求进行分析,说明为了满足需求(2)和(3),分别应采用何种架构风格,并概要说明采用相应架构风格后的架构设计过程。


    正确答案:

    【问题1
    软件架构风格是指描述特定软件系统组织方式的惯用模式。组织方式描述了系统的组成构件和这些构件的组织方式,惯用模式则反映众多系统共有的结构和语义。
    从集成开发环境与用户的交互方式看,用户通常采用交互式的方式对脚本语言进行编辑、解释执行与调试。在这种情况下,采用以数据存储为中心的架构风格能够很好地支持交互式数据处理,而管道-过滤器架构风格则对用户的交互式数据处理支持有限。
    从集成开发环境的扩展性来看,系统核心需求要求实现各种编辑、语法检查、解释执行等多种功能的灵活组织、配置与替换。在这种情况下,采用以数据存储为中心的架构风格,以数据格式解耦各种功能之间的依赖关系,并可以灵活定义功能之间的逻辑顺序。管道-过滤器架构风格同样以数据格式解耦数据处理过程之间的依赖关系,但其在数据处理逻辑关系的灵活定义方面较差。
    从集成开发环境的数据管理来看,集成开发环境需要支持脚本语言、语法树(用于检查语法错误)、可视化模型、调试信息等多种数据类型,并需要支持数据格式的转换。以数据存储为中心的架构将数据存储在统一的中心存储器中,中心存储器能够表示多种数据格式,并能够为数据格式转换提供各种支持。管道-过滤器架构风格通常只能支持有限度的数据格式,并且在数据格式转换方面的灵活性较差。
    问题2
    为了满足需求(2),应该采用解释器架构风格。具体来说,需要:① 为可视化编程元素及其拖拽关系定义某种语言,并描述其语法与语义;② 编写解释器对该语言进行解释;③ 生成对应的脚本语言程序。
    为了满足需求(3),应该采用隐式调用架构风格。具体来说,首先需要定义“断点在调试过程中命中”这一事件,并实现当断点命中后的屏幕定位函数。集成开发环境维护一个事件注册表结构,将该事件与屏幕定位函数关联起来形成注册表中的一个记录项。在调试过程中,集成开发环境负责监听各种事件,当“断点在调试过程中命中”这一事件发生时,集成开发环境查找事件注册表,找到并调用屏幕定位函数,从而实现脚本语言编辑界面与调试代码的自动定位。


  • 第2题:

    阅读以下说明,回答问题1至问题4,将解答填入对应栏内。

    【说明】

    某软件开发商通过招标承接了一个企业的电子商务网站的建设任务。目前,编码工作已完成,开始进行测试和调试阶段。

    在电子商务系统的测试中,软件测试总体上分成4步:单元测试、集成测试、系统测试和验收测试。以上哪些测试步骤需要企业用户参加?


    正确答案:系统测试和验收测试需要企业用户参加
    系统测试和验收测试需要企业用户参加 解析:本题考查对测试过程中测试队伍的了解。
    进行测试时,需要有不同人员的参与,包括具有一定开发经验的计算机专业人员、业务人员及非专业人员。单元测试通常由开发人员负责;集成测试通常由各个开发团队协同合作;系统测试由于工作量非常大,其测试队伍包括开发员、QA人员、用户、技术人员、售后服务人员、培训人员等;验收测试应当主要由使用系统的人来完成,包括用户、客户服务代表、培训员、市场营销员及其他测试人员等。

  • 第3题:

    阅读以下说明,回答问题1至问题4。

    [说明]

    某软件销售公司计划建立商务网站,建立该网站的目的是宣传公司;代理销售各类软件产品、游戏点卡;通过网上调查了解客户的需求;通过会员制度建立稳定的销售群体。请根据以上的描述回答下列问题。

    某系统开发商接受任务为该公司开发电子商务网站。该开发商结合销售公司人员成立了项目组,包括:项目经理、系统分析师、程序员、测试员。请在表7-4中空(1)~(4)处填写合适的角色名称。


    正确答案:(1)项目经理 (2)程序员 (3)系统分析师 (4)测试员
    (1)项目经理 (2)程序员 (3)系统分析师 (4)测试员 解析:项目经理一般参加项目的全过程,但在某些软件组织,项目经理并不参加早期的需求分析工作,而是在需求大致明确之后再任命项目经理。表7-4中的角色1从需求分析的后半段开始介入,一直到测试结束,在给定的4种角色之中,只有项目经理可以承担这一责任(无论其是否参与了需求分析的全过程)。
    系统分析师的主要职责是:(1)需求分析(在某些软件组织中,最早期的需求调查由商务人员进行,形成初步意向后,系统分析师才开始介入)。(2)系统分析(需求分析与系统分析可以合为一个过程,也可以分为两个过程。合为一个过程时,称系统分析、需求分析或系统需求分析均可,一般不区分这几种叫法的差异。分为两个过程时,需求分析的目标是为了与客户对系统需求达成一致意见,需求分析文档通常采用某种便于客户理解的形式(如用例图等)。而系统分析则是从技术角度(例如,数据、流程或类、对象等)对系统进行分析,系统分析文档通常采用某种便于开发人员理解的形式(例如,结构化方法的数据流图与数据字典,面向对象方法的类图、协作图等)。(3)在缺少系统架构设计师的情况下,系统分析师有时也会负责系统架构(或程序结构)的设计,但系统分析师一般不会从事系统的详细设计。表7-4中的角色3从需求分析的大约前半段开始介入,一直到系统分析的中期,在给定的4种角色之中,只有系统分析师符合这一角色。
    程序员主要负责编码和单元测试,与表7-4中的角色2恰好符合。
    测试员介入测试的仝过程,与表7-4中的角色4恰好符合。

  • 第4题:

    阅读以下关于软件架构的叙述,回答问题1至问题3。

    软件架构是指大型、复杂软件的系统结构的设计、规格说明和实施。它以规范的形式装配若干结构元素,从而描述出系统的主要功能和性能需求,同时表述其他非功能性需求(如可靠性、可扩展性、可移植性和可用性等)。软件架构为软件系统提供了一个结构、行为和属性的高级抽象模式,可以使用一个公式来表达:

    软件架构={构成系统的元素,指导元素集成的形式,关系和约束}

    “4+1”视图模型用五个视图组成的模型来描述软件架构。该模型包含五个主要的视图。

    .逻辑视图(Logical View),描述了设计的对象模型,支持系统的功能需求。

    .进程视图(Process View),描述了设计的并发和同步特征,支持系统的运行特性。

    .物理视图(Physical View),描述了软件到硬件的映射,反映了分布式特性,支持系统的拓扑、安装和通信需求。

    .开发视图(Development View),描述了在开发环境中软件的静态组织结构,支持软件开发的内部需求。

    .场景(Scenario),用来说明重要的系统活动,是其他四个视图在用例(Use Case)驱动下的综合。

    软件架构在软件需求与设计之间架起一座桥梁,也是风险承担者进行交流的手段,允许不同的风险承担者找出他们所关心的软件架构问题。假设采用面向对象的设计方法,各个视图涉及的组件(元素)包括:任务、类、模块、节点、步骤等,风险承担者包括最终用户、系统设计师、程序员、经理、项目管理师等。请在下表中的(1)到(7)处填入恰当的内容(空白处不用填)。


    正确答案:[答案要点] 本题相当于选择题但要获得好的成绩仍需要仔细构思。 1)逻辑视图表述系统的功能需求。系统分解为一系列的关键抽象这些抽象(大多数)来自于需求分析中所提出功能要求以对象或类的形式来表示(采用抽象、封装和继承)。分解并不仅仅是为了功能分析而且用来识别遍布系统各个部分的通用机制和设计元素。系统的功能需求来自于最终用户最终用户是逻辑视图对应的风险承担者。 2)进程视图表述系统的运行特性。利用进程视图可解决系统的并发性、分布性、系统完整性、容错性等问题。另外它还可以表达逻辑视图的主要抽象在哪个控制线程上被实际执行。风险承担者主要是系统集成人员组件元素是任务。 3)物理视图表述系统的拓扑、安装和通信需求。用来表达软件系统中的各种元素 (元素可以理解为组件或过程)被映射或部署至不同的网络计算机节点上。风险承担者主要是系统实施工程师。 4)开发视图表述软件开发的内部需求。开发视图关注软件开发环境下实际模块的组织(程序库或子系统)它们可以由一位或几位开发人员来开发。子系统可以组织成分层结构每个层为上一层提供良好定义的接口。风险承担者主要是编程人员和软件项目管理人员。 5)场景用来说明重要的系统活动是其他四个视图在用例(Use Case)驱动下的综合。在某种意义上场景是最重要的需求抽象。该视图是其他视图的冗余(因此“+1”)但它起到了两个作用:首先场景可用来发现架构设计过程中的架构元素其次场景可作为架构设计结束后的功能验证。它可作为架构原型测试的出发点。风险承担者是最终用户和开发人员组件元素是步骤。
    [答案要点] 本题相当于选择题,但要获得好的成绩,仍需要仔细构思。 1)逻辑视图表述系统的功能需求。系统分解为一系列的关键抽象,这些抽象(大多数)来自于需求分析中所提出功能要求,以对象或类的形式来表示(采用抽象、封装和继承)。分解并不仅仅是为了功能分析,而且用来识别遍布系统各个部分的通用机制和设计元素。系统的功能需求来自于最终用户,最终用户是逻辑视图对应的风险承担者。 2)进程视图表述系统的运行特性。利用进程视图可解决系统的并发性、分布性、系统完整性、容错性等问题。另外,它还可以表达逻辑视图的主要抽象在哪个控制线程上被实际执行。风险承担者主要是系统集成人员,组件元素是任务。 3)物理视图表述系统的拓扑、安装和通信需求。用来表达软件系统中的各种元素 (元素可以理解为组件或过程)被映射或部署至不同的网络计算机节点上。风险承担者主要是系统实施工程师。 4)开发视图表述软件开发的内部需求。开发视图关注软件开发环境下实际模块的组织(程序库或子系统),它们可以由一位或几位开发人员来开发。子系统可以组织成分层结构,每个层为上一层提供良好定义的接口。风险承担者主要是编程人员和软件项目管理人员。 5)场景用来说明重要的系统活动,是其他四个视图在用例(Use Case)驱动下的综合。在某种意义上场景是最重要的需求抽象。该视图是其他视图的冗余(因此“+1”),但它起到了两个作用:首先场景可用来发现架构设计过程中的架构元素,其次场景可作为架构设计结束后的功能验证。它可作为架构原型测试的出发点。风险承担者是最终用户和开发人员,组件元素是步骤。 解析:本题主要考查软件架构“4+1”视图的有关知识和实施方法,熟悉以下关于软件架构的知识是回答本题的前提。
    首先要准确把握软件架构的定义。架构(Architecture)原意为建筑学设计和建筑物建造的艺术与科学。软件架构(Software Architecture,或称为软件架构)是软件系统的高层描述,它给出了关于软件系统组织结构的一系列高级的、重要的抽象,包括:系统组成的结构性构件;组成构件之间的接口:构件相对系统其他部分的可视行为:构件之间所采取的交互和协作关系。软件架构在RUP 中的定义是指系统核心构件的组织或结构,这些核心构件通过接口与不断减小的构件与接口所组成的构件进行交互。
    人们在软件开发过程中积累了丰富的架构知识,形成了的特定的架构风格,这些架构风格为高层次的软件复用技术建立了坚实的基础:例如,C/S架构、管道/过滤器架构、分层架构、解释器架构、黑板架构等等,而各种分布式组件技术如DCOM,EJB, Web-Services 也都和软件架构密切相关。
    长期以来,人们一直在努力软件架构更加精确的形式化描述,力图用一种类似于某种编程语言的形式来描述软件架构,如Rapide,Wright,Aesop,UniCon,ACME 等。XML描述与软件建模UML 技术的发展为软件架构描述语言注入了新的发展思路,新一代的架构描述语言(如xArch,xADL 等)充分应用了这些新的描述手段的特点。同时,伴随着架构描述技术的进步,架构评估等研究也在不断的深入。
    其次,要正确理解软件架构的重要作用。
    .软件架构能够指导整个系统的设计和演进,它是软件需求分析的结果,同时是下一步进行软件设计的规格和蓝图。对于复杂软件系统而言,在架构阶段,系统的结构和规格说明非常重要,而在软件设计阶段,算法和数据结构更重要。
    .软件架构对系统的描述,借鉴了建筑工程设计的思想,通过各种视图从不同角度以规范、一致、易理解的“语言”来表达系统的各种规格和行为。以某一特定角度看到的系统架构之规格、行为,主要是结构、核心构件和主要控制流等。
    .软件架构是风险承担者进行交流的手段。所谓风险承担者是指对软件系统某个方面(或层次)负责或(关注)的人员。也可以这样来理解风险承担者:软件系统的某个方面(或层次)如果存在缺陷或问题,对此负责任或受影响的人员。风险承担者包括最终用户、系统设计师、程序员、经理、项目管理师等。
    .软件架构是可传递、可重用的模型。
    .软件架构是软件工程早期设计决策的体现,而且在整个开发周期中不断演进,软件架构对于软件质量(功能属性、非功能属性)都有重要影响。
    “4+1”视图模型是最重要软件架构模式,由Philippe Kruchten 在1995年提出。如下图所示。

    需要指出的是,并不是所有的软件架构都需要“4+1”视图。无用的视图可以从架构描述中省略,例如,单机软件,可以省略物理视图;而如果仅有一个进程或程序,则可以省略过程视图。对于非常小型的系统,甚至可能逻辑视图与开发视图非常相似,而不需要分开的描述。
    第一步:总结出问题的要点。
    [问题1]
    考查采用面向对象的架构设计方法,“4+1”视图各个视图涉及的组件要素与风险承担者。

  • 第5题:

    阅读以下关于嵌入式多核程序设计技术的描述,回答问题 1至问题 3。 【说明】 近年来,多核技术己被广泛应用于众多安全关键领域(如:航空航天等)的电子设备中,面向多核技术的并行程序设计方法已成为软件人员急需掌握的主要技能之一。某宇航公司长期从事宇航电子设备的研制工作,随着宇航装备能力需求的提升,急需采用多核技术以增强设备的运算能力、降低功耗与体积,快速实现设备的升级与换代。针对面向多核开发,王工认为多核技术是对用户程序透明的,开发应把重点放在多核硬件架构和硬件模块设计上面,而软件方面,仅仅需要选择一款支持多核处理器的操作系统即可。而李工认为,多核架构能够使现有的软件更高效地运行,构建一个完善的软件架构是非常必要的。提高多核的利用率不能仅靠操作系统,还要求软件开发人员在程序设计 中考虑多进程或者多线程并行处理的编程问题。

    【问题1】(12分) 请用300字以内文字说明什么是多核技术和多线程技术,并回答李工的意见是否正确,为什么? 【问题2】(6 分) 在多核环境下,线程的活动有并行和并发两种方式,请用300字以内的文字说明这两种方式的含义及差别。 【问题3】(7 分) 请根据自己所掌握的多核、多线程的知识,判别表 3-1给出的说法是否正确,并将答案写在答题纸上对应空白处(填写正确或错误)。


    正确答案:问题1
    多核是多微处理器核的简称,是将两个或更多的独立处理器封装在一起,集成在一个电路中。多核处理器是单枚芯片(也称为硅核),能够直接插入单一的处理器插槽中,但操作系统会利用所有相关的资源,将它的每个执行内核作为分立的逻辑处理器。通过在多个执行内核之间划分任务,多核处理器可在特定的时钟周期内执行更多任务。
    多线程是指从软件或者硬件上实现多个线程并发执行的技术。具有多线程能力的计算机因有硬件支持而能够在同一时间执行多于一个线程,进而提升整体处理性能。
    李工的意见是正确的。多核处理器虽然带来了强大的计算能力,但如果无法实现程序的并行,那么,大量计算资源将被闲置,造成巨大的浪费。所以在开发中,要注重多核编程技术,从并行计算、共享资源分布式计算、任务分解与调度、Lock-Free编程等方面充分考虑相关问题,以便将多核处理器的性能充分发挥出来。
    问题2
    如果某个系统支持两个或者多个动作(Action)同时存在,那么这个系统就是一个并发系统,即系统中同时有多个线程,可以认为是并发的情况。
    如果某个系统支持两个或者多个动作同时执行,那么这个系统就是一个并行系统。当系统中有多个线程,并在同一时刻有两个,或两个以上的线程在运行状态,可认为是并行系统。
    问题3
    (1)√  (2)√  (3)×  (4)√  (5)×  (6)×  (7)√

  • 第6题:

    试题三(共25分)

    阅读以下关于汽车电子基础软件架构的说明,在答题纸上回答问题1至问题 3。

    【说明】

    某软件公司承担了某项国家重点项目的研制工作,任务重点是参考国外汽车电子发展趋势,开发某汽车公司的企业汽车电子基础软件的架构,逐步实现汽车企业未来技术发展规划。

    该软件公司接收此项任务后,调动全体技术人员深入收集国外相关技术资料,经过多方调研和分析,公司提出遵照国际组织最新推出的AUTOSAR规范,按统筹规划、分步骤实施的原则,实现汽车公司的基础软件架构设计。图 3-1给出了 AUTOSAR规范所定义的工作包,图中灰色部分代表本项目工作所包含的内容,即软件架构和基础软件。

    【问题1】 (7分)

    AUTOSAR规范中要求,汽车电子软件开发流程应尽量满足并发、可多次迭代的特性。 为了定义汽车电子的软件开发过程,公司李工和王工分别提出了两种软件开发流程,其开发流程见图 3-2 和 3-3(图中 ECU 是指汽车电子中的电子控制单元)。请说明李工和王工谁定义的流程更符合AUTOSAR的规定,并说明理由。

    【问题2】 (10分)

    图3-1中的II-1.1.1项中定义了软件架构和操作系统的要求, 图3-4是满足AUTOSAR定义的操作系统各功能模块的层次结构,请说明(1)~(5)箭头所标的具体操作含义。

    【问题3】 (8分)

    AUTOSAR是一种开放式架构,用150字以内的文字,说明采用 AUTOSAR架构的主要优点,并说明汽车电子ECU覆盖汽车的哪三个领域。


    正确答案:
    试题三分析本题主要考查汽车电子基础软件架构的分析与设计,特别是系统的开发和架构设计方面。【问题1】本问题主要考查在一定规范的约束下,系统设计流程的设计与定义。AUTOSAR规范中要求,汽车电子软件开发流程应尽量满足并发、可多次迭代的特性。因此应该紧扣该规范对系统设计流程方面的要求,对李工和王工定义的流程进行评价。具体来说:(1)李工定义的流程是将软件组件描述、系统描述和ECU资源描述同时定义,而王工定义的流程仅仅只做系统描述;(2)王工定义的流程没有考虑软件组件的描述,只是简单将软件组件作为第4步被集成;(3)李工定义的ECU软件开发流程的优势是明确了顶层定义阶段,并行度高,迭代清晰。综上,应该采用李工的设计方案。【问题2】本问题是一道读图题,要求考生在分析AUTOSAR定义的操作系统结构进行分析与理解的基础上进行填写。根据图示,系统从下至上依次可以分为中断管理、事件管理、警报管理、进程管理和调度以及资源管理四个部分。根据图中模块之间的关系,可以看出,(1)处主要表示当操作系统的警报管理发现ECU系统出错时,启动错误处理程序;(2)表示错误处理程序将具体动作交由进程管理完成对发生错误的任务进行处理;(3)表示错误处理程序产生一个错误事件;(4)表示任务控制块处理程序调用资源管理功能,实现硬件资源重分配;(5)表示任务控制块处理程序通知事件管理,对错误事件进行应答。【问题3】本题主要考查考生对AUTOSAR架构的分析与总结能力。根据题干和上述两个题目的回答,可以看出,采用AUTOSAR开放式架构的优点主要包括:(1)具有厂商独立性,可以有效支持多厂家汽车电子基础软件的研制;(2)软件层次上的重用性,可根据不同的ECU结构,通过数据配置,自动生成各种ECU软件组件;(3)支持汽车电子软件的全生存周期,包括构架、开发、测试、验证、授权、版本和接口;另外,该规范覆盖整个汽车电子的三大领域为动力、底盘和车身。解答要点【问题1】李工设计的流程符合AUTOSAR要求,理由是:李工定义的流程是将软件组件描述、系统描述和ECU资源描述同时定义,而王工定义的流程仅仅只做系统描述;王工定义的流程没有考虑软件组件的描述,只是简单将软件组件作为第4步被集成;李工定义的ECU软件开发流程的优势是明确了顶层定义阶段,并行度高,迭代清晰。【问题2】(1)操作系统的警报管理发现ECU系统出错时,启动错误处理程序;(2)错误处理程序将具体动作交由进程管理完成对发生错误的任务进行处理;(3)错误处理程序产生一个错误事件;(4)任务控制块处理程序调用资源管理功能,实现硬件资源重分配;(5)任务控制块处理程序通知事件管理,对错误事件进行应答。【问题3】采用AUTOSAR开放式架构的优点是:(1)可以有效支持多厂家汽车电子基础软件的研制;(2)有利于软件的重用,可根据不同的ECU结构,通过数据配置,自动生成各种ECU软件组件;(3)AUTOSAR定义的软件框架,支持了汽车电子软件的全生存周期,包括构架、开发、测试、验证、授权、版本和接口;AUTOSAR规范覆盖整个汽车电子的三大领域:动力、底盘、车身。

  • 第7题:

    阅读下列说明,回答问题1至问题4。

    【说明】

    某软件销售公司计划建立商务网站,建立该网站的目的是宣传公司;代理销售各类软件产品、游戏点卡;通过网上调查了解客户的需求;通过会员制度建立稳定的销售群体。请根据以上的描述回答下列问题。

    某系统开发商接受任务为该公司开发电子商务网站。该开发商结合销售公司人员成立了项目组,包括项目经理、系统分析师、程序员和测试员。请在表14-2中空(1)~(4)处填写合适的角色名称。

    表14-2


    正确答案:(1)项目经理 (2)程序员 (3)系统分析师 (4)测试员
    (1)项目经理 (2)程序员 (3)系统分析师 (4)测试员 解析:本问题考查的是电子商务中系统开发周期中各人员的职责。
    电子商务系统开发前要做好一系列的准备工作,其中包括人员的准备工作。目前,系统开发采用项目经理负责制,一个系统开发小组一般包括项目经理、系统分析设计师、程序员和测试员。
    由于采用项目经理负责制,所以项目经理在系统开发过程中起着重要的作用。他需要把握系统开发的进度计划、人力计划,确定项目小组中各类人员的职责,在保证质量的前提下,使项目按照计划如期完成。所以项目经理从需求分析开始就应该介入项目,直到系统测试完成。
    系统分析设计师的工作是了解用户的需求,并在和用户多次有效交流的前提下,完成系统整体分析,将用户的实际需求转换为系统逻辑模型,并在系统分析的基础上,完成系统的概要设计和详细设计。

  • 第8题:

    阅读下列说明,回答问题1至问题3,将解答填入答题纸的对应栏内。【说明】某商店为购买不同数量商品的顾客报出不同的价格,其报价规则如下表所示.:如买11件需要支付10*30+1*27=327元,买35件需要支付10*30+10*27+10*25+5*22=930元,现在该商家开发一个软件,输入为商品数:C(1<=C<=100),输出为所付的款:P。




    问题1:(6分)请采用等价类划分法为该软件设计测试用例(不考虑C为非整数的情况)
    问题2:(6分)请采用边界值分析法为该软件设计测试用例
    问题3:(3分)列举除了等价类划分法和边界值分析法以外的三种常见的黑盒测试用例测试方法。


    答案:
    解析:
    问题1:答案:用例1:31~100中任意一个数用例2:101用例3:0用例4:1~10中任意一个数用例5:11~20中任意一个数用例6:21~30中任意一个数问题2:答案:0、1、2、9、10、11、12、19、20、21、22、29、30、31、99、100、101
    问题3:答案:错误推测法、因果图法、场景法。
    【解析】
    问题1:本小题考查黑盒测试用例设计中的等价类划分法。等价类划分法:把程序的输入域划分成若干部分(子集),然后从每个部分中选取少数代表性数据作为测试用例。每一类的代表性数据在测试中的作用等价于这一类中的其他值。本题中主要范围限制为1<=C<=100,即可以划分为两个无效和一个有效等价,但由于每一个小的等价类是单独处理的,因此需要再进一步的划分。划分等价类的6条原则:(1)在输入条件规定了取值范围或值的个数的情况下,可以确立一个有效等价类和两个无效等价类;(2)在输入条件规定了输入值的集合或者规定了必须如何的条件的情况下,可以确立一个有效等价类和一个无效等价类;(3)在输入条件是一个布尔量的情况下,可确定一个有效等价类和一个无效等价类;(4)在规定了输入数据的一组值(假定n个),并且程序要对每一个输入值分别处理的情况下,可确立n个有效等价类和一个无效等价类;(5)在规定了输入数据必须遵守的规则的情况下,可确立一个有效等价类(符合规则)和若干个无效等价类(从不同角度违反规则);(6)在确知已划分的等价类中,各元素在程序处理中的方式不同的情况下,则再将该等价类进一步地划分为更小的等价类;问题2:本小题考查黑盒测试用例设计中的边界值分析法。边界值分析法:对输入或输出的边界值进行测试的一种黑盒测试方法。通常边界值分析法是作为对等价类划分法的补充,这种情况下,其测试用例来自等价类的边界。边界值设计测试用例,应遵循的原则:(1)如果输入条件规定了值得范围,则应取刚达到这个范围的边界值,以及刚刚超过这个范围边界的值作为测试输入数据;(2)如果输入条件规定了值得个数,则用最大个数、最小个数、比最小个数少、比最大个数多1的数作为测试数据;(3)根据规格说明的每个输出条件,使用前面的原则(1);(4)根据规格说明的每个输出条件,应用前面的原则(2);(5)如果程序的规格说明给出的输入域或输出域是有序集合,则应选取集合的第一个元素和最后一个元素作为测试用例;(6)如果程序中使用了一个内部数据结构,则应当选择这个内部数据结构边界上的值作为测试用例;(7)分析规格说明,找出其他可能的边界条件;依据边界值设计测试用例的原则,测试用例应选择:0、1、2、9、10、11、12、19、20、21、22、29、30、31、99、100、101问题3:本小题考查常见的黑盒测试用例的设计方法。黑盒测试的方法有等价类划分、边界值分析、因果图法、判定表法、正交试验法、功能图法、场景法、错误推测法等。因此本题可选:错误推测法、因果图法、判断表法、正交试验法、功能图法、场景法中的任意3种即可。

  • 第9题:

    试题四 (共 2S 分)阅读以下关于数据库设计的叙述,在答题纸上回答问题 1 至问题 3。【说明】某制造企业为拓展网上销售业务,委托某软件企业开发一套电子商务网站。初期仅解决基本的网上销售、订单等功能需求。该软件企业很快决定基于.NET 平台和 SQL Server 数据库进行开发,但在数据库访问方式上出现了争议。王工认为应该采用程序在线访问的方式访问数据库:而李工认为本企业内部程序员缺乏数据库开发经验,而且应用筒单,应该采用 ORM<对象关系映射>方式。最终经过综合考虑,该软件企业采用了李工的建议。随着业务的发展,该电子商务网站逐渐发展成一个通用的电子商务平台,销售多家制造企业的产品,电子商务平台的功能也日益复杂。目前急需对该电子商务网站进行改造,以支持对多种异构数据库平台的数据访问,同时满足复杂的数据管理需求。该软件企业针对上述需求,对电子商务网站的架构进行了重新设计,新增加了数据访问层,同时采用工厂设计模式解决异构数据库访问的问题。新设计的系统架构如图 4-1 所示。

    【问题 1】 (9 分)请用 300 字以内的文字分别说明数据库程序在线访问方式和 ORM 方式的优缺点,说明该软件企业采用 ORM 的原因。
    【问题 2】 (9 分)请用 100 宇以内的文字说明新体系架构中增加数据访问层的原因。请根据图 4-1 所示,填写图中空白处(1) - (3)。【问题 3】 (7 分) -应用程序设计中,数据库访问需要良好的封装性和可维护性,因此经常使用工厂设计模式来实现对数据库访问的封装。请解释工厂设计模式,并说明其优点和应用场景: 请解释说明工厂模式在数据访问层中的应用。请用 100 宇以内的文字说明新体系架构中增加数据访问层的原因。请根据图 4-1 所示,填写图中空白处(1) - (3)。


    答案:
    解析:
    数据库程序在线访问方式优点:1. 性能比直接SQL好;2. 可以处理复杂的查询语句。数据库程序在线访问方式不足:1. 程序员必须懂SQL语句;2. 修改维护相对困难。 ORM方式优点:1. 降低学习和开发成本;2. 程序员不用再写SQL进行数据库操作;3. 减少程序代码量;4. 降低由于SQL代码质量差带来的影响。 ORM方式缺点:1. 性能比直接用SQL差2. 处理复杂查询比较困难。 采用ORM原因:(1)缺乏数据库开发经验,因此SQL语句编写质量有潜在风险;(2)学习成本高;(3)应用比较简单,没有太复杂功能。参考答案:(1)涉及多种异构数据库平台,数据访问复杂性增加,不宜与业务逻辑混合在一起;(2)数据管理变复杂之后,需要使用代码量增加,分层次有利于逻辑更加清晰,程序维护更加方便;(3)业务逻辑应以相同的方式应对异构数据库,为了做好隐蔽性需要单独设计数据访问层。 (1)~(3)分别填入:执行业务逻辑 、工厂层(factory)、数据访问接口层。工厂模式分为:抽象工厂和工厂方法,本题为抽象工厂设计模式。抽象工厂设计模式提供一个接口,可以创建一系列或相互依赖的 对象,而无需指定他们具体的类。优点:方便创建一系列的对象,其使用场景也是创建系列对象的情况。该题目中,可以针对oracle,mysql,sqlserver分别抽象建立抽象工厂,若指定当前工厂为oracle工厂,则创建出来的数据库连接,数据集等一系列对象都是符合oracle操作要求的,这样便于数据库之间的切换。

  • 第10题:

    试题五 (共 25 分)阅读以下关于 Web 系统架构设计的叙述,在答题纸上回答问题 1 至问题 3.【说明】某电子商务企业因发展良好,客户量逐步增大,企业业务不断扩充,导致其原有的 B2C 商品交易平台己不能满足现有业务需求。因此,该企业委托某软件公司重新开发一套商品交易平台。该企业要求新平台应可适应客户从手机、平板设备、电脑等不同终端设备访问系统,同时满足电商定期开展"秒杀"、"限时促销"等活动的系统高并发访问量的需求。面对系统需求,软件公司召开项目组讨论会议,制定系统设计方案。讨论会议上,王工提出可以应用响应式Web设计满足客户从不同设备正确访问系统的需求。同时,采用增如镜像站点、CDN 内容分发等方式解决高并发访问量带来的问题。李工在王工的提议上补充,仅仅依靠上述外网加速技术不能完全解决高用户并发访问问题,如果访问量持续增加,系统仍存在崩溃可能.李工提出应同时结合负载均衡、缓存服务器、web 应用服务器、分布式文件系统、分布式数据库等方法设计系统架构。经过项目组讨论,最终决定综合王王和李工的思路,完成新系统的架构设计。 【问题 1】 (5 分)请用 200 字以内的文字描述什么是"响应式 Web 设计",并列举 2 个响应式 Web 设计的实现方式。【问题 2】 (16 分)综合王工和李工的提议,项目组完成了新商品交易平台的系统架构设计方案.新系统架构图如图 5-1 所示。请从选项 (a) - (j) 中为架构图中(1) - (8) 处空白选择相应的内容,补充支持高并发的 Web 应用系统架构设计图(a) Web 应用层(b) 界面层(c) 负载均衡层(d) CDN内容分发(e) 主数据库(f) 缓存服务器集群(g) 从数据库(h) 写操作(i) 读操作(j) 文件服务器集群

    【问题 3】 (4 分) 根据李工的提议,新的 B2C 商品交易平台引入了主从复制机制。请针对交易平台的特点,简要叙述引入该机制的好处。


    答案:
    解析:
    响应式Web设计是在开发和设计网页过程中产生的一种方式,它的目的是让内容布局能随用户使用显示器的不同而变化。响应方式:(1)弹性网格和布局(2)图片 (3)CSS media query参考答案:(1)d (2)c (3)f (4)a (5)(6)e h (7)(8)g i参考答案:(1) 可扩展性更优采用单台数据库服务器,随着访问量增加,必然会产生访问瓶颈,而主从结构大大方便服务器扩容,不影响系统使用。(2) 性能大大提升商务平台用户量大,并发访问高,主从方式采用一主多从,满足不同用户可以从不同数据库读取数据,提高访问速度。(3) 相当于做了负载均衡一主多从相当于分担了主机任务,做了负载均衡。(4) 保证数据安全 主从方式实现了数据冗余,不会因某台机器硬件故障引起数据丢失。

  • 第11题:

    问答题
    软件质量属性 某软件开发公司欲为某电子商务企业开发一个在线交易平台,支持客户完成网上购物活动中的在线交易。在系统开发之初,企业对该平台提出了如下要求: ①在线交易平台必须在1s内完成客户的交易请求。 ②该平台必须保证客户个人信息和交易信息的安全。 ③当发生故障时,该平台的平均故障恢复时间必须小于10s。 ④由于企业业务发展较快,需要经常为该平台添加新功能或进行硬件升级。添加新功能或进行硬件升级必须在6小时内完成。 针对这些要求,该软件开发公司决定采用基于架构的软件开发方法,以架构为核心进行在线交易平台的设计与实现。 请对该在线交易平台的4个要求进行分析,用300字以内的文字指出每个要求对应何种软件质量属性;并针对每种软件质量属性,各给出2种实现该质量属性的架构设计策略。

    正确答案: ①在线交易平台必须在1s内完成客户的交易请求。该要求主要对应性能,可以采用的架构设计策略有增加计算资源、改善资源需求(减少计算复杂度等)、资源管理(并发、数据复制等)和资源调度(先进先出队列、优先级队列等)。
    ②该平台必须严格保证客户个人信息和交易信息的保密性和安全性。该要求主要对应安全性,可以采用的架构设计策略有抵御攻击(授权、认证和限制访问等)、攻击检测(入侵检测等)、从攻击中恢复(部分可用性策略)和信息审计等。
    ③当发生故障时,该平台的平均故障恢复时间必须小于10s。该要求主要对应可用性,可以采用的架构设计策略有Ping/Echo、心跳、异常和主动冗余等。
    ④由于企业业务发展较快,需要经常为该平台添加新功能或进行硬件升级。添加新功能或进行平台升级必须在6小时内完成。该要求主要对应可修改性,可以采用的架构设计策略有软件模块泛化、限制模块之间通信、使用中介和延迟绑定等。
    解析: 暂无解析

  • 第12题:

    问答题
    阅读下列说明,回答问题1至问题3【说明】某公司要开发一个多媒体辅导系统,该系统准备利用B/S架构,用户通过网上注册、登录,登录成功后,可进行在线学习辅导。目前常用的系统架构有B/S架构和C/S架构,请说明这两个架构的含义和原理。

    正确答案: C/S(Client/Server)是基于客户机和服务器模式,其大部分的运算是在客户机上运行,从而提高一定的效率,但是由于程序在客户机上运行,所以要安装客户端,这也导致了软件维护和升级时的不方便,需要程序员亲自进行升级配置。
    B/S(Browser/Server)为基于浏览器和服务器模式,其大部分的运算是在服务器上运行,客户端通过浏览器来访问服务,软件维护和升级方便,只要能上网就能升级了且在很多地方都能够直接使用软件,而不需要安装,前提是要能登录到服务器。
    解析: 暂无解析

  • 第13题:

    A公司决定采用基于架构的软件开发方法,以架构为核心对近期所承接的某电子商务企业的在线交易平台进行设计与实现。该电子商务企业要求在线交易平台必须在800 ms内完成客户的交易请求。该电子商务企业所提要求主要对应于()这一软件质量属性,实现并提高该质量属性的架构设计策略不包括()。()A.可用性 B.易用性 C.安全性 D.性能()A.采用优先级调度队列 B.引入并发处理 C.优化相关进程的CPU占用率 D.设置进程监视器


    正确答案:D,D
        性能是指(Performance)是系统的响应能力,即要经过多长时间才能对某个事件做出响应,或者在某段时间内系统所能处理事件的个数。它是常见的软件质量属性之一
        在线交易平台必须在1s内完成客户的交易请求。该要求主要对应性能可以采用的架构设计策略有:
        ①增加可用资源(更快的ha器·多处理器更大的内存,以及速度更快的网络等);②改善资源需求(减少计算复杂度、优化各个进程的内存和CPU占用率等);③资源管理(并发、数据复制等);④资源调度(先进先出队列、固定优先级调度队列等)等。
        设置进程监视器是实现“可用性”质量属性的一种架构设计策略。

  • 第14题:

    阅读以下信息系统项目开发模型的说明,根据要求回答问题1~问题3。

    [说明]

    在实施一个信息系统项目时,不仅需要管理过程组,也需要工程技术过程组和支持过程组。V模型是在快速应用开发模型基础上演变而来的,由于将开发过程构造成一个V字型而得名,V模型强调软件开发的协作和速度,将软件的实现和验证有机结合起来,在保证较高的软件质量的情况下缩短开发周期。图 2-4为V模型的示意图。

    请将图2-4中(1)~(4)空缺处的内容填写完整。


    正确答案:(1) 概要设计 (2) 单元测试 (3) 集成测试(或组件测试或部件测试) (4) 验收测试
    (1) 概要设计 (2) 单元测试 (3) 集成测试(或组件测试,或部件测试) (4) 验收测试 解析:某一信息系统项目采用V模型进行开发,则其实施过程依次是:需求分析、概要设计、详细设计、软件编码、单元测试、功能测试、集成测试、系统测试、验收测试。存V模型的开发阶段一侧,先从定义业务需求、需求确认或测试计划开始,然后要把这些需求转换到概要设计、概要设计的验证及测试计划,从概要设计进一步分解到详细设计、详细设计的验证及测试计划,最后进行开发,得到程序代码和代码测试计划。在不同的开发阶段,会出现不同类型的缺陷和错误,需要不同的测试技术和方法来发现这些缺陷。在测试执行阶段一侧,执行先从单元测试开始,接着是功能测试,然后是集成测试、系统测试,最后是验收测试。V模型完整的诠释如图2-7所示。

    在图2-7中,单元测试的主要目的是针对编码过程中可能存在的各种错误,如用户输入验证过程中的边界值的错误。
    功能测试是根据产品特征、操作描述和用户方案,测试一个产品的特性和可操作行为以确定它们满足设计需求。它只需考虑各个功能,无须考虑整个软件的内部结构及代码,通常从软件产品的界面、架构出发,按照需求编写出来的测试用例,输入数据在预期结果和实际结果之间进行评测,进而提出能使产品达到用户使用的要求方案。
    集成测试的主要目的是针对详细设计中可能存在的问题,尤其是检查各单元与其他程序部分之间的接口上可能存在的错误。
    系统测试主要针对概要设计,检查系统作为一个整体是否有效地得到运行,如在产品设置中是否能达到预期的高性能。
    验收测试通常由业务专家或用户进行,以确认产品能真正符合用户业务上的需要。
    V模型的价值在于它非常明确地标明了测试过程中存在的不同级别,并且清楚地描述了这些测试阶段和开发各阶段的对应关系。

  • 第15题:

    阅读以下有关软件工程开发的叙述,回答问题1至问题3,将答案填入对应栏内。

    【说明】

    V模型是在快速应用开发模型基础上演变而来的,由于将开发过程构造成一个V字型而得名,V模型强调软件开发的协作和速度,将软件实现和验证有机结合起来,在保证较高的软件质量情况下缩短开发周期,下图为V模型的完整诠释。

    上图所示的V模型中,与开发阶段中概要设计对应测试阶段称为(1)。在系统或配置项测试阶段处应采用(2)方法。请将(1)和(2)处的内容填入相应位置。


    正确答案:(1)部件测试或组件测试 或 集成测试 (2)灰盒测试
    (1)部件测试或组件测试 或 集成测试 (2)灰盒测试 解析:空(1)处对应概要设计,在软件工程中,以概要设计为测试依据的测试级别应为集成测试或部件测试。所以(1)处的正确答案应为部件测试,或组件测试,或集成测试。空(2)处的测试方法应为系统或配置项测试的测试方法,系统或配置项测试时,应该主要使用黑盒测试方法,但对一些特殊功能的测试还要对照代码使用白盒测试方法进行验证,所以应为灰盒测试方法。所以(1)处的正确答案应为灰盒测试。

  • 第16题:

    阅读以下软件架构设计的问题。

    某软件开发公司欲为某电子商务企业开发一个交易平台,支持客户完成网上购物活动中的交易。在系统开发之初,企业对该平台提出了如下要求:

    (1) 交易平台必须在1s内完成客户的交易请求。

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

    (3) 当发生故障时,该平台的平均故障恢复时间必须小于l0s。

    (4) 由于企业业务发展较快,需要经常为该平台添加新功能或进行硬件升级。添加新功能或进行硬件升级必须在6小时内完成。

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

    [问题1]

    软件质量属性是影响软件架构设计的重要因素。请用200字以内的文字列举六种不同的软件质量属性名称,并解释其含义。

    [问题2]

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


    正确答案:[问题1] 常见的软件质量属性有多种例如性能(Performance)、可用性(Availability)、可靠性(Reliability)、健壮性(Robustness)、安全性(Security)、可修改性(Modification)、可变性(Changeability)、易用性(Usability)、可测试性(Testability)、功能性(Functionality)和互操作性(Inter-operation)等。 这些质量属性的具体含义是: (1) 性能是指系统的响应能力即要经过多长时间才能对某个事件做出响应或者在某段时间内系统所能处理事件的个数。 (2) 可用性是系统能够正常运行的时间比例。 (3) 可靠性是指软件系统在应用或错误面前在意外或错误使用的情况下维持软件系统功能特性的基本能力。 (4) 健壮性是指在处理或环境中系统能够承受压力或变更的能力。 (5) 安全性是指系统向合法用户提供服务的同时能够阻止非授权用户使用的企图或拒绝服务的能力。 (6) 可修改性是指能够快速地以较高的性能价格比对系统进行变更的能力。 (7) 可变性是指体系结构经扩充或变更成为新体系结构的能力。 (8) 易用性是衡量用户使用一个软件产品完成指定任务的难易程度。 (9) 可测试性是指软件发现故障并隔离、定位其故障的能力特性以及在一定的时间和成本前提下进行测试设计、测试执行的能力。 (10) 功能性是系统所能完成所期望工作的能力。 (11) 互操作性是指系统与外界或系统与系统之间的相互作用能力。 [问题2] (1) 交易平台必须在1s内完成客户的交易请求。该要求主要对应性能可以采用的架构设计策略有增加计算资源、改善资源需求(减少计算复杂度等)、资源管理(并发、数据复制等)和资源调度(先进先出队列、优先级队列等)。 (2) 该平台必须严格保证客户个人信息和交易信息的保密性和安全性。该要求主要对应安全性可以采用的架构设计策略有抵御攻击(授权、认证和限制访问等)、攻击检测(入侵检测等)、从攻击中恢复(部分可用性策略)和信息审计等。 (3) 当发生故障时该平台的平均故障恢复时间必须小于10s。该要求主要对应可用性可以采用的架构设计策略有Ping/Echo、心跳、异常和主动冗余等。 (4) 由于企业业务发展较快需要经常为该平台添加新功能或进行硬件升级。添加新功能或进行平台升级必须在6小时内完成。该要求主要对应可修改性可以采用的架构设计策略有软件模块泛化、限制模块之间通信、使用中介和延迟绑定等。
    [问题1] 常见的软件质量属性有多种,例如性能(Performance)、可用性(Availability)、可靠性(Reliability)、健壮性(Robustness)、安全性(Security)、可修改性(Modification)、可变性(Changeability)、易用性(Usability)、可测试性(Testability)、功能性(Functionality)和互操作性(Inter-operation)等。 这些质量属性的具体含义是: (1) 性能是指系统的响应能力,即要经过多长时间才能对某个事件做出响应,或者在某段时间内系统所能处理事件的个数。 (2) 可用性是系统能够正常运行的时间比例。 (3) 可靠性是指软件系统在应用或错误面前,在意外或错误使用的情况下维持软件系统功能特性的基本能力。 (4) 健壮性是指在处理或环境中,系统能够承受压力或变更的能力。 (5) 安全性是指系统向合法用户提供服务的同时能够阻止非授权用户使用的企图或拒绝服务的能力。 (6) 可修改性是指能够快速地以较高的性能价格比对系统进行变更的能力。 (7) 可变性是指体系结构经扩充或变更成为新体系结构的能力。 (8) 易用性是衡量用户使用一个软件产品完成指定任务的难易程度。 (9) 可测试性是指软件发现故障并隔离、定位其故障的能力特性,以及在一定的时间和成本前提下,进行测试设计、测试执行的能力。 (10) 功能性是系统所能完成所期望工作的能力。 (11) 互操作性是指系统与外界或系统与系统之间的相互作用能力。 [问题2] (1) 交易平台必须在1s内完成客户的交易请求。该要求主要对应性能,可以采用的架构设计策略有增加计算资源、改善资源需求(减少计算复杂度等)、资源管理(并发、数据复制等)和资源调度(先进先出队列、优先级队列等)。 (2) 该平台必须严格保证客户个人信息和交易信息的保密性和安全性。该要求主要对应安全性,可以采用的架构设计策略有抵御攻击(授权、认证和限制访问等)、攻击检测(入侵检测等)、从攻击中恢复(部分可用性策略)和信息审计等。 (3) 当发生故障时,该平台的平均故障恢复时间必须小于10s。该要求主要对应可用性,可以采用的架构设计策略有Ping/Echo、心跳、异常和主动冗余等。 (4) 由于企业业务发展较快,需要经常为该平台添加新功能或进行硬件升级。添加新功能或进行平台升级必须在6小时内完成。该要求主要对应可修改性,可以采用的架构设计策略有软件模块泛化、限制模块之间通信、使用中介和延迟绑定等。 解析:本题考查考生对于质量属性及质量属性实现策略的掌握情况。
    [问题1]
    常见的软件质量属性有多种,例如性能(Performance)、可用性(Availability)、可靠性(Reliability)、健壮性(Robustness)、安全性(Security)、可修改性(Modification)、可变性(Changeability)、易用性(Usability)、可测试性(Testability)、功能性(Functionality)和互操作性(Inter-operation)等。
    这些质量属性的具体含义是:
    (1) 性能是指系统的响应能力,即要经过多长时间才能对某个事件做出响应,或者在某段时间内系统所能处理事件的个数。
    (2) 可用性是系统能够正常运行的时间比例。
    (3) 可靠性是指软件系统在应用或错误面前,在意外或错误使用的情况下维持软件系统功能特性的基本能力。
    (4) 健壮性是指在处理或环境中,系统能够承受压力或变更的能力。
    (5) 安全性是指系统向合法用户提供服务的同时能够阻止非授权用户使用的企图或拒绝服务的能力。
    (6) 可修改性是指能够快速地以较高的性能价格比对系统进行变更的能力。
    (7) 可变性是指体系结构经扩充或变更成为新体系结构的能力。
    (8) 易用性是衡量用户使用一个软件产品完成指定任务的难易程度。
    (9) 可测试性是指软件发现故障并隔离、定位其故障的能力特性,以及在一定的时间和成本前提下,进行测试设计、测试执行的能力。
    (10) 功能性是系统所能完成所期望工作的能力。
    (11) 互操作性是指系统与外界或系统与系统之间的相互作用能力。
    [问题2]
    本题主要结合实际案例,考查实现各种质量属性的策略。
    (1) 交易平台必须在1s内完成客户的交易请求。该要求主要对应性能,可以采用的架构设计策略有增加计算资源、改善资源需求(减少计算复杂度等)、资源管理(并发、数据复制等)和资源调度(先进先出队列、优先级队列等)。
    (2) 该平台必须严格保证客户个人信息和交易信息的保密性和安全性。该要求主要对应安全性,可以采用的架构设计策略有抵御攻击(授权、认证和限制访问等)、攻击检测(入侵检测等)、从攻击中恢复(部分可用性策略)和信息审计等。
    (3) 当发生故障时,该平台的平均故障恢复时间必须小于l0s。该要求主要对应可用性,可以采用的架构设计策略有Ping/Echo、心跳、异常和主动冗余等。
    (4) 由于企业业务发展较快,需要经常为该平台添加新功能或进行硬件升级。添加新功能或进行平台升级必须在6小时内完成。该要求主要对应可修改性,可以采用的架构设计策略有软件模块泛化、限制模块之间通信、使用中介和延迟绑定等。

  • 第17题:

    阅读以下说明,回答问题 1至问题3,将解答填入答题纸的对应栏内。 【说明】 某IT企业承接了为用户开发 ERP软件系统的项目,并向用户单位派驻了工程师小张负责业务沟通。请围绕小张在工作期间遇到的情况进行分析,并回答相关问题。 情况1: 项目开始后,用户对软件系统的管理流程、业务功能、软件可操作性进行了 调整。经过测算,调整工作会增加 5%的开发成本,并导致软件的实际交付时间推后 40天。 因此小张坚持以双方签订软件合同为准,避免调整工作内容。 情况2: 小张认为软件开发工作需要软件企业和用户双方共同合作完成,希望用户能 参与一部分软件测试工作。而用户认为软件测试工作是软件企业的事情,在软件系统交付前不需要参与测试工作。

    【问题 1】(4 分) (1)在情况 1 中小张的处理方式是否合适,并说明理由。 (2) 该案例中,软件企业如何应对用户需求变更。 【问题 2】 (6 分) (1)在情况2 中用户的观点是否合适,并说明理由。 (2) 请选择正确的测试方法并将其与下列软件测试内容连线。【问题3】 (5 分) (1)软件测试实际上分成如下四个步骤,请给出正确的测试顺序。 ①系统测试 ②组装测试 ③单元测试 ④确认测试 (2) 请简单说明系统测试主要包括哪些部分。


    正确答案:【问题1】(4分)
    (1)不正确,在信息系统开发初期,项目团队调研时,客户只能提出一些初步的功能、性能要求,提不出确切的需求。随着项目的进展,客户的需求不断地被激发,被进一步明确,导致程序的需求被修改,因此小张应该注意沟通,适当调整项目计划,注重项目的变更管理。
    (2)使用需求变更管理来管理:大概步骤:客户提出需求变更、审核需求变更、客户确认、通知相关人员、监督。
    【问题2】(6分)
    (1)不正确,像验收测试就是以用户为主的测试。
    (2)系统设计阶段对功能模块边组装边测试——增量式测试
    单元测试阶段对检验模块接口的数据输出、输入——白盒测试
    系统分析阶段对软件与需求规格说明的一致性测试——黑盒测试
    用户需求阶段检验系统是否按要求从故障中恢复——恢复测试
    【问题3】(5分)
    (1)③②④①
    (2)
    恢复测试
    安全性测试
    强度测试
    性能测试
    可靠性测试
    安装测试

  • 第18题:

    阅读下列说明,回答问题1至问题3。

    【说明】

    某公司希望开展电子商务业务,委托其技术开发部进行网站规划与开发。张工是项目负责人,他在进行项目规划、需求分析、开发与设计过程中,要制定相应的软件测试计划并实施测试。

    软件测试步骤的关系关联图如图14-5所示,请将图中的步骤(1)、(2)补充完整。


    正确答案:(1)单元测试 (2)系统测试
    (1)单元测试 (2)系统测试 解析:本问题考查软件测试的概念。
    总体来说,软件测试过程有4个步骤,即单元测试、集成测试、确认测试和系统测试。单元测试集中对用源代码实现的每个程序单元进行测试,检查各个程序模块是否正确地实现了相应的功能;集成测试是根据软件设计规定的软件体系结构,把已测试过的模块组装起来,检查程序结构的正确性;确认测试是检查已实现的软件是否满足了需求规格说明中所确定的各种软件需求,以及软件配置是否完全、正确;系统测试是把已确认的软件纳入实际运行环境中,与其他系统成分组合在一起进行测试。

  • 第19题:

    PH系统集成开发公司决定采用基于架构的软件开发方法,以架构为核心对近期所承接的某电子商务企业的交易平台进行设计与实现。该电子商务企业要求交易平台必须保证客户个人信息和交易信息的安全;当发生故障时,该平台的平均故障恢复时间(MTBF)必须小于5分钟。该电子商务企业所提的两个要求分别对应于__________软件质量属性。 A.健壮性、可测试性 B.安全性、可用性 C.可靠性、可变性 D.功能性、性能


    正确答案:B
    要点解析:安全性(Security)是指系统向合法用户提供服务的同时能够阻止非授权用户使用的企图或拒绝服务的能力。根据系统可能受到的安全威胁可分为机密性、完整性、不可否认性和可控性等特性。
    可用性(Availability)是指系统能够正常运行的时间比例。经常用两次故障之间的时间长度或在出现故障时系统能够恢复正常的速度来表示。
    依题意,该电子商务企业所提的两个要求分别对应于“安全性”、“可用性”软件质量属性。

  • 第20题:

    阅读以下关于软件系统可行性分析的叙述,在答题纸上回答问题1至问题3。【说明】某软件开发企业受对外贸易公司委托开发一套跨境电子商务系统,项目组从多个 方面对该电子商务系统进行了可行性分析,在项目组给出的可行性分析报告中,对项目的成本、收益情况进行了说明:建设投资总额为300万元,建设期为1年,运营期为4年,该方案现金流量表如表1-1所示。【问题1】(12分)软件系统可行性分析包括哪几个方面?用200以内文字说明其含义。


    答案:
    解析:
    【问题1】(12分)答案:系统可行性分析包括以下个方面:(1)经济可行性。主要评估项目的建设成本、运行成本和项目建成后可能的经济收益。(2)技术可行性。研究的对象是信息系统需要实现的功能和性能,以及技术能力约束。(3)法律可行性。具有比较广泛的内容,它需要从政策、法律、道德、制度等社会因素来论证信息系统建设的现实性。(4)用户使用可行性。从信息系统用户的角度来评估系统的可行性,包括企业的行政管理和工作制度、使用人员的素质和培训要求等。【问题2】(7分)

  • 第21题:

    阅读以下软件架构设计的问题,在答题纸上回答问题1和问题2。
    某软件开发公司欲为某电子商务企业开发一个在线交易平台,支持客户完成网上购物活动中的在线交易。在系统开发之初,企业对该平台提出了如下要求:
    (1)在线交易平台必须在1s内完成客户的交易请求。
    (2)该平台必须保证客户个人信息和交易信息的安全。
    (3)当发生故障时,该平台的平均故障恢复时间必须小于10s。
    (4)由于企业业务发展较快,需要经常为该平台添加新功能或进行硬件升级。添加新功能或进行硬件升级必须在6小时内完成。
    针对这些要求,该软件开发公司决定采用基于架构的软件开发方法,以架构为核心进行在线交易平台的设计与实现。
    【问题1】(9分)
    软件质量属性是影响软件架构设计的重要因素。请用200字以内的文字列举六种不同的软件质量属性名称,并解释其含义。
    【问题2】(16分)
    请对该在线交易平台的4个要求进行分析,用300字以内的文字指出每个要求对应何种软件质量属性;并针对每种软件质量属性,各给出2种实现该质量属性的架构设计策略。


    答案:
    解析:
    【问题1】
    常见的软件质量属性有多种,例如性能(Performance)、可用性(Availability)、可靠性(Reliability)、健壮性(Robustness)、安全性(Security)、可修改性(Modification)、可变性(Changeability)、易用性(Usability)、可测试性(Testability)、功能性(Functionality)和互操作性(Inter-operation)等。
    这些质量属性的具体含义是:
    (1)性能是指系统的响应能力,即要经过多长时间才能对某个事件做出响应,或者在某段时间内系统所能处理事件的个数。
    (2)可用性是系统能够正常运行的时间比例。
    (3)可靠性是指软件系统在应用或错误面前,在意外或错误使用的情况下维持软件系统功能特性的基本能力。
    (4)健壮性是指在处理或环境中,系统能够承受压力或变更的能力。
    (5)安全性是指系统向合法用户提供服务的同时能够阻止非授权用户使用的企图或拒绝服务的能力。
    (6)可修改性是指能够快速地以较高的性能价格比对系统进行变更的能力。
    (7)可变性是指体系结构经扩充或变更成为新体系结构的能力。
    (8)易用性是衡量用户使用一个软件产品完成指定任务的难易程度。
    (9)可测试性是指软件发现故障并隔离、定位其故障的能力特性,以及在一定的时间和成本前提下,进行测试设计、测试执行的能力。
    (10)功能性是系统所能完成所期望工作的能力。
    (11)互操作性是指系统与外界或系统与系统之间的相互作用能力。
    【问题2】
    (1)在线交易平台必须在1s内完成客户的交易请求。该要求主要对应性能,可以采用的架构设计策略有增加计算资源、改善资源需求(减少计算复杂度等)、资源管理(并发、数据复制等)和资源调度(先进先出队列、优先级队列等)。
    (2)该平台必须严格保证客户个人信息和交易信息的保密性和安全性。该要求主要对应安全性,可以采用的架构设计策略有抵御攻击(授权、认证和限制访问等)、攻击检测(入侵检测等)、从攻击中恢复(部分可用性策略)和信息审计等。
    (3)当发生故障时,该平台的平均故障恢复时间必须小于l0s。该要求主要对应可用性,可以采用的架构设计策略有Ping/Echo、心跳、异常和主动冗余等。
    (4)由于企业业务发展较快,需要经常为该平台添加新功能或进行硬件升级。添加新功能或进行平台升级必须在6小时内完成。该要求主要对应可修改性,可以采用的架构设计策略有软件模块泛化、限制模块之间通信、使用中介和延迟绑定等。
    【解析】

    本题考查考生对于质量属性及质量属性实现策略的掌握情况。
    【问题1】
    常见的软件质量属性有多种,例如性能(Performance)、可用性(Availability)、可靠性(Reliability)、健壮性(Robustness)、安全性(Security)、可修改性(Modification)、可变性(Changeability)、易用性(Usability)、可测试性(Testability)、功能性(Functionality)和互操作性(Inter-operation)等。
    这些质量属性的具体含义是:
    (1)性能是指系统的响应能力,即要经过多长时间才能对某个事件做出响应,或者在某段时间内系统所能处理事件的个数。
    (2)可用性是系统能够正常运行的时间比例。
    (3)可靠性是指软件系统在应用或错误面前,在意外或错误使用的情况下维持软件系统功能特性的基本能力。
    (4)健壮性是指在处理或环境中,系统能够承受压力或变更的能力。
    (5)安全性是指系统向合法用户提供服务的同时能够阻止非授权用户使用的企图或拒绝服务的能力。
    (6)可修改性是指能够快速地以较高的性能价格比对系统进行变更的能力。
    (7)可变性是指体系结构经扩充或变更成为新体系结构的能力。
    (8)易用性是衡量用户使用一个软件产品完成指定任务的难易程度。
    (9)可测试性是指软件发现故障并隔离、定位其故障的能力特性,以及在一定的时间和成本前提下,进行测试设计、测试执行的能力。
    (10)功能性是系统所能完成所期望工作的能力。 
    (11)互操作性是指系统与外界或系统与系统之间的相互作用能力。
    【问题2】
    本题主要结合实际案例,考查实现各种质量属性的策略。
    (1)在线交易平台必须在1s内完成客户的交易请求。该要求主要对应性能,可以采用的架构设计策略有增加计算资源、改善资源需求(减少计算复杂度等)、资源管理(并发、数据复制等)和资源调度(先进先出队列、优先级队列等)。
    (2)该平台必须严格保证客户个人信息和交易信息的保密性和安全性。该要求主要对应安全性,可以采用的架构设计策略有抵御攻击(授权、认证和限制访问等)、攻击检测(入侵检测等)、从攻击中恢复(部分可用性策略)和信息审计等。
    (3)当发生故障时,该平台的平均故障恢复时间必须小于l0s。该要求主要对应可用性,可以采用的架构设计策略有Ping/Echo、心跳、异常和主动冗余等。
    (4)由于企业业务发展较快,需要经常为该平台添加新功能或进行硬件升级。添加新功能或进行平台升级必须在6小时内完成。该要求主要对应可修改性,可以采用的架构设计策略有软件模块泛化、限制模块之间通信、使用中介和延迟绑定等。

  • 第22题:

    阅读下列说明,回答问题1至问题3【说明】某公司要开发一个多媒体辅导系统,该系统准备利用B/S架构,用户通过网上注册、登录,登录成功后,可进行在线学习辅导。目前常用的系统架构有B/S架构和C/S架构,请说明这两个架构的含义和原理。


    正确答案: C/S(Client/Server)是基于客户机和服务器模式,其大部分的运算是在客户机上运行,从而提高一定的效率,但是由于程序在客户机上运行,所以要安装客户端,这也导致了软件维护和升级时的不方便,需要程序员亲自进行升级配置。
    B/S(Browser/Server)为基于浏览器和服务器模式,其大部分的运算是在服务器上运行,客户端通过浏览器来访问服务,软件维护和升级方便,只要能上网就能升级了且在很多地方都能够直接使用软件,而不需要安装,前提是要能登录到服务器。

  • 第23题:

    问答题
    软件质量属性 某软件开发公司欲为某电子商务企业开发一个在线交易平台,支持客户完成网上购物活动中的在线交易。在系统开发之初,企业对该平台提出了如下要求: ①在线交易平台必须在1s内完成客户的交易请求。 ②该平台必须保证客户个人信息和交易信息的安全。 ③当发生故障时,该平台的平均故障恢复时间必须小于10s。 ④由于企业业务发展较快,需要经常为该平台添加新功能或进行硬件升级。添加新功能或进行硬件升级必须在6小时内完成。 针对这些要求,该软件开发公司决定采用基于架构的软件开发方法,以架构为核心进行在线交易平台的设计与实现。 软件质量属性是影响软件架构设计的重要因素。请用200字以内的文字列举6种不同的软件质量属性名称,并解释其含义。

    正确答案: 常见的软件质量属性有多种,例如,性能(PerformancE.、可用性(Availability)、可靠性(Reliability)、健壮性(Robustness)、安全性(Security)、可修改性(Modification)、可变性(Changeability)、易用性(Usability)、可测试性(Testability)、功能性(Functionality)和互操作性(Inter-operation)等。
    这些质量属性的具体含义如下:
    <1>性能是指系统的响应能力,即要经过多长时间才能对某个事件做出响应,或者在某段时间内系统所能处理事件的个数。
    <2>可用性是系统能够正常运行的时间比例。
    <3>可靠性是指软件系统在应用或错误面前,在意外或错误使用的情况下维持软件系统功能特性的基本能力。
    <4>健壮性是指在处理或环境中,系统能够承受压力或变更的能力。
    <5>安全性是指系统向合法用户提供服务的同时能够阻止非授权用户使用的企图或拒绝服务的能力。
    <6>可修改性是指能够快速地以较高的性能价格比对系统进行变更的能力。
    <7>可变性是指体系结构经扩充或变更成为新体系结构的能力。
    <8>易用性是衡量用户使用一个软件产品完成指定任务的难易程度。
    <9>可测试性是指软件发现故障并隔离、定位其故障的能力特性,以及在一定的时间和成本前提下,进行测试设计、测试执行的能力。
    <10>功能性是系统所能完成所期望工作的能力。
    <11>互操作性是指系统与外界或系统与系统之间的相互作用能力。
    解析: 暂无解析