OOM面向对象模型
软件设计和软件工程
任何事情都要先想清楚了才能做,软件开发更是如此!软件开发过程不可能一上来就开始盲目写代码,写代码之前必须搞清楚下面一些基本问题:
要做什么?
做成什么样?
怎么去做?
软件设计: 把软件开发想清楚的过程。
软件工程: 对软件开发全过程进行建模和管理。

建模
建模: 对现实系统进行适当的过滤, 用适当的表现规则描述出简洁的模型.
建模是一种深入解决问题的方法.
建模的原则
1.仅有数据模型对于现代软件是不够的。
2.适应变化,并允许你的模型能够随着时间进行改进。 你不能冻结它们,然后就期待着成功。
3.模型并不一定就是文档,文档也不一定就是模型。
4.大多数的模型可能也应该被丢弃。
5.只有代码才能与代码保持真正的同步。
6.通过简单工具,如白板,就完全足以应付大多数建模工作。
7.思考,然后再编码。
8.建模可以用一种轻盈的方式。
9.设计直到项目发布以后才算完成。
软件建模的实现过程
软件建模的作用是把来源于现实世界的问题转化为计算机可以理解和实现的问题.

软件建模的实现过程是从需求入手, 用模型表达分析设计过程, 最终将模型映射成软件实现.

为什么需要UML
现在主流使用的编程语言, 都是面向对象的程序设计语言。它是对客观世界的模拟。
开发一个软件时,很难直接就开始编码。起码要经过:
面向对象分析→面向对象设计→面向对象编程。
分析、设计阶段就会产生一些成果,这些成果需要与其他人交流,并需要把一些成果记录下来。
这种交流、记录,除了文字之外,当然离不开使用图形。
在分析→设计阶段需要一种图形表示法(UML)。
特点
统一标准
面向对象
可视化、表示能力强
独立于过程
易掌握、易用
UML的应用领域
UML适用于系统开发过程中从需求规格描述到系统完成后测试的不同阶段。
需求分析
设计
构造(编码)
测试
部署
UML(Unified Modeling Language)统一建模语言
UML(United Modeling Language, 统一建模语言): 是一种基于面向对象的可视化建模语言。
UML 采用了一组形象化的图形(如类图)符号作为建模语言, 使用这些符号可以形象地描述系统的各个方面
UML 通过建立图形之间的各种关系(如类与类之间的关系)来描述模型.
UML是一种图形化的语言,它可以帮助我们在OOAD(面向对象的分析和设计)过程中标识元素、构建模块、分析过程并可通过文档说明系统中的重要细节
UML规范用来描述建模的概念包含,类(对象的)、对象、关联、职责、行为、接口、用例、包、顺序、协作,以及状态。
OOA(Object Oriented Analysis)面向对象分析
OOA: (Object Oriented Analysis)面向对象分析是确定需求或者业务的角度,按照面向对象的思想来分析业务。
例如:OOA只是对需求中描述的问题,进行模块化的处理,描述问题的本质,区别每个问题的不同点相同点,确定问题中的对象。
OOD(Object Oriented Design)面向对象设计
OOD: (Object Oriented Design) 面向对象设计是一个中间过渡环节。
其主要作用是对OOA分析的结果作进一步的规范化整理,以便能够被OOP直接接受。
OOP(Object Oriented Programming)面向对象编程
OOP(Object Oriented Programming)面向对象编程是一种计算机编程架构。
OOP 的一条基本原则是计算机程序是由单个能够起到子程序作用的单元或对象组合而成。
UML中分9种图

静态模型图: 描述系统的静态结构
类图(Class diagram)
对象图(Object Diagram)
构建图(ComponentDiagram)
部署图(Deployment diagram)
动态模型图: 描述系统的行为
用例图(Use Case Diagram)
活动图(ActivityGraph)
顺序图(SequenceDiagram)
协作图(CollaborationInstanceSet)
状态图(Statechart Diagram)
UML的4种关系
关联(Association)
依赖(Dependency)
泛化(一般化)(Generalization)
泛化指的是类之间的继承关系
聚集(Aggregation)
聚集指的是整体与部分之间的关系,在实体域对象之间很常见
UML工具使用

浙公网安备 33010602011771号