2020年软考系统架构设计师复习题(一)

合集下载

2020年下半年软件水平考试(高级)系统架构师下午(案例分析)真题试卷

2020年下半年软件水平考试(高级)系统架构师下午(案例分析)真题试卷

2020年下半年软件水平考试(高级)系统架构师下午(案例分析)真题试卷试题一:阅读以下关于软件架构设计与评估的叙述,在答题纸上回答问题。

【说明】某公司拟开发一套在线软件开发系统,支持用户通过浏览器在线进行软件开发活动。

该系统的主要功能包括代码编辑、语法高亮显示、代码编译、系统调试、代码仓库管理等。

在需求分析与架构设计阶段,公司提出的需求和质量属性描述如下:(a)根据用户的付费情况对用户进行分类,并根据类别提供相应的开发功能;(b)在正常负载情况下,系统应在0.2秒内对用户的界面操作请求进行响应;(c)系统应该具备完善的安全防护措施,能够对黑客的攻击行为进行检测与防御;(d)系统主站点断电后,应在3秒内将请求重定向到备用站点;(e)系统支持中文昵称,但用户名必须以字母开头,长度不少于8个字符;(f)系统宕机后,需要在15秒内发现错误并启用备用系统;(g)在正常负载情况下,用户的代码提交请求应该在0.5秒内完成;(h)系统支持硬件设备灵活扩容,应保证在2人·天内完成所有的部署与测试工作;(i)系统需要为针对代码仓库的所有操作情况进行详细记录,便于后期查阅与审计;(j)更改系统的Web界面风格需要在4人·天内完成;(k)系统本身需要提供远程调试接口,支持开发团队进行远程排错。

在对系统需求、质量属性和架构特性进行分析的基础上,该公司的系统架构师给出了两种候选的架构设计方案,公司目前正在组织相关专家对候选系统架构进行评估。

1.针对该系统的功能,李工建议采用管道一过滤器(pipe and filter)的架构风格,而王工则建议采用仓库(repository)架构风格。

请指出该系统更适合采用哪种架构风格,并针对系统的主要功能,从数据处理方式、系统的可扩展性和处理性能三个方面对这两种架构风格进行比较与分析,填写表1—1中的(1)~(4)空白处。

2.在架构评估过程中,质量属性效用树(utility tree)是对系统质量属性进行识别和优先级排序的重要工具。

2020年计算机软件水平考试《系统架构设计师》考点汇总

2020年计算机软件水平考试《系统架构设计师》考点汇总

生命周期传统的软件生命期是指软件产品从形成概念(构思)开始,经过定义、开发、使用、维护、废弃,的全过程。

可以把软件生命期划分为软件定义、软件开发、软件运行与维护,三个阶段。

1、软件定义时期(1)问题定义,目标系统“是什么”,系统的定位以及范围。

(2)可行性研究,技术可行性、经济可行性、操作可行性、社会可行性。

(3)需求分析,确定软件系统的功能需求、性能需求、运行环境的约束,写出需求规格说明书、软件系统测试大纲、用户手册概要。

充分理解用户的需求,并以书面形式写出规格说明书,这是以后软件设计和验收的依据;用户也许很难一次性说清楚系统应该做什么。

系统分析员、软件开发人员、用户,共同完成,逐步细化、一致化、完全化等。

软件需求规格说明SRS,内容可以有系统(或子系统)名称、功能描述、接口、基本数据结构、性能、设计需求、开发标准、验收原则等。

2、软件开发时期软件开发时期就是软件的设计与实现,概要设计、详细设计、编码、测试等。

概要设计是在软件需求规格说明的基础上,建立系统的总体结构(含子系统的划分)和模块间的关系,定义功能模块及各功能模块之间的关系。

详细设计对概要设计产生的功能模块逐步细化,包括算法与结构、数据分布、数据组织、模块间接口信息、用户界面等,写出详细设计报告。

测试可分成单元测试、集成测试、确认测试、系统测试等。

通常把编码和测试称为系统的实现。

3、软件运行和维护软件维护就是尽可能地延长软件的寿命,没有维护的价值时,宣告退役,软件的生命结束。

