1.前言
开发者如何设计对象,可以采用如下三种方式:
- 编码:在编码的同时进行设计
- 绘图然后编码:绘制一些UML,然后转到如上编码方式,在集成开发环境中编码
- 只绘图,不编码:使用工具从图中生成一切
本章主要介绍在对象设计和编码前进行轻量级绘图
2.敏捷建模
- 敏捷建模的目标是减少常用图形
- 建模的目的是为了沟通和理解,不是为了构建文档
- 简单的敏捷建模方法包括使用白板笔、数码相机和打印机捕获“UML草图”
- 敏捷建模还包括:
与他人一同建模、并行创建若干模型
- XP敏捷建模原则:一切从简、只为有效
- 敏捷建模的技巧还包括:
轻松的将数码相机捕获到的草图上传到WIKI,以此记录项目信息
3.UML CASE工具
- UML CASE工具与墙上绘制UML草图各有千秋,选择UML CASE的原则
选择能够与流程的IDE集成的UML CASE
选择能够对不仅对类图还能对序列图进行逆向工程的的工具
- 墙上UML草图和IDE中的UML CASE工具互为补充,应该在不同阶段的活动中尝试
4.编码前绘制UML需要花费的时间
- 假设迭代时间为三周,墙上UML(或UML CASE)需要花费几个小时或至多一天的时间,对有难度和创造性的部分绘制UML草图以得到其详细的对象设计
- 如果是草图还需要拍摄和打印照片
- 在迭代的剩余时间里,以这些草图作为灵感的起点,将这些设计转换成代码
- 由于代码中的设计会有分歧,较短的绘图草图活动可能会出现在整个迭代过程中
- 敏捷建模可以在后续建模活动前,对增加的基础库进行逆向工程,生成UML图,然后在构建草图的活动中应用他们
5. 设计对象:什么是静态和动态建模
对象模型
包括动态和静态
6.基于UML表示法技术的对象设计技术的重要性
- 以对象进行思考和设计,并且应用对象设计的最佳模式
- 绘制UML对象图时需回答的关键问题
对象的职责是什么?
对象在与谁协作?
应该应用什么设计模式?
基本的对象设计需要了解职责分配原则和设计模式
7.其它对象设计技术
类职责协作(CRC)卡是流行的面向文本建模技术
CRC卡是纸质的索引卡片,记录了类的职责和协作,每张卡表示一个类,考虑对象必需做什么,必需与哪些类协作