ToB企服应用市场:ToB评测及商务社交产业平台

标题: 高级系统架构师--第四章:软件架构设计 [打印本页]

作者: 诗林    时间: 2025-2-16 08:52
标题: 高级系统架构师--第四章:软件架构设计
最好对着目录本身追念一下相关的知识点和概念
4.1 软件架构概念

架构概念


软件架构风格是惯用模式

在特定的应用领域中,软件架构风格是被反复利用、被广泛承认的一种通用结构或组织方式。就像在修建领域中,差别风格(如欧式、中式等)有各自范例的结构和设计元素,在软件领域,比如在互联网应用开发中常见的MVC(模子 - 视图 - 控制器)架构风格,它规定了模子负责数据处理、视图负责展示、控制器负责交互逻辑,这种风格就是一种惯用模式,能帮助开发人员高效地构建软件系统 。
架构界说词汇表

架构会界说一套特定的术语集合。在软件架构的语境下,这些术语有着明确的含义。比方在微服务架构中,“服务”“网关”“负载均衡”等都是其词汇表中的术语,开发团队成员基于这套统一的词汇表进行沟通和协作,可以或许淘汰误解,进步开发服从。
架构界说一组约束

架构还包含了一系列的规则和限定。这些约束可能涉及到软件的性能、可扩展性、安全性等方面。比如在实时性要求高的应用架构中,会对数据传输耽误、响应时间等有严格的约束,以确保系统能满足特定的业务需求。 这些约束指导着软件系统的设计、开发和维护等各个环节。

架构所处位置


架构发展历程


架构的4+1视图


ADL

Architecture Description Language(体系结构描述语言)

什么是形式化语言?

形式化语言是一种具有精确语法和语义的语言,用于以严格、无歧义的方式表达概念、规则、系统结构或活动等。
语法层面

形式化语言有着明确且严格界说的符号集合和组合规则,就像天然语言中的语法规则规定了单词如何构成句子一样,形式化语言的语法规则规定了符号如何组合成正当的表达式、语句等。比方在数学中的谓词逻辑语言,它有特定的符号(如∀表示全称量词,∃表示存在量词等)以及严格的符号组合规则来形成公式,任何不符合这些规则的表达式都是不被答应的。
语义层面

每个形式化语言的表达式、语句等都有精确的含义界说,不存在模糊性或多义性。以布尔代数这种形式化语言为例,逻辑运算符“与”“或”“非”都有清晰明确的语义,“与”运算只有当两个操纵数都为真时效果才为真,其他情况为假,这种语义界说是精确且无二义的。
应用场景

常用于数学、逻辑学、计算机科学等领域。在计算机科学中,形式化语言可用于描述算法、步伐规范、软件架构(如ADL)等。比如ADL作为形式化语言,能精确描述软件系统的结构(包括构件、毗连件及其关系)、活动(如构件间的交互方式)和属性(如性能、可靠性等特性),让架构师可以或许以一种严格、规范的方式表达系统架构,便于开发团队成员精确理解系统架构,也有利于进行后续的分析、验证等工作 。 总之,形式化语言为精确描述和分析复杂系统提供了有力的工具。
4.2 软件架构风格

架构风格总体先容


数据流风格

批处理


管道过滤器


调用/返回风格



独立构件风格




虚拟机风格

虚拟机风格是一种软件架构风格,通过在软件和硬件之间提供抽象层来运行应用步伐,让应用能在差别硬件和操纵系统上无缝运作。
焦点机制与关键组件:焦点是虚拟机监控器(Hypervisor ),它负责管理虚拟机的创建、调度和销毁等,并提供虚拟硬件接口。利用虚拟化技术将物理硬件抽象,构建虚拟硬件环境供操纵系统和应用感知。比如在常见的虚拟机软件中,虚拟机监控器可让多个虚拟机在单一物理主机上并行运作,每个虚拟机都有独立操纵系统和应用步伐,且以为本身独占硬件资源。


基于规则的架构风格


堆栈风格




闭环控制架构(过程控制)


C2风格


C2风格是一种基于组件-毗连件的软件架构风格,具有独特的分层和消息传递机制,以下是对它的详细先容:
根本界说与原理

C2风格基于一种层次化的架构模子,其焦点思想是将系统分别为多个层次,每个层次由一组组件构成,组件之间通过毗连件进行通信和交互。组件之间的交互主要通过消息传递来实现,消息在层次之间进行上下传递,从而实现系统的各种功能。
架构特点


实用场景


示例

以一个简单的智能家居系统为例,它可以采用C2风格进行架构设计。系统的上层可以是用户界面组件,负责吸取用户的操纵指令,如打开灯光、调节温度等。下层可以是各种装备控制组件,负责与实际的智能家居装备进行通信,实现对装备的控制。上下层组件之间通过消息进行交互,用户界面组件将用户的操纵指令封装成消息发送给装备控制组件,装备控制组件吸取到消息后,实行相应的操纵,并将操纵效果以消息的形式反馈给用户界面组件。
4.3 基于架构的开发方法


开发过程1


开发过程2


开发过程3


4.4 特定领域软件架构

根本概念


