#UML Note
关于UML的文章已经有很多博主做过非常详细的介绍,并且失眠上有很多书籍可供参考。在前面给出一些可供阅读的文章和书籍,此书给出博主刚接触UML时的两处入门资源。有需要加深阅读的朋友可以看一下以供参考。
推荐阅读:
博主:面向对象思考 写的EA&UML系列
书籍:UML2 基础 建模与设计实战
UML软件推荐:
StarUML
开源免费,界面美观。
ENTERPRISE ARCHITECT (EA)
一些设定比StarUML更直观,配合博主“面向对象思考”写的EA&UML系列可以使初学者更快掌握概念和建图规则。
Microsoft Visio
对于熟悉微软软件的朋友可以更快上手。
事实上,任何工具的使用目的都是帮助我们节约时间或者简化流程。从这个角度来看使用UML辅助制作软件流程图和使用平底锅辅助煎鸡蛋的目的并没有什么不同。所以大家不用拘泥使用什么软件作图或者使用什么UML形式阐述软件设计思路。 Enjoy ?
##UML的几种形式:
- UML Activity Diagram 活动图
- UML Class Diagram 类图
- UML sequence Diagram 序列图
- UML Communication/co1laboration Diagram 通信图/协作图
协作图和时序图是相通的,可以通过协作图生成时序图,可用工具:Rose - UML Timing Diagram 时序图
虽然在一些论坛上看到了对于Timing Diagram的介绍,但是以笔者目前的理解并没有发现与序列图的明显不同。因此在笔者的第一个UML中直接采用了序列图(Seeuence Diagram)。 - UML Component Diagram
- UML Statechart Diagram 状态图
- UML Deployment Diagram
##UML Tutorial Introduction - UML Developing Process:
- 瀑布式:
- 分析–设计–编码–测试
- 迭代式:通常比瀑布式更加好
- Solve in Pieces - UML 规划过程
- 预测性规划 不可做更改的
- 适应性规划 可以做更改的
##Use Case Diagram 用例图
用例图用来表达系统对外提供的服务或功能,适合用来作为需求搜集阶段的工作。 - 一个系统需要遵循的步骤列表
- 定义需要什么以及我如何满足这些要求
- 不要试图在用例图中编写代码
- 必要需求和应有需求 - 这些步骤通常包括与参与者(人/外部系统)的交互
- 图例
- 沟通线
- 注释 方框加角
- 用例 (使用例子,例如宣告延迟,等等)椭圆
- 系统边界 - Use Case Description
- 用户输入他们的卡片和密码。安全检查卡。用户选择要使用的帐户。他们选择一个数量。安全性验证金额是否可用。这个系统就是否提供资金得出结论。用户可以选择10美元或20美元的基金。如果可能的话,证券提供资金。安全提供一个凭据和用户卡。
- 触发器 (Trigger)
- 系统接收到了某传感器的新信息
- 例如,接收到了一张新卡
- Actors
- 用户
- 银行安全
- 先决条件
- 银行安保系统工作正常
- 拥有现金
- 目标/成功结束 (Goals, 成功结论)
- 保障银行账户安全
- 为客户提供现金
- 失败结束(Failed Conclusin)
- 无效银行卡
- 无效密码
- 客户现金不足
- ATM现金不足
- 超出每日限额
- 挂失卡
- 扩展
- 如果密码三次错误,吞卡
- 如果卡被标记为一个被盗卡,吞卡
- 用户操作步骤
- 插卡
- 无效卡
- 弹出卡
- 有效卡
- 输入密码
- 密码有效
- 无效密码三次
- 卡被标记为被盗卡
- etc. 列出整个操作过程和所有可能性.