重大风险:功能 质量 约束
高层切分:借助鲁棒图,初步识别功能别后的职责,就可以规划高层切分的具体方式
分析和综合是思维方向相反的过程。一般是先分析后综合,没有分析就不能综合,没有综合,也只是片面的分析
通过系统切分,虽然无法降低复杂性,当可以控制复杂性
分层式概念架构:逻辑层 物理层 通用性分 技术堆叠
概念架构:系统切分 技术选择 权衡策略
考虑非功能性需求:目标 场景 决策
质疑驱动架构
方案和架构的区别:方案包含一定的架构内容,方案涉的架构基本在概念一级 架构设计工作还远远未完成
细化结构和概念架构的区别:接口 子系统 交互机制
概念架构(概念及方案) 细化架构(规约及方案)
细化架构属于架构设计不是详细设计
概念 细化 实现
概念架构第一阶段 逻辑架构和物理架构是同一阶段
架构设计依赖:
明确的业务需求-愿景
全面的用户需求-用例图
典型的行为需求-用例规约 (此时架构与需求并行)
4大环境:
业务环境,使用环境,构建环境,技术环境
3大需求:
业务需求(项目视图和范围文档)
用户需求(用例文档)
功能需求(系统需求)
多重架构视图必不可少,因为不同涉众(用户,客户,开发人员,测试人员,维护人员,内部操作人员,其它人员)需要从各自的角度理解和使用架构。
架构设计的内容和决策多,超过了人脑一蹴而就的能力范围,因此采用不同的世界分别设计,对软件架构的理解交流提供了方便
数据量大+计算量大
物理结构主要着重考虑运行软件的计算机 网络 硬件设施情况,还包括软件的部署以及运行时的配置情况,还包括软件系统和硬件系统在内的这个it系统是如何相互影响的
物理架构:1,硬件选择 物理拓扑 2,软件到硬件映射 3,方案优化
降低开销 避免争用 来实现高性能和高可伸缩性
物理架构思维框架:目标层(XX性),思维层(XX开销,xx争用),结果层(软件单元, 数据单元, 物理节点, 网络)
运行架构:如果系统中没有引入并行处理或者并发处理,并且系统也没有基于sdk,api等基础软件进行定制开发,那就不许要运行架构
运行架构包括:1,控制流(进程线程,中断的服务)2,控制流组织(系统启动停机 控制流通信 加锁或者同步)
确定引入控制流的几点建议:为了实现节点之间的通信,通常的做法是引入一条控制流来专门负责,物理架构中每个节点至少有一个控制流,节点是具有主动行为的设备,并为其引入专门的控制流,来自用户或者外部系统的并发访问,常需要后端服务支持多控制流。在需求一级描述的并发或者并行的也需要引入控制流