浅谈架构备考.补缺.V1

2022.11.28

可靠性分析

to repair + to failure = between failure

在这里插入图片描述
平均故障间隔时间。平均故障间隔时间(Mean Time Between Failure,MTBF)常常与 MTTF 发生混淆。
因为两次故障(失败)之间必然有修复行为,因此,MTBF 中应包含 MTTR。

对于可靠度服从指数分布的系统,从任一时刻 t 0 到达故障的期望时间都是相等的,因此有:
MTBF = MTTR + MTTF

cbsd构建标准在这里插入图片描述

参考题目
37.在服务端构件模型的典型解决方案中,(》较为适用于应用服务器
A.EJB和COM+模型
B.EJB和servlet模型
C.COM+和ASP.模型
D.COM+和servlet模型

CMMI 能力成熟度模型改进

W-CMM(软件能力成熟度模型)为软件企业的过程能力提供了一个阶梯式的进化框架,阶梯共有五级。第一级实际上是一个起点,任何准备按 CMM 体系进化的企业都自然处于这个起点上,并通过这个起点向第二级迈进。除第一级外,每一级都设定了一组目标,如果达到了这组目标,则表明达到了这个成熟级别,可以向下一个级别迈进。 CMM 体系不主张跨越级别的进化,因为从第二级起,每一个低的级别实现均是高的级别实现的基础。
(1)初始级。初始级的软件过程是未加定义的随意过程,项目的执行是随意甚至是混乱的。也许,有些企业制定了一些软件工程规范,但若这些规范未能覆盖基本的关键过程要求,且执行没有政策、资源等方面的保证时,那么它仍然被视为初始级。
(2)可重复级。根据多年的经验和教训,人们总结出软件开发的首要问题不是技术问题而是管理问题。因此,第二级的焦点集中在软件管理过程上。一个可管理的过程则是一个可重复的过程,一个可重复的过程则能逐渐进化和成熟。第二级的管理过程包括了需求管理、项目管理、质量管理、配置管理和子合同管理五个方面。其中项目管理分为计划过程和跟踪与监控过程两个过程。实施这些过程,从管理角度可以看到一个按计划执行的且阶段可控的软件开发过程。
(3)定义级。在第二级仅定义了管理的基本过程,而没有定义执行的步骤标准。在第三级则要求制定企业范围的工程化标准,而且无论是管理还是工程开发都需要一套文档化的标准,并将这些标准集成到企业软件开发标准过程中去。所有开发的项目需根据这个标准过程,剪裁出与项目适宜的过程,并执行这些过程。过程的剪裁不是随意的,在使用前需经过企业有关人员的批准。
(4)管理级。第四级的管理是量化的管理。所有过程需建立相应的度量方式,所有产品的质量(包括工作产品和提交给用户的产品)需有明确的度量指标。这些度量应是详尽的,且可用于理解和控制软件过程和产品。量化控制将使软件开发真正变成一种标准的工业生产活动。
(5)优化级。第五级的目标是达到一个持续改善的境界。所谓持续改善是指可根据过程执行的反馈信息来改善下一步的执行过程,即优化执行步骤。如果一个企业达到了这一级,那么表明该企业能够根据实际的项目性质、技术等因素,不断调整软件生产过程以求达到最佳。
2.CMMI
CMMI(Capability MaturityModel Integration),即能力成熟度模型集成。CMMI 是 CMM 模型的最新版本。CMMI 与 CMM 最大的不同点在于:

CMMISM-SE/SW/IPPD/SS 1.1
版本有四个集成成分,即:系统工程(SE)和软件工程(SW)是基本的科目,对于有些组织还可以应用集成产品和过程开发方面(IPPD)的内容,如果涉及供应商外包管理可以相应地应用
SS(Supplier Sourcing)部分

66:对于集成商、外包协作方面也有支撑标准。

CMMI 有两种表示方法,一种是和软件 CMM 一样的阶段式表现方法,另一种是连续式的表现方法。这两种表现方法的区别是:阶段式表现方法仍然把 CMMI 中的若干个过程区域分成了 5 个成熟度级别,帮助实施 CMMI 的组织建议一条比较容易实现的过程改进发
展道路。

而连续式表现方法则通过将 CMMI 中过程区域分为四大类:过程管理、项目管理、工程及支持。对于每个大类中的过程区域,又进一步分为基本的和高级的。这样,在按照连续式表示方法实施 CMMI 的时候,一个组织可以把项目管理或者其他某类的实践一直做到最好,而其他方面的过程区域可以完全不必考虑。

在这里插入图片描述

测试评审方法-测试阶段

关于被测的对象的 结构化展开,有意思哈
在这里插入图片描述

测试用例设计

白盒测试根据软件的内部逻辑设计测试用例,常用的技术是逻辑覆盖,即考察用测试数据运行被测程序时对程序逻辑的覆盖程度。主要的覆盖标准有 6 种:语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖、组合条件覆盖和路径覆盖。
(1)语句覆盖。语句覆盖是指选择足够多的测试用例,使得运行这些测试用例时,被测程序的每个语句至少执行一次。
很显然,语句覆盖是一种很弱的覆盖标准
(2)判定覆盖。判定覆盖又称分支覆盖,它的含义是,不仅每个语句至少执行一次,而且每个判定的每种可能的结果(分支)都至少执行一次。判定覆盖比语句覆盖强,但对程序逻辑的覆盖程度仍然不高。
(3)条件覆盖。条件覆盖的含义是,不仅每个语句至少执行一次,而且使判定表达式中的每个条件都取得各种可能的结果
条件覆盖不一定包含判定覆盖,判定覆盖也不一定包含条件覆盖。
(4)判定/条件覆盖。同时满足判定覆盖和条件覆盖的逻辑覆盖称为判定/条件覆盖。它的含义是,选取足够的测试用例,使得判定表达式中每个条件的所有可能结果至少出现一次,而且每个判定本身的所有可能结果也至少出现一次。
(5)条件组合覆盖。条件组合覆盖的含义是,选取足够的测试用例,使得每个判定表达式中条件结果的所有可能组合至少出现一次。
显然,满足条件组合覆盖的测试用例,也一定满足判定/条件覆盖。因此,条件组合覆盖是上述 5 种覆盖标准中最强的一种。然而,条件组合覆盖还不能保证程序中所有可能的路径都至少经过一次。
(6)路径覆盖。路径覆盖的含义是,选取足够的测试用例,使得程序的每条可能执行到的路径都至少经过一次(如果程序中有环路,则要求每条环路路径至少经过一次)。
路径覆盖实际上考虑了程序中各种判定结果的所有可能组合,因此是一种较强的覆盖标准。但路径覆盖并未考虑判定中的条件结果的组合,并不能代替条件覆盖和条件组合覆盖

在这里插入图片描述

勇哥说 至少了解 语句 判定 条件 以及 路径覆盖哈

软件开发模型 集锦

极限编程(XP):一些对费用控制严格的公司中的使用,非常有效。
水晶方法:探索了用最少纪律约束而仍能成功的方法,从而在产出效率与易于运作上达到一种平衡。

开放式源码:程序开发人员在地域上分布很广【其他方法强调集中办公】。

SCRUM:明确定义了的可重复的方法过程。

功用驱动开发方法(FDD):编程开发人员分成两类:首席程序员和“类”程序员。

ASD方法:其核心是三个非线性的、重叠的开发阶段:猜测、合作与学习。

个人思考 开发模型选型 取决于 开发人员水平组成 还有现有产品成熟度组件复用情况等 【天(政策、外部依赖等等)、地(主场?)、人和(一群大牛、群龙无首等等)】

结构化设计原则

概要设计
详细设计

  • 保持模块的大小【】适中
  • 尽可能减少调用的深度【】
  • 多扇入,少扇出
  • 单入口,单出口【】【考过?】
  • 模块的作用域应该在模块之内
  • 功能应该是可预测的
自顶向下、逐步求精
信息隐蔽
模块独立(高内聚、低糯合、复杂度)

在这里插入图片描述

结构化分析和设计之DFD和字典作用

在结构化分析和设计过程中,数据流图和数据字典是常用的技术手段
它们在软件需求分析和设计阶段的作用。

分层细化的数据平衡原则

1、子图与父图之间的平衡:
(1)父图与子图之间平衡是指任何一张DFD子图边界上【】的输入/输出数据流必须与其父图对应加
工【】的输入/输出数据流保持一致。
(2)如果父图中某个加工的一条数据流对应于子图中的几条数据流,而子图中组成这些数据流
的数据项全体正好等于父图中的这条数据流,那么它们仍然是平衡的。

2、子图内部【】:加工的输入和输出需要平衡。

各自作用

数据流图分析【】阶段:建立系统的功能模型,从而完成需求分析
数据流图设计【】阶段:为模块划分与模块之间接口设计提供依据。

数据字典在分析与设计阶段的作用为:

是所有人员工作的依据,统一的标准。它可以确保数据在系统中的完整性和一致性。
具体作用包括:按各种要求列表、相互参照、由描述内容检索名称、一致性检验和完整性检验

2021讲义基础

2021系统架构设计师讲义 答题技巧

224页开始

一、补充实体

实体可能是;
(1)人物角色:如客户、管理员、主管、经理、老师、学生
(2)组织机构:如银行、供应商、募捐机构
(3)外部系统:如银行系统、工资系统、后台数据库(当要开发的是中间件时)

二、补充存储

存储的文字方面特征:“**文件”
**”
“**库”
“**档案”
“**清单”

三、补充数据流

1、数据平衡原则
(1)顶层图与0层图对比,是否有顶层图有,但0层图无的数据流,或反之。
(2)检查图中每个加工,是否存在只有入没有出,或只有出没有入,或根据输入的数据无法产生
对应的输出的情况。

66 图对比,整体对比,具体对比

2、按题目说明与图进行匹配
说明中的每一句话,都能与图中有对应关系,当把说明中的实体与数据流标识出来之后,容易缩
小对应范围,找出纯漏。

四、补充加工名

加工是用于处理数据流的,所以要补充加工名,可以把该加工涉及到的数据流,在说明中标识出
来,再在数据流名称所在的句子中,找“动词+名词”的结构,分析是否可作为加工。
“动词+名词”如:生成报告、发出通知、批改作业、记录分数,当然这只是普遍情况,也有例外,
如物流跟踪、用户管理。

66: 词性 对比

参考xmind

结构化分析

1,分析当前情况,制作反映当前物理模型的数据流图DFD

2,推导出等价的逻辑模型的DFD

3,设计新的逻辑系统,生成数据字典和基元描述

4,建立人机接口,提供可供选择的目标系统的物理模型DFD

5,确定各种方案的成本和风险等级,并据此分析

6,选择一种方案

7,建立完成的需求规约

结构化设计

SD方法步骤:

1,评审和细化数据流图

2,确定数据流图的类型

3,数据流图映射到软件模块结构,设计模块结构的上层

4,基于数据流图逐步分析高层模块,设计中下层模块

5,对模块结构进行优化,得到更合理的软件结构

SD方法设计原则:

1,每个模块执行一个功能;

2,模块使用过程语句或函数方式调用其他模块

3,模块间传送的参数作为数据使用

4,尽量减少模块间共用的信息

缺点:

1,开发周期长

2,早期结构化方法注重系统功能,对数据结构兼顾较少

3,结构化程度较低的系统,在开发初期难于锁定功能

参考评价

架构历年系统分析的题型也固定了,近三年基本都
是数据流图、ER图或者UML的那些图【】,都是选词填空这种类型的,跟软设的下午题前三题很像而且
更简单,那后面可以把软设这块题拿出来也给架构专项联系一下【】。

其他参考
2016年下半年

数据库的结构与模式

老知识点哈

案例解析

在三级结构/两级映像体系结构中,对一个表创建聚族索引,改变的是数据库的内模式(即
部视图层次上的数据特性
):

通过创建视图,构建的是外模式(即用户视图层次上的数据特性)和外模式/模式映像。

概念

内模式。内模式是整个数据库的最低层表示,不同于物理层,它假设外存是一个无限的线性地址空间。内模式定义的是存储记录的类型、存储域的表示以及存储记录的物理顺序,指引元、索引和存储路径等数据的存储组织。
内模式是数据物理结构和存储方式的描述,是数据在数据库内部的表示方式。一个数据库只有一个内模式。
内模式、模式和外模式之间的关系如下:
(1)模式是数据库的中心与关键;
(2)内模式依赖于模式,独立于外模式和存储设备;
(3)外模式面向具体的应用,独立于内模式和存储设备;
(4)应用程序依赖于外模式,独立于模式和内模式

在这里插入图片描述

常用端口

发送邮件SMTP,接收邮件POP3,分别端口是25,还有110

字典列表

20 文件传输协议(数据)
21 文件传输协议(控制)//安全

23 Telnet终端仿真协议 //moba处理
67 DHCP(服务端)
23 SMTP简单邮件发送协议
53 域名服务器(DNS)

80 超文本传输协议 《HTTP)
110 POP3服务器(邮箱接收服务器
69 简单文件传输协议(TFTP)
68 DHCP(客户端)
161 SNMP(轮询)
162 SNMP《陷阱)

