UML不是OOA/OOD,也不是方法,而是一种图形表示法,是一种面向对象的思考工具。
分析——对问题和需求的调查研究
设计——满足需求的概念上的解决方案
面向对象分析(OOA)——在问题域内,发现和描述对象
面向对象设计(OOD)——如何定义软件对象,已经他们之间如何协作,以实现需求
[b]“东北人都是活雷锋”面向对象分析:[/b]
1.“是”体现了继承关系;
2.“东北人”也继承了“人”;
3.JAVA不能支持多继承;
4.所以,“活雷锋”可以看做一个接口,由“东北人”实现“活雷锋”的“助人为乐”的方法。
[b]快速开始UML的示例[/b]
骰子游戏:软件模拟游戏者投掷两个骰子,总数为7则赢,否则输
[b][color=darkred]面向对象分析过程:定义用例-》定义领域模型-》定义交互图-》定义设计类图[/color][/b]
[b][color=darkred]1.定义用例[/color][/b]
——用例是需求分析的一种工具,是情节描述。用于定义功能性需求,表示这个软件用来干什么。
a.游戏者请求投掷骰子
b.系统显示结果
[b][color=darkred]2.定义领域模型(OOA)[/color][/b]
——相当于业务模型,用于识别问题中的概念,并抽象出来,确立概念之间的关系(暂时不考虑概念的属性细节,逐步进行功能分解)
a.游戏者
b.骰子
c.骰子游戏(一个时间玩一个游戏)
[img]http://dl.iteye.com/upload/attachment/0077/9594/077ec626-a1df-3dff-9bf1-c0e09c5e027d.jpg[/img]
[b][color=darkred]3.定义交互图(动态建模)[/color][/b]——
关注软件对象的职责与协作,分配对象的职责,考虑具体的实现,即这些对象之间应该进行怎样的交互去实现它,并绘制交互图
[img]http://dl.iteye.com/upload/attachment/0077/9609/8b1cfdcd-5371-319b-8e6f-4d256df28fc3.jpg[/img]
此图为顺序图,箭头表示调用关系
[b][color=darkred]4.定义设计类图(OOD静态建模)[/color][/b]——
从领域模型和交互图中获得提示,定义软件类,包括属性和方法
[img]http://dl.iteye.com/upload/attachment/0077/9616/69c7b8f6-6df9-3d69-b9ec-9e33e6234747.jpg[/img]
局部设计类图
分析——对问题和需求的调查研究
设计——满足需求的概念上的解决方案
面向对象分析(OOA)——在问题域内,发现和描述对象
面向对象设计(OOD)——如何定义软件对象,已经他们之间如何协作,以实现需求
[b]“东北人都是活雷锋”面向对象分析:[/b]
1.“是”体现了继承关系;
2.“东北人”也继承了“人”;
3.JAVA不能支持多继承;
4.所以,“活雷锋”可以看做一个接口,由“东北人”实现“活雷锋”的“助人为乐”的方法。
[b]快速开始UML的示例[/b]
骰子游戏:软件模拟游戏者投掷两个骰子,总数为7则赢,否则输
[b][color=darkred]面向对象分析过程:定义用例-》定义领域模型-》定义交互图-》定义设计类图[/color][/b]
[b][color=darkred]1.定义用例[/color][/b]
——用例是需求分析的一种工具,是情节描述。用于定义功能性需求,表示这个软件用来干什么。
a.游戏者请求投掷骰子
b.系统显示结果
[b][color=darkred]2.定义领域模型(OOA)[/color][/b]
——相当于业务模型,用于识别问题中的概念,并抽象出来,确立概念之间的关系(暂时不考虑概念的属性细节,逐步进行功能分解)
a.游戏者
b.骰子
c.骰子游戏(一个时间玩一个游戏)
[img]http://dl.iteye.com/upload/attachment/0077/9594/077ec626-a1df-3dff-9bf1-c0e09c5e027d.jpg[/img]
[b][color=darkred]3.定义交互图(动态建模)[/color][/b]——
关注软件对象的职责与协作,分配对象的职责,考虑具体的实现,即这些对象之间应该进行怎样的交互去实现它,并绘制交互图
[img]http://dl.iteye.com/upload/attachment/0077/9609/8b1cfdcd-5371-319b-8e6f-4d256df28fc3.jpg[/img]
此图为顺序图,箭头表示调用关系
[b][color=darkred]4.定义设计类图(OOD静态建模)[/color][/b]——
从领域模型和交互图中获得提示,定义软件类,包括属性和方法
[img]http://dl.iteye.com/upload/attachment/0077/9616/69c7b8f6-6df9-3d69-b9ec-9e33e6234747.jpg[/img]
局部设计类图