DSSA 即 Domain Specific Software Architecture,中文为特定领域软件架构,
领域参考模子:高层次的抽象模子、描述该领域的关键概念及其关系,帮助
开发团队精确理解领域题目和需求。
比如:在医疗信息系统领域,参考模子可能会界说病人、医生、治疗、药
物、诊断等实体及其相互作用
参考需求:基于参考模子界说的,描述软件系统需要满足的功能性和非功能
性的条件。
比如:参考需求可能包括数据隐私包含、高可用性、用户界面易用性、数据
精确性等。
参考架构:基于参考模子和参考需求界说的软件架构蓝图,通常包括软件结
构构成、技术选型、设计模式。
比如: 采用微服务架构,利用加密技术,采用特定中间件和数据库技术等。
参与人员


建立过程


三层次模子


4.5 软件架构评估

为什么需要架构评估?


为什么要进行架构评估?


架构评估到底评什么?


架构评估怎么评?


软件质量属性

质量属性


性能


可用性


安全性


在系统性能指标的安全性范畴中,不可否认性指在网络环境里,信息交换的双方无法狡辩本身在交换过程中发送或吸取信息的活动。
比方在电子合同签署场景中,甲方发送合同给乙方,基于不可否认性,甲方不能事后否认发送过合同这一活动;乙方收到合同后,也不能否认吸取过合同。一般通过数字署名、可信时间戳等技术实现不可否认性。数字署名能确保信息来源可验证、内容未被窜改,发送方无法否认发送活动,吸取方也难以狡辩吸取究竟;可信时间戳则为数据电文加上时间证明,确定信息在某一时间点的存在状态和内容,防止相关方事后否认。
可修改性


易用性和可测试性


敏感点权衡点风险点与非风险点


架构评估方法

几种评估方法


场景评估方法


基于场景的评估方法


SAAM


ATAM


质量效用树

评估架构质量的工具 将用户器重的东西 当作一个质量指标 直观的展现 一个系统中的各个指标
!!!!!!!
一般在案例分析中会吧里面 的 如 性能 可修改性给扣掉 后面详细的场景也给扣掉 作为一个案例分析的标题来做

4.6 软件产物线

根本概念


双生命周期


建立方式


组织结构


4.7 构件与中间件技术

软件复用


构件复用








中间件先容




构件标准



其他知识

表明器架构


构件的组装方式包括:

1、次序组装:按次序调用己经存在的构件,可以用两个已经存在的构件来创造一个新的构件。
2、层次组装:被调用构件的“提供”接口必须和调用构件的“请求”接口兼容。
3、叠加组装:多个构件归并形成新构件,新构件整合原构件的功能,对外提供新的接口。
复用的根本过程

主要包括3个阶段:
起首构造/获取可复用的软件资产,其次管理这些资产,末了针对特定的需求,从这些资产中选择可复用的部分,以开发满足需求的应用系统。
复用的前提:获取可复用的软件资产起首需要构造恰当的、可复用的资产,并且这些资产必须是可靠的、可被广泛利用的、易于理解和修改的。
管理可复用资产:该阶段最紧张的是构件库(Component Library),由于对可复用构件进行存储和管理,它是支持软件复用的须要办法。构件库中必须有足量的可复用构件才有意义,构件库应提供的主要功能包括构件的存储、管理、检索以及库的欣赏与维护等,以及支持利用者有效地、精确地发现所需的可复用构件。
在这个过程中,存在两个关键题目:一是构件分类,构件分类是指将数量众多的构件按照某种特定方式组织起来;二是构件检索,构件检索是指给定几个查询需求,可以或许快速精确地找到相关构件。利用可复用资产:在末了阶段,通过获取需求,检索复用资产库,获取可复用资产,并定制这些可复用资产(修改、扩展、配置等),末了将它们组装与集成,形成最终系统。
ABSDM模子

ABSDM 是 Architecture - Based Software Development Method 的缩写。
ABSDM 模子将基于体系结构的软件过程分为体系结构需求、设计、文档化、复审、实现和演化6个过程:

DSSA

DSSA即特定领域软件体系结构(Domain Specific Software Architecture),是为特定应用领域的一组应用提供组织结构参考的标准软件体系结构。差别人对其界说差别,Hayes Roth以为它是专用于特定使命领域、能有效利用且限定标准组合结构的软件构件集合;Tracz以为它是特定题目领域中支持应用开发的基础。DSSA必备特征有:
有严格界说的题目域和题目解域;
具有普遍性可用于领域内特定应用开发;
对领域构件组织模子恰当抽象;
具备领域固定、范例且可重用元素。
软件架构复用的风格


云计算的基础范例


构建的分类方法


ATAM

ATAM(Architecture Tradeoff Analysis Method,体系结构权衡分析方法)在SAAM基础上发展而来,用于系统开发前对性能、可用性、安全性和可修改性等质量属性进行评价和折中,详细内容如下:

黑板架构风格

黑板架构风格是一种在复杂系统中处理信息的设计方法,通过共享的数据结构来促进各个部分之间的协作,特别实用于需要多个专家模块共同工作的题目领域。以下是其详细先容:
构成部分 - 黑板:一个共享的数据存储区(全局数据库),包含解域的全部状态,存储原始数据、中间效果和最闭幕果等,所有知识源都能对其进行读取和写入操纵,是知识源相互作用的唯一前言。

几种常用的adl建模语言


软件系统质量属性分类

基于软件生命周期,软件系统质量属性分为开发期和运行期质量属性:

敏感点和权衡点

该内容先容了软件架构中的几个关键概念:

构件组装



免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。




欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/) Powered by Discuz! X3.4