第06章 软件架构设计 之 软件架构的概念

一、软件架构的定义

1、为什么要引入软件架构?

在传统的软件开发方法中,分为:软件定义、需求分析、软件设计、系统编码、软件测试、运行维护几个阶段。在需求分析结束后,形成《软件需求规格说明书》。经过评审后,形成了基线。然后,在此基础上进行软件设计。但是,在实际工作中存在一种情况,进行软件设计的人员感觉到《软件需求规格说明书》对他没有什么用,还是需要去根据软件的功能进行设计,这就意味着在需求分析和软件设计之间存在着一道鸿沟:

也就是为了解决从需求分析到软件设计过渡的问题,在他们之间架起一座桥梁,也就是架构:


2、架构的通俗理解

在房屋建筑中,架构就是钢筋+水泥,建房子时,先把框架搭好,再进行砌砖的工作。砖头烂了没有关系,只要框架好,房子就不会倒塌;

在软件中也是这样,只要架构设计好了,就不会出现系统崩溃的情况;

3、软件架构的定义

软件架构具有一定形式的结构化元素,即构件的集合。包括:处理构件、数据构件、连接构件。处理构件负责对数据加工处理,数据构件是被加工的信息,连接构件是把架构的不同部分组合连接起来。


二、软件架构的作用

主要体现在以下3个方面:

1、软件架构是项目干系人进行交流的手段

架构代表了系统的公共的高层次的抽象。这样,系统的大部分有关人员能把它作为一个互相理解的基础,形成统一认识,互相交流。

2、软件架构是早期设计决策的体现

架构体现了系统的最早的一组设计决策;这些早期的约束比以后的设计、开发编码、测试以及运行维护的工作重要的多,对系统生命周期的影响也很大;架构使推理和控制更改更简单,有助于循序渐进的原型设计,架构可以作为培训的基础。

3、软件架构是可传递和可重用的模型


三、软件架构的发展史



四、软件架构建模

设计软件架构的首要问题是如何表示软件架构,即如何对软件架构建模。

1、根据建模的侧重点不同,可以分为5种类型:

结构模型、框架模型、动态模型、过程模型、功能模型。(最常用:结构模型、动态模型)

结构模型:是一种最直观、最普遍的建模方法;以架构的构件、连接件和其他概念来刻画架构;研究结构模型的核心是架构描述语言。

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

动态模型:是对结构模型和框架模型的补充;研究系统的“大颗粒”的行为性质。

过程模型:研究构造系统的步骤和过程。

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

2、以上这5种模型各有所长,将5种模型有机地统一在一起,形成一个完整的模型来刻画软件架构更合适。Philippe Kruchten(克鲁奇顿)在1995年提出了一个“4+1”视图模型:


逻辑视图(Logic View):即系统提供给最终用户的服务;

开发视图(Development View):也成为模块视图(Module View);

逻辑视图与开发视图是静态结构,例如:某企业的管理信息系统;

进程视图(Process View)

物理视图(Physical View)

进程视图与物理视图是动态结构,例如:实时监控系统;

场景(Scenarios):使四个视图有机联系起来

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值