关于细化架构的相关内容的阅读总结和个人理解

1. 细化架构区别于概念架构的地方

  概念架构是细化到层与层之间的关系,而细化架构则是在此基础上的进一步的拓展,例如:实现这个功能,A层与B层通过什么接口进行数据的传输?

2. 方案与架构之间的关系

  方案的制定需要项目中各个阶层的人,共同参与,而不是单单的由架构师一人独断,架构在整个方案中只是子集的关系,方案=“项目+需求+架构”。

3. 何为贴近实践的多视图方法

  这种架构的思想,是指将架构师的各种工作具体化。例如:用什么服务器?数据格式如何?计算机网络的各层应该如何适配开发出来的软件,开发出来的软件对于计算机系统的适配又是如何的?

4. 如何区分多视图观念到底是阶段还是视图

  显然,阶段不是并行的,而视图可以并行开发,多视图可以并行开发,所以多视图是架构理念而不是开发的某一阶段。

5. 面向对象编程理念在架构中的立场

  在物理视图劣势,在逻辑视图可以采用,单不是必须

6. 逻辑架构的设计应该完成的工作

  1. 细化功能单元
  2. 发现通用机制
  3. 细化领域模型
  4. 确定子系统接口和交互机制

7. 因为软件架构的重点在于‘软件系统的各部分是如何相关的’,那么我们可以经过适度的抽象分析,将几组协作中的公共行为提取出来成为‘通用机制’,这样用利于所有涉众对软件架构的共同认识——即提高了系统的概念完整性。

8. 什么是机制

  所谓机制,是模式的实例,机制必须进一步细化才能成为特定模型中的协作,因此,机制是独特上下文中重复出现的问题的特定解决方案。可以说,机制符合模式的定义,任何协作都可以被称为机制,但通常,机制仅表示‘软件应用系统中重复出现的问题的解决方案’的协作,例如可以采用模式的持久化处理等等。

9. 开发架构的设计工作包括哪些内容

  1. 确定要开发或直接利用的程序包之间的依赖关系
  2. 确定采用的技术
  3. 确定采用的框架

10. 数据架构的设计工作包括哪些内容

  1. 持久化数据存储方案
  2. 数据传递、数据复制、数据同步等策略

11. 设计运行架构的思想

  着重考虑运行期间质量属性,例如性能、可伸缩性、持续可用性等。运行架构关注进程、线程、对象等运行时概念,以及相关的并发、同步、通信等问题。采用UML图,静态方面涉及包图、类图、对象图;动态方面涉及序列图、协作图等。

12. 设计开发架构的思想

  开发架构一般偏重于程序包在编译时期的静态依赖关系,而这些程序运行起来之后会表现为对象、线程、进程,运行架构比较关注的是这些运行时单元的交互问题,运行架构是在开发架构的基础上,从宏观上规划多条控制流的并发和同步。

13. 运行架构包括的一些内容

  1. 确定引入哪些进程和线程
  2. 确定主动对象、被动对象、以及控制流关系
  3. 处理相关问题:进程线程的创建、销毁、通信机制、资源争用等。
  4. 协议设计,例如基于TCP/IP协议定义本系统的‘应用协议’。

14. 实现并发的两种方式

  进程和线程。在面向对象方法中,线程也应通过对象来封装,这包括两个概念:主动对象和主动类。主动对象是一组属性和服务的封装体,其中至少由一个服务是主动服务,主动服务不需要接收‘消息’就能主动执行。与主动对象相对的概念是被动对象,它的所有服务都是被动服务,需要被调用才能执行。主动类则是描述主动对象的类。

15. 如何设计物理架构?

  着重考虑‘安装和部署需求’,物理视图描述了运行软件的计算机、网络、硬件设施等情况。还包括如何将软件包部署到这些硬件资源上,以及它们运行时的配置情况。相对于运行架构,物理架构重视目标程序的静态位置问题。如果采用UML,涉及到部署图和组件图。

16. 物理架构包含的主要内容

  1. 确定物理配置方案
  2. 确定如何将目标程序映射到物理节点

——————参考文献:《软件架构设计》   温昱

——————参考文章:http://wing011203.cnblogs.com/

  

posted @ 2020-04-10 11:20  我叫张小凡  阅读(196)  评论(0编辑  收藏  举报