第1章 面向对象分析和设计
来源:互联网 发布:淘宝关键词挖掘 编辑:程序博客网 时间:2024/06/06 01:15
本文为《UML和模式应用(原书第3版)》读书笔记
为对象分配职责
在OO开发中,最重要的就是为对象分配职责。因为分配职责是必须进行的一项工作,并且它对软件构件的健壮性、可维护性和可重用性具有重要的影响。
相比起在OOA/D中的其他技能,职责的分配是一项难以掌握又至关重要的技能,即使在实际项目中,开发人员没有时间进行其他建模活动,而只能完成仓促编码的开发过程,分配职责这项工作却也是必不可少的。
面向对象分析与面向对象设计
面向对象分析
分析是指对问题和需求的调查研究。
面向对象分析(object-oriented analysis,OOA),指在问题领域内发现和描述对象。
面向对象设计
设计是指满足需求概念上的解决方案。
面向对象设计(object-oriented design,OOD),指的是定义软件对象以及它们如何协作以实现需求。
简单示例
书中使用“骰子游戏”进行示例。
定义用例
用例指使用的某些情节或场景,比如说投骰子后,骰子总点数是7,则赢,否则输。
定义领域模型
将现实世界中的概念和想象可视化。例如下图,玩家(player)投掷了两个骰子(die),骰子游戏中有一个玩家和两个骰子,这些信息都能在图中展示出来。
定义交互图
交互图有很多种,主要表现软件对象之间的消息流和由消息引起的方法调用。在骰子游戏中,骰子游戏给骰子发送了投骰子的消息,虽然在现实世界中是玩家掷出骰子,但是在软件设计中其实是骰子游戏发送出消息。
定义设计类图
设计类图用来描述对象的属性和方法,例如在骰子游戏中,骰子游戏发送投骰子的消息,那么就需要play方法,同理骰子就需要roll和getFaceValue方法。
UML的三种应用方式
UML草图
非正式的、不完整的图,借助可视化语言,探讨或解决问题的某一复杂部分。
UML蓝图
相对详细的设计图,主要用于逆向工程和代码生成(前向工程)。
在逆向工程中,将代码转换为可视化的图,使代码更易理解。
在代码生成中,代码自动生成工具利用UML图生成一些代码,然后开发者再编写和填充其他代码。
UML作为编程语言
可执行代码可以直接被生成,但是开发者并不能看到或者编辑这些代码,而是去将UML作为编程语言来进行使用。
敏捷建模
指UML的草图应用形式,通常对时间的投入具有高回报,即费时较短。
应用UML的三种透视图
概念透视图
用图来描述现实世界或者概念领域中的事物,在这种图中的类,我们称之为概念类。
规格说明透视图
用图来描述软件的抽象或具有规格说明的构件,在该图中的类称为软件类。
实现透视图
用图来描述特定技术中的软件实现,该图中的类成为实现类。
- 第1章 面向对象分析和设计
- 面向对象分析和设计
- 面向对象分析和设计
- 面向对象分析和设计Tips
- 面向对象分析和设计基本概念
- 面向对象分析和设计(续一)
- 浅谈面向对象的分析和设计
- ooad面向对象的分析和设计
- Java面向对象的设计和分析
- 面向对象分析和设计基本概念
- 面向对象分析和设计基本概念
- OOAD:面向对象的分析和设计
- 面向对象分析和设计(第3版)读书笔记 - 认识 OO
- 面向对象分析设计
- 面向对象分析、设计
- 面向对象分析设计
- 《设计模式解析》第1章 面向对象范型
- 《设计模式解析》第1章 面向对象范型
- POJ1062-昂贵的聘礼
- Linux中常用操作命令
- IDEA玩法- 自动补充标签(括号式)
- 项目管理的严谨性
- IDEA激活码llicense破解方法2017-2016版本通用
- 第1章 面向对象分析和设计
- Java异常
- java使用JFrame连接mysql数据库,实现简单登陆。
- Android解决多个Fragment切换时布局重新实例化问题
- JNI-Inject 注入与反调试
- 滑动门效果
- 和威哥交流心得
- 用js实现两个select下拉框之间的元素互相移动
- 五十行javascript代码实现简单的双向数据绑定