【软件架构篇】软件架构的定义、历史背景、目的

1、软件架构的定义

软件架构指软件系统的顶层结构。系统由一群关联个体组成,以及个体运作和协作的规则。个体可以是子系统、模块和组件。

从不同的视图角度看系统,会得到不同的顶层结构。比如经典的4+1视图,逻辑视图、过程视图、物理视图、开发视图和场景视图。最常用的为逻辑视图和物理视图,下面就以这两种视图为例讲解。

假如学生管理系统分为登录注册模块、个人基本信息模块、选课模块、成绩模块。
从逻辑视图角度有如下顶层结构:

【软件架构篇】软件架构的定义、历史背景、目的_第1张图片
image.png

从物理视图角度有如下顶层结构:
【软件架构篇】软件架构的定义、历史背景、目的_第2张图片
image.png

2、软件架构的发展

虽然早在20世纪60年代,戴克斯特拉这位上古大神就已经涉及软件架构这个概念了,但软件架构整正流行确是从20世纪90年代开始的。软件架构先在Rational和Microsoft这样的大公司流行起来,因为只有大公司开发的软件系统才具备较大规模,而只有较大规模的软件系统才会面临软件架构相关的问题。由于在Rational和Microsoft内部的相关活动,软件架构的概念越来越流行了。

3、软件架构的目的

软件架构的目的是解决复杂度。复杂度来源有很多,比如常见的有高性能、高可用、可扩展性、成本、安全、规模等。

你可能感兴趣的:(【软件架构篇】软件架构的定义、历史背景、目的)