【软考系统架构设计师】2022下论文写作历年真题

【软考系统架构设计师】2022下论文写作历年真题

试题四 论湖仓一体架构及其应用(75分)

试题四 论湖仓一体架构及其应用
随着5G、大数据、人工智能、物联网等技术的不断成熟,各行各业的业务场景日益复杂,企业数据呈现出大规模、多样性的特点,特别是非结构化数据呈现出爆发式增长趋势。在这一背景下,企业数据管理不再局限于传统的结构化 OLTP ( On - Line Transaction Processing )数据交易过程,而是提出了多样化、异质性数据的实时处理要求。传统的数据湖( Data Lake )在事务一致性及实时处理方面有所欠缺,而数据仓库( Data Warehouse )也无法应对高并发、多数据类型的处理。因此,支持事务一致性、提供高并发实时处理及分析能力的湖仓一体( Lake House )架构应运而生。湖仓一体架构在成本、灵活性、统一数据存储、多元数据分析等多方面具备优势,正逐步转化为下一代数据管理系统的核心竞争力。
问题内容:
请围绕"湖仓一体架构及其应用"论题,依次从以下三个方面进行论述。
1.概要叙述你参与管理和开发的、采用湖仓一体架构的软件项目以及你在其中所承担的主要工
2.请对湖仓一体架构进行总结与分析,给出其中四类关键特征,并简要对这四类关键特征的内容进行阐述。
3,具体阐述你参与管理和开发的项目是如何采用湖仓一体架构的,并围绕上述四类关键特征,详细论述在项目设计与实现过程中遇到了哪些实际问题,是如何解决的。

【我的解答】
湖仓一体(Lakehouse)是一种新的大数据存储架构,结合了数据仓库和数据湖的最佳功能。湖仓一体最新的数据存储架构,它结合了数据湖的成本效益和灵活性以及数据仓库的可靠性和一致性。
湖仓一体架构将数据仓库的数据结构和管理功能与数据湖的低成本存储和灵活性相结合
湖仓一体的主要缺点是它仍然是一种相对较新且不成熟的技术。
目前还不清楚它是否一定会符合上面的优点。湖仓一体可能需要几年时间才能与成熟的大数据存储解决方案竞争。
但以现代创新的速度,很难预测新的数据存储解决方案最终是否会替代它
湖仓一体的特点包括:
对数据的并发读写
具有数据管理机制
可直接访问原数据
计算和存储的分离
标准化的数据格式
结构化非结构化数据
端到端的流处理

数据湖的特点包括:
保真性:
数据湖中必须要保存一份原始数据,无论是数据格式、数据模式、数据内容都不应该被修改。
灵活性:
在假设没办法预估业务变化的前提下,直接保持数据的原始状态,一旦需要时,再根据需求对数据进行加工处理。
可管理:
数据湖中的数据会不断的积累、演化。因此,对于数据管理能力要求也很高。它至少应该包含的数据管理能力包括:数据源、数据连接、数据格式、数据模式,数据权限等。
可追溯:
数据湖是一个企业中全量数据的存储场所,需要对数据的全生命周期进行管理,包括数据的定义、接入、存储、处理、分析、应用的全过程。它需要能做到对其间的任意一条数据的接入、存储、处理、消费过程是可追溯的,能够清楚的重现数据完整的产生过程和流动过程

试题三 论区块链技术及应用(75分)

试题三论区块链技术及应用
区块链作为一种分布式记账技术,目前已经被应用到了资产管理、物联网、医疗管理、政务监管等多个领域。从网络层面来讲,区块链是一个对等网络( Peer to Peer ,P2P),网络中的节点地位对等,每个节点都保存完整的账本数据,系统的运行不依赖中心化节点,因此避免了中心化带来的单点故障问题。同时,区块链作为一个拜占庭容错的分布式系统,在存在少量恶意节点情况下可以作为一个整体对外提供稳定的服务。
问题内容:
请围绕"区块链技术及应用"论题,依次从以下三个方面进行论述。
1.概要叙述你参与管理和开发的软件项目以及你在其中所承担的主要工作。
2.区块链包含多种核心技术,请简要描述区块链的3种核心技术。
3.具体阐述你参与管理和开发的项目是如何应用区块链技术进行设计与实现。

