ABSD(Archiecture-Based Software Design)
架构驱动的方法,自顶向下,软件系统的架构通过该方法得到细化,直到能产生软件构件或模块
五大架构风格 | 子风格 | 定义 | 架构场景 |
---|---|---|---|
数据流体风格 Data flow style | 批处理、管道-过滤器 | 数据过程处理和分析 | 数据输入、解析过程固定 |
调用和返回风格 call and return style | 主程序/子程序、面向对象体系结构 Object-Oriented architecture 、层次体系结构 Layered architecture | 简化与抽象系统 | 复杂且大型软件 |
独立构件风格 Independent component style | 进程通信、事件驱动系统(隐式调用) | 总线-模块 | 物联网泛播、消息队列等 |
虚拟机风格 virtual machine style | 解释器、规则系统Rule-based system | 虚拟机,可变的解释引擎,适应自定义流程 | 极易变动的流程和规则 |
仓库风格 Repository Style | 数据库系统、黑板系统、超文本系统 | 数据仓库、算法模型库等 | 数据持久化、数据快速查询等 |
C/S
C/S
架构将应用系统分成表示层(用户和系统接口部分)、功能层(业务逻辑)、数据层(数据管理和控制)Rule-based system
DSSA(Domain Specifie Sottware Architecture)
特定应用领域中为一组应用提供组织结构参考的标准软件架构。从功能范围角度,垂直域定义了一个特定的系统族,包含整个系统族内的多个系统,可作为该领域系统的可行解决方案的一个通用软件架构;水平域顶一个在多个系统和多个系统族中功能区域的共有部分,再子系统级上涵盖多个系统族的特定部分功能。
在进行架构评估时,一般未收先要精确得出具体的质量目标,并用其自以为判定该体系结构优劣的标准。把得出这些质量目标而采用的机制叫做场景,场景是从风险承担者的角度对与系统进行的交互的简短描述。再体系结构评估中一般采用刺激、环境、响应三个方面来对场景进行描述。刺激是指场景中解释或描述风险承担着怎样引发与系统的交互。如:用户会激发某个功能(新增需求),维护中可能会做某个更改,测试人员可能会执行某种测试这些都是对于场景的刺激。环境描述是刺激发生时的情况,如:当前系统处于何种状态?有如何的约束条件?是否存在系统负载很大?网络是否存在阻塞等。响应是指系统是如何通过体系结构对刺激做出的反应,如:用户所要求的功能是否得到满足?维护人员的修改是否成功?测试人员的测试是否成功等
在架构评估中,敏感点是一个或(和)多个构件之间的特性(关系)。改变加密级别的设计决策属于权衡点,因为他可能会安全性和性能产生非常重要的影响。
Max: 简单框架、避免前置条件的嵌套
Max:通过框架可快速搭建模块等
模块复用
Max:Bug定位
Max:跨平台跨语言集成管理工具
Max:极简化、扁平化、无串行流程理解等
Max:用户行为的快速相应
Max:非授权用户行为杜绝,如反爬虫等
Max:通常表征为数据兼容性,即数据导入和导出
Max:负载均衡、弹性节点
Max:时间检测