中秋快乐 团团圆圆
今天是中秋节,不知道各位小伙伴是不是和家人团聚在一起呢。
由于每天上班,学习时间有限,中秋三天我就用来学习了。
前端时间刷了很多真题,也慢慢的感受到了一些出题的套路,以及一些常考的点。
于是一个一个知识点来总结吧。
今天想总结一下的是《系统架构师》考试中的图。
本文只针对应试,每个类型的图,都找了个图片,可以有直观感受,但是不针对每一个图的详细要素做讲解。
分类
数据流图(DFD)
- 在数据库设计的需求分析阶段,需要形成 需求说明文档、数据字典、数据流图
他用来表示功能模型。
数据流图大概就长这个样子:
结构图
程序流程图和盒图
程序流程图和盒图都是用来描述程序的细节逻辑的。 包括顺序、分支、循环等环节。
这个可能很多人都见过,初学编程的时候经常见到:
盒图 和程序流程图类似:
用例图
用例图(use case diagram)。描述一组用例、 参与者(- -种特殊的类)及它们之间的关系。用例图给出系统的静态用例视图。这些图在对系统的行为进行组织和建模时是非常重要的。
类图
类图(class diagram)。描述- -组类、接口、协作和它们之间的关系。在面向对象系统的建模中,最常见的图就是类图。类图给出了系统的静态设计视图,活动类的类图给出了系统的静态进程视图。
表达类的内部属性和行为,以及类之间的交互关系。
对象图
对象图(object diagram)。描述一组对 象及它们之间的关系。对象图描述了在类图中所建立的事物实例的静态快照。和类图一样,这些图给出系统的静态设计视图或静态进程视图,但它们是从真实案例或原型案例的角度建立的。
对象图的元素只有名称和属性,没有方法:
交互图
顺序图
顺序图( sequence diagram,序列图)。是一种交互图(interaction diagram),展现了一种交互,它由- -组对象或角色以及它们之间可能发送的消息构成。交互图专注于系统的动态视图。顺序图是强调消息的时间次序的交互图。
通信图
通信图(communication diagram)。也是一种交互图, 它强调收发消息的对象或角色的结构组织。顺序图和通信图表达了类似的基本概念,但每种图所强调的概念不同, 顺序图强调的是时序,通信图则强调消息流经的数据结构。
定时图
定时图(timing diagram, 计时图)。 也是一种交互图,它强调消息跨越不同对象或角色的实际时间,而不仅仅只是关心消息的相对顺序。
状态图
状态图(state diagram)。描述-一个状态机,它由状态、转移、事件和活动组成。状态图给出了对象的动态视图。它对于接口、类或协作的行为建模尤为重要,而且它强调事件导致的对象行为,这非常有助于对反应式系统建模。
最经典的就是进程状态图。
活动图
活动图(activitydiagram)。将进程或其他计算的结构展示为计算内部--步步的控制流和数据流。活动图专注于系统的动态视图。它对系统的功能建模特别重要,并强调对象间的控制流程。
定义对象的内部行为
构件图
构件图( component diagram)。 描述一- 个封装的类和它的接口、端口,以及由内嵌的构件和连接件构成的内部结构。构件图用于表示系统的静态设计实现视图。对于由小的部件构建大的系统来说,构件图是很重要的。构件图是类图的变体。
部署图
部署图(deployment diagram)。描述对运行时的处理节点及在其中生存的构件的配置。部署图给出了架构的静态部署视图,通常一个节点包含一个或多个部署图。
包图
包图(packagediagram)。描述由模型本身分解而成的组织单元,以及它们的依赖关系。
包图和类图用来表示软件体系结构图
真题解析
真题1 数据流图
真题2 类图和活动图
注意,这个答案有问题。正确答案是C。状态图。 感谢 “聪明的水跃鱼”大佬的提醒。我第一次写到这里的时候,没发现使用的资料是有误的。
- 使用类图来表达类的内部属性和行为
- 使用状态图(而不是
活动图)来定义内部行为
真题3 用例图和活动图
B C D
真题4 数据流程图和状态转换图
这里不选活动图,是因为活动图强调流程控制。
真题5 用例图、包图、类图
用例图适合描述逻辑和需求。
只有包图才能体现解构这一特点。
真题6 状态图 活动图
第7题 包图和状态图
只有包图才体现结构特征
只有状态图可以提现流程