软件架构师笔记

1.自然连接,需要去掉重复行。

  1. 测试覆盖由弱到强,语句覆盖-判定覆盖 -条件覆盖-判定/条件覆盖-条件组合覆盖-路径覆盖。

语句覆盖指被测程序每条语句至少执行一次,判定覆盖又称分支覆盖,不仅每条语句至少执行一次,而且每个判定表达式的每种可能的结果都至少执行一次。

条件覆盖每个条件都覆盖一次。

3.系统测试主要是为了发现需求分析阶段的问题。

4.用例图关系

5.逻开物进 软件架构设计与生命周期,逻辑视图 --开发视图-物理视图--进程视图 统一的场景。

6.ABSD 基于架构的软件设计 architecture-base-software-design 体系结构需求来自商业、质量和功能需求的组合驱动架构设计,功质商。

7.仓库体系结构风格,中央数据结构用于说明当前的数据的状态。

8.进程通信体系结构风格的连接件事消息传递。

  1. web服务描述语言wsdl描述了web服务的三个基本属性,服务做什么,如何访问服务和服务位于何处。

10.软件系统的质量属性可以分为开发期质量属性和运行期质量属性。

11.开发期质量属性,主要包含6个方面。

易理解性、可拓展性、可重用性、可测试性、可维护性、可移植性

运行期质量属性 性能、安全性、可伸缩性、互操作性、可靠性、可用性、鲁棒性。

12.机密性 保证信息不泄露给未授权 的用户、实体或进程。

13.敏感点:是指为了实现某种特定的质量属性,一个或多个构件所具有的特性。

14.质量属性效用树进行评估的是atam架构。包括树根-质量属性-属性分类-质量属性场景(叶子节点。)

15.面向服务的架构 soa特点
松耦合性 :服务之间通过接口进行交互,彼此之间的依赖关系较弱。这种松耦合的特性使得服务可以独立开发、部署和更新,不会因为某个服务的变化而对其他服务产生重大影响。例如在一个电商企业中,订单服务和库存服务是松耦合的,当订单 服务升级以适应新的促销策略时,库存服务可以保持不变。
可复用性 :服务是独立的业务功能单元,可以在多个不通的业务流程和应用场景中被重复使用。比如,用户认真服务可以在企业的多个系统如内部办公系统、客户服务系统中使用,减少了重复开发的工作量,提高了开发效率。
互操作性 :soa支持不同平台、不同编程语言和不通技术架构的系统之间的交互。通过使用标准的通信协议如http、soap等和数据格式如xmljson等,服务可以被各种类型的客户端调用,促进了企业内部和企业间的系统集成。
灵活性和适应性 :企业业务经常面临变化,soa架构可以轻松地对业务流程进行重新组合和调整。通过增加、修改或删除服务,可以快速响应市场变化和业务需求的调整。例如,当企业推出新的业务员模式时,可以通过组合现有的服务或开发新的服务来满足新的业务流程。

面向服务的架构关键技术:

(1)服务描述语言 :常用的服务描述语言有wsdl等wsdl用于描述服务的功能、接口、输入输出参数以及调用方式等信息,使服务使用者能够清楚的了解服务的内容和使用方法。他是实现服务互操作性的重要集成,为服务的发布和调用提供了标准化的描述。

(2)服务注册与发现 :服务注册中心是soa的关键组件注意。例如UDDI,服务提供者将服务的描述信息注册到服务注册中心,服务使用者可以在注册中心查找所需的服务。这种机制方便了服务的管理和查找,提高了服务的利用率。

(3)消息传递机制 :在soa中,服务之间的通信通常通过消息传递来实现、可以使用soap或res等方式。soap是一种基于xml的协议,它提供了一种标准化的方法在不通的系统之间交换信息,rest则是一种轻量级的架构风格,利用http协议的方法如getpost来实现资源的操作和信息传递,更适合于简单的web应用场景。

面向服务的架构设计原则:

(1)业务驱动原则 :soa设计应以企业业务需求为出发点,将业务流程分解为一系列可管理的服务。首先要深入理解企业的业务模型和业务流程,识别出核心业务功能和业务规则,然后将这些业务功能抽象为服务,例如在金融企业中贷款审批流程可以分解为客户信息查、信用评估、风险分析等服务。

