软件架构概述
| 项目 | 内容 |
|---|---|
| 来源 | 录播 |
| 章节 | 第十五章-系统架构设计 |
| 标签 | 讲义 |
| 页数 | 7 |
| 总字数 | 2180 |
| 原始课件 | 基础录播课/第十五章-系统架构设计/软件架构概述.pdf |
本文由课件自动整理,页内文字按原始讲义阅读顺序还原;
[图]表示该位置存在图示,图示内容请对照原始课件查看。
目录
- 第 1 页 · N E W P L A N
- 第 2 页 · 软件架构概述
- 第 3 页 · 软件架构概述
- 第 4 页 · 软件架构概述
- 第 5 页 · 软件架构设计与生命周期
- 第 6 页 · 软件架构设计与生命周期
- 第 7 页 · T H E E N D
第 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
功不唐捐,玉汝于成!
开
启
新
征
程