高级软件架构师——软件架构设计
2021-11-24 16:54:36 0 举报
高级软件架构师——软件架构设计
作者其他创作
大纲/内容
软件架构概述
从软件需求分析到软件设计之间的过渡过程成为软件架构
软件架构就是为软件系统提供了一个结构、行为和属性的高级抽象,由构件的描述、构件的相互作用(连接件)、指导构件集成的模式以及这些模式的约束组成。
架构设计概念
软件架构设计包含提出机构模型、产生架构设计和进行设计评审等活动,是一个迭代的过程。架构设计主要关注软件组件的结构、属性和交互作用,并通过多种视图全面描述特定系统的架构
构件与对象
构件
定义:构件是一个独立可交付的功能单元,外界通过接口访问其提供的服务。
软件架构建模
结构模型
框架模型
动态模型
过程模型
功能模型
4+1视图
逻辑视图
开发视图
进程视图
物理视图
场景
软件架构风格
数据流风格
调用/返回风格
独立构建风格
虚拟机风格
仓库风格
基本架构风格
闭环控制(过程控制)
C2架构风格
层次架构风格
两层C/S架构
三层C/S架构
三层B/S架构
混合架构风格
富互联网架构RIA
面向服务的架构风格SOA
定义
关键技术
发现服务 UDDI、DISCO
服务描述 WSDL、XML Schema
消息格式层 SOAP、REST
编码格式层 XML(DOM、SAX)
传输协议层 HTTP、TCP/IP 、SMTP
实现方式
WEB Service (服务提供、服务注册、服务调用)
企业服务总线ESB
架构描述语言ADL(Architecture Description Langurage)
定义
构成要素
架构描述语言
特定领域软件架构DSSA(Domain Specific Software Architecture)
定义
基本活动
领域分析
领域设计
领域实现
角色人员
领域专家
领域分析人员
领域设计人员
领域实现人员
建立DSSA的过程
三层次模型
领域开发环境
领域特定的应用开发环境
应用执行环境
基于架构的软件开发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)
实体
加工
会话
服务
典型应用架构J2EE
分布式多层应用程序
JAVA企业应用框架
Struts
Spring
Hibernate
重量级与轻量级之争
典型应用架构.NET
只能使用在macrosoft系统
.NET与J2EE之争
Web架构设计
应用技术分类
Web技术演进
负载均衡技术
读写分类技术
有状态和无技术
CDN
Web架构
MVC
MVP
MVVM
REST
微服务
缓存技术
XML
JSON
Web应用服务器
响应式Web设计
0 条评论
下一页