建模
建模:通过对客观事物建立一种抽象的方法泳衣表征事物并获得对事物本身的理解,同时把这种理解概念化,将这些逻辑概念组织起来,构建一种对所干茶的对象内部结构和工作原理的便于理解的表达。
其中包含两个问题
- 怎么建
–找到问题的抽象角度 - 模是什么
–抽象角度下的场景模拟
用例驱动
软件生产过程由用例进行驱动
由建模公式推出解决一个问题领域,需要归纳所有的抽象角度(即用例),将用例中所有的特定场景描述出来,找到每一个用例场景的事物、规则、行为。则一个问题领域解决。
其内容包括
- 逻辑视图:人、事、物、规则如何分类组织
- 进程视图:人、事、物、规则如何交互
- 部署视图:人、事、物、规则如何部署于物理节点
- 实施视图:人、事、物、规则如何组织为一个系统
抽象层次
层次越高,信息越少,过高时,会出现理解困难
层次越低,信息越多,过低时,会伴随理解力的下降
所以,如果没找准抽象层次,用例选择就会出现困难。
抽象有两种方法
- 自顶向下:用于开始认识事物时
- 自底向上:用于改进和提高认识
软件的开发中主体使用自顶向下,逐步降低抽象层次,知道代码编写。之后使用自底向上,改进系统。
视图与视角
视图:用于组织UML元素
不同的视图用于向不同的关系人展示。
不同的关系人关注的角度不同,即视角不同
所以时常要考虑的两个问题:
- 绘制哪些视图
- 展示那些视角
分析对象方法
首先强调一点:一切皆为对象
对象的特性:
- 独立性:只有特定实例时才联系在一起
- 原子性:不可分割,具有边界,使用接口来访问对象
- 层次性:
- 可抽象:
如果一个对象为关键对象,可能需要将可能包含如下的方面