目录
案例题目规则
架构设计案例分析
知识总纲(理解并背诵)
架构风格(理解并背诵)
质量属性(理解并背诵)
性能
可靠性
可用性
可修改性
功能性
可变性
互操作性
架构评估(理解并背诵)
具体架构风格(理解)
层次架构
两层C/S架构
三层C/S架构
B/S架构
MVC
MVP
MVVM
SOA
ESB(企业服务总线)
J2EE
JSP+Servlet+JavaBean+DAO
架构风格题目分析
题目一
题目二
题目三
题目四
案例题目规则
案例分析(二卷)题目一般为5道,题目类型主要为:
题目类型 |
架构设计 |
系统开发 |
数据库 |
Web应用 |
嵌入式 |
其中第一题为必做题目,剩下的四道题中选择两道进行答题 ,也就是【架构设计】类题目必须做,剩下在 【系统开发】、【数据库】、【Web应用】、【嵌入式】四个中选择两个做即可。
架构设计案例分析
知识总纲(理解并背诵)
架构风格(理解并背诵)
架构风格 | 子风格 | 常考关键字及实例 | 特点 | 优点 | 缺点 | 适合场景 |
---|---|---|---|---|---|---|
数据流风格 | 批处理 | 传统编译器,每个阶段产生的结果作为下一个阶段的输入,区别在于整体。 | ||||
管道-过滤器 | 传统编译器,每个阶段产生的结果作为下一个阶段的输入,区别在于整体。 | 过滤器相对独立 | 功能模块复用;可维护性和可扩展性较强;具有并发性;模块独立性高。 | 不适于交互性强的应用,对于存在关系的数据处理必须进行协调。 | 系统可划分清晰的模块;模块相对独立;有清晰的模块接口。 | |
调用/返回风格 | 调用/返回-主程序/子程序 | 显示调用,主程序直接调用子程序。 | ||||
调用/返回-面向对象 | 对象是构件,通过对象调用封装的方法和属性。 | 力争实现问题空间和软件系统空间结构的一致性。 | 高度模块性;实现封装;代码共享灵活;易维护;可扩充性好。 | 增加了对象之间的依赖关系。 | 多种领域。 | |
调用/返回-层次结构 | 分层,每层最多影响其上下两层,有调用关系。 | 各个层次的组件形成不同功能级别的虚拟机;多层相互协同工作,而且实现透明。 | 支持系统设计过程中的逐级抽象;可扩展性好;支持软件复用。 | 不同层次之间耦合度高的系统很难实现。 | 适合功能层次的抽象和相互之间低耦合的系统。 | |
独立构件风格 | 独立构件-进程通信 | 进程间独立的消息传递,同步异步。 | ||||
独立构件-事件驱动(隐式调用) | 事件触发推动动作,如程序语言的语法高亮、语法错误提示。 | 系统由若干子系统构成且称为一个整体;系统有统一的目标;子系统有主从之分;每一个子系统都有自己的事件收集和处理机制。 | 适合描述系统组;容易实现并发处理和多任务;可扩展性好;具有类层次结构;简化代码。 | 因为树型结构所以削弱了对系统计算的控制能力;各个对象的逻辑关系复杂。 | 一个系统对外部的表现可以从它对事件的处理表征出来。 | |
虚拟机风格 | 虚拟机-解释器 | 自定义流程,按流程执行,规则随时改变,灵活定义,业务灵活组合机器人。 | 系统核心是虚拟机。 | 可以用多种操作来解释个句子,灵活应对自定义场景。 | 适合于特定领域。 | 适合于模式匹配系统与语言编译器。 |
虚拟机-规则系统 | 自定义流程,按流程执行,规则随时改变,灵活定义,业务灵活组合机器人。 | |||||
仓库风格 | 仓库-数据库 | 现代编译器的集成开发环境IDE,以数据为中心。又称为数据共享风格。 | 采用两个常用构件中央数据单元和一些相对独立的组件集合。 | 中央数据单元实现了数据的集中,以数据为中心。 | 适合于特定领域。 | 适合于专家系统等人工智能领域问题的求解。 |
仓库-超文本 | 现代编译器的集成开发环境IDE,以数据为中心。又称为数据共享风格。 | |||||
仓库-黑板 | 现代编译器的集成开发环境IDE,以数据为中心。又称为数据共享风格。 | |||||
闭环 | 闭环-过程控制 | 汽车巡航定速,空调温度调节,设定参数,并不断调整。 | 通过不断的测量被控对象,认识和掌握被控对象;将控制理论引入体系结构构建。 | 将控制理论引入到计算机软件体系结构中。 | 适合于特定领域。 | 该系统中一定存在有目标的作用、信息处理闭环控制过程。 |
质量属性(理解并背诵)
性能
指系统的响应能力,即要经过多长时间才能对某个事件做出响应,或者在某段时间内系统所能处理的事件的个数。如响应时间、吞吐量。
- 设计策略:优先级队列、增加计算资源、减少计算开销、引入并发机制、采用资源调度等。
可靠性
是软件系统在应用或系统错误面前,在意外或错误使用的情况下维持软件系统的功能特性的基本能力。如MTTF、MTBF。
- 设计策略:心跳、Ping/Echo、冗余、选举。
可用性
是系统能够正常运行的时间比例,经常用两次故障之间的时间长度或在出现故障时系统能够恢复正常的速度来表示。如故障间隔时间。
- 设计策略:心跳、Ping/Echo、冗余、选举。
安全性
是指系统在向合法用户提供服务的同时能够阻止非授权用户使用的企图或拒绝服务的能力。如保密性、完整性、不可抵赖性、可控性。
- 设计策略:入侵检测、用户认证、用户授权、追踪审计。
可修改性
指