1 建模的意义

  模型是对于现实的简化,建模是为了更好的理解系统

  模型帮助我们按照实际情况或需求对系统可视化

  模型允许我们详细说明系统的构造,行为

  模型给出一个构造系统的模板

  模型对我们做出的决策进行文档化

2 选择UML

  UML(unified modeling language)

  使用UML建立对象模型来映射现实世界。UML实现业务域到计算机世界的完整有序的映射

  unified  结合了当前最好的面向对象软件建模方法

  modeling 用于表达现实的简化视图,以便于面向对象软件系统的设计与实现

  language UML主要是遵循精确语法的图形语言(包括规则,约束,扩展机制)

  UML目标是为了提供全面的建模语言,便于开发组所有成员交流与通信

3 UML的特点

  统一的标准, 已经被OMG接受为标准建模语言

  面向对象, 支持面向对象开发

  可视化, 表示能力强

  独立于开发过程, 可以适用于不同软件过程

  概念明确, 表示简洁, 结构清晰, 容易学习掌握

4 UML的构成

  基本构造块    

    事物(元素) thing 模型中最具代表性成分的抽象

结构事物(structural thing)

  类(class)
  接口(interface)
  协作(collaboration)
  用例(use case)
  主动类(active class)
  构件(component)
  节点(node)

行为事物(Behavioral Thing)

交互(interaction)
状态机(state machine)

分组事物(Group Thing)

包(package)

注释事物(Annotational thing)

  注解(note)

    关系 relationship  事物之间的联系

关联(association)

泛化(generalization)

实现(realization)

依赖(dependency)

    图 diagram  相关事物的集合

用例图(use case diagram)
顺序图(sequence diagram)
协作图(collaboration diagram)
类图(class diagram)
对象图(object diagram)
活动图(activity diagram)
状态图(state chart diagram)
构件图(component diagram)
部署图(deployment diagram)

  规则

规范说明(specification)
  元素语义的文本描述,用来描述细节,图则是可视化描述
修饰(adornment)
  对标准的表示,符号增加细节描述

  公共机制

通用划分(common division)
  类和对象
  接口和实现

扩展机制(extensibility mechanism)
  版型(stereotype)<< >>
  根据已有的元素修订的新元素。

标记值(tagged value){ }
  模型元素附加的命名信息,任何元素都可使用。
  有时候和注解起到相同作用。

约束(constraint){ }
  语义文字描述的语义限制

5  UML体系结构

用例视图 (UML是用例驱动的)
  描述系统的功能需求
逻辑视图
  表示系统的概念设计和子系统结构
进程视图(并发视图)
  系统中并发执行和同步的情况
实现视图
  系统构件、代码的组成结构
部署视图
  系统硬件节点的物理结构

