架 软考架构师知识库 系统架构设计师 · 课件全文检索
已就绪 127 份课件 1966 页

软件架构概述

第十五章-系统架构设计 · 7 页 · 2180 字 录播 讲义

软件架构概述

项目 内容
来源 录播
章节 第十五章-系统架构设计
标签 讲义
页数 7
总字数 2180
原始课件 基础录播课/第十五章-系统架构设计/软件架构概述.pdf

本文由课件自动整理,页内文字按原始讲义阅读顺序还原;[图] 表示该位置存在图示,

图示内容请对照原始课件查看。


目录


第 1 页 · N E W P L A N

软考高级架构师

一

段

新

征

程

第 2 页 · 软件架构概述

软件架构的定义:一个程序和计算系统软件体系结构是指系统的一个或者多个结构。结构中包括软件的构

件,构件的外部可见属性以及它们之间的相互关系。

简单理解软件架构:软件架构指从需求分析到软件设计之间的过渡过程。只要软件架构设计好了,整个软

件就不会出现坍塌性的错误,即不会崩溃。

软件体系结构的设计通常考虑到设计金字塔中的两个层次——数据设计和体系结构设计。数据设计为软件

体系结构设计提供了数据基础,而体系结构设计则为软件系统的整体结构提供了规划和设计。

第 3 页 · 软件架构概述

软件架构的详细解释:软件架构为软件系统提供了一个结构、行为和属性的高级抽象,由构件的描述、构

件的相互作用(连接件)、指导构件集成的模式以及这些模式的约束组成。

•软件架构描述了软件系统的整体结构,包括其组成部分、相互作用以及它们之间的关系。软件架构还定义了软件系统的

行为,即它如何响应用户的请求和事件。此外,软件架构还影响了软件系统的属性,例如性能、可靠性和安全性。

•举个例子,想象你正在建造一座大楼。在软件架构中,大楼的总体设计和布局就相当于架构。你需要决定大楼的总高度、

楼层的布局、房间的位置,以及电力、水源和通风系统的安排。这些决策构成了大楼的架构,它们会影响大楼的功能、

性能和可维护性。

总结:在软件中,架构决策包括如何组织代码、模块和组件,如何处理数据流、用户界面和业务逻辑。好

的软件架构能够确保软件具有良好的性能、可扩展性、可维护性和安全性,就像一个精心设计的大楼能够

提供舒适和便捷的居住环境一样。所以,软件架构就是软件的总体设计方案,它决定了软件如何组织和工

作,规定了软件系统的整体结构和各个部分之间的关系,以满足用户需求和业务目标。好的架构是构建可

靠软件的基础。

第 4 页 · 软件架构概述

场景:建造一座房子

需求分析:

•

获取需求:你决定建造一座房子,首先需要明确你的需求,包括房子的用途、大小、房间数量、特殊需求(例如,需要多少卧室、浴

室,是否需要车库等)。

•

分析需求:你可能会编写房子的用例,例如,客厅用于娱乐,卧室用于休息。你还会考虑家庭成员的需求,例如,儿童需要自己的房

间。

软件架构设计:

•

系统结构:在设计房子的架构时,你考虑如何组织不同的房间和功能区,以满足需求。这包括确定房子的总体布局和连接方式。

•

性能和可扩展性:你还要考虑房子的性能需求,例如,采用哪种材料来保持温度、隔音等。你还要考虑将来可能扩建的可能性。

系统设计:

•

详细设计:在系统设计阶段,你将每个房间的设计细节细化,包括墙壁、窗户、门、地板和天花板的具体设计。

•

模块功能:你会设计每个房间的功能和布局,确保它们适合房子的整体需求。例如,厨房的功能布局需要考虑食品准备和烹饪的流程。

•

通过这个示例,你可以看到需求分析定义了房子的基本需求,软件架构设计决定了房子的整体结构和连接方式,系统设计则详细

设计了每个房间的具体细节。这三个步骤相互连接,确保最终的房子满足你的需求和期望,具有良好的性能和可维护性。

第 5 页 · 软件架构设计与生命周期

1 .

软件架构设计贯穿于软件开发生命周期的各个阶段。软件架构设计并非只在开发初期进行,而是贯穿于软件开发生

命周期的各个阶段,包括需求分析、设计、实现、测试、部署和维护等。

2.

需求分析阶段。需求分析和SA设计面临的是不同的对象:一个是问题空间;另一个是解空间。从软件需求模型向SA

模型的转换主要关注两个问题:如何根据需求模型构建SA模型。如何保证模型转换的可追踪性。简单来说,该阶段

关注的是如何将用户需求转换为软件架构模型,并确保模型的可追踪性。

3.

设计阶段。是SA研究关注的最早和最多的阶段,这一阶段的SA研究主要包括:SA模型的描述、SA模型的设计与分

析方法,以及对SA设计经验的总结与复用等。有关SA模型描述的研究分为3个层次:SA的基本概念(构件和连接件)、

体系结构描述语言ADL、SA模型的多视图表示。简单来说,该阶段关注的是软件架构模型的描述、设计与分析方法,

以及设计经验的总结与复用。

4.

实现阶段。最初SA研究往往只关注较高层次的系统设计、描述和验证。为了有效实现SA设计向实现的转换,实现阶

段的体系结构研究表现在对开发过程的支持、开发语言和构件的选择以及相关测试技术。简单来说,该阶段关注的

是如何将软件架构设计转换为代码,以及如何进行测试。

第 6 页 · 软件架构设计与生命周期

5.

构件组装阶段。在SA设计模型的指导下,可复用构件的组装可以在较高层次上实现系统,并能够提高系统实现的

效率。在构件组装的过程中,SA设计模型起到了系统蓝图的作用。简单来说,该阶段关注的是如何在架构设计模

型的指导下,进行可复用构件的组装,提高系统实现效率,并解决组装过程中的相关问题。

6.

部署阶段。提供高层的体系结构视图来描述部署阶段的软硬件模型,以及基于SA模型可以分析部署方案的质量属

性,从而选择合理的部署方案。简单来说,该阶段关注的是如何根据软件架构模型进行部署,并分析部署方案的质

量属性。

7.后开发阶段。是指软件部署安装之后的阶段。这一阶段的SA研究主要围绕维护、演化、复用等方面来进行。典型的

研究方向包括动态软件体系结构、体系结构恢复与重建等。简单来说,该阶段关注的是如何根据软件架构模型进行维

护和演化

第 7 页 · T H E E N D

功不唐捐,玉汝于成!

开

启

新

征

程