-
架构定义了一个词汇表和一组约束
词汇表:包含一些构件和连接件类型
约束:指出系统是如何将这些构件和连接件组合起来的。
软件工程过程: P 软件规格说明 D 软件开发 C 软件确认 A 软件演进
SAAM 的输入: 问题描述、需求声明、架构描述
使用ABSD的3个基础: 功能分解、选择架构风格、软件模块的使用
DSSA的3个基本活动:
领域分析:领域模型
领域设计:获得DSSA特定领域的软件架构
领域实现: 开发和组织可重用信息
可靠性: 持续无故障运行的能力。 容错、健壮性
刺激源:生成刺激的实体
刺激:当刺激到达系统时,需要考虑的条件
环境:刺激在某些条件内发生
制品:某个制品被刺激,被刺激的客体
响应:在刺激到达后所采取的行动
响应度量:当响应发生时,应当能够以某种方式对其进行度量。
净室工程: 形式化、盒结构规约、正确性验证。
用例建模的步骤: 识别参与者 合并需求获得用例 细化用例描述 调整用例模型
建立分析模型的步骤: 定义概念类 确定类之间的关系 为类添加职责 建立交互图。
JWT(JSON Web Tokens):用于双方之间安全传输信息的简洁的、URL安全的令牌标准。
特点:紧凑型、自包含性、安全性、跨域验证
JWT的基本结构由三部分组成: Header 头部: 令牌的元数据、(令牌的类型、使用的签名算法) Payload 载荷:实际传输的数据(用户表示、权限信息) Signature 签名: 对Header和Payload的编码后的字符串进行加密的结果,用于验证JWT的真实性和完整性。
JWT工作流程: 1. 客户端向服务端发送请求,请求中包含用户名和密码等认证信息。
2. 服务端验证客户端的认证信息,如果验证通过,则使用用户名等信息和密钥生成JWT。
3. 服务端将生成的JWT发送给客户端,客户端在后续的请求中携带JWT进行身份验证。
4. 服务端接收到客户端的请求后,对JWT进行验证,包括验证签名和检查Payload中的信息等。
5. 如果JWT验证通过,则服务端处理请求并返回相应的响应;如果验证失败,则拒绝请求并返回错误信息。
读数据操作的最佳策略: 根据Key读缓存 命中则直接返回 若key不在缓存中,则根据key读数据库 读取成功后,更新缓存中的key值。
写数据操作的最佳策略: 根据key写数据库 写数据库成功后,删除缓存 为了尽可能保证缓存与数据库的一致性,采用延迟双删。
为了防止缓存删除失败,采用异步重试机制,利用canal 订阅mysql的binlog日志监听消息队列 重试删除操作。
管道过滤器与数据仓库架构风格对比:
1.交互方式: 管道过滤器里的构件是顺序交互,前一个构件的输出作为后一个构件的输入。
数据仓库里的构件是星型交互,多个独立构件都和一个中央共享数据库进行交互。 数据仓库风格更加灵活。
2.数据结构: 管道过滤器是基于数据流结构,构件之间通常使用流或者消息队列的形式传递数据。 数据仓库是基
于数据库结构,构件之间传递数据通常是基于关系型数据库的表结构。 数据仓库风格更加实用。
3.控制结构: 管道过滤器是数据驱动,数据流顺序传递。 数据仓库是业务功能驱动,面向应用。 数据仓库风格更加灵活。
4.扩展方法: 管道过滤器通过接口适配的方式扩展。 数据仓库通过模型适配,可以通过数据库内增加数据的方式进行扩展。 数据仓库风格的可扩展性更好。
系统架构设计优化: 性能: |- 响应时间:缓存机制 |- 吞吐量: 负载均衡 |- 资源利用率:代码优化 可用性: |- 用户界面响应时间:界面优化 |- 故障恢复时间: 冗余设计 安全性: |- 数据加密:SSL/TLS协议 |- 访问控制:RBAC 基于角色的访问控制 |- 异常检测:日志分析 可维护性: |- 文档完整性:API文档 |- 代码可读性:编码规范 |- 测试覆盖率:单元测试 可修改性: |-
系统架构风险:指架构设计中潜在的、存在问题的架构决策所带来的隐患。 敏感点:指为了实现某种特定的指令属性,一个或多个构件所具有的特性。 权衡点:指影响多个质量属性的特性,是多个质量属性的敏感点。
状态图和活动图的含义与区别: 状态图:是系统分析的一种常用工具,主要用于描述一个对象在其生存周期内的动态行为。 通过建立类对象的生存周期模型,来展示对象随时间变化的状态序列以及状态之间的装换。 活动图:是UML中的流程图,用于描述系统中各种活动的执行顺序和流程。 侧重于描述从活动到活动的处理过程,可以清晰地展示方法在执行过程中的各项活动及其关系。 区别: 状态图主要关注于对象的状态装换,描述一个对象在其生命周期内所经历的不同状态及其装换关系。 活动图侧重于描述系统中各种活动的执行流程,以及活动之间的依赖和并发关系。 在状态图中,状态的装换需要外部事件的触发;活动图中活动之间的装换是由活动的完成来驱动的。 状态图侧重于描述行为的结果,活动图则更重于描述行为的动作。 状态图在描述对象状态装换时不能直接展示并发行为,活动图则能够清晰展示并发活动。
信息系统架构: 结构、行为和属性的高级抽象,由元素描述、外部可见属性、元素之间的关系、集成的模式 、模式的约束。
信息系统架构分类:集中式、分布式 逻辑结构:横向综合、纵向综合、纵横综合
4种架构模型: |--单机应用模式: |-- 客户机/服务器模式: |- 胖客户端(两层C/S):客户端(交互、业务逻辑处理)、服务器 |-瘦客户端(三层C/S):表示层(用户接口)、功能层(业务逻辑处理)、数据层 |-浏览器/服务器(B/S) |- 多层C/S结构:表现层、业务层、访问层、数据层 |-MVC:视图、控制器、模型 |--面向服务SOA:粗粒度、松耦合、可重用、定义标准化的协议。 |- 分为:异构系统集成、同构系统聚合、联邦体系结构 |- Web Service:基于开放的标准和协议,规范化的方式描述、发布、发现和使用服务。 |- 本质是消息机制或远程过程调用RPC |-- 企业数据交换总线 ————————————————
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。