软件架构设计概述

1、软件架构设计

软件架构的研究内容主要涉及软件架构描述软件架构设计、软件架构风格、软件架构评价软件架构的形成方法等。

软件架构设计解决好软件的设计、复用、质量和维护等方面的实际问题;解决各类关键的重复问题的通用方案(复用性),以及系统设计中影响深远(架构敏感)的各项重要决策(一旦贯彻,更改的代价昂贵)。

在较高层面上实现软件复用。软件架构作为系统的抽象模型,可以在多个系统间传递(复用),特别是比较容易地应用到具有相似质量属性和功能需求的系统中。 产品线的架构是开发组织的核心资产之一,利用架构及其范例进行多系统的开发,在开发时间、成本、生产率和产品质量方面具有极大的回报。基于架构的开发强调对各元素的组合或装配。

基于架构的软件开发模型则明确地把整个软件过程划分为架构需求、设计、文档化、评审(评估)、实现、演化等 6 个子过程。

1.1、架构模型

软件架构归纳成 5 种模型:结构模型、框架模型、动态模型、过程模型和功能模型

(1)结构模型。这是一个最直观、最普遍的建模方法。这种方法以架构的构件、连接件和其他概念来刻画结构,并力图通过结构来反映系统的重要语义内容,包括系统的配置、约束、隐含的假设条件、风格、性质。研究结构模型的核心是架构描述语言。

(2)框架模型。框架模型与结构模型类似,但它不太侧重描述结构的细节而更侧重于整体的结构。框架模型主要以一些特殊的问题为目标建立只针对和适应该问题的结构

(3)动态模型。动态模型是对结构或框架模型的补充,研究系统“大颗粒”的行为性质。例如,描述系统的重新配置或演化。动态可能指系统总体结构的配置、建立或拆除通信通道或计算的过程。

(4)过程模型。过程模型研究构造系统的步骤和过程。因而结构是遵循某些过程脚本的结果。

(5)功能模型。该模型认为架构由一组功能构件按层次组成,且下层向上层提供服务。它可以看作是一种特殊的框架模型 。

1.2、“4+1”的视图模型

5 个不同的视角包括逻辑视图、进程视图、物理视图、开发视图和场景视图来描述软件架构。

扫描二维码关注公众号,回复: 6173175 查看本文章

(1)逻辑视图:主要支持系统的功能需求,即系统提供给最终用户的服务。

(2)开发视图:也称为模块视图,主要侧重于软件模块的组织和管理。 提供给开发人员,应用于软件管理;

(3)进程视图:侧重于系统的运行特性,主要关注一些非功能性的需求,例如系统的性能和可用性。进程视图强调并发性、分布性、系统集成性和容错能力,以及逻辑视图中的主要抽象的进程结构。它也定义逻辑视图中的各个类的操作具体是在哪一个线程中被执行的。进程视图可以描述成多层抽象,每个级别分别关注不同的方面。

(4)物理视图:主要考虑如何把软件映射到硬件上,它通常要考虑到解决系统拓扑结构、系统安装、通信等问题。

(5)场景:可以看作是那些重要系统活动的抽象,它使四个视图有机地联系起来,从某种意义上说,场景是最重要的需求抽象。

逻辑视图和开发视图描述系统的静态结构,而进程视图和物理视图描述系统的动态结构。

对于实时控制系统来说,则比较注重于从进程视图和物理视图来描述系统。

猜你喜欢

转载自blog.csdn.net/q947448283/article/details/89815484
今日推荐