需求工程

需求工程就是包括创建和维护系统需求文档所必需的一切活动的过程,主要包括需求开发和需求管理两大工作。
(1)需求开发:包括需求捕获、需求分析、编写规格说明书和需求验证 4 个阶段。

在这个阶段需要完成确定产品所期望的用户类型、获取每种用户类型的需求、了解实际用户任务和目标及这些任务所支持的业务需求、分析源于用户的信息、对需求进行优先级分类、将所收集的需求编写成为软件规格说明书和需求分析模型、对需求进行评审等工作。

(2)需求管理:通常包括定义需求基线、处理需求变更、需求跟踪等方面的工作。

在这里插入图片描述

需求开发和管理的关系

这两个方面是相辅相成的,需求开发是主线,是目标;
需求管理是支持,是保障

换句话说,需求开发是努力更清晰、更明确地掌握客户对系统的需求;
而需求管理则是对需求的变化进行管理的过程。

UML 顺序图概念

顺序图,又称为序列图,其中的交互用序列片段表示,这里如果知道其另一个名字就好理
解。序列图中的消息包括同步、异步、返回
在这里插入图片描述

构件

构件的特性是:
(1)独立部署单元(也就是不能拆分);
(2)作为第三方的组装单元:
(3)没有(外部的)可见状态。一个构件可以包含多个类元素,但是一个类元素只能属于一个构件。
将一个类拆分进行部署通常没什么意义。