模型软件生存周期模型又称软件开发模型或软件过程模型,模型的特点是简单化,是软件开发实际过程的抽象与概括。

为软件工程管理提供里程碑和进度表,为软件开发过程提供原则和方法。

软件过程有各种各样的模型。

1、瀑布型瀑布型的特点是因果关系紧密相连,前一个阶段工作的结果是后一个阶段工作的输入,前一个阶段的错漏会隐蔽地带到后一个阶段,每一个阶段工作完成后,都要进行审查和确认,它的出现有利于人员的组织管理,有利于软件开发方法和工具的研究。

系统架构设计师考试题目及答案

系统架构设计师考试题目及答案

系统架构设计师考试题目及答案参考答案附后1、()模型为数据规划机密性,依据机密性划分为安全级别,按安全级别强制访问控制。

A.BLP模型B.状态机模型C.Biba模型D.中国墙模型2、“在某个系统或某个部件中设置了'机关',使得当提供特定的输入数据时,允许违反安全策略。

”是属于哪一种安全威胁()A.特洛伊木马B.陷阱门C.窃取D.非法使用3、以下不属于网络安全协议的是()A.FTPB.SSLC.HTTPSD.SET4、以下关于大数据的说法中,错误的是()A.大数据拥有体量大、构造单调、时效性强等特点B.处理大数据需要采用新式计算架构和智能算法等新技术C.大数据的应用着重相关剖析,而不是因果剖析D.大数据的目的在于发现新的知识,洞悉并进行科学决策5、SQL是一种数据库结构化查询语言,SQL注入攻击的首要目标是()A.破坏Web服务B.窃取用户口令等机密信息C.攻击用户浏览器,以获得访问权限D.获得数据库的权限6、人工智能的关键技术包括自然语言处理、计算机视觉、知识图谱、机器学习。

机器学习分类中,()是利用已标记的有限训练数据集,通过某种学习策略/方法建立一个模型,从而实现对新数据/实例标记/映射。

A.监督学习B.无监督学习C.半监督学习D.强化学习7、云计算的服务方式不包括()A.软件即服务B.计算即服务C.平台即服务D.基础设施即服务8、CPS技术体系的四大核心技术要求中,“一平台”是()A.感知和自动控制B.工业软件C.工业网络D.工业云和智能服务平台9、根据所修改的内容不同,软件的动态演化不包括()A.属性改名B.行为变化C.拓扑结构改变D.格式变化10、软件架构维护过程不包括()A.架构知识管理B.架构修改管理C.架构版本管理D.架构构件管理参考答案。

2023年系统架构设计师考试真题及答案

2023年系统架构设计师考试真题及答案

2023年系统架构设计师考试真题及答案1. 真题部分题目一:系统架构设计的基本原则是什么?请简要概括。

答案:系统架构设计的基本原则包括清晰性、灵活性、可扩展性、可维护性和安全性。

清晰性要求系统架构设计清楚地表达出系统的结构和功能;灵活性要求系统架构设计具有适应业务需求变化的能力;可扩展性要求系统架构设计可以方便地进行扩展和集成;可维护性要求系统架构设计易于维护和修改;安全性要求系统架构设计能够保护系统免受潜在威胁。

题目二:什么是微服务架构?请简要描述其特点及优势。

答案:微服务架构是一种将软件系统拆分成多个独立可部署的服务的架构风格。

其特点包括每个服务独立部署、服务间通过轻量级的通信机制进行交互、围绕业务领域进行组织、使用自治的团队进行开发和维护。

微服务架构的优势包括灵活性高、可扩展性好、独立部署和维护、技术异构性和容错性强。

题目三:请简要描述分布式系统的概念及其应用场景。

答案:分布式系统是由多台独立计算机组成的系统,这些计算机通过网络进行通信和协调,共同完成一个或多个任务。

分布式系统的应用场景包括云计算、大数据处理、物联网、电子商务等。

由于分布式系统可以拓展计算和存储能力,提高系统的可靠性和性能,因此在处理大规模和复杂任务时具有重要作用。

