高级软件架构师——软件架构设计
2021-11-24 16:54:36 0 举报
高级软件架构师——软件架构设计
作者其他创作
大纲/内容
从软件需求分析到软件设计之间的过渡过程成为软件架构
软件架构就是为软件系统提供了一个结构、行为和属性的高级抽象,由构件的描述、构件的相互作用(连接件)、指导构件集成的模式以及这些模式的约束组成。
软件架构概述
软件架构设计包含提出机构模型、产生架构设计和进行设计评审等活动,是一个迭代的过程。架构设计主要关注软件组件的结构、属性和交互作用,并通过多种视图全面描述特定系统的架构
架构设计概念
定义:构件是一个独立可交付的功能单元,外界通过接口访问其提供的服务。
构件
构件与对象
结构模型
框架模型
动态模型
过程模型
功能模型
软件架构建模
逻辑视图
开发视图
进程视图
物理视图
场景
4+1视图
数据流风格
调用/返回风格
独立构建风格
虚拟机风格
仓库风格
软件架构风格
闭环控制(过程控制)
C2架构风格
基本架构风格
两层C/S架构
三层C/S架构
三层B/S架构
混合架构风格
富互联网架构RIA
层次架构风格
定义
发现服务 UDDI、DISCO
服务描述 WSDL、XML Schema
消息格式层 SOAP、REST
编码格式层 XML(DOM、SAX)
传输协议层 HTTP、TCP/IP 、SMTP
关键技术
WEB Service (服务提供、服务注册、服务调用)
企业服务总线ESB
实现方式
面向服务的架构风格SOA
构成要素
架构描述语言
架构描述语言ADL(Architecture Description Langurage)
领域分析
领域设计
领域实现
基本活动
领域专家
领域分析人员
领域设计人员
领域实现人员
角色人员
建立DSSA的过程
领域开发环境
领域特定的应用开发环境
应用执行环境
三层次模型
特定领域软件架构DSSA(Domain Specific Software Architecture)
架构需求
架构设计
架构文档化
架构复审
架构实现
架构优化
开发过程
基于架构的软件开发ABSD(Architecture-Based Software Design)
性能
可靠性
可用性
安全性
可修改性
功能性
可变性
互操作性
质量属性
敏感点
平衡点
风险点和非风险点
评价内容
基于调查问卷(检查表)的方式
基于度量的方式
基于场景的方式
评估方式
基于场景的架构分析方法SAAM(Scenario-based Architecture Analysis Method)
架构权衡分析方法ATAM(Architachture Tradeoff Analysis Method)
成本效益分析法CBAM(Cost Benefit Analysis Method)
软件架构评估
定义:软件产品线是一个产品集合,这些产品共享一个公共的、可管理的特征集,这个特征集能满足特定场景的特定需求。
领域工程
应用工程
双生命周期模型
企业工程
资源管理
三生命周期模型
将现有产品演化为产品线
用软件产品替换现有产品集
全新软件产品的演化
全新软件产品的开发
建立方式
对该领域具备长期和深厚的经验
一个用于构建产品的好的核心资源库
好的产品线架构
好的管理(软件资源、人员组织、过程)支持
成功因素
软件产品线
定义:中间件是一种独立的软件系统或服务程序,可以帮助分布式应用在不同的技术之间共享资源
远程过程调用RPC
对象请求代理ORB
远程方法调用RMI
面向消息的中间件MON
事件处理监控器TPM
中间件种类
实体
加工
会话
服务
公共对象请求代理体系结构Common ObjectRequest Broker Architecture(CORBA)
分布式多层应用程序
Struts
Spring
Hibernate
JAVA企业应用框架
重量级与轻量级之争
典型应用架构J2EE
只能使用在macrosoft系统
.NET与J2EE之争
典型应用架构.NET
中间件技术
应用技术分类
Web技术演进
负载均衡技术
读写分类技术
有状态和无技术
CDN
MVC
MVP
MVVM
REST
微服务
Web架构
缓存技术
XML
JSON
Web应用服务器
响应式Web设计
Web架构设计
软件架构设计
0 条评论
下一页