遗留系统演化

在这里插入图片描述

第 4 象限为低水平、高价值区,即遗留系统的技术含量较低,可满足企业运作的功能或性能要求,但具有较高的商业价值,目前企业业务对该系统仍有很大的依赖性。对这种遗留系统的演化策略为继承。在开发新系统时,需要完全兼容遗留系统的功能模型和数据模型。为了保证业务的连续性,新老系统必须并行运行一段时间,再逐渐切换到新系统上运行

第 2 象限为高水平、低价值区,即遗留系统的技术含量较高,但其商业价值较低,可能只完成某个部门(或子公司)的业务管理。这种系统在各自的局部领域里工作良好,但从企业全局来看,多个这样的系统,他们各自基于不同的平台,不同的数据模型,无法互联互通,数据还不一致,这就是很严重的问题

软件架构风格分类

讨论架构风格时要回答的问题是:

1)设计词汇表是什么?
(2)构件和连接件的类型是什么?
(3)可容许的结构模式是什么?
(4)基本的计算模型是什么?
(5)风格的基本不变性是什么?
(6)其使用的常见例子是什么?
(7)使用此风格的优缺点是什么?
(8)其常见的特例是什么?

这些问题的回答包括了架构风格的最关键的四要素内容,即提供一个词汇表、定义一套配置规则、定义一套语义解释原则和定义对基于这种风格的系统所进行的分析。Garlan 和 Shaw 根据此框架给出了通用架构风格的分类:
(1)数据流风格:批处理序列;管道/过滤器。
(2)调用/返回风格:主程序/子程序;面向对象风格;层次结构。
(3)独立构件风格:进程通信;事件系统。
(4)虚拟机风格:解释器;基于规则的系统。
(5)仓库风格:数据库系统;超文本系统;黑板系统。

