【软件工程】认识软件体系结构

来源:互联网 发布:js image onload 编辑:程序博客网 时间:2024/06/10 15:39

1、定义


       软件体系结构是具有一定形式的结构化元素,即构件的集合,包括处理构件、数据构件和连接构件。处理构件负责对数据进行加工,数据构件是被加工的信息,连接构件把体系结构的不同部分组组合连接起来。这一定义注重区分处理构件、数据构件和连接构件,这一方法在其他的定义和方法中基本上得到保持。


通俗理解,就是把一个系统更加有调理的结构化起来,通过运用5个面向对象设计原则、分包原则及23种设计模式,让系统的结构清晰可见。类比建造房屋,就是为软件提供一个好的建筑结构,而不是想到一砖就添一砖,未来想要移动这块儿砖头,就要牵扯到整个房屋。好的设计模式可以有效的将每一块砖合理分配到应该的位置,高内聚,低耦合,让每一块砖之间的影响达到最小,但整个房屋却变得更加坚固。


2、产生


软件体系结构的产生与软件行业的发展有关,随着软件变得越来越大、越来越复杂,一个良好的结构设计,往往成为了这个软件系统成功的重要因素之一。体系结构设计在数据结构与程序算法中变得越来越重要。软件体系结构很好的把软件的各个元素组合起来,函数、结构、类、层、子系统等等。

体系结构会受到系统相关联系人(用户、客户、项目经理、维护者、开发者)、开发部门、技术环境、架构师经验等影响。


3、作用


良好的设计结构,可以提高软件的效率,减少冗余的软件结构设计,方便进行功能扩展,易于修改,可维护,可复用,灵活性好。

体系结构可以很好的把整个系统架构抽象出来,以一个整体的形式让人们直观的了解,隐藏了具体的细节。这样,体系结构可以作为相关联系人之间沟通的工具。


4、好的体系结构

(1)有弹性

(2)简洁

(3)亲切易接近

(4)功能分割清晰

(5)平衡技术与经济的限制

(6)平衡各个模块之间的职责分配


5、体系结构的表现方法——模型


模型可以帮助把一些很难直观得到的东西以一种可视化的方式表现出来,模型可以为系统描绘出整个蓝图,简单、真实却又直观,这就是模型的魅力所在。我们建立模型,着帮助我们更好的理解体系结构,那么,都有哪些模型呢?

下面介绍一个模型,“4+1”模型,该模型有四个视图:逻辑视图、开发视图、物理视图、过程视图。

  • 逻辑视图:设计的对象模型(使用面向对象设计方法时)
  • 过程视图:捕捉设计的并发和同步特征
  • 物理视图:描述了软件到硬件的映射,反应了分布式特征
  • 开发视图:描述了在开发环境中软件的静态组织结构

图 1 - "4+1"视图模型

描述模型的语言中常用到UML——统一建模语言。UML可以画许多图,用例图,过程图,流程图,类图,等等。


原创粉丝点击