(2)服务粒度适中原则 :服务粒度的选择至关重要。如果服务粒度过细,会导致系统过于复杂,增加服务管理和调用的成本,如果粒度过租,则会降低服务的复用性。需要根据业务功能的性质和使用频率来确定合适的服务粒度。例如在一个物流惬意中,货物跟踪服务可以是一个相对独立且合适粒度的服务,而不是将货物的所有信息查询和操作都合并在一个大的服务众。

(3)分层架构原则 :采用分层的架构设计可以提高系统的可维护性和可拓展性。一般可以分为表现层、业务逻辑层和数据访问层。表现成负责与用户的交互,业务逻辑层包含了各种业务服务,数据访问层负责与底层数据库的交互。每个层次都有明确的职责,通过接口进行通信。例如,在一个企业资源规划中,用户在表现层提交订单,业务逻辑层的订单服务处理订单逻辑,数据访问层负责将订单数据存储到数据库中。

16.计算机信息系统安全保护等级划分标准: 第一级:用户自主保护级 第二级:系统审计保护级

第三季:安全标记保护级 第四级结构化保护级 第五级访问验证保护级。

17.构建是以二进制形式存在的,无需在部署前编译。

18.在atam设计之初,性能、可用性、安全性、和可修改性主要关注四种质量属性。性用安可。

19第一范式消除重复的组,第二范式消除非主属性对码的部分依赖,第三范式 进一步消除非主属性对码的传递依赖。

20 在数据库设计中逻辑设计阶段进行关系反规范化 数据库设计分为需求分析,概念设计,逻辑设计和物理设计4个主要阶段。

21 会话层不能提供相应的安全服务。

22需求分析常用的图包括用例图、活动图和类图 用例图用于描述系统的功能需求级外部因素,活动图用于表示系统行为或者业务流程,类图用于展示系统的静态结构。而构件图 主要用于系统设计和实现阶段,表示系统中各个物理模块直接的关系,因此不属于需求分析阶段常用的图。

23.良好的设计架构不具有的作用是使系统设计更符合需求。

24.MTBF mean time between failures 平均故障间隔时间,是系统在两个故障直接的平均正常运行时间。

MTTD mean time to detect 平均故障检测时间,是检测到故障所需的平均时间。

MTTR mean time to repair 平均修复时间,是修复故障所需的平均时间。

MTBR mean time between repairs 平均修复间隔时间,是修复后到再次发生故障的平均时间。

25.kvm xen hyper-v都是云计算之虚拟化技术 ,lvs linux virtual server主要用于负载均衡,不属于虚拟化技术。

26.基于任务的访问控制 tbac (Task-Based Access Control)模型由工作流、授权结构体,受托人集、许可集组成。

27.cmmi是软件过程架构由四个层次组成 方针、过程、规程和第四层的标准、规范指南、模板,checklist组成。

28、业务流程图 tfd (Transaction Flow Diagram) 是分析和描述现有系统的传统工具,

实体联系图 e-r图(Entity-relationship) 描述概念时间,建立概念模型的实用工具

数据流图 dfd(Data Flow Diagram)表达系统内数据的流动并通过数据流描述系统功能的一种方法。

数据字典 dd data dictionary 在dfd的基础上,对dfd出现的所有明明元素加以定义。

29.基于体系结构的软件设计 architecture-based software design 方法是体系结构驱动,是构成体系结构的商业、质量和功能需求的组合驱动。absd方法是一个自顶向下、递归细化的方法,软件系统的体系结构通过该方法得到细化,直到能产生软件构建和类

30.基于规则的系统包括规则集、规则解释器、规则、数据选择器及工作内存。

31.机会复用 是指开发过程中,只要发现有可复用的资产,就对其进行复用,系统复用 是指在开发前就要进行规划,以决定哪些要复用。

32.人工智能技术 ai芯片的特点有:新型计算方式、训练和推断、大数据处理能力、数据精度、可重构能力、软件工具。