特定领域软件架构

架构的本质在于其抽象性。它包括两个方面的抽象:业务抽象和技术抽象。其中业务抽象面向特定的应用领域。
特定领域软件架构(Domain Specific Software Architecture,DSSA)可以看做开发产品线的一个方法(或理论),它的目标就是支持在一个特定领域中有多个应用的生成。

DSSA 的活动阶段如下。
(1)领域分析:主要目标是获得领域模型【】。即通过分析领域中系统的需求(领域需求),确定哪些需求是被领域中的系统广泛共享的,从而建立领域模型。
(2)领域设计:这个阶段的目标是获得 DSSA,它是一个能够适应领域多个系统的需求的一个高层次的设计。由于领域模型中的领域需求具有一定的变化性,DSSA 也要相应地具有变化性,它可以通过表示多选一的、可选的解决方案等来做到这一点。
(3)领域实现:主要目标是依据领域模型和 DSSA 开发与组织可复用信息。这些复用信息可以是从现有系统中提取得到的,也可能通过新的开发得到。这个阶段可以看作复用基础设施的实现阶段。
在上述工作中,获得领域模型是基础也是关键,领域建模专注于分析问题领域本身,发掘重要的业务领域概念,并建立业务领域概念之间的关系。通常领域模型可用 UML 的类图和状态图表示

