zoukankan      html  css  js  c++  java
  • UML和模式应用5:细化阶段(9)---迈向对象设计

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

  • 相关阅读:
    LeetCode 230. 二叉搜索树中第K小的元素
    LeetCode 669. 修剪二叉搜索树
    LeetCode 94. 二叉树的中序遍历
    LeetCode 145. 二叉树的后序遍历
    LeetCode 144. 二叉树的前序遍历
    Not registered via @EnableConfigurationProperties or marked as Spring component
    maven依赖的报错Unable to import maven project: See logs for details
    GDIPlus的使用准备工作
    全局变量替代方案:控制反转,依赖注入
    MFC使用TRACKMOUSEEVENT触发mouseHover和mouseLeave
  • 原文地址:https://www.cnblogs.com/smartjourneys/p/7113037.html
Copyright © 2011-2022 走看看