33.sdn software defined network 软件定义网络 分为应用层、控制层、数据转发层。

34.企业数字化转型的五个发展阶段依次是初始级发展阶段、单机发展阶段、流程级发展阶段、网络级发展阶段、生态级发展阶段。

35.信息化需求包含三个层次,战略需求、运作需求和技术需求。

36.需求管理的主要活动包括变更控制、版本控制、需求跟踪、需求状态跟踪。

37 软件生命周期划分为 软件定义、软件开发、软件运行、软件维护。

38.尽量使用数据耦合、少用控制耦合和特征耦合、限制公共环境耦合的范围、完全不用内容耦合。

39 功能内聚性最强

40 pad图是结构化设计工具

41 构件有以下几个基本属性: 1 构件是可独立配置的单元,因此构建必须自包容。

2.构建强调与环境和其他构件的分离,因此构建的实现是严格封装的,外界没机会或没必要直到构件的内部实现细节。3. 构件可以在适当的环境中被符合使用,因此构件需要提供清楚的接口规范。

4.在任何环境中,最多仅有特定构件的一份副本。

42.包含引用下,一个外部对象拥有只想一个内部对象的唯一引用,外部对象只是把请求转发给内部对象。在聚集重用形式下,直接把内部对象的接口引用传给外部对象的客户,而不再转发请求。

43.静态测试指被测试程序不在机器上云霄,而采用人工检测和计算机辅助静态分析的手段对程序进行检测。

动态测试是通过运行程序发现错误,动态测试可以采用黑盒测试和白盒测试。

白盒测试也称为结构测试,根据程序内部逻辑结构设计测试用例,检测程序中的主要执行通路是否都能按预定要求正确工作。黑盒测试页称为功能测试,不考虑程序的内部结构和处理算法。

44.逻辑视图 页称为设计视图,表示设计模型中在架构方面具有重要意义的部分,即类、子系统、包和用例实现的子集,用于建模系统的组成部分以及各组成部分之间的交互方式,通常包括类图,对象图,状态图和协作图。

过程 进程视图 描述了并发与同步结构,描述了系统中的进程。
实现视图 ,描述系统各部分如何被组织为模块和组件即开发环境中软件的静态组织结构,该视图通常包含包图和组件图。
部署视图 ,部署到物理节点上,表示软件到硬件的映射和分布结构展示了抽象部分如何映射到最终部署的系统。

用例视图,最基本的需求分析模型

区别于 uml 4+1 视图 逻辑视图-实现视图-部署视图-进程视图 + 用例视图

架构4+1 逻辑视图-开发视图-物理视图-进程视图 场景

45.三层cs架构 1表示层 2 功能层 3.数据层。

46.发明专利 20年 申请日开始 实用新型和外观设计专利 10年 署名权修改权保护作品完整权 永久拥有

47.软件活动主要包括:软件描述 软件开发,软件有效性验证,软件进化或者软件演化。

48 软件设计包括四个独立有相互联系的活动,数据设计 ,将模型转换成数据结构的定义,好的数据设计江改善程序结构和模块划分,降低过程复杂性。结构设计 :定义软件系统各个主要部件之间的关系 人机界面设计 :软件内部,软件和操作系统间以及软件和人之间如何通信。过程设计 :系统结构部件转换成软件的过程描述。

49 信息隐蔽可以提高软件的可修改性,可测试性和可移植性。

50 分片透明性:用户不需要知道逻辑上访问的表具体是如何分块存储的。

位置透明性:用户不关心数据存放的物理位置。

逻辑透明性:用户无需知道局部实用的是哪种数据模型。

复制透明性:用户不关心复制到数据从何而来。

分布式数据库特点,高可拓展性、高并发性、高可用性。

51关键成功因素法通过对关键成功因素的识别,找出实现目标所需要的关键信息集合,从而确定系统开发的优先次序 ,关键成功因素来源于组织的目标吗,通过组织的目标分解和关键成功因素识别,性能指标识别 。一直到产生数字字段。

52 系统应用集成,基本原则是保证应用程序的独立性 ,系统应用集成提供了4个不同层次的服务,最上层服务是 流程控制

