《系统架构》读后感摘抄(11)


2.2.4包图(PackageDiagram)如果说“内部块”是对"块"的打开 , 那么包图就是对"块"的进一步封装 , 因为一个系统中块太多 , 为了人们的理解 , 就需要进行进一步的归类 。2.3行为 我理解“行为”类的图 , 主要用来表述系统中描述方式 , 主要包括如下的四类 。2.3.1活动图(Activitydiagram)活动(activity)用来描述系统的输入 , 输出和控制的流动 , 也包括这些协调这些流动的条件 , 其实很类似于我们常见的流程图 。2.3.2序列图(Sequence diagram)在序列图中一个重要的概念是Message , 我在工作中听到对它的一个专业翻译“报文” 。而序列图其实就是就是基于接收和分发报文来执行动作 , 比如我在做汽车声音时 , 为了让某个声音在特定的出发条件下发出 , 就需要找到对应的报文 , 然后按照设定的逻辑发出 。2.3.3状态机(StateMachinesDiagram)状态(State)常常表示的是一个对象在生命周期中表现的特定特征 , 比如汽车中的制动系统 , 有制动和非制动两种状态 。而状态机 , 描述的就是在一定的触发条件下 , 对象表现的活动 , 这种触发可以是时间 , 事件 , 某个信号等 。比如你按下台灯开关(触发) , 它就点亮(状态1) , 再按一次(触发) , 它就熄灭(状态2) 。2.3.4使用案例(Usecase)描述系统的操作者会怎么使用 , 比如我们常常说的使用场景 , 也可以描述多个操作者对同一个系统不同部分的操作 。3 SysML和OPM有什么异同? 在系统架构3 :如何用简洁图形描述系统架构?中的OPM和SysML , 它们都是动过视图化的方式来描述系统 , 让我们更好理解和掌控复杂系统 。它们有什么异同?我看到主要有三点: 3.1视图数量不同 OPM只需要1种类型的图 , 就能将对象和过程涵盖进来 , 而SysML需要多个视图(共9个选择)来分别针对不同的用途 。3.2适用阶段不同 OPM更简洁 , 但是主要适用于概念构想阶段 , 而SysML则更加适合详细的设计阶段 , 而且不同的用途可以采用不同的视图 。3.3可计算性不同 对系统的描述和达成共识只是开始 , 而我们更加关心系统的动态性能如何?这就需要引入仿真或计算 , 并预测复杂系统的特性及其参数变化对功能的影响 , 而在这个方面SysML的有时要明显优于OPM , 并不是因为SysML本身可以计算 , 而是它对系统的描述更加细致 , 有利于用外在的辅助仿真工具实现 , 总体看来 , SysML是为各种仿真搭建了一个比较的框架 。总结 SysML(System Modeling Language)用3类(需求、结构、行为)9种类型的图来刻画系统架构 , 更适合于系统的详细设计阶段 , 为系统的仿真提供了一个更高的框架 。参考:1 OMG Systems Modeling Language(OMG SysML?)Tutorial September, 2009;2https://sysmlforum.com3 Graph-Based Digital Blueprint for Model Based Engineering of Complex Systems