免费智能真题库 > 历年试卷 > 系统架构设计师 > 2018年下半年 系统架构设计师 上午试卷 综合知识
  第27题      
  知识点:   风险分析   快速应用开发   构件   模块化   评审   有效性
  关键词:   风险分析   基于构件的   开发方法   模块化   评审   软件开发   有效性   风险   构件   基于构件   开发   模块        章/节:   软件开发方法       

 
系统模块化程度较高时,更适合于采用(27)方法,该方法通过使用基于构件的开发方法获得快速开发。(28)把整个软件开发流程分成多个阶段, 每一个阶段都由目标设定、风险分析、开发和有效性验证以及评审构成。
 
 
  A.  快速应用开发
 
  B.  瀑布模型
 
  C.  螺旋模型
 
  D.  原型模型
 
 
 

 
  第35题    2015年下半年  
   46%
RUP强调采用(34)的方式来开发软件,这样做的好处是(35)。
  第34题    2015年下半年  
   54%
RUP强调采用(34)的方式来开发软件,这样做的好处是(35)。
  第41题    2020年下半年  
   31%
关于敏捷开发方法的特点,不正确的是()。
   知识点讲解    
   · 风险分析    · 快速应用开发    · 构件    · 模块化    · 评审    · 有效性
 
       风险分析
        在得到了项目风险列表后,需要对其中的风险做进一步的分析,以明确各风险的属性和要素,这样才可以更好地制定风险应对措施。风险分析可以分为定性分析和定量分析两种方式。风险定性分析是一种快捷有效的风险分析方法,一般经过定性分析的风险已经有足够的信息制定风险应对措施并进行跟踪与监控了。在定性风险分析的基础上,可以进行风险定量分析。定量分析的目的并不是获得数字化的结果,而是得当更精确的风险情况,以便进行决策。
               风险定性分析
               风险定性分析包括对已经识别的风险进行优先级排序,以便采取进一步措施。进行定性分析的依据是项目管理计划(风险管理计划、风险记录)、组织过程资产、工作绩效信息、项目范围说明、风险记录。在分析过程中,需要根据这些输入对已识别的风险进行逐项的评估,并更新风险列表。风险定性分析的工具和技术主要有风险概率及影响评估、概率及影响矩阵、风险数据质量评估、风险种类、风险紧急度评估。
               (1)风险可能性与影响分析。可能性评估需要根据风险管理计划中的定义,确定每一个风险的发生可能性,并记录下来。除了风险发生的可能性,还应当分析风险对项目的影响。风险影响分析应当全面,需要包括对时间、成本、范围等各方面的影响。其中不仅仅包括对项目的负面影响,还应当分析风险带来的机会,这有助于项目经理更精确地把握风险。对于同一个风险,由于不同的角色和参与者会有不同的看法,因此一般采用会议的方式进行风险可能性与影响的分析。因为风险分析需要一定的经验和技巧,也需要对风险所在的领域有一定的经验,因此,在分析时最好邀请相关领域的资深人士参加以提高分析结果的准确性。例如,对于技术类风险的分析就可以邀请技术专家参与评估。
               (2)确定风险优先级。在确定了风险的可能性和影响后,需要进一步确定风险的优先级。风险优先级的概念与风险可能性和影响既有联系又不完全相同。例如,发生地震可能会造成项目终止,这个风险的影响很严重,直接造成项目失败,但其发生的可能性非常小,因此优先级并不高。又如,坏天气可能造成项目组成员工作效率下降,虽然这种可能性很大,每周都会出现,但造成的影响非常小,几乎可以忽略不计,因此,优先级也不高。
               风险优先级是一个综合的指标,优先级的高低反映了风险对项目的综合影响,也就是说,高优先级的风险最可能对项目造成严重的影响。一种常用的方法是风险优先级矩阵,当分析出特定风险的可能性和影响后,根据其发生的可能性和影响在矩阵中找到特定的区域,就可以得到风险的优先级。
               (3)确定风险类型。在进行风险定性分析的时候需要确定风险的类型,这一过程比较简单。根据风险管理计划中定义的风险类型列表,可以为分析中的风险找到合适的类型。如果经过分析后,发现在现有的风险类型列表中没有合适的定义,则可以修订风险管理计划,加入这个新的风险类型。
               风险定量分析
               相对于定性分析来说,风险定量分析更难操作。由于在分析方法不恰当或缺少相应模型的情况下,风险的定量分析并不能带来更多有价值的信息,反而会在分析过程中占用一定的人力和物力。因此一般先进行风险的定性分析,在有了对风险相对清晰的认识后,再进行定量分析,分析风险对项目负面的和正面的影响,制定相应的策略。
               定量分析着重于整个系统的风险情况而不是单个风险。事实上,风险定量分析并不需要直接制定出风险应对措施,而是确定项目的预算、进度要求和风险情况,并将这些作为风险应对策略的选择依据。在风险跟踪的过程中,也需要根据最新的情况对风险定量分析的结果进行更新,以保证定量分析的精确性。
               风险定量分析的工具和方法主要有数据收集和表示技术(风险信息访谈、概率分布、专家判断)、定量风险分析和建模技术(灵敏度分析、期望货币价值分析、决策树分析、建模和仿真)。
               (1)决策树分析。决策树分析法通常用决策树图表进行分析,它描述了每种可能的选择和这种情况发生的概率。期望货币价值分析分析方法常用在决策树分析方法中,有关这方面的知识,请阅读18.2.3节。
               (2)灵敏度分析。灵敏度分析也称为敏感性分析,通常先从诸多不确定性因素中找出对模型结果具有重要影响的敏感性参数,然后从定量分析的角度研究其对结果的影响程度和敏感性程度,使对企业价值的评估结果的判断有更为深入的认识。托那多图(Tornado Diagram,龙卷风图)是灵敏度分析中非常有效的常用图示,它将各敏感参数按其敏感性进行排序,形象地反映出各敏感参数对价值评估结果的影响程度。运用托那多图进行灵敏度分析的具体步骤包括:选择参数、设定范围、敏感性测试、将各敏感参数对价值结果的影响按其敏感性大小进行排序。
               (3)蒙特卡罗模拟。蒙特卡罗(MonteCarlo)方法作为一种统计模拟方法,在各行业广泛运用。蒙特卡罗方法在定量分析中的运用较为复杂,牵涉复杂的数理概率模型。它将对一个多元函数的取值范围问题分解为对若干个主要参数的概率问题,然后用统计方法进行处理,得到该多元函数的综合概率,在此基础上分析该多元函数的取值范围可能性。蒙特卡罗方法的关键是找到一组随机数作为统计模拟之用,这一方法的精度取决于随机数的均匀性与独立性。就运用于风险分析而言,蒙特卡罗方法主要通过分析各种不确定因素,灵活地模拟真实情况下的某个系统中的各主要因素变化对风险结果的影响。由于计算过程极其繁复,蒙特卡罗方法不适合简单(单变量)模型,而对于复杂(有多种不确定性因素)模型则是一种很好的方法。其具体步骤包括选取变量、分析各变量的概率分布、选取各变量的样本、模拟价值结果、分析结果。
 
       快速应用开发
        快速应用开发(Rapid Application Development,RAD)模型是一个增量型的软件开发过程模型,强调极短的开发周期。RAD模型是瀑布模型的一个高速变种,通过大量使用可复用构件,采用基于构件的建造方法赢得快速开发。如果需求理解得好且约束了项目的范围,利用这种模型可以很快地创建出功能完善的信息系统。其流程从业务建模开始,随后是数据建模、过程建模、应用生成、测试及反复。
        RAD模型各个活动期所要完成的任务如下:
        (1)业务建模:以什么信息驱动业务过程运作?要生成什么信息?谁生成它?信息流的去向是哪里?由谁处理?可以辅之以数据流图回答以上问题。
        (2)数据建模:为支持业务过程的数据流找到数据对象集合,定义数据对象属性,并与其他数据对象的关系构成数据模型,可辅之以E-R图。
        (3)过程建模:使数据对象在信息流中完成各业务功能。创建过程以描述数据对象的增加、修改、删除和查找,即细化数据流图中的处理框。
        (4)应用程序生成:利用第四代语言(4GL)写出处理程序,重用已有构件或创建新的可重用构件,利用环境提供的工具自动生成并构造出整个应用系统。
        (5)测试与交付:由于大量重用,一般只做总体测试,但新创建的构件还是要测试的。
        与瀑布模型相比,RAD模型不采用传统的第三代程序设计语言来创建软件,而是采用基于构件的开发方法,复用已有的程序结构(如果可能的话)或使用可复用构件,或者创建可复用的构件(如果需要的话)。在所有情况下,均使用自动化工具辅助进行软件创造。很显然,加在一个RAD模型项目上的时间约束需要“一个可伸缩的范围”。如果一个业务能够被模块化使得其中每一个主要功能均可以在不到三个月的时间内完成,那么它就是RAD的一个候选者。每一个主要功能可由一个单独的RAD组来实现,最后再集成起来形成一个整体。
        RAD模型通过大量使用可复用构件加快了开发速度,对信息系统的开发特别有效。但是像所有其他软件过程模型一样,RAD方法也有以下一些缺陷:
        (1)并非所有应用都适合RAD。RAD模型对模块化要求比较高,如果有哪一项功能不能被模块化,那么建造RAD所需要的构件就会有问题;如果高性能是一个指标,且该指标必须通过调整接口使其适应系统构件才能赢得,RAD方法也有可能不能奏效。
        (2)开发者和客户必须在很短的时间完成一系列的需求分析,任何一方配合不当都会导致RAD项目失败。
        (3)RAD只能用于信息系统开发,不适合技术风险很高的情况。当一个新应用要采用很多新技术或当新软件要求与已有的计算机程序有较高的互操作性时,这种情况就会发生。
 
       构件
        为了达到门户站点的基本要求,一个企业的网站应当由以下构件组成:
        (1)应用服务器(Application Server)。主要用于企业较大规模电子商务应用的开发、发布和管理,同时实现与企业原有系统的集成。
        (2)工作流和群件服务器。主要用于使工作人员和商业伙伴能通过Internet共享资源、协同工作。
        (3)内容管理子系统。简化企业网站的产品管理、提高效率,并将相应的、经过筛选的内容发送给最终用户。
        (4)目录服务器。企业使用它来管理防火墙内外的用户、资源和控制安全权限,同时为用户的通信和电子商务提供一个通道。
        (5)性能优化工具。改善网站服务质量,包括流量管理、动态数据缓存、网络动态负载(Load Balancing)、知识管理等。
        (6)邮件和消息服务器。使企业和服务提供者能为所有员工、合作伙伴和客户社区提供商业级的通信架构。
        (7)个性化信息服务。在实时分析用户数据的基础上提供一对一的交易平台。通过对用户行为的更好理解,企业更跟踪、分析和理解网站用户。
        (8)搜索引擎。用户提供更广泛的资源。
        (9)安全服务器。包括数据安全、应用安全和交易完全。其基本内容有用防火墙阻止对网络的非授权访问,在安全和个人的角色授权的基础上,只需一次登录就可以访问网站的所有应用,通过提供一种对在线交易的每一方的可信任的授权方式,帮助客户、合作伙伴和员工访问Internet应用。
        (10)网站服务器(Web Server)。将各种网站的信息发布给用户。
        以上是通常构建网站所需要的构件,企业可针对自己的特点以及网站规模大小,应用的类型等自行选择。
        在网站结构的实现上,通常在逻辑上将网站分为三层:表示层、应用逻辑层、数据层。这种结构使得网站具有较好的可扩充性,将表示层与业务功能的实现分离开来,能够更灵活地适应业务的发展。网站不需要对业务逻辑组件进行任何变动,就能够适用新出现的表示形式和客户端。例如,为了使用户更方便地在网站上购物,网站调整了页面格局和页面风格。由于网站结构层次分明,只需要改动网站表示层,业务逻辑层和数据连接层则不需要改变。
        (11)表示层和相关技术。表示层用于为最终用户提供一个友好的用户界面,接受用户提交的事件,并将处理的结果返还给用户。这一层作为应用的前端和“窗口”,决定了用户对网站优劣的评价和总体印象。
        网站从总体上说是独立于客户端的,客户端包括基于浏览器的HTML客户端、给予Java的客户端、传统的C/C++应用、Power Builder客户端以及VB客户端。
        在表示层除了使用最基本的HTML语言外,通常还利用JavaScript Internet脚本语言,以及Java Internet程序开发语言。JavaScript程序运行在客户端,能够完成用户事件获取、数据提交前的合法性校验、错误检查和实现动画效果等。而利用Java开发的JavaServlet程序运行于服务器端,负责实现与业务逻辑层的交互,从业务逻辑层获得数据,并将用户提交的信息传给业务逻辑层,而基于Java语言的JSP程序,则实现数据的动态显示,它将JavaServlet程序获得的数据形成相应的HTML页面传给客户端。
        为了适应电子商务的各种需求,新的表示层技术不断发展。如XML(可扩展标记语言)和RDF(资源描述框架)等都是当前最新的、对表示层产生重大影响的技术。XML通过一种结构化的文本方式来表述数据;RDF提供一种统一的、可互操作的方法通过Internet在程序间交换元数据。
        (12)商务逻辑与实现。商务逻辑层是电子商务系统的核心,也是系统建造过程中的重点和难点。商务逻辑层包括商务应用程序、支持平台(包括商务服务层、商务支持层和基础支持层)。
        支持层向上层(商务应用层)提供的服务主要包括:表达、商务支持、运行支持、开发与集成服务。构成支持平台的技术产品至少应当包括:Web服务器、商务支持软件、集成与开发工具、计算机主机、网络及其他系统软件(如操作系统、管理工具软件等)。
        通常,Web服务器、商务支持软件、部分集成开发环境被集成到一个被称为“应用服务器”的软件包里,所以商务逻辑层在物理上可以简化为以下三个部门:应用软件(实现商务逻辑);应用服务器(为应用软件提供软件支持平台)和其他支持软件;计算机主机及网络(为应用软件提供硬件支持平台)。
        构造商务逻辑层的任务是为选择合适的应用服务器和其他支持软件,开发实现商务逻辑的应用软件系统。
        (13)数据层及实现。构造数据层的关键是开发电子商务与外部系统、内部资源系统的接口,完成系统集成。
        数据层的数据源主要包括:相关信息系统(如ERP系统)的数据与企业的数据库,企业与协作企业(如供应商)间交换的数据,企业与银行间交换的数据,企业与认证中心之间的认证数据,企业与其他商务中介交换的电子数据。
        由于企业商务逻辑的处理过程是一个从市场、销售、采购到客户服务的整体,所以必须将商务逻辑处理过程中所涉及到的数据集成到一起,因此构造数据层的任务是:实现电子商务系统与企业内部和外部信息系统之间的网络互联,并确保安全的网络环境,基于应用服务器平台的商务应用系统与企业内部数据的共享。
 
       模块化
        模块是程序中数据说明、可执行语句等程序对象的集合,或者是单独命名和编址的元素。在系统体系结构中,模块是可组合、可分解和可更换的单元。
        模块化是指解决一个复杂问题时自顶向下逐层把系统划分成若干模块的过程。每个模块完成一个特定的子功能,所有的模块按某种方法组装起来,成为一个整体,完成整个系统所要求的功能。
        开发一个大而复杂的系统,将它进行适当的分解,不但可降低其复杂性,还可减少开发工作量,从而降低开发成本,提高软件生产率。这是模块划分的依据。
        (1)划分模块时,尽量做到高内聚、低耦合,保持模块的相对独立性,并以此原则优化初始的系统体系结构。
        (2)一个模块的作用范围应在其控制范围之内,且判定所在的模块应与受其影响的模块在层次上尽量靠近。
        一个模块的作用范围是指受该模块内一个判定影响的所有模块的集合。一个模块的控制范围指模块本身及其所有下属模块(直接或者间接从属于它的模块)的集合。
        (3)系统结构的深度、宽度、扇入和扇出应适当。
        (4)模块的大小要适中。
 
       评审
        对设计部分是否完整地实现了需求中规定的功能、性能等要求,设计方法的可行性,关键的处理及内外部接口定义的正确性、有效性、各部分之间的一致性等都一一进行评审。
 
       有效性
        有效性是指软件产品在指定的使用环境下,使用户获得满足准确度和完整性要求的规定目标的能力。
   题号导航      2018年下半年 系统架构设计师 上午试卷 综合知识   本试卷我的完整做题情况  
1 /
2 /
3 /
4 /
5 /
6 /
7 /
8 /
9 /
10 /
11 /
12 /
13 /
14 /
15 /
 
16 /
17 /
18 /
19 /
20 /
21 /
22 /
23 /
24 /
25 /
26 /
27 /
28 /
29 /
30 /
 
31 /
32 /
33 /
34 /
35 /
36 /
37 /
38 /
39 /
40 /
41 /
42 /
43 /
44 /
45 /
 
46 /
47 /
48 /
49 /
50 /
51 /
52 /
53 /
54 /
55 /
56 /
57 /
58 /
59 /
60 /
 
61 /
62 /
63 /
64 /
65 /
66 /
67 /
68 /
69 /
70 /
71 /
72 /
73 /
74 /
75 /
 
第27题    在手机中做本题