架构师考试备战
文章平均质量分 85
架构师考试备战相关知识,如何备考,企业信息化战略与实施,软件工程,软件架构设计,项目管理,数据库系统,操作系统,计算机组成原理与体系结构,系统安全性与保密性设计,法律法规与标准化,数学与经济管理等考试知识学习
码农小何
喜欢IT,喜欢Java,喜欢分布式,喜欢Linux,喜欢学习新技术
展开
-
软件架构设计(十七) 到底什么是中台?
中台是一套结合互联网技术和行业特性,将企业核心能力以共享服务形式沉淀,形成“大中台,小前台”的组织和业务机制,供企业快速低成本的进行业务创新的企业架构。中台又可以进一步细分,比如业务中台,数据中台,XX中台。本质上,都是对企业通过能力在不同层面的沉淀,并对外能力开发。就这样子理解其实很抽象,难以理解,我们再来看看百科对于中台的概念。可以看到,概念也比较抽象,但是提到了中台是前台和后台之间的组织单元。而所谓的成本中心,订单中心,商品中心这类独立且可供企业多个事业部调用的服务,就可以称之为中台。原创 2023-09-11 08:18:33 · 519 阅读 · 0 评论 -
软件架构设计(十六) Web架构设计(三)
上一节我们了解到了,应用集成之后,压力集中在了数据库,而数据库缓解压力的方式有提升数据库本身性能和减少操作数据库的IO操作从而提升效率。提升数据库本身主要有数据库主从复制,做读写分离提升效率。还有一种就是按照业务进行数据库和表的拆分(垂直分库,水平分表),也就是我们的分库分表操作。减少数据库的IO操作,因为数据库的数据通常是放在磁盘上,所以读写操作数据库需要进行大量的I/O操作。而减少操作就是使用缓存技术,将查询的数据缓存起来,下次查询之后直接从缓存查询,不再走数据库,从而大大的提升了查询的性能。原创 2023-09-11 08:16:42 · 267 阅读 · 0 评论 -
软件架构设计(十五) Web架构设计(二)
上一次我们知道了,当Web架构不满足业务需求时,可能需要不同的架构去支撑,因此出现了架构的演化。但是演化过程中可能遇到一些不同的问题,会有一些不同的技术去解决.当我们有多台应用服务器做集群时, 一个问题是客户端的请求如何分发到对应的服务器上去, 这需要使用负载均衡技术来解决. 而另一个是用户每次访问到的服务器不一样, 如何维护session的一致性的问题. 我们先来了解一下这个问题是如何产生的。原创 2023-09-11 08:15:05 · 239 阅读 · 0 评论 -
软件架构设计(十四) Web架构设计(一)
而我们的服务器其实通常是放在一个机房的,也就是固定在某个区域, 而用户在离这个区域很远时访问的距离就会比较远, 速度相对较慢, 此时就会有CDN技术, 会将内容分发到不同的CDN站点, 作为镜像站点, 当请求到来时指向离用户最近的CDN站点, 从而提升访问效率, 如果本地CDN没有, 才会从真正的服务器资源.当分库分表之后仍然没法满足业务需求时,此时我们就需要考虑到缓存技术了,要尽量减少直接对数据库的查询,而将查询结果缓存下来,让下次访问时直接命中缓存,从而减少数据库的查询压力。原创 2023-09-11 08:12:57 · 268 阅读 · 0 评论 -
软件架构设计(十三) 构件与中间件技术
有些功能块其实是在服务端实现的,但是客户端要实现这个功能,你直接去调用远程的功能块时,会面临比如说网络问题,调用时怎么具体操作,等等一系列问题。就应运而诞生了中间件技术这样的技术,它在客户端构建起了服务端的一个代理对象,从而调用调用本地代理对象实现调用远程服务端。假设服务端有一个对象A存在,那么在客户端就有一个对象代理,代理的就是服务端的对象A。并且客户端把请求通过本地的转换机制,然后传递到远程服务端,通过一系列的解析解读之后,连接到服务端这一边来,然后服务端完成执行,再返回回去,最终返回给客户端。原创 2023-09-11 08:11:09 · 296 阅读 · 0 评论 -
软件架构设计(十二) 构件与中间件技术-构件概念
构件框架是一种专用的体系结构(通常围绕一些关键的机制),同时,也是一组固定的作用于构件层次机制的策略。当您理解这个构件是怎么一回事了,它能不能达到我们的要求,是不是完全匹配我们的需求, 假设这个构件不能完全满足需求,有些功能有,有些没有,此时就需要修改构件了.构件是一组通常需要同时部署的原子构件,构件和原子构件之间的区别在于,大多数原子构件永远不会单独被部署,尽管它们可以被单独部署。构件的定义不同地方的不同人,对它有不同的解读,解读的方向可能有些不一样,认可度比较高的就是定义1.—>修改构件—>组装构件.原创 2023-09-11 08:09:30 · 778 阅读 · 0 评论 -
软件架构设计(十一) 软件产品线
软件产品线是从DSSA(特定领域架构)扩展而来的,我们从事软件开发,当您有了多年的经验之后,往往会沉淀到某一个特定领域,然后做这个领域的行业软件。此时,您会把一些共性的东西开发出来,稳定下来。如果以后再开发同类型的系统时,做一些小修小改或者应用层面上的补充的个性化开发,就能够解决问题。在这个理论基础之上,由于DSSA的关注点还是架构这个层级,所以后面进一步演化出了软件产品线技术。软件产品线技术将DSSA,领域工程,软件架构,软件工程这一系列的技术把它给联通起来。变成一个比较可行的方法论。原创 2023-09-11 08:08:27 · 429 阅读 · 0 评论 -
软件架构设计(十) 架构评估(复审)-方法论
我们上一节讲到了为什么么要进行架构的评估, 以及架构评估有哪些质量属性,本节正式来学习架构评估的一些方法论。再讲到架构评估之前,还需要了解几个概念,也就是风险点,非风险点,敏感点,权衡点等。原创 2023-09-06 07:58:45 · 1178 阅读 · 0 评论 -
软件架构设计(九) 架构评估(复审)
我们上一节讲到了架构的复审,也说明架构复审对应了现在的架构评估。我们学习架构评估之前先了解一下为什么要进行架构评估呢?架构苹果到底评估什么?架构评估该如何评估?我们先了解这几个为什么之后,理解了这几个为什么去学习会更加有效。原创 2023-09-06 07:56:53 · 649 阅读 · 0 评论 -
软件架构设计(八) 基于架构的软件开发方法
ABSD虽然在日常生活中并不常见,但是在考试中却是极为常见的,因此仍然是我们的重点学习知识点。原创 2023-09-06 07:56:14 · 1207 阅读 · 0 评论 -
软件架构设计(七) 特定领域软件架构
架构描述语言(ADL)是这样的一种形式化语言,它在底层语义模型的支持下,为软件系统的概念体系结构建模提供了具体语法和概念框架。基于底层语义的工具为体系结构的表示、分析、演化、细化、设计过程等提供支持。其实即便是有着丰富的开发经验的程序员,也几乎全部都没有用过这些工具。使用类似流程图方式,来描述哪些架构如何关联在一起。考的不多,知道即可。原创 2023-09-06 07:54:41 · 196 阅读 · 0 评论 -
软件架构设计(六) 软件架构风格-MDA(模型驱动架构)
MDA的最外围,则代表MDA可以应用在各式不同的领域环境中,诸如电子商务(E-Commerce),电信(Telecom),医疗保健(HealthCare),运输(Transportation),航空(Space),制造(Manufacturing),金融(Finance)等领域。重要的是,它们代表了对系统不同层次的抽象,从不同的视角来看待我们的系统,将高层次的PIM 转换到PSM 的能力提升了抽象的层次。传统的开发过程从模型到模型的变换,或者从模型到代码的变换是手工完成的。这就是一种典型的实现。原创 2023-09-06 07:52:48 · 880 阅读 · 0 评论 -
软件架构设计(五) 软件架构风格-微服务
在容器技术出来之前,服务部署模式主要以物理机或虚拟机为主,虽然服务可以被拆分成很小的服务(也就是微服务),但是考虑到操作系统的部署成本,最终这些服务还是会被合并部署。我们将服务按照业务拆分变成一个个微小的服务之后,会产生之前成倍的服务数量,那么如何实现进行服务治理,实现自动化部署与持续集成,DevOps等。另外,应当尽量避免统一的、集中式的服务管理机制,对具体的一个服务而言,应根据业务上下文,选择合适的语言、工具对其进行构建。微服务顾名思义,就是很小的服务,所以它属于面向服务架构的一种。原创 2023-09-06 07:51:01 · 507 阅读 · 0 评论 -
软件架构设计(四) 基于服务的架构(SOA)
服务总线为应用系统之间的互联互通提供了一个基于网络的,中心化的连接中枢,它可以通过一整套标准化的协议适配器(如JMX协议,SOAP协议等)来支持应用之间在信息,事件,服务级别上动态互联互通,被接入的应用甚至还可以通过流程化的编排,把这些基础服务聚合成更大粒度的复杂服务,并通过UDD i这类协议暴露出去 ,供第三方查阅和调用。有了服务描述之后,我们讲服务的描述信息和IP地址和端口等存储在注册中心里,而服务提供者根据服务描述向注册中心查找对应的服务,拿到IP和端口号,从而发起请求的调用。原创 2023-09-06 07:49:47 · 872 阅读 · 0 评论 -
软件架构设计(三) B/S架构风格-层次架构(一)
层次架构风格从之前的两层C/S到三层C/S,然后演化为三层B/S架构,三层B/S架构之后仍然在往后面演化,我们来看一下层次架构演化过程中都有了哪些演化的架构风格呢?而我们先简单了解一下之前的层次架构风格中分层的各个层次的作用。原创 2023-09-01 07:43:59 · 1379 阅读 · 0 评论 -
软件架构设计(二) 软件架构风格其他风格简介
开环:给定一个值,然后由控制器对这个值进行发送指令,就是使用执行器去执行这个事情,然后把这个控制量提交到了被控制对象,完了之后,控制对象按控制的情况进行执行,这就是开环。开环对应的有遥控器控制频道,你按下1频道,就会跳转到1频道。容易产生问题,就是万一你发送过去了,但是没有接收到,没有一个反馈机制,它可能就丢失了。原创 2023-09-01 07:42:04 · 294 阅读 · 0 评论 -
软件架构设计(一) 软件架构的概念
在讲到软件架构的概念时,首先我们要了解到,架构是在做什么样的事情,它在整个软件开发周期中所属什么样的位置。之前学习软件工程时,我们学到了开发模型,里面涉及到需求分析,概要设计,详细设计,编码,测试。但事实上,没有提到架构这个东西。为什么这么重要的东西没有在软件开发模型体现呢,其实是因为软件架构的兴起是滞后于软件开发模型的。比如瀑布模型,是用结构化的方式设计的,也就是面向过程的程序,那时候是没有涉及到架构的概念的。其实架构设计就放在原来的需求分析之后,软件设计之前。原创 2023-09-01 07:38:41 · 147 阅读 · 0 评论 -
软件工程(二十) 系统运行与软件维护
时至今日,你想去开发一个系统,想完全不涉及到已有的系统,基本是不可能的事情。但是对于已有系统我们有一个策略。比如我们是淘汰掉已有系统,还是继承已有系统,或者集成已有系统,或者改造遗留的系统呢,都是不同的策略。比如你开发是用的Java语言还是python语言,你使用的框架是spring家族还是flask等,就是技术维度。新的稳定的技术的技术水平就比老的技术水平(技术维度)高一些。主要是看您现在的系统的业务流程是否能符合现有的业务流程需要,就是能否体现它的业务价值。原创 2023-08-28 07:22:55 · 994 阅读 · 0 评论 -
软件工程(十九) 软件测试
软件测试主要了解软件测试的方法和软件的调试。原创 2023-08-28 07:21:10 · 683 阅读 · 0 评论 -
软件工程(十八) 行为型设计模式(四)
允许一个对象在其内部改变时改变它的行为状态变成类状态模式主要用来解决对象在多种状态转换时,需要对外输出不同的行为的问题。比如订单从待付款到待收货的咋黄台发生变化,执行的逻辑是不一样的。所以我们将状态抽象为一个接口或者抽象类,对不同状态进行封装成单独的实体,用于实现各种状态处理的逻辑。再设计一个上下文类,它组合了状态接口,用于发送请求。针对不同的状态提供不同的处理方法即可。其实我们可以看出来,状态模式和策略模式非常像,都有一个Context类,都有一个接口或抽象类被Context组合。原创 2023-08-28 07:20:00 · 1361 阅读 · 0 评论 -
软件工程(十七) 行为型设计模式(三)
定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并自动更新联动,广播消息基于上面的类图,我们来实现一个监听器。类图中的Subject对应我们的被观察对象接口(IObservable),Observer对应我们的监听器接口(IListener)我们实现被观察对象出现变化,然后通知所有的监听器实现类, 此接口我们参考JDK的观察者实现观察者模式其实就是被观察对象看里面包含了注册和删除监听的方法,所以会对所有的监听器进行管理。原创 2023-08-28 07:16:42 · 866 阅读 · 0 评论 -
软件工程(十六) 行为型设计模式(二)
提供一种方法来顺序访问一个聚合对象中的各个元素,而不是暴露该对象的内部状态数据集,迭代,循环其实迭代器模式在我们的不同语言中,均对其实现了,就是我们的各种集合,List,Set等都是迭代器模式的实现。就是把一个集合中的元素一个一个的遍历迭代出来。原创 2023-08-28 07:14:21 · 79 阅读 · 0 评论 -
软件工程(十五) 行为型设计模式(一)
通过多个对象处理的请求,减少请求的发送者与接收者之间的耦合。将接受对象起来,在链中传递请求,直到有一个对象处理这个请求。传递职责由类图可以比较容易的看出来,其实就是自己关联自己,形成了一个链,并且自己有不同的实现类,实现类就是在链路上的一环又一环。比如请假需要经过层层职级不一样的人进行审批。原创 2023-08-27 08:01:38 · 782 阅读 · 0 评论 -
软件工程(十四) 设计模式之结构型模式(二)
将对象组合成树形结构以表示“整体-部分”的层次结构,使得用户对单个对象和组合对象的使用具有一致性。树形目录结构由类图其实可以看出,组合模式就是将具有父子关系的结构,组装形成一棵树,并且根据规范,树干节点和叶子节点均需要实现统一接口或者继承同一个抽象类。只是各自实现树干和叶子节点的特有功能。下面我们以菜单目录和菜单为例,使用组合模式组装菜单。如果通过断点,我们可以非常清晰的看清楚整棵树的结果,非常的清晰的表示了父子结构,展示了整体和部分的逻辑。原创 2023-08-27 07:59:42 · 1139 阅读 · 0 评论 -
软件工程(十三) 设计模式之结构型设计模式(一)
前面我们记录了创建型设计模式,知道了通过各种模式去创建和管理我们的对象。但是除了对象的创建,我们还有一些结构型的模式。原创 2023-08-27 07:57:58 · 1239 阅读 · 0 评论 -
软件工程(十二) 设计模式之创建型模式
我们传统的23种设置模式如下本篇文章主要说明创建型模式,它的类图,设计思想以及Java代码的实现。原创 2023-08-27 07:55:29 · 1272 阅读 · 0 评论 -
软件工程(十一) 系统设计分类
模式通俗来讲就是套路,比如武侠小说跳悬崖之后必有奇遇,这就是一套套路,也是一种模式。很多时候我们会有一些模式化的东西,却解决一些现有的问题,是一种很不错的策略,这就是设计模式。原创 2023-08-27 07:52:15 · 1427 阅读 · 0 评论 -
软件工程(十) 需求工程之需求开发与管理
前面提到需求工程相关概念时,知道了需求开发分为需求的获取->需求分析->需求定义->需求验证四个阶段。需求获取主要是通过跟客户访谈,电话沟通,开会,问卷等获取原始需求,然后将原始需求进行分析整合就是需求分析。而将整合后的需求,落地成真正的需求规格说明书,形成SRS时至关重要的一步,也就是需求定义的过程。需求定义有哪些方法呢?严格定义法结构化方法,适用于需求明确场景所有需求都能够被预先定义开发人员与用户之间能够准确而清晰的交流采用图形/文字可以充分体现最终系统原型法适合于需求不明确。原创 2023-08-27 07:50:54 · 1208 阅读 · 0 评论 -
软件工程(九) UML顺序-活动-状态-通信图
顺序图和后面的一些图,要求没有用例图和类图那么高,但仍然是比较重要的,我们也需要按程度去了解。原创 2023-08-27 07:48:59 · 1087 阅读 · 0 评论 -
软件工程(八) UML之类图与对象图
接口、协作和它们之间的关系及它们之间的关系、描述了在中所建立的。原创 2023-08-27 07:46:23 · 1503 阅读 · 0 评论 -
软件工程(七) UML之用例图详解
用例图是描述。原创 2023-08-27 07:43:15 · 1226 阅读 · 0 评论 -
软件工程(六) 面向对象分析(OOA)之UML图特点
面向对象分析里面有一个非常重要的工具叫UML,UML不仅在工作中非常重要,在考试当中也是非常重要的,即作为上午综合体,又大概率又会出现在下午的案例分析中,作为一个25分的大题。UML叫做统一建模语言,它主要用于需求分析和软件的设计,来做一些模型的制作。比如我们要开发一个系统,如果我们用纯粹的文字表达和表述,可以想象相关人员理解会多么困难。所以将收集到的相关信息用图形直观的展示出来,UML就是做这么一个事情。从而便于大家的沟通和后续的设计和开发。原创 2023-08-27 07:40:39 · 920 阅读 · 0 评论 -
软件工程(四) 需求工程概念与分类
高层次的需求,比如老板(决策层)说因为什么样的背景下,要开发一个xxx系统,以完成什么什么样的工作,达到什么样的要求。比如:假如你是项目负责人,项目时间维度是六个月,项目奖金是10w, 你手下的一个程序员悄悄的做了镀金需求,导致项目延期,你一毛钱没拿到,还浪费了人力人本。也叫隐含需求,客户没说,但是从他的角度来说,这个东西就是我不说,你也应该要知道的需求。基本需求就是客户明确要求要实现的需求,即可能是功能上的,也可能是性能上的,也可以是设计约束。简单来说,就是用户对系统的期望,所以很多的需求来自于用户方。原创 2023-05-19 08:07:35 · 503 阅读 · 0 评论 -
软件工程(五) 结构化需求与面向对象需求分析
前面提到需求工程相关概念时,知道了需求开发分为需求的获取->需求分析->需求定义->需求验证四个阶段。需求获取主要是通过跟客户访谈,电话沟通,开会,问卷等获取原始需求,然后将原始需求进行分析整合就是需求分析。而将整合后的需求,落地成真正的需求规格说明书,形成SRS时至关重要的一步,也就是需求定义的过程。需求定义有哪些方法呢?严格定义法结构化方法,适用于需求明确场景所有需求都能够被预先定义开发人员与用户之间能够准确而清晰的交流采用图形/文字可以充分体现最终系统原型法适合于需求不明确。原创 2023-05-19 08:11:28 · 660 阅读 · 0 评论 -
软件工程(二) 软件开发模型
软件开发模型主要了解如下这些模型,加粗表示重点要掌握的模型。原创 2023-05-16 07:00:28 · 288 阅读 · 0 评论 -
企业信息化战略与实施小结
香农(shannon): 信息是用来消除不确定性的东西维纳(Norbert Wiener): 信息就是信息 既不是物质 也不是能量 被认为信息,物质,能量是世界组成的三种元素。原创 2023-05-14 08:17:57 · 265 阅读 · 0 评论 -
企业信息化战略与实战(三)-企业信息化与电子商务概念
上面我们了解了政府信息化与企业信息化的部分概念,今天继续了解企业信息化的相关概念和电子商务相关概念。原创 2023-05-13 07:44:27 · 255 阅读 · 0 评论 -
企业信息化战略与实战-企业信息化
我们的各个系统都有各自的数据库, 将这些数据库的表和数据抽取到同一个库,这个库保存的是各个库原封动的数据,就叫做数据湖, 也叫ODS层.我们从各个业务数据库或者数据胡抽取数据,并进行加工清洗得到想要的结构化数据, 然后入库到统一的一个库.这个库如果包含了整个企业的数据分析数据,那就是一个数据仓库, 如果仅仅包含某个部门的,用于某个部门做数据分析,那就是数据集市.数据集市和数据仓库虽然得到了想要的数据,但是却丢了原始数据, 而数据湖保留了原始数据, 却数据过于杂乱. 所以应用的场景是不一样的.原创 2023-05-12 08:15:07 · 215 阅读 · 0 评论 -
企业信息化战略与实施(一)-信息化和战略方法论
企业战略,信息化战略、信息系统战略的区别和联系企业战略比如某公司是一家培训软件方面考试的机构,企业领导做企业战略就是进一步向水平扩展,可以去其他行业的培训,或者将软件方向,做软件架构实战的培训,就是进一步垂直延申。就是从企业的发展看问题的。信息化战略支撑企业战略,要有这些业务,就得有相应的业务系统来支持,就是要规划做哪些业务系统。信息系统战略从软件开发角度看,我需要什么系统来支持,哪些系统要优先做,哪些后做,哪些要做,哪些不做。这些系统是否能友好的连接在一起。原创 2023-05-11 21:48:14 · 487 阅读 · 0 评论 -
架构师备战(一)-软考如何备考
考试时间一般是每年的11月份,一年考一次,8-9月份开始报名。考试一般是所有科目均达到45分以上未合格。科目一:综合知识客观题 75分 时间为150分钟科目二:案例分析题主观题:5个大题,只做3题,第一题必做,后4题选2题做 总共90分钟科目三:论文论问题,4题选1题 共120分钟我们考试需要有哪些知识点,分数分布是如何的。知识点分数说明比例计算机组成原理与体系结构2-4。原创 2023-05-11 08:13:11 · 571 阅读 · 0 评论