53 可行性研究属于软件定义阶段的主要任务。

54.需求变更管理的过程主要包括问题分析和变更描述、变更分析和成本计算、变成实现

55.软件概要设计将软件需求转化为软件设计的数据结构 和软件的系统结构

56.软件结构化设计包括架构设计、接口设计、数据设计、过程设计

57 逆向工程 结构级 包括反映程序各部分之间相互依赖关系的信息。

58.负载测试用于测试超负荷环境中程序是否能够承担。

压力测试:上限、系统资源足够的时候上限。

强度测试:下限、在系统资源特别低的情况下考察软件系统极限运行情况。

容量测试:测试系统同事处理的在线最大用户数量。

59.虚拟机体系结构风格包括解释器体系结构风格 和规则系统体系结构风格。

60.需求管理的活动包括变更控制、版本控制,需求跟踪,需求状态跟踪。

61.构件组成软件系统的过程可以分为三个不同的层次,定制、集成和拓展

62.结构化程序设计采用自顶向下,逐步求精及模块化的程序设计方法,通过顺序、分支、循环 三种基本的控制结构可以构造出任何单入单出口的程序。

63.面向对象的分析模型主要由顶层架构图、用例与用例图和领域概念模型构成。

64.基于体系结构的软件设计方法,采用用例 来描述功能需求,采用质量场景 描述质量需求

65 erp enterprise resource planning 是利用现代企业的先进管理思想,对企业的物流、资金流和信息流进行全面集成管理的管理信息系统。

66.螺旋模型是在快速原型的基础上拓展而成的。

67.软件开发工具:需求分析工具、设计工具、编码与排错工具

软件维护工具:版本控制工具、文档分析工具,开发信息库工具、逆向工程工具、再工程工具。

软件管理和软件支持工具:项目管理工具、配置管理工具、软件评价工具、软件开发工具的评价和选择。

68架构描述语言 architecture description language ADL 主要包括一下组成部分:组件、组件接口、连接件和架构配置。

69.dssa doman specific software architecture DSSA

基本活动包括领域分析、领域设计和领域实现 。领域分析主要是获得领域模型 ,从而描述领域中系统之间共同的需求,即领域需求。领域设计的主要目标是获得特定领域软件架构 ,从而描述领域模型中表示需求的解决方案。领域实现的主要目标是开发和组织可重用信息 ,并对基础软件架构进行实现。

70.螺旋模型是在快速模型的基础上扩展而成的一种生存周期模型

71.外模式 描述局部数据的逻辑结构和特征。 概念模式 也称模式 ,不仅要描述概念记录类型,还要描述记录间的联系、操作、数据的完整性和安全性等要求 内模式 物理结构

72.erp企业资源管理的三流指 物流、资金流、信息流

73.结构化分析的特点是 面向数据流

74.结构化分析 自顶向下、逐步分析、

75用例关系 包含 include ---》扩展 拓展出子关系 例如买东西用例->使用优惠券用例 《---- 泛化 (父子关系) 例如 出行方式-》骑单车--骑电动车。

7.质量效用树 用遍互修,全靠性能 可用性、可变性、互操作性、可修改性 安全性,可靠性、性能、功能性。

77.质量属性场景中,实用六元素来描述题目中可用性的两个场景。
刺激源 。某个生成刺激的实体 ,人、计算器。 刺激 :指刺激到达系统时需要考虑的条件。
环境 :指该刺激在某些条件时发生。 制品 :某个制品被激励,可能是整个系统,也可能是系统的一部分 响应 :指在激励达到后所采取的行动 响应度量 :响应发生时,应当能够以某种方式对其度量。

78uml 时序图表示条件分支序列片段的有哪些
可选片段 :表示一种分支条件 条件片段 看,表示一种多条件分支。 并行片段 :有两个或者多个并行子片段 循环片段 ,表示一个循环 中断片段 ,表示一个有监护条件的子片段

