案例题型分析 案例题型分析第一题必做后面的是4选2做。1. 2019----2022年第一题都是软件架构第一问都是关于架构风格的给出几种架构风格然后让对比第二问给一些题目描述然后填写质量属性效用树。所以每种架构风格必须了然于胸质量属性的判断(架构的8个质量属性)2.后面的4选2推荐选系统开发系统开发考的是软件工程的知识、面向对象、结构化系统分析、面向对象的系统分析3.还有一个案例就看自己擅长哪个方面了建议数据库和web方向的。软件架构设计主要涉及到质量属性、软件架构风格、软件架构评估、MVC架构、面向服务SOA、ESB、J2EE架构等还有架构领域知识DSSA、ABSD等也是系统开发基础从需求分析到系统运维过程以及建模等涉及UML的图、关系的识别尤其是类图、用例图、活动图、状态图设计模式识别数据流图、E-R图等简单识别信息安全相关技术项目管理-进度管理-关键路径。数据库系统主要考一些新技术的比较如关系型数据库、内存数据库及NoSQL等还会包括反规范化技术、主从复制、负载均衡等嵌入式系统多为实时性和可靠性及容错大概率陌生技术不建议选Web应用开发考察Web相关技术一些结合架构进行考察。偶尔会考到新技术遇到完全没听说过的技术就不选。要点完全陌生的架构和技术没必要去看因为不会考第二次。选题技巧历年出题规律总结1. 2019----2022年第一题都是软件架构第一问都是关于架构风格的给出几种架构风格然后让对比第二问给一些题目描述然后填写质量属性效用树。所以每种架构风格必须了然于胸质量属性的判断(架构的8个质量属性)2.后面的4选2推荐选系统开发系统开发考的是软件工程的知识、面向对象、结构化系统分析、面向对象的系统分析3.还有一个案例就看自己擅长哪个方面了建议数据库和web方向的。第一题必做直接做后面的4选2要先看题目描述的问题然后带着问题去读题目如果题目中出现了很多没听过的技术一般不能选。总体来说看看能不能拿到12分以上能就选。还有300字左右不能太多。按点给分多写不扣分少写扣分。涉及的知识点软件架构设计主要涉及到质量属性、软件架构风格、软件架构评估、MVC架构、面向服务SOA、ESB、J2EE架构等还有架构领域知识DSSA、ABSD等也是系统开发基础从需求分析到运维涉及UML的图、关系的识别尤其是类图、用例图、活动图、状态图设计模式识别数据流图、E-R图等简单识别信息安全相关技术项目管理-进度管理-关键路径。数据库系统主要考一些新技术的比较如关系型数据库、内存数据库及NoSQL等还会包括反规范化技术、主从复制、负载均衡等嵌入式系统多为实时性和可靠性及容错大概率陌生技术不建议选Web应用开发考察Web相关技术一些结合架构进行考察。偶尔会考到新技术遇到完全没听说过的技术就不选。要点完全陌生的架构和技术没必要去看因为不会考第二次。常考知识点回顾一、软件架构设计一)、.质量属性效用树、质量属性判断一般是给了描述让判断是什么质量属性除了质量属性外还有风险点权衡点等等。三点定义、优化策略、典型代表参数1.性能响应能力多久才能做出反应或者单位时间内处理的个数优化策略增加计算资源、引入并发、减少开销、优先级、资源调度典型1秒内.....2.可靠性在错误面前维持基本功能的能力优化策略心跳、冗余、选举、ping/Echo3.可用性系统正常运行的比例优化策略心跳、冗余、选举、ping/Echo4.安全性为正常用户提供服务并拒绝非法用户的能力优化策略审计追踪、日志、防火墙、用户认证和授权、加密入侵检测5.可修改性修改的容易程度是否容易测试高性价有限时间内优化策略代码写的怎么样设计做的如何面向对象以及结构化的设计规则接口-实现分类、信息隐藏、抽象6.功能性功能的描述补充1.性能是带有时间控制的功能性能和功能的区分要求通过超链接打开一个网站这是功能要求3秒内通过超链接打开一个网站这是性能2.带数字的不一定是性能比如系统发生故障后要求一天内恢复正常可用可靠要求3人/月完成变更可修改性7.可变性体系结构经扩充或变更成为新体系结构的能力补充可变性和可修改性区别可修改性一般指系统内的某个功能可变性一般指架构上的修改使之成为新的系统或架构作用于产品线上复用8.互操作性与其他系统或环境交互的能力经常考的质量属性性能、安全性、可用性、可修改性---比较好举例质量属性效用树等二)、必须背过的概念考试会考原话1.软件架构风格软件架构风格是对设计、软件、甚至是代码的分类------------描述特定软件系统的惯用模式组织方式描述了系统的组成构件和这些构件的组织方式惯用模式反应众多系统共有的结构和语义。2.架构风险风险是问题可能发生也可能不发生-----架构设计中潜在的、存在问题的架构决策所带来的隐患3.风险点于非风险点风险点可能存在问题的点可能会影响什么、产生什么后果等等的这些因素非风险点某个功能增加是可行的没什么风险或者风险在可接受范围内就是非风险点4.敏感点只提到一个质量属性就是敏感点5.权衡点影响多个质量属性权衡点二、架构风格5大风格分类、简介、特征、代表系统或软件-----有个表1.数据流每阶段产生的输出是下一阶段的输入区别在于是否整体1).管道过滤器一个接一个前一个输出是后一个输入数据不以整体传输2).批处理一个接一个数据以整体为单位传输典型应用早期的编译器都是采用这种数据流风格2.调用返回风格构件之间的调用1).主程序--子程序显示调用主程序直接调用子程序主程序的正确取决于子程序放弃了部分控制权2).面向对象对象是构件通过对象调用封装的属性和方法。3).层次结构分层每层最多影响上下两层(多为上层)层间有调用关系典型应用MVC、J2EE都是层次结构3.独立构件风格事件触发推动动作1).隐式调用不直接调用通过事件驱动2).进程通信进程间消息的传递同步异步共享内存啊有名管道啊等等典型应用隐式调用程序语言的语法高亮、语法提示错误中断4.仓库风格/数据共享风格1).数据库2).超文本3).黑板典型应用5.虚拟机自定义流程规则按流程执行规则随时变灵活定义业务灵活组合1).解释器2).规则系统典型应用机器人就是虚拟机风格6.闭环--过程控制典型应用7.C2典型应用三、典型架构面向服务的架构、J2EE、MVC....四、架构评估