软件工程各阶段的UML图
转载请注明原文地址:http://www.cnblogs.com/ygj0930/p/6616876.html
UML是统一建模语言,主要用于软件的分析与设计阶段。但是UML有这么多图,具体怎么用呢?
一:需求分析阶段的业务用例图
用例图,是用来表示 系统角色 与 系统什么功能 发生交互的图。通过用例图,可以很清晰地表示系统放主要功能。用例图在我们进行软件分析阶段和设计阶段都有使用:
由用户需求得到业务用例(描述最主要的业务功能,客户最感兴趣的、期望的功能)
在与客户第一次交流沟通,采集需求后。我们可以得到《开发文档1.0》(见上一篇博文)。同时,也可以由客户描述的系统功能、用户角色画出业务用例图。注意:这只是初步的用例,用来说明系统业务功能的。例如:一个新闻网站的业务用例图如下:

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

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

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

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

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

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

七:根据上面的类图、用例的时序图等等,进行编码开发。
软件工程各阶段的UML图的更多相关文章
- 各种uml图
UML各种图总结-精华 UML(Unified Modeling Language)是一种统一建模语言,为面向对象开发系统的产品进行说明.可视化.和编制文档的一种标准语言.下面将对UML的九种图+ ...
- 【转】UML图与软件开发过程那点关系
首先,软工文档, 软工文档,也就是计划,设计,描述,使用软件的一些文件,它最大的特点就是固定不变,用来给不同的人和计算机来阅读.在期间,文档起到了桥梁的作用,看这张图很形象: 在这里在看一下国家统一规 ...
- 关于ER图和UML图之间的对比
ER图与UML图 ER图:实体-联系图(Entity-Relation Diagram)用来建立数据模型,在数据库系统概论中属于概念设计阶段,ER图提供了表示实体(即数据对象).属性和联系的方法,用来 ...
- UML图快速入门
UML(Unified Modeling Language)统一建模语言的概念已经出现了近20年,虽然并不是所有的概念都非常有实践意义,但常见的用例图.类图.序列图和状态图却实实在在非常有效,是项目中 ...
- uml 图学习记录
UML类图与类的关系详解 2011-04-21 来源:网络 在画类图的时候,理清类和类之间的关系是重点.类的关系有泛化(Generalization).实现(Realization).依赖(D ...
- UML图与软件开发过程那点关系
首先,软工文档, 软工文档,也就是计划,设计,描述,使用软件的一些文件,它最大的特点就是固定不变,用来给不同的人和计算机来阅读.在期间,文档起到了桥梁的作用,看这张图很形象: 在这里在看一下国家统一规 ...
- 详解UML图之类图 (转)
原址: https://www.jianshu.com/p/4cd95d4ddb59 2. 怎么画类图?用什么工具? 使用工具:Visio或者processon在线作图 在类图中一共包含了以下几种模 ...
- 在VSCode使用Markdown绘制UML图
在VSCode使用Markdown绘制UML图 需要插件 Markdown All in One Markdown Preview Enhanced PlantUML markdownlint Mar ...
- 详解UML图之类图
产品经理的必备技能之一是画UML图,本文就告诉你怎么画标准的类图吧.本文结合网络资料和个人心得所成,不当之处,请多指教. 1.为什么需要类图?类图的作用 我们做项目的需求分析,最开始往往得到的是一堆文 ...
随机推荐
- Mac下启动AndroidStudio失败
系统环境: OSX Yosemite 10.10.1 (14B25) JAVA版本:1.8.0_11 Android Studio 版本:1.0.1 问题:Android Studio was una ...
- HTML5 Geolocation API地理定位整理(二)
Geolocation 实例demo 1.使用watchPosition()监听客户端位置 var watchOne=null; if (navigator.geolocation) { //watc ...
- android studio运行时报错AVD Nexus_5X_API_P is already running解决办法
运行刚搭建好的Android环境时会报这种错误: AVD Nexus_5X_API_P is already running. If that is not the case, delete the ...
- protobuf标准消息方法
protobuf标准消息方法 1.标准消息方法 每个消息类包含一些其他方法允许你检查和控制整个消息,包括: · IsInitialized() :检查是否所有必须(required)字段都已经被赋值了 ...
- ASP.NET MVC:WebViewPage.cs
ylbtech-funcation-Utility: ASP.NET MVC:WebViewPage.cs 表示呈现使用 ASP.NET Razor 语法的视图所需的属性和方法. 1.A,WebVie ...
- 读书笔记,《Java 8实战》,第四章,引入流
集合是Java中使用最多的API,但集合操作却远远算不上完美.主要表现在两点, 第一,集合不能让我们像数据库的SQL语言一样用申明式的语言指定操作: 第二,现在的集合API无法让我们 ...
- C#,深入浅出全接触(一)
一.什么是 C#? C# 是由Microsoft开发的一种新型编程语言,由于它是从C和C++ 中派生出来的,因此具有C++的功能.同时,由于是Microsoft公司的产品,它又同 VB一样简单.对于w ...
- python3 特殊字符处理 \x06\x05\x07
最近在处理Excel文件中,报错:openpyxl.utils.exceptions.IllegalCharacterError, 原因是某字段出现特殊字符 \x05,\x06,\x07如下图: 在E ...
- [置顶] Hadoop2.2.0中HDFS的高可用性实现原理
在Hadoop2.0.0之前,NameNode(NN)在HDFS集群中存在单点故障(single point of failure),每一个集群中存在一个NameNode,如果NN所在的机器出现了故障 ...
- Tensorflow LSTM实现
Tensorflow[LSTM] 0.背景 通过对<tensorflow machine learning cookbook>第9章第3节"implementing_lstm ...