免费智能真题库 > 历年试卷 > 系统架构设计师 > 2016年下半年 系统架构设计师 下午试卷 论文
  第1题      
  知识点:   开发过程   检验   评估   软件系统   系统架构

 
软件系统架构评估
对于软件系统,尤其是大规模的复杂软件系统来说,软件的系统架构对于确保最终系统的质量具有十分重要的意义,不恰当的系统架构将给项目开发带来高昂的代价和难以避免的灾难。对一个系统架构进行评估,是为了:分析现有架构存在的潜在风险,检验设计中提出的质量需求,在系统被构建之前分析现有系统架构对于系统质量的影响,提出系统架构的改进方案。架构评估是软件开发过程中的重要环节。
 
问题:1.1   请围绕“论软件系统架构评估”论题,依次从以下3个方面进行论述。
1.概要叙述你所参与架构评估的软件系统,以及在评估过程中所担任的主要工作。
2.分析软件系统架构评估中所普遍关注的质量属性有哪些?详细阐述每种质量属性的具体含义。
3.详细说明你所参与的软件系统架构评估中,采用了哪种评估方法,具体实施过程和效果如何。
 
 
 

   知识点讲解    
   · 开发过程    · 检验    · 评估    · 软件系统    · 系统架构
 
       开发过程
        嵌入式系统软件的开发过程可以分为项目计划、可行性分析、需求分析、概要设计、详细设计、程序建立、下载、调试、固化、测试及运行等几个阶段。
        项目计划、可行性分析、需求分析、概要设计及详细设计等几个阶段,与通用软件的开发过程基本一致,都可按照软件工程方法进行,如采用原型化方法、结构化方法等。
        :由于嵌入式软件的运行和开发环境不同,开发工作是交叉进行的,所以每一步都要考虑到这一点。
        程序建立阶段的工作是根据详细设计阶段产生的文档进行的,主要是源代码编写、编译链接等子过程,这些工作都在宿主机上进行,不需要用到目标机。产生应用程序的可执行文件后,就要用到交叉开发环境进行调试,根据实际情况可以选用3.6.3节中提到的调试方法或其有效组合来进行。由于嵌入式系统对安全性和可靠性的要求比通用计算机系统要高,所以,在对嵌入式系统进行白盒测试时,要求有更高的代码覆盖率。
        最后,要将经调试后正确无误的可执行程序固化到目标机上。根据嵌入式系统硬件配置的不同,可以固化在EPROM(Erasable Programmable ROM,可擦除可编程ROM)和Flash等存储器中,也可固化在DOC(DiskOnChip)等电子盘中,通常还要借助一些专用编程器进行。
 
       检验
        检验(检查)包括测量、检查和测试等活动,目的是确定项目成果是否与要求相一致。检验可以在任何管理层次中开展,例如,一个单项活动的结果和整个项目的最后成果都可以检验。检验有各种名称,如复查、产品复查、审查及评审等。
        检查表(核对表)是常用的检验技术,检查表通常是由详细的条目组成的,用于检查和核对一系列必须采取的步骤是否已经实施的结构化工具,其具体内容因应用的不同而不同。检查表是一种有条理的工具,可简单可烦琐,语言表达形式可以是命令式,也可以是询问式。
        例如,下表是一个确认测试工具属性的检查表例子。
        
        一个确认测试工具属性的检查表例子
 
       评估
        评估测试不只针对物理设备,更重要的是要评估、比较各种网络技术。通常使用模拟测试配置和模拟负载进行子系统(如路由器)和网络技术(如ATM或FDDI等)的评估。评估测试不适用于全局网络,因为全局网络拓扑负载、网络设备太多,不好准确定位引起问题的原因和位置,不能进行有效的比较。多数评估测试在专用的子网测试环境中进行。
        很多公司都有其固定合作的网络设备供应商,如路由器、集线器或交换机的供应商,通常很少再做设备比较测试,但网络技术的比较测试需要经常进行。企业经常面对选择哪种技术以及怎样比较不同技术的问题,所以技术评估是评估测试中很重要的一项。
        在比较设备与技术时,除了使用专用于待测设备或技术的工程负载外,有经验的程序员也使用真实负载,使用真实负载可以了解待测设备或技术在特定环境下的运行性能。通过两种负载模式检测结果的比较,可以获知待测设备还有多少多余容量。
        评估测试与设备或技术的功能/特征测试一样,用于比较待测设备或技术的性能、稳定性、特性、易用性配置和管理等方面的功能。
        评估测试实质是衰减测试的基础,评估测试中对几种设备或技术进行比较;衰减测试中对同一设备的不同版本进行比较。测试中选择设备的标准也完全可作为验证升级版本工作正常与否的标准。尽可能多地集成在计划/设计阶段进行测试是非常好的方法,最初的产品评估测试可以被开发阶段的可接受性测试和升级阶段的衰减性测试所借鉴。
        评估测试是最常进行的测试,在设备选型、技术选型,以及网络系统升级过程中都要进行或多或少的评估测试。
        用于评估测试的负载模式和测试脚本要能有效覆盖被检测的设备和技术。常使用最好情形(工程负载)和真实负载模式进行测试,两种方式都提供了唯一的、重要的检测结果,测试人员要能够理解、解释测试结果间的不同。
        工程检测结果是被测设备和技术在最理想的情形下测试得到的结果,因此不能在真实运行环境里显示它们的运行性能;真实检测结果能很好地显示待测设备或技术在运行网络环境中的性能,但无法预测设备的总容量。如果时间允许,两种测试都要做。通常测试人员只有时间进行一种测试,一般进行最好情形的测试。许多公开发行的测试报告都是基于最好情形(工程负载)下的测试结果。
        所有的测试配置都是模拟的。用于设备比较的测试配置不一定要代表运行网络的典型配置,任何有效、公正的测试配置都能对被测产品进行很好的比较。然而,测试配置和负载越接近运行网络的配置和负载,测试的结果越能反映被测设备在运行网络中的运行情况。
        在安装和配置测试网络时必须注意:要确保配置中所有测试组件都是最新版本,使测试尽可能地公正和统一,以取得最好的测试结果。在测试非正式版时一定要小心,因为发布日期经常有错误。测试配置中安装了非正式版后,它还可能会变,所以非正式版的测试结果和正式版的测试结果经常不一致,分析非正式版的设备经常会延误项目的进行。
        进行评估测试时,除了被测设备,测试配置中的所有网络组件都要保持不变。这一点非常重要,只有这样才能保证被测设备可以进行公平比较。对于子网,这一点很容易做到(一个网络设备很容易被另一个设备所替代)。
        网络技术评估要比较各种网络技术,因而测试配置中的几个网络组件都需要更换。重要的是不要改变源或目标配置。在配置中不仅通信线路需要更换,路由器也需要更换。传输负载和端点的配置要保持不变。
        需要评估测试计划中的各个测试任务,逐步完成测试、数据收集和数据解释。在评估测试中,各测试进行的先后次序没有关系,因为它们不是线性关系,而是多次重复进行的。当在测试中发现了新的信息时,以前所做的测试可能要重新进行以确定它的测试结果,或要对以前的测试稍作改变以检验网络运行的其他方面。此外,在评估期间设备提供商经常发布新的版本或非正式的版本,所以各种基于这种设备的测试都要重新进行。
        制定网络设备、技术比较或取舍标准时,不仅要参考评估测试所得的测试结果数据,还要综合考虑其他一些信息,如各设备的性能价格比,但由于没有运行网络的持续和峰值负载要求,所以缺少比较基准,往往将产品评估测试引入歧途。
        最后要根据评估测试所得的数据和图表对网络系统作出总结性评估,并撰写网络系统评估报告。
 
       软件系统
        网络系统软件包括网络操作系统和网络协议等。网络操作系统是指能够控制和管理网络资源的软件,是由多个系统软件组成,在基本系统上有多种配置和选项可供选择,使得用户可根据不同的需要和设备构成最佳组合的互联网络操作系统。网络协议是保证网络中两台设备之间正确传送数据的约定。
 
       系统架构
               客户机/服务器系统
               C/S(Client/Server)结构,即大家熟知的客户机和服务器结构。它是软件系统体系结构,通过它可以充分利用两端硬件环境的优势,将任务合理分配到客户机端和服务器端来实现,降低了系统的通信开销。目前大多数应用软件系统都是客户机/服务器形式的两层结构,由于现在的软件应用系统正在向分布式的Web应用发展,Web和客户机/服务器应用都可以进行同样的业务处理,应用不同的模块共享逻辑组件;因此,内部的和外部的用户都可以访问新的和现有的应用系统,通过现有应用系统中的逻辑可以扩展出新的应用系统。这也就是目前应用系统的发展方向。
               浏览器/服务器系统
               B/S (Browser/Server)结构即浏览器和服务器结构。它是随着Internet技术的兴起,对C/S结构的一种变化或者改进的结构。在这种结构下,用户工作界面是通过WWW浏览器来实现,极少部分事务逻辑在前端(浏览器)实现,但是主要事务逻辑在服务器端(服务器)实现,形成所谓三层3-tier结构。这样就大大简化了客户端电脑载荷,减轻了系统维护与升级的成本和工作量,降低了用户的总体成本(TCO)。以目前的技术看,局域网建立B/S结构的网络应用,并通过Internet/Intranet模式下数据库应用,相对易于把握,成本也是较低的。它是一次性到位的开发,能实现不同的人员,从不同的地点,以不同的接入方式(如LAN,WAN, Internet/Intranet等)访问和操作共同的数据库;它能有效地保护数据平台和管理访问权限,服务器数据库也很安全。
               多层分布式系统(Multi-tier System)
               (1)概念。
               随着中间件与Web技术的发展,三层或多层分布式应用体系越来越流行。在多层体系中,各层次按照以下方式进行划分,实现明确分工:
               ①瘦客户:提供简洁的人机交互界面,完成数据的输入/输出。
               ②业务服务:完成业务逻辑,实现客户与数据库对话的桥梁。同时,在这一层中,还应实现分布式管理、负载均衡、Fail/Recover、安全隔离等。
               ③数据服务:提供数据的存储服务。一般就是数据库系统。
               (2)多层系统主要特点。
               多层系统主要特点是:
               .安全性。中间层隔离了客户直接对数据服务器的访问,保护了数据库的安全。
               .稳定性。对于要求24×7工作的业务系统,多层分布式体系提供了更可靠的稳定性。一是中间层缓冲Client与数据库的实际连接,使数据库的实际连接数量远小于Client应用数量。当然,连接数越少,数据库系统就越稳定。二是Fail/Recover机制能够在一台服务器宕机的情况下,透明地把客户端工作转移到其他具有同样业务功能的服务上。
               .易维护。由于业务逻辑在中间服务器,当业务规则变化后,客户端程序基本不做改动。
               .快速响应。通过负载均衡以及中间层缓存数据能力,可以提高对客户端的响应速度。
               .系统扩展灵活。基于多层分布体系,当业务增大时,可以在中间层部署更多的应用服务器,提高对客户端的响应,而所有变化对客户端透明。
               (3)多层系统举例。
               目前最为流行的两类多层应用架构为Sun的J2EE和Microsoft.Net,下面简单介绍J2EE的多层架构。
               
               J2EE多层应用架构
               (4)客户层。
               客户层用于与企业信息系统的用户进行交互以及显示根据特定商务规则进行计算后的结果。基于J2EE规范的客户端可以是基于Web的,也可以是不基于Web的独立(Stand Alone)应用程序。
               在基于Web的J2EE客户端应用中,用户在客户端启动浏览器后,从Web服务器中下载Web层中的静态HTML页面或由JSP或Servlets动态生成的HTML页面。
               在不基于Web的J2EE客户端应用中,独立的客户端应用程序可以运行在一些基于网络的系统中,例如手持设备或汽车电话等。同样,这些独立的应用也可以运行在客户端的Java Applet中。这种类型的客户端应用程序可以在不经过Web层的情况下直接访问部署在EJB容器(EJB Container)中的EJB组件。
               (5) Web层。
               J2EE规范定义的Web层由JSP页面、基于Web的Java Applets以及用于动态生成HTML页面的Servlets构成。这些基本元素在组装过程中通过打包来创建Web组件。运行在Web层中的Web组件依赖Web容器来支持诸如响应客户请求以及查询EJB组件等功能。
               (6)业务层。
               在基于J2EE规范构建的企业信息系统中,将解决或满足特定业务领域商务规则的代码构建成为业务层中的Enterprise JavaBean (EJB)组件。EJB组件可以完成从客户端应用程序中接收数据、按照商务规则对数据进行处理、将处理结果发送到企业信息系统层进行存储、从存储系统中检索数据以及将数据发送回客户端等功能。
               部署和运行在业务层中的EJB组件依赖于EJB容器来管理诸如事务、生命期、状态转换、多线程及资源存储等。这样由业务层和Web层构成了多层分布式应用体系中的中间层。
               (7)企业信息系统层。
               在企业应用系统的逻辑层划分中,企业信息系统层通常包括企业资源规划(ERP)系统、大型机事务处理(Mainframe Transaction Processing)系统、关系数据库系统(RDMS)及其他在构建J2EE分布式应用系统时已有的企业信息管理软件。
   题号导航      2016年下半年 系统架构设计师 下午试卷 论文   本试卷我的完整做题情况  
1 /
2 /
3 /
4 /
 
第1题    在手机中做本题