【小结】UML包图可以作为设计模型的一部分,用来描述LA(logical architecture,逻辑架构)。UML包图的输入是补充性规格说明中记录的架构方面的约束和要点。
一、逻辑架构(logical architecture,LA)
1.定义:逻辑架构是软件类的宏观组织结构,将软件类组织为包(或命名空间)、子系统和层。之所以称之为逻辑结构,是因为其并未决定如何在不同的操作系统进程或网络中物理的计算机上对这些元素进行部署(后面说的是部署架构deployment architecture)。
~~LA定义了包,包中有关于软件类的定义。
2.层 (Layer)
(1)定义:层是对类、包或子系统的甚为粗粒度的分组,具有对系统主要方面加以内聚的职责。
(说明:每一层都代表了系统中一个特定的关注点或责任区域,而层内部的具体实现细节对于其他层来说是隐藏的。这样的分组有助于降低系统各部分之间的耦合,并提高内聚性)
(2)高层可以调用它下面的所有层,但是低层不能调用它上面的层
(3)OO系统中的层通常包括:
①用户界面
②应用逻辑和领域对象——表示领域概念的软件对象,实现了应用需求,如下图中的Sales实现了计算销售总额。
③技术服务——提供支持性技术服务,e.g.数据库接口或错误日志(logging)。通常独立与应用,即可以在多个系统中复用。
![]() |
3.软件架构/架构:
定义:架构是一组重要决策,其中涉及软件系统的组织,对结构元素及其组成系统所籍接口的选择,这些元素特定于其相互协作的行为,这些结构和行为元素到更大规模的子系统的组成,以及知道该组织结构(这些元素及其接口、协作和组成)的架构风格。
(补充:所有软件架构定义的共同主题是,必须与宏观事物有关——动机、约束、组织、模式、职责和系统之连接(系统之系统)的重要思想。
整理不易,亲亲点个赞呗~~