- 点击跳转专栏=>Unity3D特效百例
- 点击跳转专栏=>案例项目实战源码
- 点击跳转专栏=>游戏脚本-辅助自动化
- 点击跳转专栏=>Android控件全解手册
- 点击跳转专栏=>Scratch编程案例
- 点击跳转=>软考全系列
👉关于作者
专注于Android/Unity和各种游戏开发技巧,以及各种资源分享(网站、工具、素材、源码、游戏等)
有什么需要欢迎底部卡片私我,获取更多支持,交流让学习不再孤单。
👉实践过程
需要所有整理的文档可底部卡片联系我,直接发压缩包。
一 软件架构风格(重点,今年案例可能考)
定义:
软件架构风格是描述某一特定应用领域中系统组织方式的惯用模式。架构风格定义一个系统家族,即一个体系结构定义一个词汇表和一组约束。词汇表中包含一些构件和连接件类型,而这组约束指出系统是如何将这些构件和连接件组合起来的。
架构风格大类 | 架构小类 | 构件 | 连接件 |
---|---|---|---|
数据流风格 | 批处理序列 | 计算单元 | |
管理过滤器 | 过滤器 | 数据流传输的管道 | |
调用/返回风格 | 主/子程序 | 主子程序 | 过程调用 |
面向对象 | 对象 | 对象间的交付方式 | |
层次结构 | 每一层 | 层间的交付方式 | |
独立构件 | 进程通信 | 独立的进程 | 消息传递 |
事件驱动 | 模块 | 隐式调用 | |
仓库风格 | 黑板系统 | 知识源 | 黑板系统或数据库系统 |
1 数据流风格
- 批处理序列(口决记忆法:构构每每数以)
定义:
构建为一序列固定顺序的计算单元,构建之间只通过数据传递进行交付,每个处理步骤是一个独立的程序,每一步必须在其前一步结束后才能开始,数据必须是完整的,以整体的方式进行传递
**特点:**强调整体性,无交互
- 管理过滤器(口决记忆法:每构经然,变换三通)
定义:
- 每个构建都有一组输入、输出,构建读输入的数据流,经过内部处理,然后产生输出数据流,这个过程通常是通过对输入数据流的变换或计算来完成的,包括:
- 通过计算和增加信息以丰富数据
- 通过浓缩和删除以精简数据
- 通过改变记录方式以转化数据和递增的转化数据
- 构建为过滤器,连接件是数据流传输的管道
特点:不适合处理交互式应用
2 调用/返回风格
- 主程序/子程序(理解记忆法)
定义:
- 所有的计算构件作为子程序协作工作,并由一个主程序顺序地调用这些子程序,构件通过共享存储区交换数据。
- 调用关系具有层次性,其语义逻辑表现为主程序的正确性取决于它调用的子程序的正确性
- 构件为主程序和子程序,连接件是过程调用
- 面向对象(理解记忆法)
定义:
- 建立在数据抽象和面向对象的基础上,数据的表示和它们的相应操作被封装起来。
- 构件是对象,对象是抽象数据类型的实例,对象之间通过消息机制进行通信,连接件是对象间的交付方式。
- 层次结构(理解记忆法)
定义:
- 每层为上层提供服务,并使用下层提供的服务,一般中间层只对相邻层可见。
- 构件组成一个层次结构,连接件通过层间交互的协议来定义。
3 独立构件风格
- 进程通信(理解记忆法)
定义:
- 构件通常是命名过程,消息传递可以是点对点、异步或同步方式、以及远程过程调用等。
- 构件是独立的进程,连接件是消息传递
- 事件驱动系统(隐式调用)(理解记忆法)
定义:
- 构件不直接调用一个过程,而是触发或广播一个或多个事件。构件中的过程在一个或多个事件中注册,当某个事件被触发,系统自动调用在这个事件上注册的所有过程。
- 构件是一些模块,这些模块可以是过程或事件。连接件以过程之间的隐式调用来实现。
优点:
- 增加架构的灵活性
缺点:
- 构件放弃了对系统计算的控制
- 共享数据问题
4 虚拟机风格
- 解释器(需要自定义业务流程的场景)(理解记忆法)
定义:
- 包括一个完成解释工作的解释引擎,一个记录解释引擎当前工作状态的数据结构,一个包含将被解释代码的存储区,以及一个记录源代码被解释执行进度的数据结构。
- 含有一个虚拟机
缺点:
- 执行效率较低
- 基于规则的系统(通过数据分析,产生决策需要的数据)(理解记忆法)
- 包括规则集、规则解释器、规则/数据选择器和工作内存
5 仓库风格
- 数据库系统(类似于目前的多个微服务开发,连共享数据库操作)(理解记忆法)
定义:
- 中央共享数据库,保存当前系统的数据状态、
- 多个独立处理单元,对数据元素进行操作
- 黑板系统(信号处理、问题规划、编译器优化、语音识别)(强行记忆)
定义:
- 由知识源,黑板数据结构,控制3部分组成。黑板数据即共享的中央数据仓库;控制完全由黑板的状态驱动,黑板状态决定使用特定的知识源;知识源通过不断改变黑板数据来解决问题。
- 构件是中央数据结构和外部独立构件即知识源。连接子取决于控制原则的选取,若外部构件控制共享数据,则仓库是传统型数据库;若共享数据当前状态触发控制外部构件,则仓库是黑板系统。
- 超文本系统(强行记忆)
定义:
- 构件以网状链接方式相互连接
- 用户可以在构件之间进行按照人类联想思维的方式任意跳转到相关构件。
- 超文本以节点为单位
6 闭环控制(过程控制)
定义:
- 反馈循环机制
- 是将过程输出的指定属性维护在一个特定的参考值(设定点)。控制环路风格包括输入变量、设定点、操纵变量、过程变量和被控变量等构件,通过收集实际和理想的过程状态信息,并能调整过程变量使得实际状态趋于理想状态。
7 主程序/子程序与管道-过滤器的比较
二 各种图形
1 顺序图
**定义:**是一种交互图,强调对象之间消息发送的顺序,同时显示对象之间的交互。
2 活动图
**定义:**将进程或其他计算结构展示为计算内部一步步的控制流和数据流,强调对象间的控制流程。活动图可以用于描述系统的工作流程和并发行为。活动图中一个活动结束后将立即进入下一个活动(在状态图中状态的转移可能需要事件的触发)。活动图侧重描述行为的动作
3 状态图
**定义:**状态图主要用于描述一个对象在其生存期间的动态行为,表现一个对象所经历的状态序列,引起状态转移的事件(event),以及因状态转移而伴随的动作(action)。侧重于描述行为的结果
状态图与活动图的区别:
状态图侧重于描述行为的结果,而活动图侧重描述行为的动作。其次活动图可描述并发行为,而状态图不能。
4 通信图(了解)
**定义:**通信图也是一种交互图,它强调收发消息的对象或参与者的结构组织。
通信图与顺序图的区别:顺序图强调的是时序,而通信图强调的是对象之间的组织结构(或关系)。
5 流程图
流程图以图形化的方式展示应用程序从数据输入开始到获得输出为止的逻辑过程,描述
处理过程的控制流。
6 数据流图
6.1 定义
数据流图作为一种图形化工具,用来说明业务处理过程、系统边界内所包含的功能和系
统中的数据流。
数据流图通过外部代理(实体)描述系统与外界之间的数据交互关系,内部的活动通过处理(加工)表示,用数据流描述系统中不同活动之间的数据传输内容和方向,需要持久化存储的数据用数据存储表示,一般用文件系统或者数据库表存储数据-数据流图中所包含的四种元素:
- 外部实体(External Agent)定义位于项目范围之外,但与正在被研发的系统有交互关系的人、部门、外部系统或组织;
- 加工(Process)在输入数据流或条件上执行,或者对输入数据流或条件做出响应的工作;
- 数据存储(Data Store)描述静止的数据,表示系统中需要保存的数据;
- 数据流(Data Flow)描述运动中的数据,表示到一个过程的数据输入,或者来自一个过程的数据输出。
6.2 数据流图和流程图的区别
- 数据流图中的处理过程可并行;流程图在某个时间点只能处于一个处理过程。
- 数据流图展现系统的数据流;流程图展现系统的控制流。
- 数据流图展现全局的处理过程,过程之间遵循不同的计时标准;流程图中处理过程
遵循一致的计时标准。 - 数据流图适用于系统分析中的逻辑建模阶段;流程图适用于系统设计中的物理建模阶段。
6.3 数据流图的常见错误
实体->加工->数据存储->加工->实体
实体->实体:X
加工->加工:X
数据存储->数据存储:X
实体->数据存储:X
数据存储->实体:X
- 只有输入没有输出,产生数据黑洞;
- 只有输出没有输入,无中生有;
- 外部实体没有经过加工处理,直接到数据存储;
- 外部实体之间没有加工处理,存在直接数据流。
- 数据存储没有输出的数据流。
- 加工不能只进数据流,同样也不能只出数据流
- 实体与实体之间有数据流
- 实体与数据存储之间有数据流,存储和存储之间有数据流
6.4 设计原则
- 复杂性最小化原则。
- 接口最小化原则。
- 数据流一致性原则。
7 类图
**类图的关系:**依赖、泛化、关联(组合、聚合)、实现
**依赖和关联的区别:**依赖是一个类中的某个方法使用了另一个类做为参数,而关联是一个类把另一个类做成成员变量。
8 用例图
用例之间的关系:包含、扩展、泛化
三 软件质量属性
3.1 常见的几个质量属性定义
3.2 风险点、敏感点、权衡点
**系统架构风险:**架构设计中潜在的、存在问题的架构决策所带来的隐患。
**敏感点:**为了实现某种特定的质量属性,一个或多个系统组件所具有的特性。
**权衡点:**影响多个质量属性,并对多个质量属性来说都是敏感点的系统属性。
3.3 常见场景对应的质量属性
- 用户的信用卡支付必须保证 99.999%的安全性,对应安全性属性。
- 用户信息数据库授权必须保证 99.999%可用,对应安全性属性。
- 系统拟采用新的加密算法,这会提高系统安全性,但同时会降低系统的性能,系统权衡点。
- 对交易请求处理时间的要求将影响系统数据传输协议和交易处理过程的设计,对应系统敏感点。
- 现有架构设计中的支付部分与第三方支付平台紧耦合,当系统需要支持新的支付平台时,这种设计会导致支付部分代码的修改,影响系统的可修改性,对应系统风险。
- 系统需要为后端工程师提供远程调试接口,并支持远程调试,对应可测试性属性。
四 安全
4.1 安全威胁
信息系统面临的安全威胁多种多样,来自多个方面。请指出信息系统面临哪些方面的安全威胁并分别予以简要描述。
信息系统面临的安全威胁来自于管理、应用系统、通信链路、网络系统、物理环境、操作系统等多个方面。口决:管应通,网物操
- 物理安全威胁是指对系统所用设备的威胁,如自然灾害、电源故障、数据库故障和设备被盗等造成数据丢失或信息泄漏。
- 通信链路安全威胁是指在传输线路上安装窃听装置或对通信链路进行干扰。
- 网络安全威胁当前主要是指由于因特网的开放性、国际性与无安全管理性,对内部网络形成的严重安全威胁。
- 操作系统安全威胁指的是操作系统本身的后门或安全缺陷,如“木马”和“陷阱 门”等。
- 应用系统安全威胁是指对于网络服务或用户业务系统安全的威胁,包括应用系统自身漏洞,也受到“木马”的威胁。
- 管理系统安全威胁指的是人员管理和各种安全管理制度。
五 ESB
5.1 定义
企业服务总线(Enterprise Service Bus,ESB)是传统中间件技术与XML、Web服务等技术结合的产物,主要支持异构系统集成。ESB基于内容的路由和过滤,具备复杂数据的传输能力,并可以提供一系列的标准接口。
5.2 ESB的主要功能
- 服务位置透明性;
- 传输协议转换;
- 消息格式转换;
- 消息路由;
- 消息增强;
- 安全性;
- 监控与管理。
👉其他
📢作者:小空和小芝中的小空
📢转载说明-务必注明来源:https://zhima.blog.csdn.net/
📢这位道友请留步☁️,我观你气度不凡,谈吐间隐隐有王者霸气💚,日后定有一番大作为📝!!!旁边有点赞👍收藏🌟今日传你,点了吧,未来你成功☀️,我分文不取,若不成功⚡️,也好回来找我。
温馨提示:点击下方卡片获取更多意想不到的资源。