软考分类精讲-软件架构设计(五)
软件架构评估—ATAM
软件架构评估—质量效用树
软件架构评估—CBAM
- 整理场景
- 对场景进行求精
- 确定场景的优先级
- 分配效用
- 形成“策略-场景-响应级别”的对应关系
- 确定期望的质量属性响应级别的效用
- 计算各架构策略的总收益
- 根据受成本限制影响的投资报酬率选择架构策略
软件架构评估—SAAM
软件产品线—过程模型—双生命周期模型
软件产品线—过程模型—SEI模型
软ESIG件NER产: 品线—过程模型—三生命周期模型
软件产品线—建立方式
- 将现有产品演化为产品线
- 用软件产品线替代现有产品集
- 全新软件产品线的演化
- 全新软件产品线的开发
软件产品线—组织结构
- 设立独立的核心资源小组
- 不设立独立的核心资源小组
- 动态的组织结构
- 对该领域具备长期和深厚的经验
- 一个用于构建产品的好的核心资源库
- 好的产品线架构
- 好的管理(软件资源、人员组织、过程)支持
中间件技术—概念
中间件是一种独立的系统软件 或服务程序,可以帮助分布式 应用软件在不同的技术之间共 享资源
- 负责客户机与服务器之间的连接和通信,以及客户机与应用层之间的高效率通信机制
- 提供应用层不同服务之间的互操作机制,以及应用层与数据库之间的连接和控制机制
- 提供多层构架的应用开发和运行的平台,以及应用开发框架,支持模块化的应用开发
- 屏蔽硬件、操作系统、网络和数据库的差异
- 提供应用的负载均衡和高可用性、安全机制与管理功能,以及交易管理机制,保证交易的一致性
- 提供一组通用的服务去执行不同的功能,避免重复的工作和使应用之间可以协作
中间件技术—主要的中间件
- 远程过程调用
- 对象请求代理
- 远程方法调用
- 面向消息的中间件
- 事务处理监控器
中间件技术—Corba(公共对象请求代理体系结构)
典型应用架构—J2EE—分布式多层应用程序
典型应用架构—J2EE—Java企业应用框架
典型应用架构—MVC
- Model(模型)是应用程序中用于处理应用程序数据逻辑的部分。通常 模型对象负责在数据库中存取数据
- View(视图)是应用程序中处理数据显示的部分。通常视图是依据模 型数据创建的。
- Controller(控制器)是应用程序中处理用户交互的部分。通常控制器 负责从视图读取数据,控制用户输入,并向模型发送数据
J2EE体系结构中
- 视图(View):JSP
- 控制(Controller):
- Servlet 模型(Model):Entity Bean、Session Bean
典型应用架构—MVC设计模式
- MVP是MVC的变种
- MVP实现了V与M之间的解耦(V不直接使用M,修改V不会影响M)
- MVP更好的支持单元测试(业务逻辑在P中,可以脱离V来测试这些逻辑; 可以将一个P用于多个V,而不需要改变P的逻辑
- MVP中V要处理界面事件,业务逻辑在P中,MVC中界面事件由C处理
典型应用架构—J2EE—Java企业应用框架
Struts是一个基于J2EE平台的MVC框架,主要采用Serviet和JSP技术来实现。 在Struts中,M由实现业务逻辑的JavaBean构成,C由ActionServiet和Action 来实现,V由一组JSP文件构成
Spring通过RMI或Web Service远程访问业务逻辑,允许自由选择和组装各 部分功能,还提供和其他软件集成的接口。Spring本身是个容器,管理构 件的生命周期、构件的组态。依赖注入等,并可以控制构件在创建时以 原型或单例模式来创建
Hibernate是一个对象关系映射框架,提供了Java对象到数据库表之间的直 接映射,它对JDBC进行了非常轻量级的对象封装,使得Java程序员可以使 用对象编程思维来操作数据库。在Hibernate中,ORM机制的核心是一个 XML文件,该文件描述了数据库模式是怎么与一组Java类绑定在一起的
典型应用架构—.NET
典型应用架构—.NET与J2EE之争
- JVM与CLR
- 对多层分布式应用的支持
- 安全性
- 应用程序的部署
- 可移植性
- 外部支持