2. 答案部分题目一答案详解:系统架构设计的基本原则是为了确保系统的高质量和可靠性。

清晰性要求架构设计清晰地表达出系统的组成和功能,确保系统的结构清晰可见;灵活性要求架构设计能够适应业务需求的变化,保证系统的可扩展性;可扩展性要求架构设计能够方便地进行扩展和集成,满足系统的增长需求;可维护性要求架构设计易于维护和修改,便于系统的持续演化;安全性要求架构设计能够保护系统的机密性、完整性和可用性,防止潜在的威胁。

题目二答案详解:微服务架构是一种通过将软件系统拆分成多个独立的服务来构建应用的架构风格。

每个服务都是一个独立部署的单元,通过轻量级的通信机制来实现服务之间的交互。

软考系统架构设计师易错知识点记忆一

软考系统架构设计师易错知识点记忆一

1、基于构件的软件开发中,已有的构建分类方法可以归纳为三大类:(1)关键字分类法。

根据领域分析的结果将应用领域的概念按照从抽象到具体的顺序逐次分解为树形或有向无回路图结构。

(2)刻面分类法。

利用Facet(刻面)描述构件执行的功能、被操作的数据、构件应用的语境或任意其他特征。

(3)超文本方法。

基于全文检索技术,使得检索者在阅读文档过程中可以按照人类的联想思维方式任意跳转到包含相关概念或构件的文档。

2、对于开发模型来说,()复用好、开发过程无间隙、节省时间。

()是瀑布与原型(演化)模型结合体,适用于复杂项目。

()需要用户参与,模块化要求高,不适用新技术。

()是用例驱动、架构为中心、迭代、增量。

(1)喷泉模型(2)螺旋模型(3)RAD模型(4)RUP模型开发模型特点如下:3、计算机英语identifying relationships识别关系Normalization正常化referential integrity参照完整性store procedure存储过程4、数据库的原子性是指操作序列要么全做要么全不做。

设计时用影子拷贝(浅拷贝)实现。

浅拷贝就是你的影子,深拷贝是你的克隆人,你没了影子也就没了,但是克隆人还活着。

数据库从一个一致性状态变到另一个一致性状态称为一致性。

设计时用完整性约束检查实现。

5、Redis和memcache6、分布透明性包括:分片透明性、位置透明性和局部数据模型透明性。

(1)分片透明性是分布透明性的最高层次。

所谓分片透明性是指用户或应用程序只对全局关系进行操作而不必考虑数据的分片。

当分片模式改变时,只要改变全局模式到分片模式的映像,而不影响全局模式和应用程序。

全局模式不变,应用程序不必改写,这就是分片透明性。

(2)位置透明性是分布透明性的下一层次。

所谓位置透明性是指,用户或应用程序应当了解分片情况,但不必了解片段的存储场地。

(3)局部数据模型(逻辑透明)透明性是指用户或应用程序应当了解分片及各片断存储的场地,但不必了解局部场地上使用的是何种数据模型。

2023年高级软考《系统架构设计师》考试历年真题摘选附带答案

2023年高级软考《系统架构设计师》考试历年真题摘选附带答案

2023年高级软考《系统架构设计师》考试历年真题摘选附带答案第1卷一.全考点综合测验(共20题)1.【单选题】M 软件公司的软件产品注册商标为N,为确保公司在市场竞争中占据优势,对员工进行了保密约束。

此情形下,( )的说法是错误的。

A.公司享有商业秘密权B.公司享有软件著作权C.公司享有专利权D.公司享有商标权2.【单选题】详细的项目范围说明书是项目成功的关键。

______不应该属于范围定义的输入。

A.项目章程B.项目范围管理计划C.批准的变更申请D.项目文档管理方案3.【单选题】实时操作系统( RTOS)内核与应用程序之间的接口称为( )。

A.I/OB.CacheC.APID.GUI4.【单选题】某公司承接了一个开发家用空调自动调温器的任务,调温器测量外部空气温度,根据设定的期望温度控制空调的开关。

