4. 静态建模
静态建模
- 描述了被建模系统的静态结构,不随时间变化而变化。
- 问题域静态建模:分析阶段对系统的主要概念进行建模。
目录
- 类间关系
- 约束
- UML表示
- 系统上下文的静态建模
- 外部类静态建模
- 实体类的静态建模
1 类间关系
1.1 关联关系
定义了两个类之间静态的、结构化的关系。
关联称为链接。类之间有链接关系的对象之间才会有链接。关联的方向取决于动作的方向。
自反关联(一元关联):一个类的一个对象和这个类的另一个对象之间的关联。
三元关联:三个类间的关联(两个类之间的关联关系也转化为一个类)
关联类:对两个或多个类之间的关系进行建模的类。
关联的多重性:一对一关联、一对多关联、规定数值的关联、可选关联(0…1表示可能存在)、多对多关联。
1.2 整体和部分的关系(组合聚合关系)
- 关系强弱:组合>聚合>关联
- 组合涉及整体和部分之间的物理关系。
- 聚合概念上的整体和部分关系,可以分开可以合并。
1.3 泛化特化关系
- 相同属性抽象为泛化类
- 不同属性表示了特化的性质
2 约束
对关联、对象属性进行约束。
3 问题域静态建模——上下文类
- 通过分析用例模型来对问题域建模。
- 分析建模:重点在于标识 问题域对象中的 对象 以及 对象之间传递的信息。主要用到静态建模方法、对象的组织、动态交互建模、动态状态机建模等建模方法。
- 设计建模:将概念模型、逻辑模型映射到一个具体的并发设计模型。各个部分都要确定下来(决策)。
- 上下文类即内部系统和外部环境之间负责交互的类。对应的三种类分别为:外部类、内部类、上下文类(交互类、接口类)。
4 外部类
- 外部环境被描述为外部类。外部环境包括:人类、外部系统、计时器、输入输出设备。(这也是参与者的四种类型)
5 对象和类的组织
5.1 对象和类的分类
- 边界类:连接到外部环境并与之通信的软件类。
- 实体类:信息密集的持久化类
- 控制类:对对象的集合提供全局协调的类。
- 应用逻辑类:包含应用逻辑细节的软件类。
5.2 实体类和对象
- 是概念性的和数据密集型的类。存储持久化数据,并提供对数据的访问。
- 类似于数据库的逻辑模型,强调类的属性和类之间的关系。
5.3 边界类和对象
- 外部类与软件边界类对应。边界类是内部类,通过接口连接到外部类并与之通信。
- 每一个外部类都与系统中的一个边界类进行通信。参与者-外部类-边界类(内部类)分别对应。其中参与者是在需求建模阶段通过用例建模方法获得的。外部类是在分析阶段建模过程中,对问题域静态建模的方法中得到的外部类建模。内部类是在对象和类的组织一节课中得到。
1 | graph LR |
- 对四中边界类对象进行解释:
- 用户交互类:依赖用户接口技术,包括图形界面和命令行窗口
- 代理类:外部系统的本地代表
- 设备IO边界类:接受输入提供输出。
5.4 控制类和对象
- 用来对实现用例的对象进行协调。(一个用例有一个控制类,控制相关的实现对象。)
- 控制对象可能是状态相关的。
- 分为协调者对象、状态相关的对象、计时器对象。
- 状态相关的控制对象产生的事件,不仅仅与输入有关,也与对象当前的状态有关。
5.5 应用逻辑类和对象
- 业务逻辑对象
- 算法对象
- 服务对象
- 目的:将相互独立变化的业务规则分离封装到不同的应用逻辑类种。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 Estom的博客!




