【UML】概述
前言
看完UML视频,很多人不明白UML到底是干什么用的,举个通俗的例子,就像盖房子一样,厨房卧室楼层之间怎么拼接,每个部分用什么材料,每个部分里放什么家具什么餐具,每个部分是干吗用的,UML就相当于施工图纸。我们知道,做一个小系统就像盖一间小房子,不需要图纸也可以,但是如果做大系统,试想,没有图纸,摩天大楼怎么拔地而起?
老生常谈,首先,得说一下UML的主要内容。
面向对象技术
2、是一种程序设计方法。
3、对现实世界中问题的抽象方式。
4、对面向对象建模技术的研究的主要成果就是统一建模语言UML。
软件质量衡量指标
模型与可视化建模
模型组成
模型表示
O:模型对象集
G:模型目标集
T:模型系统所处环境及约束条件集
V:模型变量集
R:变量间关系集
S:模型状态集(初→终)
建模原理
什么是UML
2、支持面向对象系统的分析、设计、实现和交付等各个环节,可用于系统的理解,设计,浏览,维护和信息控制。
3、在Booch方法,OMT方法,OOSE方法基础上,广泛民主的发展而成。
4、1997年11月被OMG组正式采纳。
5、不是一个程序设计语言。
6、不是一个形式化语言。
7、是可视化建模语言。
软件过程
RUP
特点
2、以架构为中心
3、采用迭代和增量的开发过程
四阶段
软件危机主要特征
2、软件开发成本严重超标。
3、质量难于保证。
软件开发面临的问题
2、不能很好的定位需求。
3、模块难于集成。
4、到最后才发现错误。
5、对于终端用户来说质量较差。
6、负载时性能差。
7、没有协调团队的努力。
8、不断地修改—发布问题。
UML工具
2、Together
3、Microsoft Visio
UML构成
2、关系(表示基本图示符号之间的关系)
3、图(特定的视角对系统所做的抽象的描述)
总结:事物是对模型中最具有代表性的成分的抽象;关系把事物结合在一起;图聚集了相关的事物。
事物(things)
结构事物(静态部分)
2、接口(描述了一个类或构建的一个服务的操作集,接口仅仅定义了一组操作的规范,并没有给出操作的具体实现,类给出了具体实现)
3、协作((定义了一个交互,有结构,行为和维度,一个给定的类可以参与几个协作)
4、用例(对一组动作序列的描述。需求分析阶段。)
5、主动类(其对象至少拥有一个进程或线程,因此它能启动控制活动)
6、构件(比类大。系统中物理的、可替代的部件,遵循且提供一组接口的实现。存在形式多样。)
7、节点(运行时才存在的物理元素,有记忆能力和处理能力。用立方体表示。)
行为事物(动态部分)
2、状态机(状态,转换,事件,圆边矩形表示)
分组事物(组织部分)
注记事物(解释部分)
关系

关联

依赖

泛化

实现

图
2、对象图
3、状态图(存在状态机,状态转换)
4、构件图(构件之间关系)
5、部署图(部署到真实环境中)
6、协作图(描述系统动态行为)
7、交互序列图(描述系统动态行为)
8、活动图(描述流程,活动,序列)
9、用例图(描述用户需求,从用户角度描述系统功能,指出执行者)
UML的规则
UML有用于描述如下事物的语义规则:
1、命名为事物、关系和图起名
2、范围给一个名称以特定含义的语境
3、可见性怎样让其他人使用或看见名称
4、完整性事物如何正确、一致地相互联系
5、执行运行或模拟动态模型的含义是什么
UML中的公共机制
2、修饰(每个元素都有个基本符号,可以把各种修饰细节加到这个符号上)
3、通用划分(类/对象二分法;接口/实现二分法)
4、扩展机制(对UML图示符号的扩展)
UML在软件开发各个时期的应用
采用面向对象技术设计软件系统时,使用例图来描述用户需求,使用类图、对象图、包图、构件图和部署图这五种静态图来描述系统的静态结构;使用顺序图,合作图,活动图和状态图这四种图描述系统动态行为。
需求
分析
设计
实现
集成与交付
测试
2、集成测试使用类图、包、构件图和合作图。
3、系统测试使用例图来测试系统功能。
【UML】概述的更多相关文章
- 敏捷软件开发:原则、模式与实践——第13章 写给C#程序员的UML概述
第13章 写给C#程序员的UML概述 UML包含3类主要的图示.静态图(static diagram)描述了类.对象.数据结构以及它们之间的关系,藉此表现出了软件元素间那些不变的逻辑结构.动态图(dy ...
- 2017.12.23 第二章 统一建模语言UML概述
第二章 统一建模语言UML概述 (1)为什么要建模 模型是某个事物的抽象,其目的是在构建这个事物之前先来理解它,因为模型忽略了那些非本质的细节,这样有利于更好的理解和表示事物: 在软件系统开发之前首先 ...
- UML概述(转载)
UML是一种标准语言,用于指定,可视化,构造和文档的软件系统. UML是OMG在1997年1月提出了创建由对象管理组织(OMG)和UML1.0规范草案. OMG不断努力,使一个真正的行业标准. UML ...
- UMl概述(转)
1. UML的组成 UML由视图(View).图(Diagram).模型元素(Model Element)和通用机制(General Mechanism)等几个部分组成. a) 视图(View): 是 ...
- UML 概述
UML统一建模语言 1997年OMG组织(Object Management Group对象管理组织)发布了统一建模语言(Unified Modeling Language,UML).它目标 ...
- UML概述
UML (Unified Modeling Language)统一建模语言,是描述.构造和文档化系统制品的可视化语言,是一种图形表示法. UML用途:UML是一种工具,主要用在我们对软件用面向对象的方 ...
- UML——概述
1. 静态视图(类图) 静态视图不描述与时间相关的系统行为,这种行为在其他视图中描述,因此称之为静态试图. 静态视图用类图来实现,正因为它以类图为中心,因此也称之为类图. ...
- 【UML】概述以及面向对象技术总结
导读:结束了软工文档后,就开始了UML的学习,不管学习什么,都要先从整体上去把握,然后再从细节上去分析理解.在视频的开头,就对UML进行了概述.然后接着讲了面向对象技术,用例图,类图和包图等.看着软工 ...
- 概述UML——UML系列篇一
前言 作为Java应用开发者,日益感觉到对象建模的重要性.系统的复杂性,对于不能全局掌握的我和编程时没有对象模型指导时,编写实现代码时,感觉甚是困难.处于这些原因,这里想借助学习UML建模,在分析需求 ...
- UML浅析
UML概述 UML (Unified Modeling Language)为面向对象软件设计提供统一的.标准的.可视化的建模语言.适用于描述以用例为驱动,以体系结构为中心的软件设计的全过程. UML模 ...
随机推荐
- Python模拟登录代码
注:访问http://127.0.0.1:8080/user/6,总是会要求必须有登录权限,也就是,若未登录,访问该页面,会跳转到登陆页面. 全自动模拟登录 半自动模拟登录:
- 转: Charles 从入门到精通
目录与版权 转载请保留顶部的 Charles 中国特惠内容,本文的内容主要包括: Charles 的简介 如何安装 Charles 将 Charles 设置成系统代理 Charles 主界面介绍 过滤 ...
- EasyUI获取所有选中行中的某一列的值
var PointIds=[]; for (var i = 0; i < wPoint_rows.length; i++) { //PointIds.push(wPoint_rows[i][&q ...
- 组合外键(FOREIGN KEY)
一张表,它的外键即是参考另一张表的主键,但这些关联键是组合键,由2列或多列组成. 你可以先看看这篇<多列组合为主键(PRIMARY KEY)>https://www.cnblogs.com ...
- SpringMVC中的常用注解
RequestParam 作用: 用于 将请求参数区数据 映射到 功能处理方法的参数上. 属性: value 请求参数中的名称 required 请求参数中是否必须提供此参数. 默认值: ...
- linux 删除软链接
Linux下取消软连接,做个案例来说明: 1.先建立一个软连接 ln -s /soft/hexo/nodejs/bin/node /usr/local/bin/node ln -s /soft/hex ...
- 51nod1412(dp)
题目链接:https://www.51nod.com/onlineJudge/questionCode.html#!problemId=1412 代码: #include <bits/stdc+ ...
- QQ 数(number.pas/c/cpp)——莫比乌斯函数
题目 [问题描述] 企鹅国数学家 QQ 潜心研究数论,终于发现了一个简单的数论问题! 一个 QQ 数定义为一个拥有一个大于 $ 1 $ 的完全平方数为因子的数字,一个数字的 QQ 值定义为这个数是 Q ...
- 如何在VMware workstation上创建Linux虚拟机
由于需要使用Linux虚拟机部署Hadoop集群,故在win10系统上安装了VMware workstation 14,现将介绍如何在VMware workstation上创建Linux虚拟机.下面以 ...
- iphone6 iphone6 plus 放大显示模式高分辨率模式问题
分为兼容模式和高分辨率模式. 兼容模式 当你的 app 没有提供 3x 的 LaunchImage 时,系统默认进入兼容模式,大屏幕一切按照 320 宽度渲染,屏幕宽度返回 320:然后等比例拉伸到大 ...