(一)为什么要UML的更多相关文章

  1. UML课程复习重点

    第一章 一.UML图示建模工具 二.UML--统一建模语言,以图形符号为基础,描述软件模型既简洁又清晰.它不是开发方法,是独立于任何开发方法之外的语言.它用于描述软件系统分析.设计和实施中的各种模型. ...

  2. UML图中经常用到几种的关系图例

    学习这个东西挺奇怪的,时间一长就容易忘记,或者记不清楚.今天看到一些UML图的关系,发现有些出入了,索性就写下来,以后再忘记的时候过来看看. 在UML的类图中,常见的有以下几种关系: 继承(Gener ...

  3. UML类图(下):关联、聚合、组合、依赖

    前言 上一篇文章UML类图(上):类.继承.实现,讲了UML类图中类.继承.实现三种关系及其在UML类图中的画法,本文将接着上文的内容,继续讲讲对象之间的其他几种关系,主要就是关联.聚合.组合.依赖, ...

  4. UML类图(上):类、继承和实现

    面向对象设计 对于一个程序员来说,在工作的开始阶段通常都是别人把东西设计好,你来做.伴随着个人的成长,这个过程将慢慢变成自己设计一部分功能来实现,自己实现.如果要自己设计,无论是给自己看,还是给别人看 ...

  5. UML

    UML:1.继承关系用空心三角形+实线来表示2.实现接口用空心三角形+虚线来表示3.关联关系用实线箭头来表示4.依赖关系用虚线箭头来表示5.聚合关系用空心菱形+实线箭头来表示6.组合关系用实心菱形+实 ...

  6. UML类图与面向对象设计原则

    1. 引言     从大一开始学习编程,到如今也已经有两年了.从最初学习的Html,Js,JaveSe,再到JavaEE,Android,自己也能写一些玩具.学习过程中也无意识的了解了一些所谓的设计模 ...

  7. 浅谈UML的概念和模型之UML九种图

    1.用例图(use case diagrams) [概念]描述用户需求,从用户的角度描述系统的功能 [描述方式]椭圆表示某个用例:人形符号表示角色 [目的]帮组开发团队以一种可视化的方式理解系统的功能 ...

  8. UML类图几种关系的总结

    在UML类图中,常见的有以下几种关系: 泛化(Generalization),  实现(Realization),关联(Association),聚合(Aggregation),组合(Composit ...

  9. 我的敏捷、需求分析、UML、软件设计电子书 - 下载(持续更新中)

    我将所有我的电子书汇总在一起,方便大家下载!(持续更新) 文档保存在我的网站——软件知识原创基地上(www.umlonline.org),请放心下载. 1)软件设计是怎样炼成的?(2014-4-1 发 ...

  10. UML类图关系全面剖析

    UML的类图关系分为: 关联.聚合/组合.依赖.泛化(继承).而其中关联又分为双向关联.单向关联.自身关联:下面就让我们一起来看看这些关系究竟是什么,以及它们的区别在哪里. 1.关联 双向关联:C1- ...

随机推荐

  1. ansible常用命令

    一.ansible常用命令 一.ansible命令的常用参数 ansible 默认提供了很多模块来供我们使用.在 Linux 中,我们可以通过 ansible-doc -l 命令查看到当前 ansib ...

  2. Java 基础 多线程和线程池基础

    一,多线程 1.1 多线程介绍 进程:进程指正在运行的程序.确切的来说,当一个程序进入内存运行,即变成一个进程,进程是处于运行过程中的程序,并且具有一定独立功能. 线程:线程是进程中的一个执行单元,负 ...

  3. python多进程web爬虫-提升性能利器

    背景介绍: 小爬我最近给部门开发了一系列OA的爬虫工具,从selenium前端模拟进化到纯requests后台post请求爬取,效率逐步提升.刚开始能维持在0.5秒/笔.可惜当数据超过2000笔后,爬 ...

  4. Android Profiler内存检测

    Memory Profiler是Android Profiler中的一个组件,Android Profiler是Android3.0用来替换之前Android Monitor的观察工具,主要用来观察内 ...

  5. 放弃antd table,基于React手写一个虚拟滚动的表格

    缘起 标题有点夸张,并不是完全放弃antd-table,毕竟在react的生态圈里,对国人来说,比较好用的PC端组件库,也就antd了.即便经历了2018年圣诞彩蛋事件,antd的使用者也不仅不减,反 ...

  6. cocos2dx在win10系统上的VS2017运行时报错:丢失MSVCR110.dll

    如题,运行环境为cocos2dx 3.14.1,win10系统,VS2017. 编译cocos2dx的cocos2d-x-3.14.1/build/cocos2d-Win32.sln已通过,不过运行时 ...

  7. HTML——HTML部分学习笔记

    1.前端工程师是干什么的?           PC页面         移动端页面 Web开发 = 前端开发 + 后台开发--->web应用(网站) 后台:数据 前台:负责数据展示 + 交互效 ...

  8. 2.第一个python 程序

    第一个python程序 一..python程序的编写步骤 1.创建  xxx.py文件(文件名不要中文) 文件名要以py为扩展名,因为导入的时候其他扩展名会报错.如果不导入的情况可以不限制扩展名. 2 ...

  9. [PHP] 编写爬虫获取淘宝网上所有的商品分类以及关键属性 销售属性 非关键属性数据

    参考文章地址:https://blog.csdn.net/zhengzizhi/article/details/80716608 http://open.taobao.com/apitools/api ...

  10. 暑期培训7日游解题思路(day1~day3)

    暑期培训7日游解题思路(day1~day3) day1 第一天,王聿中老师出的题目比较简单,T1很水,T2是个简单的DP,T3还是有一点意思的.在网格图中删掉若干条边,使得所有格子都联通,求删掉的边的 ...