一、系统架构的质量属性
1、质量属性:性能、安全性、可用性、可修改性、可测试性。
2、架构风险:系统架构风险是指架构设计中潜在的,存在问题的架构决策所带来的隐患。
3、敏感点:敏感点是指为了实现某种特定的质量属性,一个或多个系统组件所具有的特性。
4、权衡点:权衡点是指多个质量属性,并对多个质量属性来说都是敏感点的系统属性。
二、软件系统的可靠性
1、定义:软件系统在规定的时间内及规定的环境条件下,完成规定功能的能力,就是系统无故障运行的概率。
2、特性:成熟性、容错性、易恢复性和可靠性的依从性。
3、技术:冗余技术、软件容错技术、双机容错技术、集群技术。
三、软件系统的存储架构
1、文件系统:针对特定应用系统设计,难度较小;数据冗余较大,可能在多个文件中复制相同的数据属性;以应用系统为中心组织、管理数据;符合特定应用系统要求的文件数据很难在不同的系统应用系统之间共享。
2、关系型数据库:数据结构需要符合关系模式,设计难度较大;遵守数据库范式,数据冗余较少;以数据库为中心组织,管理数据;数据库独立于应用系统,很容易在不同的应用系统之间共享数据。
3、内存数据库:主要数据模型是Key-Value模式(键值对模式);内存直接读写性能相对较高;基于内存存储,存储容量受限;恢复机制复杂,可靠性较低。
四、软件系统的架构风格
1、管道过滤器风格:数据处理方式是数据驱动机制,处理流程事先确定,交互性差;系统扩展性是数据与处理紧密关联,调整处理流程需要系统重新启动;处理性能:需要数据格式转换,性能降低、支持过滤器并发调用,性能提高。
2、仓库风格:数据处理方式是数据存储在中心仓库,处理流程独立,支持交互处理;系统扩展性是数据与处理解耦,可动态添加删除处理组件;处理性能:数据与处理分离,需要加载数据,性能低,数据处理组件之间一般无依赖关系,可并发调用,提高性能。