UML是统一建模语言,主要用于软件的分析与设计阶段。但是UML有这么多图,具体怎么用呢?

一:需求分析阶段的业务用例图

用例图,是用来表示  系统角色 与  系统什么功能 发生交互的图。通过用例图,可以很清晰地表示系统放主要功能。用例图在我们进行软件分析阶段和设计阶段都有使用:

由用户需求得到业务用例(描述最主要的业务功能,客户最感兴趣的、期望的功能)

在与客户第一次交流沟通,采集需求后。我们可以得到《开发文档1.0》(见上一篇博文)。同时,也可以由客户描述的系统功能、用户角色画出业务用例图。注意:这只是初步的用例,用来说明系统业务功能的。例如:一个新闻网站的业务用例图如下:

二:概要设计阶段的功能活动图、系统用例图

1:在把《开发文档1.0》和业务用例图交予客户审核确认后,我们开始编写《开发文档2.0》,然后根据《开发文档2.0》中新增的功能描述,我们可以画出每一个功能的活动图:例如:管理员原理新闻的功能活动图

2:由每一个功能活动图,完善业务用例图得到系统用例图(此时才是真正全面描述系统各个角色可以执行什么功能的用例图)

三:详细设计阶段的用例规约图

由《开发文档3.0》中的“功能详细设计”部分,画出每一个功能用例的约束图,主要包括:用例名、用例流程、异常处理等操作

四:详细设计阶段的业务模块图

根据《开发文档4.0》中的“模块划分”,我们就知道了这个系统主要会有哪些业务类,画出业务模块图,每个业务类下罗列该模块下的功能用例:

五:详细设计阶段的类图

根据《开发文档5.0》中对每个用例的架构、以及功能模块的划分,可以初步确定系统需要多少个实现类组成,画出类图:

六:详细设计阶段的时序图

根据每个用例的活动图以及第五步的系统类图,我们可以为每个用例画出时序图,更加清晰明确地模拟出用户是怎么一步步调用哪个类的哪个方法来实现进行功能交互的,如:

七:根据上面的类图、用例的时序图等等,进行编码开发。

转载原文地址:http://www.cnblogs.com/ygj0930/p/6616876.html

软件工程各阶段的UML图相关推荐

  1. 细数软件工程各阶段必不可少的那些图

    作者:薛勤 主页:https://github.com/yueshutong 本文使用 BlogHelper 一键发布本地文章带本地图片到博客平台. 一.前言 小说搜索 https://198200. ...

  2. 软件工程与UML图的关系

    软件工程是软件开发设计的灵魂,是我们前进的思想性指导.它使我们的设计有法可依,有章可循.如果把软件开发比作建设一栋高楼,那么软件工程就是知道我们不至于在构建一座大楼的时候,最后不知不觉建成了鸡窝.而U ...

  3. 五种UML图的画法详细介绍【软件工程】

    文章目录 I.介绍 II.五种图的画法汇总 I.介绍 统一建模语言(UML)是软件工程领域的一种通用的.开发的建模语言,旨在提供一种标准的方法来可视化系统的设计. UML的创建最初是出于将不同的符号系 ...

  4. uml图中的各种箭头_设计模式学习笔记(二):UML与面向对象设计原则

    1 UML 1.1 UML UML(Unified Modeling Language)是统一建模语言,1997年11月UML1.1版本提交给OMG并正式通过,成为建模语言的个那个也标准.2003年6 ...

  5. 软件工程用的17种图

    参考链接: (1)软件工程用的15种图https://blog.csdn.net/weixin_44301114/article/details/85290628 (2)软件工程中的那些图https: ...

  6. UML图系列——建模和面向对象

    在上一篇UML图系列--UML概要文章中,我提到过两个概念:面向对象.建模 用一片文章来讲这两个概念我想是很有必要的,因为UML是一个建模语言,目标是以面向对象图的方式来描述任何类型的系统. 下来开始 ...

  7. UML图系列——UML概要

    写在前面,这篇文章是UML系列文章的第一篇,主要介绍UML的概念和作用,主要用文字形式来描述,可能阅读起来会乏味,但还是请大家耐心读完,毕竟这是常识性问题.当被别人问起来时,可以道出一二,不至于陷入尴 ...

  8. 【中级软考】UML图(Unified Modeling Language统一建模语言、标准建模语言)

    文章目录 UML图 UML图的作用 主要模型 功能模型 对象模型 动态模型 图的种类 用例图 类图 对象图 包图 活动图 状态图 1.概述: 2.构成要素: 2.1状态(States): 2.2转移( ...

  9. 绘制Python代码的UML图

    转载于:https://blog.csdn.net/Jerry_xzj/article/details/89707567 最近在学习一套Python编写的架构,使用pyreverse和Graphviz ...

最新文章

  1. 用C++开发Web应用
  2. mysql存储过程-汇总学习
  3. python之dict基础类型
  4. 使用 Cockpit 方便地管理容器
  5. dirsearch工具(Web目录爆破)
  6. 剑指OFFER之数组中出现次数超过一半的数字(九度OJ1370)
  7. cmd模式下如何从c盘转换到其他盘
  8. C语言10的五百次方占位,震惊:10的500次方个宇宙?实在无法想象
  9. 存放哪些内容 项目中vuex_房屋安全鉴定中房屋抗震检测内容有哪些
  10. 双“11”搞促销?用贪心算法盘它
  11. 树莓派Raspberrypi安装Kali Linux保姆教程(通过树莓派安装ARM Kali教程)
  12. Python爬虫入门【6】:蜂鸟网图片爬取之一
  13. lempel ziv matlab,1.9 Lempel-Ziv算法
  14. 成功实现NAS家庭服务器(流媒体播放、文件共享及下载机)
  15. python中求合数_python输出100以内的质数与合数实例代码
  16. OLE操作EXCEL
  17. Keepalived+LVS+MariaDB Galera Cluster10.0高可用负载均衡多主复制
  18. 后一个数 减 前一个数 形成新列表
  19. C/S架构的简单文件传输系统的实现
  20. ntp如何确认与服务器偏差_NTP时钟同步原理及误差简析

热门文章

  1. wps思维导图聚焦模式是灰色不能用的解决方案
  2. 可变3D卷积|| Deformable 3D Convolution for Video Super-Resolution
  3. 微信H5如何关闭浏览器(如何监听手机的物理返回键)
  4. 光格科技产品系列之分布式光纤温度传感
  5. 基于SSM bootstrap的JSP MYSQL路路通汽车租赁系统
  6. 高可用性HA(High Availability)双机热备
  7. oracle linux下开放1521端口
  8. 【Excel神技】之 工作表区域保护
  9. 【Android】APK的打包流程
  10. Oracle OCP学习——Catalog的配置与使用