转载请注明原文地址: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图的更多相关文章

  1. 各种uml图

    UML各种图总结-精华   UML(Unified Modeling Language)是一种统一建模语言,为面向对象开发系统的产品进行说明.可视化.和编制文档的一种标准语言.下面将对UML的九种图+ ...

  2. 【转】UML图与软件开发过程那点关系

    首先,软工文档, 软工文档,也就是计划,设计,描述,使用软件的一些文件,它最大的特点就是固定不变,用来给不同的人和计算机来阅读.在期间,文档起到了桥梁的作用,看这张图很形象: 在这里在看一下国家统一规 ...

  3. 关于ER图和UML图之间的对比

    ER图与UML图 ER图:实体-联系图(Entity-Relation Diagram)用来建立数据模型,在数据库系统概论中属于概念设计阶段,ER图提供了表示实体(即数据对象).属性和联系的方法,用来 ...

  4. UML图快速入门

    UML(Unified Modeling Language)统一建模语言的概念已经出现了近20年,虽然并不是所有的概念都非常有实践意义,但常见的用例图.类图.序列图和状态图却实实在在非常有效,是项目中 ...

  5. uml 图学习记录

    UML类图与类的关系详解   2011-04-21 来源:网络   在画类图的时候,理清类和类之间的关系是重点.类的关系有泛化(Generalization).实现(Realization).依赖(D ...

  6. UML图与软件开发过程那点关系

    首先,软工文档, 软工文档,也就是计划,设计,描述,使用软件的一些文件,它最大的特点就是固定不变,用来给不同的人和计算机来阅读.在期间,文档起到了桥梁的作用,看这张图很形象: 在这里在看一下国家统一规 ...

  7. 详解UML图之类图 (转)

    原址: https://www.jianshu.com/p/4cd95d4ddb59 2.  怎么画类图?用什么工具? 使用工具:Visio或者processon在线作图 在类图中一共包含了以下几种模 ...

  8. 在VSCode使用Markdown绘制UML图

    在VSCode使用Markdown绘制UML图 需要插件 Markdown All in One Markdown Preview Enhanced PlantUML markdownlint Mar ...

  9. 详解UML图之类图

    产品经理的必备技能之一是画UML图,本文就告诉你怎么画标准的类图吧.本文结合网络资料和个人心得所成,不当之处,请多指教. 1.为什么需要类图?类图的作用 我们做项目的需求分析,最开始往往得到的是一堆文 ...

随机推荐

  1. Swift - UITableView展开缩放动画

    Swift - UITableView展开缩放动画 效果 源码 https://github.com/YouXianMing/Swift-Animations // // HeaderViewTapA ...

  2. 权力的游戏第七季/全集Game of Thrones迅雷下载

    艾美及金球奖获奖HBO原创剧集<权力的游戏>第七季将于2016年夏天晚些时候开拍.新的一季共有七集,主要拍摄地为北爱尔兰,部分镜头也将在西班牙和冰岛取景.上映时间预计将略有推迟,至2017 ...

  3. [Hook] 免root,自己进程内,startActivity hook的几种姿势

    首先关于startActivity 我们平时会经常使用到 在activity内 直接startActivity(intent) 其实这里还有一种start方式 我们可能没怎么用过 getApplica ...

  4. 14 道 JavaScript 题?

    http://perfectionkills.com/javascript-quiz/ https://www.zhihu.com/question/34079683 著作权归作者所有.商业转载请联系 ...

  5. java的mock测试框架

    无论是敏捷开发.持续交付,还是测试驱动开发(TDD)都把单元测试作为实现的基石.随着这些先进的编程开发模式日益深入人心,单元测试如今显得越来越重要了.在敏捷开发.持续交付中要求单元测试一定要快(不能访 ...

  6. libstdc++.so.6: version `GLIBCXX_3.4.21' not found

    问题: dotnet: /usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.18' not found (required by dotnet)dotnet ...

  7. Protobuf 协议语言指南

    l  定义一个消息(message)类型 l  标量值类型 l  Optional 的字段及默认值 l  枚举 l  使用其他消息类型 l  嵌套类型 l  更新一个消息类型 l  扩展 l  包(p ...

  8. [转]php rsa加密解密实例

    转自:http://blog.csdn.net/clh604/article/details/20224735 php服务端与客户端交互.提供开放api时,通常需要对敏感的部分api数据传输进行数据加 ...

  9. 【Codeforces】【#295】【Div.1】

    嘛,一直以来蒟蒻都没怎么打过CF……现在还是蓝名狗……今天跟着zyf打了一场virtual,果断一题滚粗

  10. dbcp、c3p0、jdbc常用连接配置

    dbcp连接数据库配置  比较常见 <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSo ...