1、常见uml建模工具

建模工具应该具有的功能

  • 绘图
  • 存储
  • 一致性检查
  • 对模型进行组织
  • 导航
  • 写作支持
  • 代码生成
  • 逆向项目
  • 集成
  • 支持多种抽象层和开发过程
  • 文档生成
  • 脚本编程

工具主要有
Rose
PowerDesinger

2、StarUML的模型、视与图

starUML中清晰地区分了模型(model),视(View)与图(Diagram)的概念。
模型是包含软件模式信息的元素。
视是模型中信息的可视表达法。
图是表示用户特定设计思想的可视元素的集合。

3、创建模块

模块是一种包,他提供了对starUMl功能与特征的扩充,模块的创建可以是几种新扩充元素的结合。不单可以为某用途对一个独立的模块配置扩充元素,而且还可以在同一模块中创建同一类型的扩充元素。

starUML的模块有下列功能

  • 扩展主菜单,或弹出菜单
  • 添加新方法(approach)
  • 添加新轮廓(profile)
  • 通过构造型(stereotype)或表示法(notation)的扩充添加新元素
  • 通过(com服务器或简单的脚本文件)实现新的功能
  • 与其他应用程序集成
  • 其他的插件(add-in)功能

4、创建类

创建atrribute属性和operation方法
对属性或操作设置数据类型
类属性的常见属性为:

5、用例图

用来描述将要开发系统的功能需求和系统的使用场景
作为设计和开发过程的基础,促进各阶段开发工作的进展。
用于验证与确认系统需求。

用例图由以下元素组成。
参与者(Actor):也称角色,代表系统的用户
系统边界(System scope):它确定系统的范围
用例(Use case):代表系统提供的服务
关联(Association):表示参与者与用例间的关系
下图中,所有用例都放置在系统边界内,表明它属于一个系统,参与者放在系统边界的外面,表名参与者并不属于系统。但是参与者负责直接(或间接地)驱动与其相关联的用例的执行

6、参与者(角色 actor)

是系统外部的一个人或物,以某种方式参与了系统的执行过程。用直立人来表示
参与者的作用:
1、建立系统的外部用户模型
2、对系统边界之外的对象进行描述

参与者实际上就是类

7、用例(就是谁干了一件什么事)

用例是对一组动作的描述,系统通过执行这些动作将对用例的参与者产生可以看到的结果。用来描述参与者可以感受到的系统服务或功能。

用例用实线椭圆来表示

用例的特点:

  • 用例是从系统的使用角度描述系统中信息,即在系统的外部能看到的系统的功能,而不考虑系统内部对该功能的具体实现方式。
  • 用例沟通了用户提出的一些课件需求,对应一个具体的用户目标,是面向独享分析与设计的起点,是类,对象、操作的来源
  • 用例通常由某个参与者来执行
  • 用例把执行的结果反馈给参与者
  • 用例在功能上具有完整性,即它从参与者接受输入,产生的结果最终再输入给参与者

8、用例描述

用例就是需求的文字性描述,说明系统如何工作的功能性或者新微信需求。
用例描述一般包括,用例编号、用例概述(说明)、前置(前提)条件、基本事件流、其他事件流、异常事件流、后置(事后)条件等。


用例并不是系统过得全部需求,用例描述只是功能性方面的需求。

关联用于表示参与者和用例之间的对应关系,它表示产于这使用了系统中的哪些服务。或说系统中所提供的服务(用例)被哪些参与者说使用。

一个简单的系统用例图

9、用例之间的可视化表示

用例与用例之间也存在一定的关系,如泛华关系,包含关系,扩展关系

  • 1、包含关系
    包含关系指的是两个用例之间的关系,其中一个用例(基本用例)的行为包含了另一个用例(包含用例)的行为。即基本用例用到包含用例
    使用带虚线箭头表示,并在线上标记include
  • 2、扩展关系
    扩展关系的基本含义与泛华关系类似,extend关系是对基本用例的扩展。基本用例是一个完整用例。不需要子用例参与即可完成。
    extend的基本用例将存在一个扩展点,当扩展点被激活时,子用例才会被执行。
    基本用例必须声明若干扩展点(extension piont)而扩展用例只能在这些扩展点上增加新的行为和含义。
    也就是扩展用例并不在基本用例中显示

在如下情况下,使用扩展用例:
1、表名用例的某一部分是可选的系统行为
2、只有在特定条件下才执行分支
3、多个扩展点的插入,其插入的顺序决定了执行顺序
使用带虚线的箭头表示,并在线上标有extend

  • 3、泛化关系
    一般与特殊的关系,当多个用例共同拥有一种类似的结构和行为的时候,可以将他们的共性抽象成父用例。其他用例泛化成子用例

子用例是父用例的一种特殊形式,子用例继承了父用例所有的结构,行为和关系。

  • 4、分组关系
    将多个相关用例放在一个包中组织起来。

10、用例图建模技术及应用

创建用例图模型主要包括3部分内容

  • 识别出系统中的角色和用例
  • 区分用例之间的先后次序
  • 创建用例图模型结构

1、识别出系统中的角色和用例
创建用例图的第一项任务就是要找出系统的角色和用例。
有系统分析员和用户沟通来完成。

一般是先列出角色清单 ,在对每个角色列出他的用例,问题就会变淡容易得多。


用例描述为