在这里插入图片描述
刺激源:生成该刺激的实体(人、计算机系统或其他激励器);
刺激:刺激到达系统时可能产生的影响(即需要考虑和关注的情况);
环境:该刺激在某条件内发生。如系统可能正处于过载情况;
制品:系统中受刺激的部分(某个制品被刺激);
响应:刺激到达后所采取的行动;
响应度量:当响应发生时,应能够以某种方式对应其度量,用于对是否满足需求的测试。

软件质量属性

《GB/T16260-1996(idt ISO/IEC9126:1991)信息技术软件产品评价质量特性及其使用指南》中描述的软件质量特性包括
功能性、可靠性、易用性、
效率、可维护性、可移植性
6 个方面,每个方面都包含若干个子特性。

功能性:适合性、准确性、互操作性、依从性、安全性;
可靠性:成熟性、容错性、易恢复性;
**易用性:**易理解性、易学性、易操作性;
效率:时间特性、资源特性;
可维护性:易分析性、易改变性、稳定性、易测试性;
可移植性:适应性、易安装性、遵循性、易替换性;

正如上述列举与分类**,软件的质量属性很多**,也有各种不同的分类法和不同的表述。虽然术语没有统一的定义,但其含义可以认为业界已有共识。下面选取常用的质量属性术语,并做逐一说明。

1.运行期质量属性

