软考-高级系统架构师复习知识点总结

软件架构概念

软件架构定义

系统的一个或多个结构。结构中包含软件的构件、构件的外部可见属性、构件之间的相互关系。

软件架构设计与生命周期

需求分析阶段:问题空间,根据需求模型构件SA模型、保证模型转换的可追踪性

设计阶段

SA模型的描述:

SA的基本概念:构件、连接子、切面

体系结构描述语言:

多视图表示:关注点分离,4+1模型(逻辑视图、进程视图、开发视图、物理视图、统一的场景)

实现阶段

构件组装阶段

部署阶段

后开发阶段

动态软件体系结构:软件的体系结构会在运行时发生改变,软件内部执行创建新构件或根据不同配置使用不同连接子,软件外部请求升级修改。研究包括,体系结构设计阶段的支持和运行时刻基础设施的支持

体系结构恢复和重建,从已实现系统获取体系结构,包括手工重建、工具支持的手工重建、查询语言自动建立聚集、数据挖掘

重要性

减低成本、改进质量、按时按需交付

满足系统的品质、使受益人达成一致目标、支持计划编制过程、对系统开发指导、有效管理复杂性、复用的基础、降低维护费用、支持冲突分析

基于架构的软件开发方法

ABSD基于体系结构的软件设计:功能分解、体系结构风格使用、软件模板使用

基于体系结构的开发模型

体系结构需求 -> ~设计 -> ~文档化 -> ~复审 -> ~实现 -> ~演化

体系结构需求:需求获取、标识构件(生成类图、类分组、类打包成构件)、架构需求评审

体系结构设计:提出软件体系结构模型 - 把已标识的构件映射到软件体系结构中 - 分析构件之间的相互作用 - 产生软件体系结构 - 设计评审

文档化:系统设计与开发人员的通信媒介。包括体系结构规格说明、测试体系结构需求的质量设计说明书。要从使用者角度编写,开发者手上最新。

复审:标识潜在的风险,及早发现缺陷错误

实现:文档化的体系结构 -( 分析与设计 - 构件实现 - 构建组装 - 系统测试) - 体系结构演化

演化:修改软甲体系结构使用新的需求变化。需求变化归类 - 体系结构演化计划 - 构件变动 - 更新构件的相互作用 - 构件组装与测试 - 技术评审

软件架构风格

软件架构风格是描述特定软件系统组织方式的惯用模式。组织方式描述了系统的组成构件和这些构件的组织方式,惯用模式则反映众多系统共有的结构和语义。

主程序-子程序:所有的计算构件作为子程序协作工作,并由一个主程序顺序地调用这些子程序,构件通过共享存储区交换数据。

管道过滤器:每个构件都有一组输入和输出,构件接受数据输入,经过内部处理,然后产生数据输出。这里的构件称为过滤器,构件之间的连接件称为数据流传输的管道。

数据抽象和面向对象组织:数据和操作封装在抽象数据类型或对象中,构件是对象(抽象数据类型的实例)

事件驱动:构件不直接调用过程,通过过程注册、事件触发来调用

分层系统:每层为上层服务作为下层客户,内部层接口只对相邻的层可见

仓库系统及知识库:中央数据结构说明当前状态、独立构件在其上运行。构件控制共享数据为传统型数据库,中央数据结构的当前状态触发进程执行的选择,则为黑板系统

C2风格:连接件绑定在一起按照一组规则运作的并行构件网络。构件和连接件有顶部和底部,顶部底部互连,构件可与连接件相连但不可互连,连接件可与任意数量其他部件相连

客户服务器风格:数据库服务器、客户应用程序、网络。适应性灵活性、易于扩充缩小、客户端开发成本高、客户端程序设计复杂、信息内容形式单一、用户界面风格不一、移植困难、客户端维护升级困难

三层CS结构风格:增加了应用服务器。表示层(用户界面,显示控制,数据检查,没有业务逻辑)、功能层(应用本体,业务处理逻辑)、数据层(数据库)

BS风格:三层应用结构的一种实现,浏览器/WEB服务器/数据库服务器,应用程序以网页形式存放在web服务器上。系统安装修改维护全在服务器端解决,节约开发成本。缺点,缺乏动态页面支持,没有集成有效的数据库处理功能;扩展能力差,安全性难控制;数据查询响应速度慢;数据提交以页面为单位,数据动态交互性不强,不利于在线事务处理OLAP应用

RESTRepresentational State Transfer)表现层状态转换
从资源的角度来定义整个网络系统结构,分布在各处的资源由统一资源标识符(URI)确定,客户端应用程序通过URI获取资源的表现,并通过获得资源表现使得其状态发生改变。
REST中将资源、资源的表现和获取资源的动作三者进行分离。

特定领域软件体系结构

DSSA:严格定义的问题域和问题解域,应用在领域中特定应用开发的普遍性,领域构件组织模型的恰当抽象

领域:垂直域,定义一个特定的系统族,领域中系统的通用软件体系结构;水平域,定义多个系统(族)中功能区域的共有部分,特定部分功能

实施DSSA:领域分析(获取领域模型)、领域设计(获得DSSA)、领域实现(依据领域模型和DSSA开发和组织可重用信息)。是一个反复过程

参与DSSA人员:领域专家(提供知识)、领域分析人员(获取知识,组织维护领域模型)、领域设计人员(开发DSSA)、领域实现人员(开发提取可重用构件)

DSSA建立过程(并发、递归、反复的,螺旋模型):定义领域范围、定义领域特定元素、定义领域特定设计和实现需求约束、定义领域模型和体系结构、产生搜集可重用产品单元

系统架构评估

质量属性:

性能:响应能力,单位时间内处理事务数、完成某个事务处理所需时间

可靠性:在意外或错误使用的情况下维持软件系统功能特性的基本能力
平均失效等待时间MTTF和平均失效间隔时间MTBF。
容错,错误发生时确保系统正确的行为并内部修复;
健壮性,不受错误使用和输入的影响,意外错误时确保处于定义好的状态

可用性:能够正常运行的时间比例,两次故障间时间长度或恢复正常的速度

安全性:机密性、完整性、可控性。系统向合法用户提供服务的同时能够阻止非授权用户使用的企图或拒绝服务的能力

可修改性:能够快速地以较高的性能价格比对系统进行变更的能力
可维护性,错误后修复;
可扩展性,增加替换构件;
结构重组;
可移植性

功能性:完成期望工作的能力

可变性:

你可能感兴趣的:(系统架构,计算机网络,数据库架构)