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、建立用例图模型
库存管理子系统用例图