软件工程各阶段的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.为什么需要类图?类图的作用 我们做项目的需求分析,最开始往往得到的是一堆文 ...
随机推荐
- eclipse新发现功能之dos和terminal(ssh连接)
dos功能: window——>show view——>other——>remote systems,选择remote shell,选择确定或者双击,打开了一个新工具窗口. 点击re ...
- svn导出文件进行比较
之前有介绍svn log 的命令,即可导出版本A~B之间所有的修改动作,然后复制出相应的文件(中间有一个算法去处理每一个动作,然后得到最终需要导出的文件列表,svn常用动作有:Modified.Add ...
- mongodb 脚本操作
MO='mongo'$MO << EOFuse testdbdb.dropDatabase()show dbsexit;EOF
- 用开源项目circular progress button实现有进度条的Button
circular progress button可以让button实现进度条,效果和动画都做的很赞,只是有点小bug.需要注意的是按钮上的文字不能太大,否则会出现错位. 项目的地址:https://g ...
- Java中的线程实现
线程实现有两种方法: 1.写一个类来继承Thread类,然后复写run()方法. public class HelloThread extends Thread { public void run() ...
- easyUi 的DataGrid的绑定
html代码: @{ ViewBag.Title = "Index"; Layout = "~/Views/Shared/_Index_Layout.cshtml&quo ...
- 关于SqlBulkCopy SQL批量导入需要注意,列名是区分大小写的
最近在做数据从Excel批量导入MSSQL时,传统的是使用Insert Into Table方法,不过这个方便比较慢 通过使用 SqlBulkCopy 可以批量导入到数据库. 默认批量导入数据库,需要 ...
- 节约内存,请使用标签页管理工具:onetab、better onetab
OneTab可以管理chrome和firefox的标签页,把暂时不用的标签页收藏起来,形成一个列表,当然,可以对列表进行分类管理,以方便后续打开查看. 这样就不用打开很多tab,占用大量内存. 由于O ...
- Unit Testing of Spring MVC Controllers: “Normal” Controllers
Original link: http://www.petrikainulainen.net/programming/spring-framework/unit-testing-of-spring-m ...
- verilog语法实例学习(1)
本文档中通过verilog实例来学习verilog语法.Verilog是一种硬件描述语言,它具有并发性和时序性.并发性是指不同硬件模块的同时操作,时序性是指信号的赋值或操作在时钟的边沿进行.由于作者本 ...