2、区分用例有限次序
用例之间可能有逻辑或者时间上的先后顺序

3、构建用例图模型
将已经确定并细化的角色和用例放入用例图中,在借助包含、扩展和泛化的关系给出用例之间的结构模型。
在系统需求分析中考虑:
系统用例图模型需要哪些视图
每个视图包含什么内容
视图中成员是否需构成包

图书管理系统用例图
1、系统参与者

2、图书管理

3、图书借阅和还书用例图

图书管理系统的整体用例图

11、一个进销存系统用例图

1、需求分析


2、建立用例图模型




库存管理子系统用例图


UML基础、建模与设计实战笔记03第3、4章建模工具简介,常见uml建模工具,创建模块,创建类,用例图,参与者,用例,用例描述,用例之间的可视化表示,用例图建模技术及应用,进销存系统用例图相关推荐

  1. 进销存系统的先进先出设计思路解决方案

    进销存系统的先进先出设计思路 如题,进销存一般客户要求先进的货先卖,请问各位大侠有什么好的办法实现这个功能?特别是频繁进货如何实现先进先出 ------解决方案-------------------- ...

  2. 超市进销存系统 数据库设计报告

    超市进销存系统 数据库设计报告 注意:本设计报告省略了需求分析部分.实体说明.联系说明.索引说明等,重点是数据库的实现过程以及sql语言的编写以及其他一些我认为的重点展示 另外:本系统前期主要使用了软 ...

  3. java毕业生设计超市货品进销存系统前台计算机源码+系统+mysql+调试部署+lw

    java毕业生设计超市货品进销存系统前台计算机源码+系统+mysql+调试部署+lw java毕业生设计超市货品进销存系统前台计算机源码+系统+mysql+调试部署+lw 本源码技术栈: 项目架构:B ...

  4. java毕业生设计超市货品进销存系统后台计算机源码+系统+mysql+调试部署+lw

    java毕业生设计超市货品进销存系统后台计算机源码+系统+mysql+调试部署+lw java毕业生设计超市货品进销存系统后台计算机源码+系统+mysql+调试部署+lw 本源码技术栈: 项目架构:B ...

  5. 进销存系统数据库设计

    进销存系统数据库设计报告 产品管理功能 1 产品类型基本信息表:(提供增删改) 字段名    类型    宽度    主键否    外键否 类型ID    整数        Yes    No 类型 ...

  6. PyMySQL设计-进销存系统-多彩美化 删除表格 创建表格

    目录 颜色 创建表格 删除表格 总目录 本文持续更新 颜色 相信但你一目扫过去,只有一种单调的颜色,肯定不太喜欢吧?那就给它配上颜色! pip install colorama colorama库,可 ...

  7. PHP进销存系统的数据结构,数据结构课程设计-仓库进销存管理系统.doc

    数据结构课程设计-仓库进销存管理系统.doc 题 目: 仓库进销存管理系统 学 院: 计算机与控制工程学院 专业班级: 软件101 学生姓名: 王海川 指导教师: 王一萍 2012 年06 月2 9日 ...

  8. 超市进销存系统的设计与实现

    开发工具(eclipse/idea/vscode等): 数据库(sqlite/mysql/sqlserver等): 功能模块(请用文字描述,至少200字): 该小型超市进销存系统主要针对模块管理,用户 ...

  9. 基于ssm(spring mybatis) java超市进销存系统源码设计

    超市进销存系统主要为商品的进货上架.销售收银.仓库存储提供线上管理的功能. 目标客户:中小型超市 客户的业务需求: 改变传统的人工管理,实现日常管理信息化: 通过对库存和销售信息的快速查询和处理,提高 ...

最新文章

  1. npm ERR! missing script: dev 解决方案
  2. java solar_java中的内部类总结
  3. django 连接mysql 数据库
  4. 4路组相连cache设计_Cache组织方式
  5. NGUI Example5 演示示例评论– lights and Refraction
  6. 人工智能常用 API
  7. linux下实现web数据同步的四种方式(性能比较)
  8. 使用ResourceBundle读取配置文件
  9. 为什么建议要延迟macOS升级,小编为你全面分析!
  10. BZOJ3145 [Feyat cup 1.5]Str 后缀树、启发式合并
  11. 工时分析软件哪个好用?ECRS工时分析软件-精益人都在用的IE分析软件
  12. 批处理保存windows10开机壁纸
  13. 高级维修电工实训装置
  14. 计算机更新bios,GIGABYTE How to Reflash VGA BIOS
  15. 数据结构与算法之python
  16. android barchart设置标题,android - 如何设置MPAndroidChart BarChart的高度和宽度? - 堆栈内存溢出...
  17. win11改win10重装系统教程图解
  18. C++按键模拟/刷屏器
  19. 读书、学习是为了让我们成为更出色的人同时做自己喜欢的事
  20. Windows邮件添加QQ邮箱

热门文章

  1. 这些天的生活挺无聊的!
  2. 图片 美化 python_数据美化 | 超Cute 的 Python 手绘图形库!
  3. CentOS 卸载软件 libreoffice
  4. 2.14调情方案之个性情人节
  5. Android开发之百度地图定位
  6. stm32编程经验总结——常犯错误
  7. 51NOD-1414 冰雕
  8. 按键精灵判断Excel中单元格是否为空白
  9. CNAPS Code 查询(招商银行)
  10. 利用genedoc绘制一张多序列比对图