计算机系统应用教程网站

网站首页 > 技术文章 正文

【2024软考架构师自学笔记】7. 系统架构设计基础知识*

btikc 2024-10-12 11:52:06 技术文章 17 ℃ 0 评论

7.1 软件架构的概念

1.软件架构定义

软件架构又称软件体系结构,是系统的一个或多个结构,这些结构包括构件、构件的外部可见属性及其之间的相互关系。架构设计包括数据库设计和软件结构设计,软件结构设计关注构件的结构、属性和交互作用,并通过多种视图全面描述。

2.软件架构设计与生命周期

1)需求分析阶段:

(1)如何将需求模型转化为架构模型。(通过词法分析和经验规则完成

(2)如何保持可追溯性。(可追溯性通过表格和用例图Map维护

2)设计阶段:

(1)软件架构模型描述。(构件连接子建模、建模语言ADL、多视图4+1视图、UML图等)

(2)软件架构模型的设计与分析方法。

(3)软件架构设计经验总结与复用。

3)实现阶段:

(1)基于架构的开发过程支持。

(2)寻求架构到实现的途径。

(3)研究基于架构的测试技术。

4)构件组装阶段:

(1)如何支持构件的互联。

(2)消除失配问题。(构件失配、连接件失配、部分和整体失配)

5)部署阶段:

(1)提供高层次的体系结构图描述部署阶段的软硬件模型。

(2)通过架构模型,可以分析部署方案的质量属性,选择合理部署方案。

6)后开发阶段:

(1)动态软件体系结构。

(2)架构的恢复和重建。

3.软件架构的重要性

降低成本、改进质量、按时按需求交付产品的关键因素。

7.2 基于软件架构的开发方法 ABSD

1.ABSD

采用视角和视图描述软件架构、采用用例描述功能需求,采用质量属性场景描述质量需求。

ABSD方法的3个基础:功能分解、通过选择体系结构风格来实现质量和商业需求、软件模板的使用。

2.ABSDM

基于体系结构开发模型6个子过程:

1)体系结构需求

(1)需求获取。(系统的质量目标、系统商业目标、开发人员的商业目标)

(2)标识构件。(生成类图、对类进行分组、将类打包成构件)

(3)需求评审。(是否真实反应用户需求,类分组是否合理,需求获取一标识构件一需求评审之间进行迭代

2)设计

提出软件体系模型、映射构件、分析构件相互作用、产生体系结构设计评审。

3)文档化

(1)输出体系结构规格说明文档。

(2)输出测试体系结构需求的质量设计说明书。

4)复审

目的是标识潜在风险,及早发现缺陷和错误。

5)实现

分析与设计、构件实现、构件组装、系统测试。

6)演化

需求变化归类 -》制定演化计划 -》构件变动 -》更新构件的相互作用 -》构件组装与测试 -》技术评审。

7.3 软件架构风格

一种描述特定应用领域系统组织结构的惯用模式,定义了一个系统的家族,即一个架构定义、一个词汇表和一组约束。词汇表包含构件、连接件、及一组约束(指导系统如何将这些构件和连接件组合起来)

1.数据流风格

1)批处理风格

数据整体传递,每一步必须在前一步结束后才能开始

2)管道过滤器风格

一个步骤的输出是另一个步骤的输入,步骤由过滤器实现。

2.调用返回风格

1)主程序/子程序风格

2)面向对象风格

3)层次结构风格

4)C/S风格

5)B/S风格

3.以数据为中心的风格

1)仓库风格

中央数据处理、每个功能是一个构件。

2)黑板风格

解决复杂非结构化问题,推理、黑板上个全局数据库,黑板系统包括:黑板、知识库、控制模块。

4.虚拟机风格

1)解释器风格

2)基于规则风格

5. 独立构件风格

1)进程通信

2)事件驱动

6. C2风格

通过连接件连接构件,构件之间无连接。

7.4 软件架构复用

1.复用的目的

降低成本、提升质量、提高开发效率、更好的互操作性等。

2.复用的资产和形式

1)复用资产:需求、架构、元素、建模、规划、过程开发、人员、样本系统、缺陷消除、测试等。

2)复用形式:库、包、构件、对象、接口、函数。

3.复用的过程

构建获取可复用资产、管理资源、复用资产。

7.5 特定领域的软件架构 DSSA

1.DSSA特征

领域性、普遍性、抽象性、复用性。

2.基本活动

领域分析、领域设计、领域实现。

3.建立5个基本步

1)定义领域范围。

2)定义领域特定元素。

3)定义领域特定的设计和实现约束。

4)定义领域模型体系结构。

5)产生、搜集可复用的单元。

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表