根据该需求,公司应采用_______架构风格最为合适。

A.解释器B.过程控制C.分层D.管道-过滤器5.【单选题】软件架构设计包括提出架构模型、产生架构设计和进行设计评审等活动,是一个迭代的过程。

以下关于软件架构设计活动的描述,错误的是______。

A.在建立软件架构的初期,一般需要选择一个合适的架构风格B.将架构分析阶段已标识的构件映射到架构中,并分析这些构件之间的关系C.软件架构设计活动将已标识构件集成到软件架构中,设计并实现这些构件D.一旦得到了详细的软件架构设计,需要邀请独立于系统开发的外部人员对系统进行评审6.【单选题】项目时间管理包括使项目按时完成所必需的管理过程,活动定义是其中的一个重要过程。

通常可以使用_____来进行活动定义A.鱼骨图B.工作分解结构(WBSC.层次分解结构D.功能分解图7.【单选题】软件的横向重用是指重用不同应用领域中的软件元素。

______是一种典型的、原始的横向重用机制A.对象B.构件C.标准函数库D.设计模式8.【单选题】网络系统生命周期可以划分为5 个阶段,实施这5 个阶段的合理顺序是______。

系统架构设计师考试试题

系统架构设计师考试试题

系统架构设计师考试试题系统架构设计师考试试题及答案选择题1. 系统架构设计师负责的系统工程工作包括()A. 需求调研、分析和整理B. 系统设计、开发和测试C. 系统运维、监控和优化D. 系统规划、架构和设计答案:D2. 下列关于系统架构设计师的职责描述中,不正确的是()A. 负责系统的整体架构设计,包括系统规划、功能模块设计、接口设计等B. 负责系统开发过程中的技术难题攻关和关键技术验证C. 负责制定系统开发计划和进度安排,并监督开发团队按计划执行D. 负责系统的性能测试、安全测试和兼容性测试,确保系统稳定可靠答案:C3. 下列关于软件开发生命周期的描述中,不正确的是()A. 需求分析阶段需要确定系统的功能、性能等要求B. 设计阶段需要根据需求分析的结果,设计出系统的整体架构和各个模块的详细设计C. 编码阶段是根据设计结果,编写出符合要求的代码D. 测试阶段只需要进行单元测试和集成测试,不需要进行系统测试和验收测试答案:D4. 下列关于软件工程方法的描述中,不正确的是()A. 软件工程方法是软件开发和维护的工程化方法B. 软件工程方法强调使用结构化的方法进行软件开发和维护C. 软件工程方法不包括面向对象的方法D. 软件工程方法需要使用软件工具进行支持答案:C5. 下列关于软件架构的描述中,不正确的是()A. 软件架构是软件系统的高级结构,用于定义软件系统的整体结构和组织B. 软件架构的主要目的是为了解决软件系统中的复杂问题,提高软件系统的可维护性和可扩展性C. 软件架构的设计不需要考虑软件系统的性能和安全性D. 软件架构可以采用多种不同的风格和模式,如分层架构、事件驱动架构等答案:C。

系统架构设计师案例分析试题加答案

系统架构设计师案例分析试题加答案

系统架构设计师案例分析试题加答案(一)系统架构设计师考试属于软考中的一项高级资格考试,考试分综合知识、案例分析和论文3个科目。

下午的案例分析是考试的一大难点,希赛小编为大家整理了几道系统架构设计师案例分析试题,希望对大家有所帮助。

试题一阅读以下关于软件系统数据建模的说明,回答问题。

某软件公司成立项目组为某高校开发一套教职工信息管理系统。

与教职工信息相关的数据需求和处理需求如下。

数据需求:在教职工信息中能够存储学校所有在职的教工和职工信息,包括姓名、所属部门、出生年月、工资编号、工资额和缴税信息;部门信息中包括部门编号、部门名称、部门人数和办公地点信息。

33处理需求:能够根据编制内或外聘教职工的工资编号分别查询其相关信息;每个月的月底统一核发工资,要求系统能够以最快速度查询出教工或者职工所在部门名称、实发工资金额;由于学校人员相对稳定,所以数据变化及维护工作量很少。

项目组王工和李工针对上述应用需求分别给出了所设计的数据模型(如图所示)。

王工遵循数据库设计过程,按照第三范式对数据进行优化和调整,所设计的数据模型简单且基本没有数据冗余;而李工设计的数据模型中存在大量数据冗余。

项目组经过分析和讨论,特别是针对数据处理中对数据访问效率的需求,最终选择了李工给出的数据模型设计方案。

1、请用300字以内的文字,说明什么是数据库建模中的反规范化技术,指出采用反规范化技术能获得哪些益处,可能带来哪些问题。

2、请简要叙述常见的反规范化技术有哪些。

3、请分析李工是如何应用反规范化技术来满足教职工信息管理需求的。

参考答案1、规范化设计后,数据库设计者希望牺牲部分规范化来提高性能,这种从规范化设计的回退方法称为反规范化技术。

采用反规范化技术的益处:降低连接操作的需求、降低外码和索引的数目,还可能减少表的数目,能够提高查询效率。

可能带来的问题:数据的重复存储,浪费了磁盘空间;可能出现数据的完整性问题,为了保障数据的一致性,增加了数据维护的复杂性,会降低修改速度。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

2020年软考系统架构设计师复习题(一)架构决定成败
软件架构是软件产品、软件系统设计当中的主体结构和主要矛盾。

任何软件都有架构,哪怕一段短小的HelloWorld程序。

软件架构设计
的成败决定了软件产品和系统研发的成败。

软件架构自身所具有的属
性和特点,决定了软件架构设计的复杂性和难度。

这几年流行一个说法(管理谚语):“细节决定成败”,这句话其
实只说对了一半。

细节确实很重要,很多项目、产品就输在细节的执
行上。

一方面,战术细节固然很重要,但另一方面,战略全局也同样
重要,对应的我们能够说:“战略决定成败”.战略性失败,就好比下
一盘围棋,局部下得再漂亮、再凌厉,如果罔顾大盘,己方连空都不
够了,还有官子(细节)获胜的机会吗?必然是中盘告负。

类似地,准确的软件架构设计,应该既包括战略全局上的设计,
也包括战术细节(关键路径)上的设计。

有一种错误的观点认为,软
件架构设计只要分分层和包,画一个大体的轮廓草图,就完事了。


种“纸上谈兵”型的架构师行为是非常有害的。

事实上,既然软件架
构是软件建筑的主体结构、隐蔽工程、承重墙和要害部位,那么软件
架构也必然要落实到实际的算法和代码,不但要有实现代码,还要包
括对这部分架构实行测试的代码,以保证获得高质量的、满足各种功
能和非功能质量属性要求的架构。

除了完成概念、模型设计外,软件
架构师一定要参与实际的编码、测试和调试,做一位真正的hands-on practitioner,这已经成为了敏捷软件工程所倡导的主流文化。

两个架构
我们在日常的软件产品和系统开发中,实际上会遇到两种、两个
部分的软件架构,即待开发的应用部分的软件架构(简称“应用架构”),以及既有的基础平台部分的软件架构(简称“基础架构”)。

这两部分架构之间是互为依赖、相辅相成的关系,它们共同组成了整个软件产品和系统的架构。

基础架构的例子包括:.NET和J2EE等主流的基础平台和各种公共应用框架,由基础库API、对象模型、事件模型、各种开发和应用的扩展规则等内容组成。

我们只有熟悉基础架构的构造细节、应用机理,才能有效地开发出高质量、高性能的上层应用。

不过,开发一个面向最终用户的软件应用系统和产品,仅仅掌握一般的计算机高级编程语言知识和基础平台架构、API的使用知识显然是不够的,我们还需要根据客户应用的类型和特点,在基础架构之上,设计出符合用户要求的高质量应用软件。

熟悉OOA、OOD抽象建模技术、设计原则以及架构模式和设计模式等等方法技术,不但有助于我们更好地理解和利用基础平台架构,也有助于我们设计开发出更高质量的应用软件架构。

相关文档
最新文档