Week6: System Modeling
系统模型涵盖以下这些内容:
上下文模型
交互模型
结构模型
行为模型
模型驱动工程
在这里,我们先回顾一下软件过程,它是由这四个部分组成:需求工程-系统建模-系统架构-系统设计
Requirements Engineering
System Modelling
System Architecture
System Design
这里主要对系统建模进行讲解:
情境:
在一般情况下,系统建模可以通过 抽象的方法将复杂系统转化为适当程度的细节层次 来简化复杂系统。在这里,“抽象”作为动词,代表着一种提取主要内容的行为。
原因:wer
软件开发失败的原因主要有以下3个:
1-对需求的理解过低。
2-通常在开发后期才发现问题。
3-过于复杂而导致的性能问题。
概念:
系统建模是开发系统抽象模型的过程,每个/每种模型都表示该系统的不同视图或视角。
主要内容:
在这里先定义一下UML。UML,全名Unified Modeling Language,译为统一建模语言。
序列图(Sequence Diagram):
概念:
序列图是UML的一部分,主要用于对系统中参与者和对象之间的交互进行建模,这里是英译原话,翻译下就是:序列图被用于表达系统中的参与者和对象间的交互作用。序列图显示了在特定用例或用例实例期间发生的交互顺序。所涉及的对象和参与者被列在图表的顶部,用一条虚线从它们垂直地画出来。对象之间的交互用带注释的箭头表示。
下面是一个简单的例子:
(网图,侵删)
还有一个复杂点的例子:
图片来源于:2020软件工程作业——团队03 - 呷饭里边请 - 博客园
类图(Class Diagram):
概念:
类图在开发面向对象的系统模型时使用,以显示系统中的类以及这些类之间的关联。对象类可以被认为是一种系统对象的一般定义。关联是类之间的链接,表明这些类之间存在某种关系。在软件工程过程的早期阶段开发模型时,对象也表示现实世界中的某些东西,例如病人、处方、医生等。
类图在网上有讲述的资源太多了,我就直接给例子了:
单个类图:
一般分为3个部分,顶部是类名,中间是对象,底部是方法,有过一点面向对象编程基础的同学都知道。
添加了细节的泛化层次结构的类图:
活动图(Activity Diagram):
概念:
活动图,它显示一个过程或数据处理中涉及的活动,通过提供特定场景中交互流的图形表示来补充用例。
举例:
说明:
由实心圆形代表开始,带圈的实心圆(靶心)代表结束。由圆角矩形代表活动,箭头代表一个活动到下一个活动的转换。在使用方括号标出条件的情况下,以下两种情况都是有效的:
当两条或多条并行路径同时运行时,可以使用粗体实线将过渡箭头分割成多个并发执行的路径,同时,粗体线条也用于合并并发路径:
在某些情况下,你的进程需要接收/发送信号,使用凸出的多边形代表发送,凹陷的多边形代表接收:
泳道:
使用泳道可以显示流程中每个活动的负责人,而将图表分成平行的部分,称为泳道。每个泳道在顶部显示一个对象的名字,从一条泳道到另一条泳道可以进行转换。举例:
这里再放一个更简单版本的活动图讲解:活动图讲解