UML和模式应用1: 面向对象的分析与设计
1.基本术语说明
| items | note |
| OOA/D | 面向对象的分析与设计 |
| UML | 描述、构造和文档化系统制品的可视化语言 |
| 模式 | 问题解决方案的公式 |
2. 本书的主要内容
本书的主旨是对应用了UML和模式的面向对象分析与设计(OOA/D)的介绍,同时使用UP的敏捷方法作为示例迭代过程
- UML和面向对象的思想
对应用了UML和模式的面向对象分析与设计(OOA/D)的介绍
重点阐述对象设计,也会讲述在OOA/D中如何使用UML
- OOD的原则和模式
职责驱动设计解决了如何为对象划分职责、对象之间如何协作
模式即问题解决方案公式
- 案例研究
通过贯穿全书的案例研究来阐述面向对象
- 用例
讲述需求分析
- 迭代开发
迭代开发使用统一过程(UP)的敏捷方法作为示例迭代过程来讲述迭代开发
3. 重要的学习目标
- 本书最重要的目标是熟练的为软件对象分配职责
4. 分析和设计
- 分析是对问题和需求的调查研究
- 设计是满足需求的解决方案
5. 面向对象的分析和设计
- 面向对象的分析是在问题领域内发现和描述对象
- 面向对象的设计是如何定义对象(包含哪些属性和方法)以及它们如何协作以实现需求
6. 面向对象分析和设计的步骤及制品
以掷骰子为例,阐述面向对象分析和设计的步骤及制品
| OOD/A的步骤 | NOTE | 制品 | 制品示例 |
| 定义用例 | 如何使用应用的情节或场景 | 用例 | 游戏者请求掷骰子 |
| 定义领域模型 | 真实世界对象的描述 | 领域模型 | ![]() |
| 分配对象职责并定义交互图 | 描述软件对象的职责和协作 | 顺序图 | ![]() |
| 定义设计类图 | 类定义的静态视图 | 类图 | ![]() |
图 面向对象分析和设计的步骤及制品
7. UML
- 应用UML的三种方式
| 应用UML的方式 | 说明 |
| UML作为草图 | 非正式、不完整,用于探讨问题,敏捷建模中强调此方式 |
| UML作为蓝图 | 相对详细的设计图,用于逆向工程(读取源码生成UML图)和正向工程(UML图生成部分代码,由设计者填充其它代码) |
| UML作为编程语言 | 完成系统可执行规格说明,自动生成可执行代码 |
图 应用UML的三种方式
- 应用UML的三种透视图
| 透视图 | NOTE | 类的含义 | 类统一后的命名 |
| 概念透视图 | 描述现实世界 | 概念类(原始UML) | 概念类 |
| 规格说明(软件)透视图 | 描述软件的抽象物 | 设计类 | 软件类 |
| 实现(软件)透视图 | 描述特定技术(如java)中的软件实现 | 设计类 | 实现类 |
图 应用UML的三种透视图
注:概念类---现实世界中的概念;软件类---规格说明中的类;实现类---特定OO语言(如java)中的类
8. 可视化建模的优点
. 更加便利的观察全景
. 发现软件元素或分析之间的关系
. 忽略或隐藏细枝末节
UML和模式应用1: 面向对象的分析与设计的更多相关文章
- [python 译] 基于面向对象的分析和设计
[python 译] 基于面向对象的分析和设计 // */ // ]]> [python 译] 基于面向对象的分析和设计 Table of Contents 1 原文地址 2 引言 2.1 ...
- OOAD 面向对象的分析与设计
OOAD 面向对象的分析与设计 OOA-----分析阶段(针对业务问题清晰视图, 列出系统完成任务, 整理业务的公共词汇, 列出解决业务的解决方法) O ...
- UML分析与设计
考点: 掌握面向对象的分析与设计 掌握UML描述方法 用例图.类图.序列图.状态转换图 类图:类的属性.方法的识别:类间的各种关系 类图:实体.联系 各种关系图例: 泛化:取公共属性 关联分为聚合.组 ...
- Java 程序员应在2019年学习的10条面向对象(OOP)设计原则
面向对象的设计原则 是 OOP 编程的核心,但是我看到大多数 Java 程序员都在追求诸如 Singleton 模式,Decorator 模式或 Observer 模式之类的设计模式,而对学习面向 ...
- UML和模式应用学习笔记-1(面向对象分析和设计)
UML和模式应用学习笔记-1(面向对象分析和设计) 而只是对情节的记录:此处的用例场景为:游戏者请求掷骰子.系统展示结果:如果骰子的总点数是7,则游戏者赢得游戏,否则为输 (2)定义领域模型:在领域模 ...
- 《UML和模式应用》读书笔记(一)面向对象分析和设计简单示例
在开始进行对象分析和设计之前,先通过“扔骰子”这个软件(游戏者扔两个骰子,如果总是是7,则赢,否则输),来简单分析下这个过程. 1:用例 需求分析,可能包括人们如何应用的场景或情节,这些都可以被编写成 ...
- .NET应用架构设计—面向对象分析与设计四色原型模式(彩色建模、领域无关模型)(概念版)
阅读目录: 1.背景介绍 2.问自己,UML对你来说有意义吗?它帮助过你对系统进行分析.建模吗? 3.一直以来其实我们被一个缝隙隔开了,使我们对OOAD遥不可及 4.四色原型模式填补这个历史缝隙,让我 ...
- UML和模式应用3:迭代和进化式分析和设计案例研究
1.前言 如何进行迭代和进化式分析和设计?将采用案例研究的方式贯穿始终.案例研究所包含的内容: UI元素 核心应用逻辑层 数据库访问 与外部软硬构件的协作 本章关于OOA/D主要介绍核心应用逻辑层 2 ...
- 解析UML的面向对象分析与设计
经常听到有朋友抱怨,说学了UML不知该怎么用,或者画了UML却觉得没什么作用.其实,就UML本身来说,它只是一种交流工具,它作为一种标准化交流符号,在OOA&D过程中开发人员间甚至开发人员与客 ...
随机推荐
- 关于chrome控制台出现代码叠加页面不能正常显示大小问题
见下图页面出现在chrome中的情况 描述状态:代码都变小了才出现控制台代码叠加问题 解决办法:使用鼠标滚轮放大代码就行啦,在设置里面让页面的大小显示为100%就可以了.
- Spring + Shiro 项目 + HttpSessionListener 【调用springService问题】&【Session失效问题】
功能描述: 当用户退出(主动)或者关闭浏览器(session超时)的时候,利用本次登录Ip更新上次登录IP.有人可能要问,你在用户登录的时候记录不就行了.可是我有两个字段,一个为本次登录IP,另外一个 ...
- Div里超出部分,省略号显示
1.一行显示并出现省略号 1)三个属性: overflow: hidden; text-overflow: ellipsis; white-space: nowrap; overflow: hidde ...
- php 配置文件不加载的一次配置
最近在一台服务器上安装配置了5.6和7.1两个版本的php,之前是5.6的.使用都正常,7.1是后期安装的. 问题: 在7.1的程序目录中命名的配置文件为:php7-9026.ini,同时安装并在配置 ...
- CM记录-Cloudera Manager常见问题汇总(转载)
1.无法加载最新的supervisord 解决方案:ps -ef | grep supervisord kill -9 pid 2.cloudera-scm-agent dead but pi ...
- C#多线程和异步(一)——基本概念和使用方法
一.多线程相关的基本概念 进程(Process):是系统中的一个基本概念. 一个正在运行的应用程序在操作系统中被视为一个进程,包含着一个运行程序所需要的资源,进程可以包括一个或多个线程 .进程之间是相 ...
- 详细解读Jquery各Ajax函数:$.get(),$.post(),$.ajax(),$.getJSON()【转】【补】
一,$.get(url,[data],[callback]) 说明:url为请求地址,data为请求数据的列表(是可选的,也可以将要传的参数写在url里面),callback为请求成功后的回调函数,该 ...
- 骨骼动画的原理及在Unity中的使用
制作骨骼动画 我们看看这几步操作后,我们得到了那些数据: 1.每个皮肤顶点的初始世界坐标. 2.每个骨骼关节顶点的初始世界坐标. 3.每个顶点被骨骼顶点的影响信息. 4.骨骼如何移动. 骨骼动画原理 ...
- 自动升级CentOS Python至官方最新版
#!/bin/bash # .检查当前系统Python版本 python_old_version=$(python -V >& | awk '{print $2}') echo &quo ...
- JavaScript数组倒序函数reverse()
左边为原数组,右边为array.reverse()的结果: 函数很简单,但是 var temp = ChartConfig.getMonthData(); $scope.monthList = tem ...


