目录
1、系统和子系统
2、模型和视图
3、跟踪
4、常用建模技术
4.1、对系统的体系结构建模
4.2、对系统的系统建模
模型是对现实世界的简化——即对系统的抽象,建立模型的目的是为了更好地理解系统。
1、系统和子系统
一个系统可能被分解成一组子系统,它是为实现某一目标而组织起来的元素的集合,并且它是由一组可能来自不同视角的模型来描述的。
上图所示,UML为系统和子系统提供了一个图形表示。这种表示法允许可视化地将系统分解为较小的子系统。在图形上,系统和子系统都被画成一个衍型化的构件的图标。模型和视图有专门的图形表示(而不是把它们画成衍型化的包)
在图形上,系统和子系统都画成一个衍型化的构件的图标。
系统和子系统之间的主要关系是组合。一个系统(整体)可以包含0个或多个子系统(部分)。子系统之间也可以建立泛化关系。利用泛化关系,可以对子系统族建模:其中的一些代表一般种类的系统,而另一些代表对这些系统的特定剪裁。这些子系统之间有各种各样的连接。
2、模型和视图
模型 (model)是对现实世界的简化,是对系统的抽象,建立模型的目的是为了更好地理解系统。
视图 (view)是模型的投影,它是从某个角度看模型或突出模型中的某一侧面,而忽略与这一侧面无关的实体。
模型拥有包
3、跟踪
用跟踪关系对存在于不同模型中的元素之间的概念关系建模
跟踪关系不能用来表达同一模型中元素之间的关系。
跟踪关系可被表示为衍型化的依赖关系。
跟踪关系:使用<<trace>> 衍型
分为:从需求跟踪到实现(以及二者之间的所有制品)和从版本跟踪到版本。
4、常用建模技术
4.1、对系统的体系结构建模
识别用来表示体系结构的视图。在多数情况下,这要包括用况视图、设计视图、交互视图、实现视图和部署视图
4.2、对系统的系统建模
某一抽象级别上的系统看起来像更高抽象级别上的一个子系统。同样,一个抽象级别上的子系统对于负责开发这个子系统的小组而言也可以看作是一个完整的系统。
所有的复杂系统都表现出这种层次性。当转向越来越复杂的系统时,将会发现有必要把它分解为子系统,各个子系统在一定程度上可以独立地开发并以迭代和增量的方式成长为整个系统。对子系统的开发看起来就像是对系统的开发。
对系统和子系统建模,要遵循如下策略。
识别系统中可以在一定程度上独立开发、发布和部署的主要功能部分。技术、政治、遗产系统及法律方面的因素往往会影响如何划分各子系统的边界。
对每个子系统,像对待整个系统那样,描述其语境;一个子系统周围的参与者也包括与它邻接的子系统,所以对每个子系统都要进行设计以便协作。
对于每个子系统,像对待整个系统一样对其体系结构建模。