性能:性能是指软件系统及时提供相应服务的能力。包括速度、吞吐量和持续高速性三方面的要求。
安全性:指软件系统同时兼顾向合法用户提供服务,以及阻止非授权使用的能力。
易用性:指软件系统易于被使用的程度。
可伸缩性:指当用户数和数据量增加时,软件系统维持高服务质量的能力。例如,通过增加服务器来提高能力。
互操作性:指本软件系统与其他系统交换数据和相互调用服务的难易程度。
可靠性:软件系统在一定的时间内无故障运行的能力。
持续可用性:指系统长时间无故障运行的能力。与可靠性相关联,常将其纳入可靠性中。
鲁棒性:是指软件系统在一些非正常情况(如用户进行了非法操作、相关的软硬件系统发生了故障等)下仍能够正常运行的能力。也称健壮性或容错性。

2.开发期质量属性
易理解性:指设计被开发人员理解的难易程度。
可扩展性:软件因适应新需求或需求变化而增加新功能的能力。也称为灵活性。
可重用性:指重用软件系统或某一部分的难易程度。
可测试性:对软件测试以证明其满足需求规范的难易程度。
可维护性:当需要修改缺陷、增加功能、提高质量属性时,定位修改点并实施修改的难易程度;
可移植性:将软件系统从一个运行环境转移到另一个不同的运行环境的难易程度。

质量属性效用树 基础

成质量属性效用树。可以选取这样一棵树:根——质量属性——属性求精(细分)——场景(叶)。

在这里插入图片描述

信息安全 4 属性

属性的词性才是本质,形容词、动词等。

A.完整性B.不可否认性 C.可控性D.机密性
A.完整性B.安全审计 C.加密性D.可控性

信息安全,具体地说就是保证信息的保密性、完整性、真实性、占有性

保密性是指系统中的信息必须按照该信息拥有者的要求保证一定的秘密性,不会被未经许可的第三方非法获取。系统必须阻止一切对秘密信息的非授权访问或泄露。

完整性是指系统中的信息应当安全、准确、有效,要求数据不能被非法改动或删除。完整性是信息安全的最基本要求。为了实现完整性,可以借助本章讲述的数字签名、加密等措施,从而有力地保护数据的完整。

真实性是指对信息的发送者身份的确认或系统中有关主体的身份确认,这样可以保证信息的可信度。信息的真实性可以通过数字签名、公钥加密等方式来实现。

占有性是指要保护信息赖以存储的节点、介质、载体等不被盗用或窃取。保护信息占有性的方法有使用版权、专利、商业秘密性,提供物理的或逻辑的存取限制方法,维护和检查有关窃取文件的记录等。

软件arch评估几个概念

●敏感点:一个或多个构件的特性。
●权衡点:影响多个质量属性的特性,是多个质量属性的敏感点。

风险承担者:系统体系结构的利益涉及者。
场景:场景是从风险承担者的角度对与系统的交互的简短描述

(1)刺激:场景中解释或描述风险承担者怎样引发与系统交互的部分。
(2)环境:刺激发生时的情况
(3)响应:系统如何通过体系结构对刺激做出反应

其他 https://blog.csdn.net/qq_36911138/article/details/80946093

可靠性量度 基础

MTBF=MTTF+MTTR(修复时间)

wifi 安全

为无线网传输过程中的加密,安全级别从低到商分别为WEP<WPA<WPA2,
其中,WEP使用RC4协议进行加密,并使用CRC-32校验保证数据的正确性。

WPA在此基础上增加了安全认证技术,使用
了802.1x协议对用户的MAC地址进行认证:

增大了密钥和初始向量的长度,以128比特的密钥和48
位的初始向量(IV)用于RC4加密:
采用了可以动态改变密钥的临时密钥完整性协议TK1P,
以更频繁地变换密钥来降低安全风险:

强化了数据完整性保护,使用报文完整性编码来检测伪造的数据包,
并且在报文认证码中包含有帧计数器,还可以防止重放攻击。

WPA2采用了AES对称加密算法。

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值