软件架构是为了解决 程序复杂性的问题
软件架构(software architecture)
软件架构是一个系统的草图。软件架构描述的对象是直接构成系统的抽象组件。各个组件之间的连接则明确和相对细致地描述组件之间的通讯。在实现阶段,这些抽象组件被细化为实际的组件,比如具体某个类或者对象。在面向对象领域中,组件之间的连接通常用接口_(计算机科学)来实现。
一个软件架构师或者系统架构师陈述软件构架以作为满足不同客户需求的实际系统设计方案的基础。一个软件架构师需要有广泛的软件理论知识和相应的经验来实施和管理软件产品的高级设计。
软件架构师工作:
1、定义和设计软件的模块化,模块之间的交互,用户界面风格,对外接口方法,创新的设计特性,以及高层事物的对象操作、逻辑和流程。
常见模式:
CS和BS模式,
分布式和非分布式,分布式需要指明是业务逻辑分布、数据库分布、还是都分布等,不同层次的分布有不同的解决方案,在这里一般分布式结构通常指的是基于BS的模式,通过看下面这张图我们会更直观、明白一些。
如何发展架构能力: