UML(统一建模语言)是当前软件开发中使用最为广泛的建模技术之一,通过使用UML可以构造软件系统的需求模型(用例模型)、静态模型、动态模型和架构模型。UML通过图形和文字符号来描述一个系统,它是绘制软件蓝图的标准语言。熟练掌握UML建模技术是一个优秀的软件从业人员所必备的基本技能之一,越来越多的软件企业在招聘中也需要应聘者具备一定的UML知识基础和实践经验。

  作为UML的初学者,很多人也在尝试使用UML中的图形来描述一个软件系统,构造一个软件系统的蓝图。然而,在使用UML的过程中,一部分人并没有深入理解这些图的作用,以及这些图在绘制过程中的一些技巧。我将陆续通过几篇文章来帮助大家更快更好地学习UML,在软件项目中合理使用UML来提高软件开发效率并规范软件开发流程。

  在本文中我将结合库存管理系统来深入浅出地讲述UML建模中的第一个模型——需求模型的构造,即用例建模,包括如何绘制规范的用例图、如何编写简洁而又清晰的用例文档、以及怎样通过用例图和用例文档来构造软件系统的需求模型。

  在UML中,需求模型又称为用例模型,它主要用于描述系统的功能性需求,即软件可以实现的功能,如登录、注册、入库、出库、查看库存报表、增加员工信息等。常规的用例建模一般包括两个组成部分:绘制用例图和编写用例文档。

1. 绘制用例图

  用例图是UML中比较简单的一种图形,它包含两个主要组成元素,分别是执行者(Actor)和用例(Use Case)。执行者又称为参与者或角色,用例又称为用况或案例。在用例图中,执行者用一个“小人”符号表示,用例用一个“椭圆”符号表示,因此用例图又有一个名字为“小人椭圆图”。最简单的用例图如下:

  在该用例图中,“仓库管理员”表示执行者,“入库”表示一个用例,即系统的一个功能。

执行者是指直接和系统交互的一类事物,执行者主要有如下三类:

  (1) 直接使用系统的人,如使用一个库存管理系统的仓库管理员、仓储部经理等用户,仓库管理员可以通过系统进行入库和出库操作,仓储部经理可以通过系统查看各种报表,如库存报表、财务报表等;

  (2) 与该系统相关的其他系统,如在库存管理系统中如果涉及到付款操作,需要使用另一个软件——支付系统,此时支付系统就是库存管理的执行者之一;

  (3) 自动发生的事件,如时间、温度等自动事件,如果库存管理系统要求每晚零点执行一个数据汇总操作,此时时间就成为该操作的执行者。

  识别一个系统的执行者是用例建模的第一步,在识别出一个系统的执行者后,需要寻找系统的用例,即功能需求。用例是执行者对系统操作的一个动作序列,每一个用例对应执行者对系统的一个完整操作流程。如库存管理系统中,仓库管理员可以登录系统,可以进行入库、出库等操作,在这里登录、入库、出库都是用例,它们都对应系统所提供的一个功能。执行者通过执行用例来完成相应的工作。用例体现了执行者和软件系统的交互过程,因此只用一个简单的“椭圆”来表示用例太过简单,对于每一个用例,需要编写一个详细的用例文档,在下一节将介绍如何编写用例文档。

文章出处:http://blog.csdn.net/lovelion/article/details/6226361

再学UML-UML用例建模解析(一)的更多相关文章

  1. UML用例建模解析(一)----------用例概述

    UML(统一建模语言): 1. 绘制用例图 用例图是UML中比较简单的一种图形,它包含两个主要组成元素,分别是执行者(Actor)和用例(Use Case).执行者又称为参与者或角色,用例又称为用况或 ...

  2. 再学UML-UML用例建模解析(三)

    2. 编写用例文档 绘制用例图只是完成了用例建模最基本也是最简单的一步,用例建模的核心在于编写用例文档,用例文档又称为用例规约或用例描述.顾名思义,用例文档是用于描述用例的文档,每一个用例对应于一个用 ...

  3. Uml学习-用例建模简介

    用例建模简介  用例建模是UML建模的一部分,它也是UML里最基础的部分.用例建模的最主要功能就是用来表达系统的功能性需求或行为.用例图重点描述用户需求. 它描述需求.用户和主要组件之间的关系. 它不 ...

  4. 再学UML-Bug管理系统UML2.0建模实例(一)

    1.项目概述       随着软件项目规模和复杂性的增大,有效跟踪和管理项目中存在的缺陷Bug变得越来越重要.每一个软件企业都需要妥善处理软件中的缺陷,这将直接关系到软件过程质量与软件产品质量,但并非 ...

  5. 再学UML-UML用例建模解析(二)

    (1) 关联关系 关联关系是指执行者与用例之间的关系,又称为通信关系,如果某个执行者可以对某个用例进行操作,它们之间就具有关联关系,如下图所示,“经理”有一个功能为“查看库存报表”,因此可以在执行者“ ...

  6. UML用例建模解析(二)---------用例执行者之间关系

    (1) 关联关系 关联关系是指执行者与用例之间的关系,又称为通信关系,如果某个执行者可以对某个用例进行操作,它们之间就具有关联关系,如下图所示,“经理”有一个功能为“查看库存报表”,因此可以在执行者“ ...

  7. 再学UML-Bug管理系统UML2.0建模实例(二)

    2.3 BMS顺序图(需求模型)       在UML中,我们将顺序图分为两类,一类用于描述系统需求,构造系统的需求模型(分析模型):另一类用于指导设计与实现,构造系统的实现模型(设计模型).     ...

  8. 再学UML-Bug管理系统UML2.0建模实例(三)

    3.系统设计 在对系统进行全面分析后,我们开始使用UML对系统进行设计,构造BMS系统的设计模型,包括类图.包图.顺序图(实现模型).组件图和部署图等的绘制,回答了“怎么做”的问题.具体设计工作如下: ...

  9. 再学UML-Bug管理系统UML2.0建模实例(四)

    3.3 顺序图(实现模型) 在系统设计与实现阶段我们也可以使用顺序图进行建模,此时通过顺序图可以明确表示系统设计中对象之间的交互,考虑到具体系统实现,对象之间通过方法调用传递消息.在BMS系统中,对每 ...

随机推荐

  1. D. Magic Gems(矩阵快速幂 || 无敌杜教)

    https://codeforces.com/contest/1117/problem/D 题解:有一些魔法宝石,魔法宝石可以分成m个普通宝石,每个宝石(包括魔法宝石)占用1个空间,让你求占用n个空间 ...

  2. JS获取按键的代码,Js如何屏蔽用户的按键

    [From] http://www.zgguan.com/zsfx/jsjc/1181.html 在使用JavaScript做WEB键盘事件侦听捕获时,主要采用onkeypress,onkeydown ...

  3. oracle 基础知识(十四)----索引扫描

    (1)索引唯一扫描(index unique scan) 通过唯一索引查找一个数值经常返回单个ROWID.如果该唯一索引有多个列组成(即组合索引),则至少要有组合索引的引导列参与到该查询中,如创建一个 ...

  4. (转) Linux Shell经典实例解析

    原文:http://blog.csdn.net/yonggeit/article/details/72779955 该篇博客作为对之前Linux Shell常用技巧和高级技巧系列博客的总结,将以Ora ...

  5. Js简易代码生成工具

    代码 javascript:(function(){ document.body.innerHTML = '<textarea id="txtTemplate" style= ...

  6. centos系统为php安装memcached扩展

    1. 通过yum安装 yum -y install memcached #安装完成后执行: memcached -h #出现memcached帮助信息说明安装成功 2. 加入启动服务 chkconfi ...

  7. VS 连接数据库报错:在与 SQL Server 建立连接时出现与网络相关的或特定于实例的错误

    VS报错:在与 SQL Server 建立连接时出现与网络相关的或特定于实例的错误.未找到或无法访问服务器.请验证实例名称是否正确并且 SQL Server 已配置为允许远程连接. (provider ...

  8. bzoj 5303: [Haoi2018]反色游戏

    Description Solution 对于一个有偶数个黑点的连通块,只需要任意两两配对,并把配对点上的任一条路径取反,就可以变成全白了 如果存在奇数个黑点的连通块显然无解,判掉就可以了 如果有解, ...

  9. 关于EF更新数据库,更新指定字段的设置

    1.关于EF跟新数据库更新指定字段的设置 在EF提交到数据库的时候或许某些字段不想更新.或者自己更新一个模型到数据库去! 1.更新数据不更新一些字段 /// <summary> /// 数 ...

  10. tomcat server 报错之 More than the maximum allowed number of cookies

    More than the maximum allowed number of cookies EVERE: Error processing request java.lang.IllegalArg ...