【我的解答】
区块链是一项全新技术,去中心化,不可篡改,个人主权掌控 (账号,资产,数据),这是区别于传统互联网技术的特点。也是区块链技术当中的核心。
区块链是全新的革命技术,有着全新的底层技术,上层应用原理,除了互联网,历史上就没有过,而且区块链应用场景,在一定程度上可以解决教育资源的资产确权和价值评估问题,实现资产数字化。
去中心化实现了数据的高安全性和高可靠性。
区块链的技术主要表现在以下四个方面:
第一个叫分布式账本,就是交易记账由分布在不同地方的多个节点共同完成,而且每一个节点都记录的是完整的账目,因此它们都可以参与监督交易合法性,同时也可以共同为其作证。
第二个叫做非对称加密和授权技术,存储在区块链上的交易信息是公开的,但是账户身份信息是高度加密的,只有在数据拥有者授权的情况下才能访问到,从而保证了数据的安全和个人的隐私。
第三个叫做共识机制,就是所有记账节点之间怎么达成共识,去认定一个记录的有效性,这既是认定的手段,也是防止篡改的手段。区块链提出了四种不同的共识机制,适用于不同的应用场景,在效率和安全性之间取得平衡
第四个技术特点叫智能合约,智能合约是基于这些可信的不可篡改的数据,可以自动化的执行一些预先定义好的规则和条款。

试题二 论软件维护方法及其应用(75分)

试题二 论软件维护方法及其应用
软件维护是指在软件交付使用后,直至软件被淘汰的整个时间范围内,为了改正错误或满足新的需求而修改软件的活动。在软件系统运行过程中,软件需要维护的原因是多种多样的,根据维护的原因不同,可以将软件维护分为改正性维护、适应性维护、完善性维护和预防性维护。在维护的过程中,也需要对软件的可维护性进行度量。在软件外部,一般采用MTTR来度量软件的可维护性:在软件内部,可以通过度量软件的复杂性来间接度量软件的可维护性。据统计,软件维护阶段占整个软件生命周期60%以上的时间。因此,分析影响软件维护的因素,度量和提高软件的可维护性,就显得十分重要。
问题内容:
请用绕"软件维护方法及其应用"论题,依次从以下三个方面讲行论述。
1 . 简要概述你所参加的软件项目,以及你在其中所承担的主要工作。
2 . 详细论述影响软件维护工作的因素有哪些
3.结合你具体参与管理和开发的实际项目,说明在具体维护过程中,如何度量软件的可维护性,说明具体的软件维护工作类型。

【我的解答】
软件维护工作类型

  1. 纠正性维护(改正性维护)
    在软件投入运行后,可能会暴露一部分在测试阶段没有发现的错误
    为了识别和纠正软件的错误,改正软件性能上的缺陷,进行诊断和改正错误的过程。
  2. 适应性维护
    当外部环境发生改变时,为使软件适应这种变化,而去修改软件的过程。
  3. 预防性维护
    为以后进一步改进软件打下良好的基础\n是采用先进的软件工程方法对需要维护的软件或某部分软件重新进行设计,编码和测试,以提高软件的可维护性和可靠性,为以后进一步改进软件打下基础。
  4. 完善性维护
    在软件维护过程中,用户往往会对软件提出新的功能,性能要求,为了满足这些要求而进行的修改和新功能的开发。
    影响可维护性的因素:
    可维护性是软件开发阶段的关键目标。影响软件可维护性的因素较多。
    设计,编码及测试中的疏忽和低劣的软件配置
    缺少文档等都将对软件的可维护性产生不良影响。
    软件的维护性可以用下面的几个质量属性来衡量:可理解性,可测试性,可修改性,可靠性,可移植性,可使用性和效率。
    提高软件可维护的方法:
    1)采用软件工程方法
    建立明确的软件质量目标,建立明确的质量保证,选择容易维护的编程语言,改善改进软件文档。
    2)注重可维护性开发过程

试题一 论基于构件的软件开发方法及其应用(75分)

试题一 论基于构件的软件开发方法及其应用
基于构件的软件开发( Component - Based Software Development , CBSD )是一种基于分布对象技术、强调通过可复用构件设计与构造软件系统的软件复用途径。基于构件的软件系统中的构件可以是 COTS ( Commercial - Off - the - Shelf )构件,也可以是通过其它途径获得的构件(如自行开发)。 CBSD将软件开发的重点从程序编写转移到了基于己有构件的组装,以更快地构造系统,减轻用来支持和升级大型系统所需要的维护负担,从而降低软件开发的费用。
问题内容:
请围绕"基于构件的软件开发方法及其应用"论题,依次从以下三个方面进行论述。
1.概要叙述你参与管理和开发的软件项目,以及你在其中所承担的主要工作。
2.详细论述基于构件的软件开发方法的主要过程。
3.结合你具体参与管理和开发的实际项目,请说明具体实施过程以及碰到的主要问题。

【我的解答】
基于构件的开发方法主要是指从已有的构件库中复用构件,尽快让系统模块化,从而让系统能够快速开发出来的这么一个开发方法。
基于构件的软件开发(CBSD)是20世纪90年代开始流行的开发方法。CBSD支持软件复用,能有效提高软件的开发效率和质量,降低开发和维护成本,因此受到人们的关注
它主要的优点就是可以快速高效的开发出软件的雏形,提高了开发效率,构件化之后的系统也可以通过构件的复用,或者复用第三方的构件来实现多个项目的并行开发。
构件开发方法的最主要缺点就是对构件的复用性和构件的质量有较高的要求,如果构件复用性不佳,或者有构件质量问题,那么无疑对产品质量将产生较为大的影响,同时基于构件的开发方法对人的依赖较高,往往需要熟悉构件库,对构件有一定的开发经验的开发人员才可以胜任。
基于构件的软件开发方法其实就可以简单理解为构件库复用的一个开发方法。具体可以分为四个过程步骤:
1)检索和提取构件
从构件库中提取寻找构件一般有三种方法,分别是关键字分类法,刻面分类法和超文本组织方法。该过程的主要目的就是寻找可以复用的构件。
2)理解和评价构件
该步骤解决的就是如何去复用构件库中的构件。如果第一步解决的是复用what,那么这一步解决的就是how复用(如何复用)的问题。
3)对构件进行修改
构件获取的时候根据构件的分类不同有以下四种方式:全新开发一个所需要的构件,购买一个我们需要的构件,从遗留系统中抽取出来,或者从构件库中提取并修改之后拿来使用。
4)组装构件模型
组装构件又可以分为三种方法,分别是基于功能,基于数据和基于面向对象的组装技术。构件通过组装之后可以相互的连接,共同工作,最终形成相应的目标软件系统。

除了以上的开发方法以外,还有一种分类方法是:(其实这两种分类方法大同小异)
1)构件鉴定(qualification)
通过接口以及其它约束判断COTS 构件是否可在新系统中复用。构件鉴定分为发现和评估两个阶段。发现阶段需要确定COTS 构件的各种属性,如构件接口的功能性(构件能够提供什么服务)及其附加属性(如,是否遵循某种标准)、构件的质量属性(如,可靠性)等。构件发现难度较大,因为构件的属性往往难以获取、无法量化。评估阶段根据COTS 构件属性以及新系统的需求判断构件是否可在系统中复用。评估方法常常涉及分析构件文档、与构件已有用户交流经验、甚至开发系统原型。构件鉴定有时还需要考虑非技术因素,如构件提供商的市场占有率、构件开发商的过程成熟度等级等。
2)构件适配(adaptation)
独立开发的可复用构件满足不同的应用需求,并对运行上下文做出了某些假设。系统的 软件体系结构定义了系统中所有构件的设计规则、连接模式和交互模式。如果被复用的构件不符合目标系统的软件体系结构就可能导致该构件无法正常工作,甚至影响整个系统的运行,这种情形称为失配(mismatch)。调整构件使之满足体系结构要求的行为就是构件适配。构件适配可通过白盒、灰盒或黑盒的方式对构件进行修改或配置。白盒方式允许直接修改构件源代码;灰盒方式不允许直接修改构件源代码,但提供了可修改构件行为的扩展语言或编程接口;黑盒方式是指调整那些只有可执行代码且没有任何扩展机制的构件。如果构件无法适配,就不得不寻找其它适合的构件。
3)构件组装(composition)
构件必须通过某些良好定义的基础设施才能组装成目标系统。体系风格决定了构件之间连接或协调的机制,是构件组装成功与否的关键因素之一。典型的体系风格包括黑板、消息总线、对象请求代理等。
4)构件更新(update)
基于构件的系统演化往往表现为构件的替换或增加,其关键在于如何充分测试新构件以保证其正确工作且不对其它构件的运行产生副面影响,对于由COTS 构件组装而成的系统,其更新的工作往往由提供COTS 构件的第三方完成。

猜你喜欢

转载自blog.csdn.net/Last_Impression/article/details/129092702