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卡是纸质的索引卡片,记录了类的职责和协作,每张卡表示一个类,考虑对象必需做什么,必需与哪些类协作

UML和模式应用5:细化阶段(9)---迈向对象设计的更多相关文章

  1. UML和模式应用学习笔记-1(面向对象分析和设计)

    UML和模式应用学习笔记-1(面向对象分析和设计) 而只是对情节的记录:此处的用例场景为:游戏者请求掷骰子.系统展示结果:如果骰子的总点数是7,则游戏者赢得游戏,否则为输 (2)定义领域模型:在领域模 ...

  2. UML和模式应用1: 面向对象的分析与设计

    1.基本术语说明 items note OOA/D  面向对象的分析与设计 UML 描述.构造和文档化系统制品的可视化语言 模式 问题解决方案的公式 2. 本书的主要内容 本书的主旨是对应用了UML和 ...

  3. 《UML和模式应用》重点之思想篇

    本书是帮助开发人员和学生学习面向对象分析和设计(OOA/D)的核心技能的重要工具. UML不是OOA/D.也不是方法,仅仅是图形表示法,假设没有真正掌握怎样创建优秀的面向对象设计,或者怎样评估和改进现 ...

  4. UML和模式应用5:细化阶段(4)--如何创建领域模型

    1.前言 以当前迭代中所要设计的需求为界,创建领域模型的步骤: 1.寻找概念类 2.将其绘制为UML类图中的类 3.添加关联和属性 2.如何寻找概念类 寻找概念类有如下几种方法: 重用和修改现有的模型 ...

  5. UML和模式应用5:细化阶段(5)---系统顺序图

    1.前言 系统顺序图(SSD)是为阐述系统相关的输入和输出事件而快速.简单的创建的制品,它们是操作契约和对象设计的输入. SSD展示了直接与系统交互的外部参与者.系统(作为黑盒)以及由参与者发起的系统 ...

  6. UML和模式应用5:细化阶段(1)--第1次迭代

    1.前言 从本文开始进入细化阶段,讨论迭代技术的基础,本次讨论将着重讨论第一次迭代,以POS机为例. 2. 第一次迭代处理的需求(以NextGen POS项目处理销售用例) 实现 处理销售 用例中基本 ...

  7. UML和模式应用5:细化阶段(10)---UML交互图

    1.前言 UML使用交互图来描述对象间消息的交互 交互图可以用于动态对象建模. 交互图有两种类型:顺序图和通信图. UML交互图将用来解释和阐述对象设计. 2.顺序图和通信图 顺序图具有丰富的符号标记 ...

  8. UML和模式应用4:初始阶段(6)--迭代方法中如何使用用例

    1.前言 用例是UP和其他众多迭代方法的核心.UP提倡用例驱动开发. 2. 迭代方法中如何使用用例 功能需求首先定义在用例中 用例是迭代计划的重要部分,迭代是通过选择一些用例场景或整个用例来定义的 用 ...

  9. UML和模式应用4:初始阶段(4)--需求制品之用例模型模板示例

    1. 前言 UP开发包括四个阶段:初始阶段.细化阶段.构建阶段.移交阶段: UP每个阶段包括 业务建模.需求.设计等科目: 其中需求科目对应的需求制品包括:设想.业务规则.用例模型.补充性规格说明.词 ...

随机推荐

  1. Codeforces Round #523 (Div. 2) C. Multiplicity

    C. Multiplicity 题目链接:https://codeforc.es/contest/1061/problem/C 题意: 给出一串数,问它的“好序列“有多少.好序列的定义是,首先是一个子 ...

  2. poj 3207(2-SAT+SCC)

    传送门:Problem 3207 https://www.cnblogs.com/violet-acmer/p/9769406.html 难点: 题意理解. 题意: 平面上有一个圆,圆上有n个点(分别 ...

  3. (转)hdu 3436Queue-jumpers--splay+离散化

    dalao博客 http://acm.hdu.edu.cn/showproblem.php?pid=3436 题意:初始排列1到N,现在要你实现3种操作: 将x插入到队头去 询问x当前的位置 询问第x ...

  4. 2018.7中石油个人赛第4场(D-Transit Tree Path)-最短路算法

    6690: Transit Tree Path 时间限制: 1 Sec  内存限制: 128 MB提交: 472  解决: 132[提交] [状态] [讨论版] [命题人:admin] 题目描述 Yo ...

  5. gdb调试1--包括反汇编及文件编码设置

    一.编译 gcc的完整编译过程大致为:预处理->编译->汇编->链接 前三个步骤分别对应了-E.-S.-c三个选项. 编译阶段 命令 截断后的产物     C源程序 预处理 gcc ...

  6. linux系统关闭IPv6的方式

    云服务器 ECS> Linux操作运维问题 > 应用配置 > linux系统关闭IPv6的方式 linux系统关闭IPv6的方式 IPv6被认为是IPv4的替代产品,它用来解决现有I ...

  7. Math对象小笔记

    来,总结下Math对象的常用方法和属性 1.E  自然对数的底数 Math.E; //2.718281828459045 2.PI 圆周率 Math.PI; //3.141592653589793 3 ...

  8. Create ISO library over NFS for XEN server templates

    Based on Ubuntu – Server – install NFS on Ubuntu  – aptitude -y install nfs-kernel-server create a “ ...

  9. 函数和常用模块【day06】:random模块(三)

    本节内容 1.简述 2.random模块 3.string模块 4.生成随机数 一.简述 我们经常会使用一些随机数,或者需要写一些随机数的代码,今天我们就来整理随机数模块:random模块 二.ran ...

  10. Kafka记录-常用命令选项说明

    1.kafka-topics  主题 如:kafka-topics --create --zookeeper 10.0.4.142:2181/kafka --replication-factor 1 ...