79 非直接耦合 两个模块之间没有之间关系
数据耦合 模块之间通过值传递完成调用关系。、
标记耦合 模块之间传递的是数据结构
控制耦合 模块之间传递的是控制变量
通信耦合 模块之间共享了输入或者输出
公共耦合 范围同一个公共数据环境 如全局变量 共享通信公共内容等
内容耦合 一个模块之间访问另一个模块的内部数据,一个模块通过非正常入口转入另一个模块内容。

80:功能内聚 :完成单一功能,各部分协同工作,缺一不可,是最强的内聚
顺序内聚 :模块内的处理元素都密切相关切按顺序执行
通信内聚 :模块内所有处理元素集中在一个数据结构的区域上。
过程内聚 :模块内的处理元素都密切相关并按特定的次序执行。
时间内聚 :模块内的任务必须在同一时间间隔执行。
逻辑内聚 :模块内通过参数确定完成逻辑上相关的一组任务。
偶然内聚 :也称巧合内聚,模块内的处理元素之间没有任何联系,是最弱的内聚。

81 增加冗余列 2.增加派生列 3.表分割。数据同步方法:1.应用程序同步,通过应用程序在更新数据的同时,同步更新对应的冗余数据。

2 触发器同步,触发器同步是与表相关事件通过出差过程,增加表触发器。

3.批处理通报不,数据一致性要求不高的时候,操作一段时间后根据更新数据进行批量的同步操作,使得冗余数据和更新数据保持一致。

8敏感点:是为了实现某种特定质量属性,一个或者多个系统组件所具有的特性。权衡点:是影响多个质量属性,炳对多个质量属性来说都是敏感点的系统属性。

82 数据流图元素,外部实体、 加工、数据流、数据存储

83结构化编程 自顶向下,逐步求精

84 秘密 10年 机密20年 绝密30年

85 rup 制定计划和资源要求的阶段是细化阶段初始阶段 :明确项目范围和可行性
构建阶段 :实现软件产品并进行测试。 交付阶段 :部署产品并收集用户反馈。

86逆向工程用户恢复信息的方法有四类 用户指导下的搜索和变换 用于导出实现级和结构级信息

变换式方法:除领域级外所有的抽象级别上的信息。

基于领域知识的方法:领域级 板铅 推到实现级和结构级

87 逆向工程 实现级、结构级、功能级、领域级。

88 活动图中 动作状态 是原子的,活动状态 是可以分解的

89 软件著作权决定公开权利的是发表权

90 工业大模型中基础设施层和应用层中间的三层是 基座层、模型层、交互层。

91 边缘计算优点 包括降低延迟 提高安全性 降低功耗,优化带宽。不包括提升带宽。

92 源代码不属于项目管理和过程支持域。属于工程类。

93 健壮性不属于可靠性。

94 scrum产品代办列表排序标准是商业价值。

95黑板架构风格中用于进行数据处理和计算的构建是知识源

总结

已考过,感觉软件架构师和软件设计师难度差不多,论文要复习,案例和基础知识,如果有过开发经验5年以上基本问题都不大,准备好论文就过基本是没问题的。

相关推荐
宵时待雨44 分钟前
C语言笔记归纳17:数据的存储
c语言·开发语言·笔记
崇山峻岭之间1 小时前
C++ Prime Plus 学习笔记037
c++·笔记·学习
CS Beginner1 小时前
【单片机】orange prime pi开发板与单片机的区别
笔记·嵌入式硬件·学习
zore_c1 小时前
【C语言】数据结构——顺序表超详解!!!(包含顺序表的实现)
c语言·开发语言·数据结构·c++·经验分享·笔记·线性回归
im_AMBER9 小时前
Leetcode 74 K 和数对的最大数目
数据结构·笔记·学习·算法·leetcode
断剑zou天涯10 小时前
【算法笔记】蓄水池算法
笔记·算法
【上下求索】10 小时前
学习笔记095——Ubuntu 安装 lrzsz 服务?
运维·笔记·学习·ubuntu
Benmao⁢10 小时前
C语言期末复习笔记
c语言·开发语言·笔记·leetcode·面试·蓝桥杯
2401_8345170711 小时前
AD学习笔记-27 泪滴的添加和移除
笔记·学习